Re: [PATCH v4 0/8] clk/resets: baikal-t1: Add DDR/PCIe resets and xGMAC/SATA fixes

Serge Semin
2022-06-20T21:34:02Z

Hi @Philipp,
Could you have a look at the reset-related patches of series? One of
them is a fix and another one concerns the reset-part of the Clock/Reset
controller embedded into our SoC.

Hi @Stephen,
The series has been here for about four months now. Can we speed the
review up somehow?

-Sergey

On Fri, Jun 10, 2022 at 10:21:16AM +0300, Serge Semin wrote:
> Short summary regarding this patchset. The series starts from fixing a
> wrong semantic of the device managed optional exclusive bulk reset control
> getter. Then we suggest a fix of the clocks glitching cause by the Renesas
> 5P49V6901 chip in some circumstances. Afterwards a few more modifications
> are introduced to finally finish the Baikal-T1 CCU unit support up and
> prepare the code before adding the Baikal-T1 PCIe/xGMAC support. First of
> all it turned out I specified wrong DW xGMAC PTP reference clock divider
> in my initial patches. It must be 8, not 10. Secondly I was wrong to add a
> joint xGMAC Ref and PTP clock instead of having them separately defined.
> The SoC manual describes these clocks as separate fixed clock wrappers.
> Finally in order to close the SoC clock/reset support up we need to add
> the DDR and PCIe interfaces reset controls support. It's done in two
> steps. First I've moved the reset-controls-related code into a dedicated
> module. Then the DDR/PCIe reset-control functionality is added. As the
> series finalization we've decided to convert the Baikal-T1 clock/reset
> source drivers to mainly being the platform device driver and
> pre-initialize the basic clocks only at the early kernel boot stages.
>
> Link: https://lore.kernel.org/linux-pci/20220324010905.15589-1-Sergey.Semin@baikalelectronics.ru/
> Changelog v2:
> - Resubmit the series with adding @Philipp to the list of the recipients.
>
> Link: https://lore.kernel.org/linux-pci/20220330144320.27039-1-Sergey.Semin@baikalelectronics.ru/
> Changelog v3:
> - No comments. Just resend the series.
> - Rebased from v5.17 onto v5.18-rc3.
>
> Link: https://lore.kernel.org/linux-clk/20220503205722.24755-1-Sergey.Semin@baikalelectronics.ru/
> Changelog v4:
> - Completely split the CCU Dividers and Resets functionality up. (@Stephen)
> - Add a new fixes patch: "clk: baikal-t1: Actually enable SATA internal
> ref clock".
> - Add a new fixes patch: "reset: Fix devm bulk optional exclusive control
> getter".
> - Add a new fixes patch: "clk: vc5: Fix 5P49V6901 outputs disabling when
> enabling FOD".
> - Add a new feagure patch: "clk: baikal-t1: Convert to platform device
> driver".
> - Change the internal clock ID to the XGMAC-referred name.
> - Rebase onto the kernel v5.18.
>
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
> Cc: Pavel Parkhomenko <Pavel.Parkhomenko@baikalelectronics.ru>
> Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
> Cc: linux-clk@vger.kernel.org
> Cc: linux-mips@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
>
> Serge Semin (8):
> reset: Fix devm bulk optional exclusive control getter
> clk: vc5: Fix 5P49V6901 outputs disabling when enabling FOD
> clk: baikal-t1: Fix invalid xGMAC PTP clock divider
> clk: baikal-t1: Add shared xGMAC ref/ptp clocks internal parent
> clk: baikal-t1: Add SATA internal ref clock buffer
> clk: baikal-t1: Move reset-controls code into a dedicated module
> clk: baikal-t1: Add DDR/PCIe directly controlled resets support
> clk: baikal-t1: Convert to platform device driver
>
> drivers/clk/baikal-t1/Kconfig | 12 +-
> drivers/clk/baikal-t1/Makefile | 1 +
> drivers/clk/baikal-t1/ccu-div.c | 84 +++++++--
> drivers/clk/baikal-t1/ccu-div.h | 17 +-
> drivers/clk/baikal-t1/ccu-pll.h | 8 +
> drivers/clk/baikal-t1/ccu-rst.c | 99 ++++++++++
> drivers/clk/baikal-t1/ccu-rst.h | 79 ++++++++
> drivers/clk/baikal-t1/clk-ccu-div.c | 272 +++++++++++++++++-----------
> drivers/clk/baikal-t1/clk-ccu-pll.c | 128 ++++++++++---
> drivers/clk/baikal-t1/clk-ccu-rst.c | 257 ++++++++++++++++++++++++++
> drivers/clk/clk-versaclock5.c | 2 +-
> include/dt-bindings/reset/bt1-ccu.h | 9 +
> include/linux/reset.h | 2 +-
> 13 files changed, 814 insertions(+), 156 deletions(-)
> create mode 100644 drivers/clk/baikal-t1/ccu-rst.c
> create mode 100644 drivers/clk/baikal-t1/ccu-rst.h
> create mode 100644 drivers/clk/baikal-t1/clk-ccu-rst.c
>
> --
> 2.35.1
>