From: Yixun Lan <dlan@gentoo.org>
To: Alex Elder <elder@riscstar.com>
Cc: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
p.zabel@pengutronix.de, mturquette@baylibre.com,
sboyd@kernel.org, heylenay@4d2.org, guodong@riscstar.com,
paul.walmsley@sifive.com, palmer@dabbelt.com,
aou@eecs.berkeley.edu, spacemit@lists.linux.dev,
devicetree@vger.kernel.org, linux-clk@vger.kernel.org,
linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH RESEND 1/7] dt-bindings: soc: spacemit: define spacemit,k1-ccu resets
Date: Fri, 21 Mar 2025 22:25:46 +0000 [thread overview]
Message-ID: <20250321222546-GYA11633@gentoo> (raw)
In-Reply-To: <20250321151831.623575-2-elder@riscstar.com>
hi Alex:
On 10:18 Fri 21 Mar , Alex Elder wrote:
> There are additional SpacemiT syscon CCUs whose registers control both
> clocks and resets: RCPU, RCPU2, and APBC2. Unlike those defined
> previously, these will initially support only resets. They do not
> incorporate power domain functionality.
>
> Define the index values for resets associated with all SpacemiT K1
> syscon nodes, including those with clocks already defined, as well as
> the new ones (without clocks).
>
> Signed-off-by: Alex Elder <elder@riscstar.com>
> ---
> .../soc/spacemit/spacemit,k1-syscon.yaml | 13 +-
> include/dt-bindings/clock/spacemit,k1-ccu.h | 134 ++++++++++++++++++
> 2 files changed, 143 insertions(+), 4 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/soc/spacemit/spacemit,k1-syscon.yaml b/Documentation/devicetree/bindings/soc/spacemit/spacemit,k1-syscon.yaml
> index 07a6728e6f864..333c28e075b6c 100644
> --- a/Documentation/devicetree/bindings/soc/spacemit/spacemit,k1-syscon.yaml
> +++ b/Documentation/devicetree/bindings/soc/spacemit/spacemit,k1-syscon.yaml
> @@ -19,6 +19,9 @@ properties:
> - spacemit,k1-syscon-apbc
> - spacemit,k1-syscon-apmu
> - spacemit,k1-syscon-mpmu
> + - spacemit,k1-syscon-rcpu
> + - spacemit,k1-syscon-rcpu2
> + - spacemit,k1-syscon-apbc2
>
> reg:
> maxItems: 1
> @@ -57,13 +60,15 @@ allOf:
> properties:
> compatible:
> contains:
> - const: spacemit,k1-syscon-apbc
> + enum:
> + - spacemit,k1-syscon-apmu
> + - spacemit,k1-syscon-mpmu
> then:
> - properties:
> - "#power-domain-cells": false
> - else:
> required:
> - "#power-domain-cells"
> + else:
> + properties:
> + "#power-domain-cells": false
>
> additionalProperties: false
>
> diff --git a/include/dt-bindings/clock/spacemit,k1-ccu.h b/include/dt-bindings/clock/spacemit,k1-ccu.h
> index 4a0c7163257e3..a1e1b1fe714ce 100644
> --- a/include/dt-bindings/clock/spacemit,k1-ccu.h
> +++ b/include/dt-bindings/clock/spacemit,k1-ccu.h
> @@ -78,6 +78,9 @@
> #define CLK_APB 31
> #define CLK_WDT_BUS 32
>
> +/* MPMU resets */
> +#define RST_WDT 0
> +
> /* APBC clocks */
> #define CLK_UART0 0
> #define CLK_UART2 1
> @@ -109,6 +112,7 @@
> #define CLK_PWM17 27
> #define CLK_PWM18 28
> #define CLK_PWM19 29
> +
as Rob point out, this isn't necessary, not related to reset
> #define CLK_SSP3 30
> #define CLK_RTC 31
> #define CLK_TWSI0 32
> @@ -180,6 +184,60 @@
> #define CLK_TSEN_BUS 98
> #define CLK_IPC_AP2AUD_BUS 99
>
> +/* APBC resets */
> +
I'd also suggest to drop above blank line, keep style consistent
with others in this file, some same below that I won't comment
> +#define RST_UART0 0
> +#define RST_UART2 1
> +#define RST_UART3 2
> +#define RST_UART4 3
> +#define RST_UART5 4
> +#define RST_UART6 5
> +#define RST_UART7 6
> +#define RST_UART8 7
> +#define RST_UART9 8
> +#define RST_GPIO 9
> +#define RST_PWM0 10
> +#define RST_PWM1 11
> +#define RST_PWM2 12
> +#define RST_PWM3 13
> +#define RST_PWM4 14
> +#define RST_PWM5 15
> +#define RST_PWM6 16
> +#define RST_PWM7 17
> +#define RST_PWM8 18
> +#define RST_PWM9 19
> +#define RST_PWM10 20
> +#define RST_PWM11 21
> +#define RST_PWM12 22
> +#define RST_PWM13 23
> +#define RST_PWM14 24
> +#define RST_PWM15 25
> +#define RST_PWM16 26
> +#define RST_PWM17 27
> +#define RST_PWM18 28
> +#define RST_PWM19 29
> +#define RST_SSP3 30
> +#define RST_RTC 31
> +#define RST_TWSI0 32
> +#define RST_TWSI1 33
> +#define RST_TWSI2 34
> +#define RST_TWSI4 35
> +#define RST_TWSI5 36
> +#define RST_TWSI6 37
> +#define RST_TWSI7 38
> +#define RST_TWSI8 39
> +#define RST_TIMERS1 40
> +#define RST_TIMERS2 41
> +#define RST_AIB 42
> +#define RST_ONEWIRE 43
> +#define RST_SSPA0 44
> +#define RST_SSPA1 45
> +#define RST_DRO 46
> +#define RST_IR 47
> +#define RST_TSEN 48
> +#define RST_IPC_AP2AUD 49
> +#define RST_CAN0 50
> +
> /* APMU clocks */
> #define CLK_CCI550 0
> #define CLK_CPU_C0_HI 1
> @@ -244,4 +302,80 @@
> #define CLK_V2D 60
> #define CLK_EMMC_BUS 61
>
> +/* APMU resets */
> +
> +#define RST_CCIC_4X 0
> +#define RST_CCIC1_PHY 1
> +#define RST_SDH_AXI 2
> +#define RST_SDH0 3
> +#define RST_SDH1 4
> +#define RST_SDH2 5
> +#define RST_USBP1_AXI 6
> +#define RST_USB_AXI 7
> +#define RST_USB3_0 8
> +#define RST_QSPI 9
> +#define RST_QSPI_BUS 10
> +#define RST_DMA 11
> +#define RST_AES 12
> +#define RST_VPU 13
> +#define RST_GPU 14
> +#define RST_EMMC 15
> +#define RST_EMMC_X 16
> +#define RST_AUDIO 17
> +#define RST_HDMI 18
> +#define RST_PCIE0 19
> +#define RST_PCIE1 20
> +#define RST_PCIE2 21
> +#define RST_EMAC0 22
> +#define RST_EMAC1 23
> +#define RST_JPG 24
> +#define RST_CCIC2PHY 25
> +#define RST_CCIC3PHY 26
> +#define RST_CSI 27
> +#define RST_ISP_CPP 28
> +#define RST_ISP_BUS 29
> +#define RST_ISP 30
> +#define RST_ISP_CI 31
> +#define RST_DPU_MCLK 32
> +#define RST_DPU_ESC 33
> +#define RST_DPU_HCLK 34
> +#define RST_DPU_SPIBUS 35
> +#define RST_DPU_SPI_HBUS 36
> +#define RST_V2D 37
> +#define RST_MIPI 38
> +#define RST_MC 39
> +
> +/* RCPU resets */
> +
> +#define RST_RCPU_SSP0 0
> +#define RST_RCPU_I2C0 1
> +#define RST_RCPU_UART1 2
> +#define RST_RCPU_IR 3
> +#define RST_RCPU_CAN 4
> +#define RST_RCPU_UART0 5
> +#define RST_RCPU_HDMI_AUDIO 6
> +
> +/* RCPU2 resets */
> +
> +#define RST_RCPU2_PWM0 0
> +#define RST_RCPU2_PWM1 1
> +#define RST_RCPU2_PWM2 2
> +#define RST_RCPU2_PWM3 3
> +#define RST_RCPU2_PWM4 4
> +#define RST_RCPU2_PWM5 5
> +#define RST_RCPU2_PWM6 6
> +#define RST_RCPU2_PWM7 7
> +#define RST_RCPU2_PWM8 8
> +#define RST_RCPU2_PWM9 9
> +
> +/* APBC2 resets */
> +
> +#define RST_APBC2_UART1 0
> +#define RST_APBC2_SSP2 1
> +#define RST_APBC2_TWSI3 2
> +#define RST_APBC2_RTC 3
> +#define RST_APBC2_TIMERS0 4
> +#define RST_APBC2_KPC 5
> +#define RST_APBC2_GPIO 6
> +
> #endif /* _DT_BINDINGS_SPACEMIT_CCU_H_ */
> --
> 2.43.0
>
>
--
Yixun Lan (dlan)
Gentoo Linux Developer
GPG Key ID AABEFD55
next prev parent reply other threads:[~2025-03-21 22:25 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-21 15:18 [PATCH RESEND 0/7] clk: spacemit: add K1 reset support Alex Elder
2025-03-21 15:18 ` [PATCH RESEND 1/7] dt-bindings: soc: spacemit: define spacemit,k1-ccu resets Alex Elder
2025-03-21 20:42 ` Rob Herring
2025-03-21 22:25 ` Yixun Lan [this message]
2025-03-22 14:27 ` Alex Elder
2025-03-22 16:51 ` Yixun Lan
2025-03-21 15:18 ` [PATCH RESEND 2/7] clk: spacemit: define struct k1_ccu_data Alex Elder
2025-03-22 15:50 ` Yixun Lan
2025-03-23 12:43 ` Alex Elder
2025-03-23 13:04 ` Yixun Lan
2025-03-23 22:30 ` Alex Elder
2025-03-28 17:24 ` Alex Elder
2025-03-24 11:53 ` Haylen Chu
2025-03-24 12:17 ` Alex Elder
2025-03-21 15:18 ` [PATCH RESEND 3/7] clk: spacemit: add reset controller support Alex Elder
2025-03-22 16:19 ` Yixun Lan
2025-03-23 13:23 ` Alex Elder
2025-03-24 6:40 ` Yixun Lan
2025-03-24 12:20 ` Haylen Chu
2025-03-24 12:52 ` Alex Elder
2025-03-21 15:18 ` [PATCH RESEND 4/7] clk: spacemit: define existing syscon resets Alex Elder
2025-03-22 16:29 ` Yixun Lan
2025-03-23 13:23 ` Alex Elder
2025-03-24 6:24 ` Yixun Lan
2025-03-21 15:18 ` [PATCH RESEND 5/7] clk: spacemit: make clocks optional Alex Elder
2025-03-21 15:18 ` [PATCH RESEND 6/7] clk: spacemit: define new syscons with only resets Alex Elder
2025-03-22 16:42 ` Yixun Lan
2025-03-23 13:23 ` Alex Elder
2025-03-24 6:21 ` Yixun Lan
2025-03-28 17:24 ` Alex Elder
2025-03-21 15:18 ` [PATCH RESEND 7/7] riscv: dts: spacemit: add reset support for the K1 SoC Alex Elder
2025-03-22 16:48 ` Yixun Lan
2025-03-23 13:23 ` Alex Elder
2025-03-24 6:06 ` 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=20250321222546-GYA11633@gentoo \
--to=dlan@gentoo.org \
--cc=aou@eecs.berkeley.edu \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=elder@riscstar.com \
--cc=guodong@riscstar.com \
--cc=heylenay@4d2.org \
--cc=krzk+dt@kernel.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=mturquette@baylibre.com \
--cc=p.zabel@pengutronix.de \
--cc=palmer@dabbelt.com \
--cc=paul.walmsley@sifive.com \
--cc=robh@kernel.org \
--cc=sboyd@kernel.org \
--cc=spacemit@lists.linux.dev \
/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