lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <cb298eda-0cb6-491c-91dd-f46b0d78e321@riscstar.com>
Date: Thu, 15 Jan 2026 11:27:21 -0600
From: Alex Elder <elder@...cstar.com>
To: Guodong Xu <guodong@...cstar.com>, Philipp Zabel
 <p.zabel@...gutronix.de>, Rob Herring <robh@...nel.org>,
 Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley
 <conor+dt@...nel.org>, Yixun Lan <dlan@...too.org>,
 Haylen Chu <heylenay@....org>
Cc: linux-kernel@...r.kernel.org, devicetree@...r.kernel.org,
 linux-riscv@...ts.infradead.org, spacemit@...ts.linux.dev
Subject: Re: [PATCH v2 1/4] dt-bindings: soc: spacemit: Add K3 reset support
 and IDs

On 1/8/26 8:22 AM, Guodong Xu wrote:
> Update the spacemit,k1-syscon.yaml binding to document K3 SoC reset
> support.
> 
> K3 reset devices are registered at runtime as auxiliary devices by the
> K3 CCU driveri. Since K3 reuses the K1 syscon binding, there is no separate
> YAML binding file for K3 resets.
> 
> Update #reset-cells description to document where reset IDs are defined.
> 
> Signed-off-by: Guodong Xu <guodong@...cstar.com>

Looks good to me.

Acked-by: Alex Elder <elder@...cstar.com>

> ---
> v2: Update spacemit,k1-syscon binding to clarify K3 reset is supported.
>      Update the commit message to add backgrounds of this patch why,
>        instead of what.
> ---
>   .../bindings/soc/spacemit/spacemit,k1-syscon.yaml  |   8 +-
>   include/dt-bindings/reset/spacemit,k3-resets.h     | 171 +++++++++++++++++++++
>   2 files changed, 178 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/devicetree/bindings/soc/spacemit/spacemit,k1-syscon.yaml b/Documentation/devicetree/bindings/soc/spacemit/spacemit,k1-syscon.yaml
> index 66e6683a3ccb94af2ddf71bf443424adcb7a0d72..1a28af22cac1d474fec8af3b6c7dc674a75ee734 100644
> --- a/Documentation/devicetree/bindings/soc/spacemit/spacemit,k1-syscon.yaml
> +++ b/Documentation/devicetree/bindings/soc/spacemit/spacemit,k1-syscon.yaml
> @@ -10,7 +10,7 @@ maintainers:
>     - Haylen Chu <heylenay@....org>
>   
>   description:
> -  System controllers found on SpacemiT K1 SoC, which are capable of
> +  System controllers found on SpacemiT K1/K3 SoC, which are capable of
>     clock, reset and power-management functions.
>   
>   properties:
> @@ -50,6 +50,12 @@ properties:
>   
>     "#reset-cells":
>       const: 1
> +    description: |
> +      ID of the reset controller line. Valid IDs are defined in corresponding
> +      files:
> +
> +      For SpacemiT K1, see include/dt-bindings/clock/spacemit,k1-syscon.h
> +      For SpacemiT K3, see include/dt-bindings/reset/spacemit,k3-resets.h
>   
>   required:
>     - compatible
> diff --git a/include/dt-bindings/reset/spacemit,k3-resets.h b/include/dt-bindings/reset/spacemit,k3-resets.h
> new file mode 100644
> index 0000000000000000000000000000000000000000..79ac1c22b7b5447af1596edcb67a5dfa981e9ee7
> --- /dev/null
> +++ b/include/dt-bindings/reset/spacemit,k3-resets.h
> @@ -0,0 +1,171 @@
> +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
> +/*
> + * Copyright (c) 2025 SpacemiT Technology Co. Ltd
> + */
> +
> +#ifndef _DT_BINDINGS_RESET_SPACEMIT_K3_RESETS_H_
> +#define _DT_BINDINGS_RESET_SPACEMIT_K3_RESETS_H_
> +
> +/* MPMU resets */
> +#define RESET_MPMU_WDT           0
> +#define RESET_MPMU_RIPC          1
> +
> +/* APBC resets */
> +#define RESET_APBC_UART0         0
> +#define RESET_APBC_UART2         1
> +#define RESET_APBC_UART3         2
> +#define RESET_APBC_UART4         3
> +#define RESET_APBC_UART5         4
> +#define RESET_APBC_UART6         5
> +#define RESET_APBC_UART7         6
> +#define RESET_APBC_UART8         7
> +#define RESET_APBC_UART9         8
> +#define RESET_APBC_UART10        9
> +#define RESET_APBC_GPIO          10
> +#define RESET_APBC_PWM0          11
> +#define RESET_APBC_PWM1          12
> +#define RESET_APBC_PWM2          13
> +#define RESET_APBC_PWM3          14
> +#define RESET_APBC_PWM4          15
> +#define RESET_APBC_PWM5          16
> +#define RESET_APBC_PWM6          17
> +#define RESET_APBC_PWM7          18
> +#define RESET_APBC_PWM8          19
> +#define RESET_APBC_PWM9          20
> +#define RESET_APBC_PWM10         21
> +#define RESET_APBC_PWM11         22
> +#define RESET_APBC_PWM12         23
> +#define RESET_APBC_PWM13         24
> +#define RESET_APBC_PWM14         25
> +#define RESET_APBC_PWM15         26
> +#define RESET_APBC_PWM16         27
> +#define RESET_APBC_PWM17         28
> +#define RESET_APBC_PWM18         29
> +#define RESET_APBC_PWM19         30
> +#define RESET_APBC_SPI0          31
> +#define RESET_APBC_SPI1          32
> +#define RESET_APBC_SPI3          33
> +#define RESET_APBC_RTC           34
> +#define RESET_APBC_TWSI0         35
> +#define RESET_APBC_TWSI1         36
> +#define RESET_APBC_TWSI2         37
> +#define RESET_APBC_TWSI4         38
> +#define RESET_APBC_TWSI5         39
> +#define RESET_APBC_TWSI6         40
> +#define RESET_APBC_TWSI8         41
> +#define RESET_APBC_TIMERS0       42
> +#define RESET_APBC_TIMERS1       43
> +#define RESET_APBC_TIMERS2       44
> +#define RESET_APBC_TIMERS3       45
> +#define RESET_APBC_TIMERS4       46
> +#define RESET_APBC_TIMERS5       47
> +#define RESET_APBC_TIMERS6       48
> +#define RESET_APBC_TIMERS7       49
> +#define RESET_APBC_AIB           50
> +#define RESET_APBC_ONEWIRE       51
> +#define RESET_APBC_I2S0          52
> +#define RESET_APBC_I2S1          53
> +#define RESET_APBC_I2S2          54
> +#define RESET_APBC_I2S3          55
> +#define RESET_APBC_I2S4          56
> +#define RESET_APBC_I2S5          57
> +#define RESET_APBC_DRO           58
> +#define RESET_APBC_IR0           59
> +#define RESET_APBC_IR1           60
> +#define RESET_APBC_TSEN          61
> +#define RESET_IPC_AP2AUD         62
> +#define RESET_APBC_CAN0          63
> +#define RESET_APBC_CAN1          64
> +#define RESET_APBC_CAN2          65
> +#define RESET_APBC_CAN3          66
> +#define RESET_APBC_CAN4          67
> +
> +/* APMU resets */
> +#define RESET_APMU_CSI           0
> +#define RESET_APMU_CCIC2PHY      1
> +#define RESET_APMU_CCIC3PHY      2
> +#define RESET_APMU_ISP_CIBUS     3
> +#define RESET_APMU_DSI_ESC       4
> +#define RESET_APMU_LCD           5
> +#define RESET_APMU_V2D           6
> +#define RESET_APMU_LCD_MCLK      7
> +#define RESET_APMU_LCD_DSCCLK    8
> +#define RESET_APMU_SC2_HCLK      9
> +#define RESET_APMU_CCIC_4X       10
> +#define RESET_APMU_CCIC1_PHY     11
> +#define RESET_APMU_SDH_AXI       12
> +#define RESET_APMU_SDH0          13
> +#define RESET_APMU_SDH1          14
> +#define RESET_APMU_SDH2          15
> +#define RESET_APMU_USB2          16
> +#define RESET_APMU_USB3_PORTA    17
> +#define RESET_APMU_USB3_PORTB    18
> +#define RESET_APMU_USB3_PORTC    19
> +#define RESET_APMU_USB3_PORTD    20
> +#define RESET_APMU_QSPI          21
> +#define RESET_APMU_QSPI_BUS      22
> +#define RESET_APMU_DMA           23
> +#define RESET_APMU_AES_WTM       24
> +#define RESET_APMU_MCB_DCLK      25
> +#define RESET_APMU_MCB_ACLK      26
> +#define RESET_APMU_VPU           27
> +#define RESET_APMU_DTC           28
> +#define RESET_APMU_GPU           29
> +#define RESET_APMU_ALZO          30
> +#define RESET_APMU_MC            31
> +#define RESET_APMU_CPU0_POP      32
> +#define RESET_APMU_CPU0_SW       33
> +#define RESET_APMU_CPU1_POP      34
> +#define RESET_APMU_CPU1_SW       35
> +#define RESET_APMU_CPU2_POP      36
> +#define RESET_APMU_CPU2_SW       37
> +#define RESET_APMU_CPU3_POP      38
> +#define RESET_APMU_CPU3_SW       39
> +#define RESET_APMU_C0_MPSUB_SW   40
> +#define RESET_APMU_CPU4_POP      41
> +#define RESET_APMU_CPU4_SW       42
> +#define RESET_APMU_CPU5_POP      43
> +#define RESET_APMU_CPU5_SW       44
> +#define RESET_APMU_CPU6_POP      45
> +#define RESET_APMU_CPU6_SW       46
> +#define RESET_APMU_CPU7_POP      47
> +#define RESET_APMU_CPU7_SW       48
> +#define RESET_APMU_C1_MPSUB_SW   49
> +#define RESET_APMU_MPSUB_DBG     50
> +#define RESET_APMU_UCIE          51
> +#define RESET_APMU_RCPU          52
> +#define RESET_APMU_DSI4LN2_ESCCLK     53
> +#define RESET_APMU_DSI4LN2_LCD_SW     54
> +#define RESET_APMU_DSI4LN2_LCD_MCLK   55
> +#define RESET_APMU_DSI4LN2_LCD_DSCCLK 56
> +#define RESET_APMU_DSI4LN2_DPU_ACLK   57
> +#define RESET_APMU_DPU_ACLK      58
> +#define RESET_APMU_UFS_ACLK      59
> +#define RESET_APMU_EDP0          60
> +#define RESET_APMU_EDP1          61
> +#define RESET_APMU_PCIE_PORTA    62
> +#define RESET_APMU_PCIE_PORTB    63
> +#define RESET_APMU_PCIE_PORTC    64
> +#define RESET_APMU_PCIE_PORTD    65
> +#define RESET_APMU_PCIE_PORTE    66
> +#define RESET_APMU_EMAC0         67
> +#define RESET_APMU_EMAC1         68
> +#define RESET_APMU_EMAC2         69
> +#define RESET_APMU_ESPI_MCLK     70
> +#define RESET_APMU_ESPI_SCLK     71
> +
> +/* DCIU resets*/
> +#define RESET_DCIU_HDMA          0
> +#define RESET_DCIU_DMA350        1
> +#define RESET_DCIU_DMA350_0      2
> +#define RESET_DCIU_DMA350_1      3
> +#define RESET_DCIU_AXIDMA0       4
> +#define RESET_DCIU_AXIDMA1       5
> +#define RESET_DCIU_AXIDMA2       6
> +#define RESET_DCIU_AXIDMA3       7
> +#define RESET_DCIU_AXIDMA4       8
> +#define RESET_DCIU_AXIDMA5       9
> +#define RESET_DCIU_AXIDMA6       10
> +#define RESET_DCIU_AXIDMA7       11
> +
> +#endif /* _DT_BINDINGS_RESET_SPACEMIT_K3_H_ */
> 


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ