mbox series

[v3,0/4] Add new Renesas RZ/G3S SoC and RZ/G3S SMARC EVK

Message ID 20231006103959.197485-1-claudiu.beznea.uj@bp.renesas.com
Headers show
Series Add new Renesas RZ/G3S SoC and RZ/G3S SMARC EVK | expand

Message

Claudiu Oct. 6, 2023, 10:39 a.m. UTC
From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>

Hi,

This patch series adds initial support for The Renesas RZ/G3S (R9A08G045{S33})
SoC. The RZ/G3S device is a general-purpose microprocessor with a
single-core Arm® Cortex®-A55 (1.1GHz) and a dual-core Arm® Cortex®-M33 (250MHz),
perfect for an IOT gateway controller.

This includes:
- SoC identification;
- clocks (core clocks, pin controller clock, serial interface, SD ch0
  clock) and corresponding resets;
- minimal device tree for SoM and carrier boards.

With this series Linux can boot from eMMC or SD card. The eMMC and uSD
interface are multiplexed on the SoM; selection is made using a hardware
switch.

Patches are gouped as follows:
- 01    documents scif support;
- 02-04	clock changes needed by RZ/G3S

Changes in v3:
- remove from series patches that were already integrated
- addressed review comments
- please see individual patches for detailed changes

Changes in v2:
- addressed review comments
- collected tags
- removed from series patches that were already integrated
- added patches:
	- [PATCH v2 19/28] dt-bindings: pinctrl: renesas: set additionalProperties: false
	- [PATCH v2 23/28] dt-bindings: arm: renesas: document RZ/G3S SMARC SoM
	- [PATCH v2 26/28] dt-bindings: arm: renesas: document SMARC Carrier-II EVK
- please see individual patches for detailed changes

Claudiu Beznea (4):
  dt-bindings: serial: renesas,scif: document r9a08g045 support
  clk: renesas: rzg2l: refactor sd mux driver
  clk: renesas: rzg2l: add a divider clock for RZ/G3S
  clk: renesas: add minimal boot support for RZ/G3S SoC

 .../bindings/serial/renesas,scif.yaml         |   1 +
 drivers/clk/renesas/Kconfig                   |   7 +-
 drivers/clk/renesas/Makefile                  |   1 +
 drivers/clk/renesas/r9a07g043-cpg.c           |  12 +-
 drivers/clk/renesas/r9a07g044-cpg.c           |  12 +-
 drivers/clk/renesas/r9a08g045-cpg.c           | 214 +++++++++++
 drivers/clk/renesas/rzg2l-cpg.c               | 342 +++++++++++++++---
 drivers/clk/renesas/rzg2l-cpg.h               |  28 +-
 8 files changed, 565 insertions(+), 52 deletions(-)
 create mode 100644 drivers/clk/renesas/r9a08g045-cpg.c

Comments

Geert Uytterhoeven Oct. 9, 2023, 11:53 a.m. UTC | #1
On Fri, Oct 6, 2023 at 12:40 PM Claudiu <claudiu.beznea@tuxon.dev> wrote:
> From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
>
> Add a divider clock driver for RZ/G3S. This will be used in RZ/G3S
> by SDHI, SPI, OCTA, I, I2, I3, P0, P1, P2, P3 core clocks.
> The divider has some limitation for SDHI, OCTA and SPI clocks:
> - SDHI div cannot be 1 if parent rate is 800MHz
> - OCTA, SPI div cannot be 1 if parent rate is 400MHz
> For these clocks a notifier could be registered from platform specific
> clock driver and proper actions are taken before clock rate is changed,
> if needed.
>
> Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
> ---
>
> Changes in v3:
> - adjusted commit message to specifies that divider has limitations also
>   for SPI clock
> - s/SD div/SDHI div in commit message
> - return proper code from notifier
> - used CPG_WEN_BIT where possible notifier and set explicitily 1 in div
>   notifier
> - removed rzg3s_div_clk_is_rate_valid() and all its occurencies: it was
>   not needed in rzg3s_div_clk_set_rate()
> - .round_rate was replaced by .determine_rate for the introduced divider
> - initialized max variable in rzg3s_cpg_div_clk_register()
> - introduced struct div_hw_data::max_rate to specify from the SoC-specific
>   drivers the maximum available rate for divider that will be requested
>   when a rate higher than this one is requested
> - removed bitmask variable from notifier and rzg3s_div_clk_set_rate()
> - added max_rate to DEF_G3S_DIV() macro
> - tested on RZ/G2L and RZ/G3S

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
i.e. will queue in renesas-clk-for-v6.7.

Gr{oetje,eeting}s,

                        Geert