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
> > { }
> > };
> >
>
>
>
>
next prev parent 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