ARM Sunxi Platform Development
 help / color / mirror / Atom feed
From: Andre Przywara <andre.przywara@arm.com>
To: "Jernej Škrabec" <jernej.skrabec@gmail.com>
Cc: Tom Rini <trini@konsulko.com>, Simon Glass <sjg@chromium.org>,
	Mikhail Kalashnikov <iuncuim@gmail.com>,
	u-boot@lists.denx.de, linux-sunxi@lists.linux.dev,
	Lukasz Majewski <lukma@denx.de>,
	Sean Anderson <seanga2@gmail.com>
Subject: Re: [PATCH 16/34] clk: sunxi: Add support for the A523 -R CCU
Date: Mon, 24 Mar 2025 00:37:25 +0000	[thread overview]
Message-ID: <20250324003725.5963c8bb@minigeek.lan> (raw)
In-Reply-To: <3340159.aeNJFYEL58@jernej-laptop>

On Sun, 23 Mar 2025 13:18:17 +0100
Jernej Škrabec <jernej.skrabec@gmail.com> wrote:

Hi,

> Dne nedelja, 23. marec 2025 ob 12:35:26 Srednjeevropski standardni čas je Andre Przywara napisal(a):
> > Add a clock driver for the PRCM clock controller on the Allwinner A523
> > family of SoCs, often also used with an "r" prefix or suffix.
> > This just describes the clock gates and reset lines for the few devices
> > that we would need, most prominently the R_I2C device for the PMIC.
> > 
> > Signed-off-by: Andre Przywara <andre.przywara@arm.com>
> > ---
> >  drivers/clk/sunxi/Kconfig      |  7 ++++++
> >  drivers/clk/sunxi/Makefile     |  1 +
> >  drivers/clk/sunxi/clk_a523_r.c | 44 ++++++++++++++++++++++++++++++++++
> >  drivers/clk/sunxi/clk_sunxi.c  |  5 ++++
> >  4 files changed, 57 insertions(+)
> >  create mode 100644 drivers/clk/sunxi/clk_a523_r.c
> > 
> > diff --git a/drivers/clk/sunxi/Kconfig b/drivers/clk/sunxi/Kconfig
> > index 74e89b86301..1c1cc82719c 100644
> > --- a/drivers/clk/sunxi/Kconfig
> > +++ b/drivers/clk/sunxi/Kconfig
> > @@ -136,4 +136,11 @@ config CLK_SUN55I_A523
> >  	  This enables common clock driver support for platforms based
> >  	  on Allwinner A523/T527 SoC.
> >  
> > +config CLK_SUN55I_A523_R
> > +	bool "Clock driver for Allwinner A523 generation PRCM"
> > +	default MACH_SUN55I_A523
> > +	help
> > +	  This enables common clock driver support for the PRCM
> > +	  in Allwinner A523/T527 SoCs.
> > +
> >  endif # CLK_SUNXI
> > diff --git a/drivers/clk/sunxi/Makefile b/drivers/clk/sunxi/Makefile
> > index dd33eabe2ed..93b542cebcd 100644
> > --- a/drivers/clk/sunxi/Makefile
> > +++ b/drivers/clk/sunxi/Makefile
> > @@ -26,3 +26,4 @@ obj-$(CONFIG_CLK_SUN50I_H616) += clk_h616.o
> >  obj-$(CONFIG_CLK_SUN50I_A64) += clk_a64.o
> >  obj-$(CONFIG_CLK_SUN50I_A100) += clk_a100.o
> >  obj-$(CONFIG_CLK_SUN55I_A523) += clk_a523.o
> > +obj-$(CONFIG_CLK_SUN55I_A523_R) += clk_a523_r.o
> > diff --git a/drivers/clk/sunxi/clk_a523_r.c b/drivers/clk/sunxi/clk_a523_r.c
> > new file mode 100644
> > index 00000000000..e864ce16199
> > --- /dev/null
> > +++ b/drivers/clk/sunxi/clk_a523_r.c
> > @@ -0,0 +1,44 @@
> > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > +/*
> > + * Copyright (C) 2024 Arm Ltd.
> > + */
> > +
> > +#include <clk-uclass.h>
> > +#include <dm.h>
> > +#include <clk/sunxi.h>
> > +#include <dt-bindings/clock/sun55i-a523-r-ccu.h>
> > +#include <dt-bindings/reset/sun55i-a523-r-ccu.h>
> > +#include <linux/bitops.h>
> > +
> > +static struct ccu_clk_gate a523_r_gates[] = {
> > +	[CLK_R_AHB]             = GATE_DUMMY,
> > +	[CLK_R_APB0]            = GATE_DUMMY,
> > +	[CLK_R_APB1]            = GATE_DUMMY,
> > +	[CLK_BUS_R_TWD]         = GATE(0x12c, BIT(0)),
> > +	[CLK_BUS_R_I2C0]        = GATE(0x19c, BIT(0)),
> > +	[CLK_BUS_R_I2C1]        = GATE(0x19c, BIT(1)),
> > +	[CLK_BUS_R_I2C2]        = GATE(0x19c, BIT(2)),
> > +	[CLK_BUS_R_RTC]         = GATE(0x20c, BIT(0)),
> > +};
> > +
> > +static struct ccu_reset a523_r_resets[] = {
> > +//	[RST_BUS_R_TIMER]       = RESET(0x11c, BIT(16)),
> > +	[RST_BUS_R_TWD]         = RESET(0x12c, BIT(16)),
> > +//	[RST_BUS_R_PWMCTRL]     = RESET(0x13c, BIT(16)),
> > +//	[RST_BUS_R_SPI]         = RESET(0x15c, BIT(16)),
> > +//	[RST_BUS_R_UART0]       = RESET(0x18c, BIT(16)),
> > +//	[RST_BUS_R_UART1]       = RESET(0x18c, BIT(17)),
> > +	[RST_BUS_R_I2C0]        = RESET(0x19c, BIT(16)),
> > +	[RST_BUS_R_I2C1]        = RESET(0x19c, BIT(17)),
> > +	[RST_BUS_R_I2C2]        = RESET(0x19c, BIT(18)),
> > +//	[RST_BUS_R_PPU1]        = RESET(0x1ac, BIT(17)),
> > +	[RST_BUS_R_RTC]         = RESET(0x20c, BIT(16)),
> > +//	[RST_BUS_R_CPUCFG]      = RESET(0x22c, BIT(16)),  
> 
> Any specific reason that you commented out some reset lines?

Ah yeah, looks like a leftover from development, more for documentation
purposes. In general we just mention lines that we actually need, and
that's not much from the PRCM CCU. I will just remove those lines,
shall we need, it's easy to bring them back.

Cheers,
Andre

> 
> Best regards,
> Jernej
> 
> > +};
> > +
> > +const struct ccu_desc a523_r_ccu_desc = {
> > +	.gates = a523_r_gates,
> > +	.resets = a523_r_resets,
> > +	.num_gates = ARRAY_SIZE(a523_r_gates),
> > +	.num_resets = ARRAY_SIZE(a523_r_resets),
> > +};
> > diff --git a/drivers/clk/sunxi/clk_sunxi.c b/drivers/clk/sunxi/clk_sunxi.c
> > index 30baabaafcd..842a0541bd6 100644
> > --- a/drivers/clk/sunxi/clk_sunxi.c
> > +++ b/drivers/clk/sunxi/clk_sunxi.c
> > @@ -127,6 +127,7 @@ extern const struct ccu_desc h6_r_ccu_desc;
> >  extern const struct ccu_desc r40_ccu_desc;
> >  extern const struct ccu_desc v3s_ccu_desc;
> >  extern const struct ccu_desc a523_ccu_desc;
> > +extern const struct ccu_desc a523_r_ccu_desc;
> >  
> >  static const struct udevice_id sunxi_clk_ids[] = {
> >  #ifdef CONFIG_CLK_SUN4I_A10
> > @@ -228,6 +229,10 @@ static const struct udevice_id sunxi_clk_ids[] = {
> >  #ifdef CONFIG_CLK_SUN55I_A523
> >  	{ .compatible = "allwinner,sun55i-a523-ccu",
> >  	  .data = (ulong)&a523_ccu_desc },
> > +#endif
> > +#ifdef CONFIG_CLK_SUN55I_A523_R
> > +	{ .compatible = "allwinner,sun55i-a523-r-ccu",
> > +	  .data = (ulong)&a523_r_ccu_desc },
> >  #endif
> >  	{ }
> >  };
> >   
> 
> 
> 
> 


  reply	other threads:[~2025-03-24  0:37 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-23 11:35 [PATCH 00/34] sunxi: clock refactoring and Allwinner A523 support Andre Przywara
2025-03-23 11:35 ` [PATCH 01/34] sunxi: clock: H6: drop usage of struct sunxi_ccm_reg Andre Przywara
2025-03-23 11:56   ` Jernej Škrabec
2025-03-23 23:50     ` Andre Przywara
2025-03-23 11:35 ` [PATCH 02/34] sunxi: mmc: remove " Andre Przywara
2025-03-23 12:04   ` Jernej Škrabec
2025-03-23 11:35 ` [PATCH 03/34] sunxi: H616: dram: " Andre Przywara
2025-03-23 11:35 ` [PATCH 04/34] sunxi: H6: " Andre Przywara
2025-03-23 11:35 ` [PATCH 05/34] sunxi: clock: H6: remove " Andre Przywara
2025-03-23 11:35 ` [PATCH 06/34] sunxi: clock: H6: drop usage of struct sunxi_prcm_reg Andre Przywara
2025-03-23 11:35 ` [PATCH 07/34] sunxi: H6/H616: dram: remove " Andre Przywara
2025-03-23 11:35 ` [PATCH 08/34] sunxi: clock: H6: remove " Andre Przywara
2025-03-23 11:35 ` [PATCH 09/34] sunxi: clock: H6: unify PLL control bit definitions Andre Przywara
2025-03-23 11:35 ` [PATCH 10/34] sunxi: clock: H6: factor out clock_set_pll() Andre Przywara
2025-03-23 11:35 ` [PATCH 11/34] sunxi: clock: H6: factor out H6/H616 CPU clock setup Andre Przywara
2025-03-23 11:35 ` [PATCH 12/34] sunxi: clock: H6: add A523 CPU PLL support Andre Przywara
2025-03-23 11:35 ` [PATCH 13/34] sunxi: spl: add support for Allwinner A523 watchdog Andre Przywara
2025-03-23 12:15   ` Jernej Škrabec
2025-03-23 23:57     ` Andre Przywara
2025-03-23 11:35 ` [PATCH 14/34] dt-bindings: add Allwinner A523 CCU bindings Andre Przywara
2025-03-23 11:35 ` [PATCH 15/34] clk: sunxi: Add support for the A523 CCU Andre Przywara
2025-03-23 11:35 ` [PATCH 16/34] clk: sunxi: Add support for the A523 -R CCU Andre Przywara
2025-03-23 12:18   ` Jernej Škrabec
2025-03-24  0:37     ` Andre Przywara [this message]
2025-03-23 11:35 ` [PATCH 17/34] pinctrl: sunxi: add Allwinner A523 pinctrl description Andre Przywara
2025-03-23 11:35 ` [PATCH 18/34] sunxi: mmc: add support for Allwinner A523 MMC mod clock Andre Przywara
2025-03-23 11:35 ` [PATCH 19/34] watchdog: sunxi: add A523 support Andre Przywara
2025-03-24  8:38   ` Stefan Roese
2025-03-23 11:35 ` [PATCH 20/34] power: regulator: add AXP323 support Andre Przywara
2025-03-23 11:35 ` [PATCH 21/34] sunxi: update cpu_sunxi_ncat2.h Andre Przywara
2025-03-23 11:35 ` [PATCH 22/34] sunxi: Kconfig: consolidate SYS_CLK_FREQ selection Andre Przywara
2025-03-23 12:21   ` Jernej Škrabec
2025-03-23 11:35 ` [PATCH 23/34] spl: reorder SPL_MAX_SIZE defaults for sunxi Andre Przywara
2025-03-23 12:22   ` Jernej Škrabec
2025-03-23 11:35 ` [PATCH 24/34] sunxi: armv8: fel: move fel_stash variable to the front Andre Przywara
2025-03-23 12:23   ` Jernej Škrabec
2025-03-23 11:35 ` [PATCH 25/34] sunxi: arm64: boot0.h: move fel_stash_addr " Andre Przywara
2025-03-23 12:23   ` Jernej Škrabec
2025-03-23 11:35 ` [PATCH 26/34] sunxi: update rmr_switch.S source code Andre Przywara
2025-03-23 12:24   ` Jernej Škrabec
2025-03-23 11:35 ` [PATCH 27/34] sunxi: armv8: FEL: save and restore GICv3 registers Andre Przywara
2025-03-23 12:25   ` Jernej Škrabec
2025-03-23 11:35 ` [PATCH 28/34] sunxi: armv8: FEL: save and restore SP_IRQ Andre Przywara
2025-03-23 12:26   ` Jernej Škrabec
2025-03-23 23:52     ` Andre Przywara
2025-03-23 11:35 ` [PATCH 29/34] sunxi: sun50i_h6: add A523 SPL clock setup code Andre Przywara
2025-03-23 12:36   ` Jernej Škrabec
2025-03-23 11:35 ` [PATCH 30/34] sunxi: A523: add DRAM initialisation routine Andre Przywara
2025-03-23 13:15   ` Jernej Škrabec
2025-04-05 22:01   ` Yixun Lan
2025-04-07  9:26     ` Andre Przywara
2025-03-23 11:35 ` [PATCH 31/34] sunxi: A523: add DDR3 DRAM support Andre Przywara
2025-03-23 11:35 ` [PATCH 32/34] sunxi: add basic A523 support Andre Przywara
2025-03-23 11:35 ` [PATCH 33/34] sunxi: A523: add DT files from Linux v3 branch Andre Przywara
2025-04-09 14:28   ` Yixun Lan
2025-03-23 11:35 ` [PATCH 34/34] sunxi: A523: add defconfigs for three boards Andre Przywara
2025-04-05  2:44 ` [PATCH 00/34] sunxi: clock refactoring and Allwinner A523 support Yixun Lan
2025-04-05 12:32   ` Andre Przywara
2025-04-05 13:04     ` Yixun Lan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250324003725.5963c8bb@minigeek.lan \
    --to=andre.przywara@arm.com \
    --cc=iuncuim@gmail.com \
    --cc=jernej.skrabec@gmail.com \
    --cc=linux-sunxi@lists.linux.dev \
    --cc=lukma@denx.de \
    --cc=seanga2@gmail.com \
    --cc=sjg@chromium.org \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox