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: <20251113-kissing-uphill-e8eea3fa6f5c@spud>
Date: Thu, 13 Nov 2025 19:39:27 +0000
From: Conor Dooley <conor@...nel.org>
To: Gary Yang <gary.yang@...tech.com>
Cc: p.zabel@...gutronix.de, robh@...nel.org, krzk+dt@...nel.org,
	conor+dt@...nel.org, devicetree@...r.kernel.org,
	linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
	cix-kernel-upstream@...tech.com
Subject: Re: [PATCH v2 1/3] dt-bindings: reset: add sky1 reset controller

On Thu, Nov 13, 2025 at 03:59:33PM +0800, Gary Yang wrote:
> There are two reset controllers on Cix sky1 Soc.
> One is located in S0 domain, and the other is located
> in S5 domain.
> 
> Signed-off-by: Gary Yang <gary.yang@...tech.com>
> ---
>  .../bindings/reset/cix,sky1-rst.yaml          |  48 +++++
>  include/dt-bindings/reset/cix,sky1-rst-fch.h  |  42 +++++
>  include/dt-bindings/reset/cix,sky1-rst.h      | 164 ++++++++++++++++++
>  3 files changed, 254 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/reset/cix,sky1-rst.yaml
>  create mode 100644 include/dt-bindings/reset/cix,sky1-rst-fch.h
>  create mode 100644 include/dt-bindings/reset/cix,sky1-rst.h
> 
> diff --git a/Documentation/devicetree/bindings/reset/cix,sky1-rst.yaml b/Documentation/devicetree/bindings/reset/cix,sky1-rst.yaml
> new file mode 100644
> index 000000000000..6339ed3f296a
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/reset/cix,sky1-rst.yaml
> @@ -0,0 +1,48 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/reset/cix,sky1-rst.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: CIX Sky1 Reset Controller
> +
> +maintainers:
> +  - Gary Yang <gary.yang@...tech.com>
> +
> +description: |
> +  CIX Sky1 reset controller can be used to reset various set of peripherals.
> +  There are two reset controllers, one is located in S0 domain, the other
> +  is located in S5 domain.
> +
> +  See also:
> +  - include/dt-bindings/reset/cix,sky1-rst.h
> +
> +properties:
> +  compatible:
> +    items:
> +      - enum:
> +          - cix,sky1-rst
> +          - cix,sky1-rst-fch
> +      - const: syscon

Why are these "syscon"s? I don't see that explained.

> +
> +  reg:
> +    maxItems: 1
> +
> +  '#reset-cells':
> +    const: 1
> +
> +required:
> +  - compatible
> +  - reg
> +  - '#reset-cells'
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/reset/cix,sky1-rst.h>
> +    reset-controller@...00000 {
> +      compatible = "cix,sky1-rst", "syscon";
> +      reg = <0x16000000 0x1000>;
> +      #reset-cells = <1>;
> +    };
> diff --git a/include/dt-bindings/reset/cix,sky1-rst-fch.h b/include/dt-bindings/reset/cix,sky1-rst-fch.h
> new file mode 100644
> index 000000000000..8e67d7eb92aa
> --- /dev/null
> +++ b/include/dt-bindings/reset/cix,sky1-rst-fch.h
> @@ -0,0 +1,42 @@
> +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
> +/* Author: Jerry Zhu <jerry.zhu@...tech.com> */
> +#ifndef DT_BINDING_RESET_FCH_SKY1_H
> +#define DT_BINDING_RESET_FCH_SKY1_H
> +
> +/* func reset for sky1 fch */
> +
> +#define SW_I3C0_RST_FUNC_G_N	0
> +#define SW_I3C0_RST_FUNC_I_N	1
> +#define SW_I3C1_RST_FUNC_G_N	2
> +#define SW_I3C1_RST_FUNC_I_N	3
> +#define SW_UART0_RST_FUNC_N	4
> +#define SW_UART1_RST_FUNC_N	5
> +#define SW_UART2_RST_FUNC_N	6
> +#define SW_UART3_RST_FUNC_N	7
> +#define SW_TIMER_RST_FUNC_N	8
> +
> +/* apb reset for sky1 fch */
> +#define SW_I3C0_RST_APB_N	9
> +#define SW_I3C1_RST_APB_N	10
> +#define SW_DMA_RST_AXI_N	11
> +#define SW_UART0_RST_APB_N	12
> +#define SW_UART1_RST_APB_N	13
> +#define SW_UART2_RST_APB_N	14
> +#define SW_UART3_RST_APB_N	15
> +#define SW_SPI0_RST_APB_N	16
> +#define SW_SPI1_RST_APB_N	17
> +#define SW_I2C0_RST_APB_N	18
> +#define SW_I2C1_RST_APB_N	19
> +#define SW_I2C2_RST_APB_N	20
> +#define SW_I2C3_RST_APB_N	21
> +#define SW_I2C4_RST_APB_N	22
> +#define SW_I2C5_RST_APB_N	23
> +#define SW_I2C6_RST_APB_N	24
> +#define SW_I2C7_RST_APB_N	25
> +#define SW_GPIO_RST_APB_N	26
> +
> +/* fch rst for xspi */
> +#define SW_XSPI_REG_RST_N	27
> +#define SW_XSPI_SYS_RST_N	28
> +
> +#endif
> diff --git a/include/dt-bindings/reset/cix,sky1-rst.h b/include/dt-bindings/reset/cix,sky1-rst.h
> new file mode 100644
> index 000000000000..72c0d6a60452
> --- /dev/null
> +++ b/include/dt-bindings/reset/cix,sky1-rst.h
> @@ -0,0 +1,164 @@
> +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
> +/* Author: Jerry Zhu <jerry.zhu@...tech.com> */
> +#ifndef DT_BINDING_RESET_SKY1_H
> +#define DT_BINDING_RESET_SKY1_H
> +
> +/* reset for csu_pm */
> +
> +#define SKY1_CSU_PM_RESET_N		0
> +#define SKY1_SENSORHUB_RESET_N		1
> +#define SKY1_SENSORHUB_NOC_RESET_N	2
> +
> +/* reset group0 for s0 domain modules */
> +#define SKY1_DDRC_RESET_N		3
> +#define SKY1_GIC_RESET_N		4
> +#define SKY1_CI700_RESET_N		5
> +#define SKY1_SYS_NI700_RESET_N		6
> +#define SKY1_MM_NI700_RESET_N		7
> +#define SKY1_PCIE_NI700_RESET_N		8
> +#define SKY1_GPU_RESET_N		9
> +#define SKY1_NPUTOP_RESET_N		10
> +#define SKY1_NPUCORE0_RESET_N		11
> +#define SKY1_NPUCORE1_RESET_N		12
> +#define SKY1_NPUCORE2_RESET_N		13
> +#define SKY1_VPU_RESET_N		14
> +#define SKY1_ISP_SRESET_N		15
> +#define SKY1_ISP_ARESET_N		16
> +#define SKY1_ISP_HRESET_N		17
> +#define SKY1_ISP_GDCRESET_N		18
> +#define SKY1_DPU_RESET0_N		19
> +#define SKY1_DPU_RESET1_N		20
> +#define SKY1_DPU_RESET2_N		21
> +#define SKY1_DPU_RESET3_N		22
> +#define SKY1_DPU_RESET4_N		23
> +#define SKY1_DP_RESET0_N		24
> +#define SKY1_DP_RESET1_N		25
> +#define SKY1_DP_RESET2_N		26
> +#define SKY1_DP_RESET3_N		27
> +#define SKY1_DP_RESET4_N		28
> +#define SKY1_DP_PHY_RST_N		29
> +
> +/* reset group1 for s0 domain modules */
> +#define SKY1_AUDIO_HIFI5_RESET_N	30
> +#define SKY1_AUDIO_HIFI5_NOC_RESET_N	31
> +#define SKY1_CSIDPHY_PRST0_N		32
> +#define SKY1_CSIDPHY_CMNRST0_N		33
> +#define SKY1_CSI0_RST_N			34
> +#define SKY1_CSIDPHY_PRST1_N		35
> +#define SKY1_CSIDPHY_CMNRST1_N		36
> +#define SKY1_CSI1_RST_N			37
> +#define SKY1_CSI2_RST_N			38
> +#define SKY1_CSI3_RST_N			39
> +#define SKY1_CSIBRDGE0_RST_N		40
> +#define SKY1_CSIBRDGE1_RST_N		41
> +#define SKY1_CSIBRDGE2_RST_N		42
> +#define SKY1_CSIBRDGE3_RST_N		43
> +#define SKY1_GMAC0_RST_N		44
> +#define SKY1_GMAC1_RST_N		45
> +#define SKY1_PCIE0_RESET_N		46
> +#define SKY1_PCIE1_RESET_N		47
> +#define SKY1_PCIE2_RESET_N		48
> +#define SKY1_PCIE3_RESET_N		49
> +#define SKY1_PCIE4_RESET_N		50
> +
> +/* reset group1 for usb phys */
> +#define SKY1_USB_DP_PHY0_PRST_N		51
> +#define SKY1_USB_DP_PHY1_PRST_N		52
> +#define SKY1_USB_DP_PHY2_PRST_N		53
> +#define SKY1_USB_DP_PHY3_PRST_N		54
> +#define SKY1_USB_DP_PHY0_RST_N		55
> +#define SKY1_USB_DP_PHY1_RST_N		56
> +#define SKY1_USB_DP_PHY2_RST_N		57
> +#define SKY1_USB_DP_PHY3_RST_N		58
> +#define SKY1_USBPHY_SS_PST_N		59
> +#define SKY1_USBPHY_SS_RST_N		60
> +#define SKY1_USBPHY_HS0_PRST_N		61
> +#define SKY1_USBPHY_HS1_PRST_N		62
> +#define SKY1_USBPHY_HS2_PRST_N		63
> +#define SKY1_USBPHY_HS3_PRST_N		64
> +#define SKY1_USBPHY_HS4_PRST_N		65
> +#define SKY1_USBPHY_HS5_PRST_N		66
> +#define SKY1_USBPHY_HS6_PRST_N		67
> +#define SKY1_USBPHY_HS7_PRST_N		68
> +#define SKY1_USBPHY_HS8_PRST_N		69
> +#define SKY1_USBPHY_HS9_PRST_N		70
> +
> +/* reset group1 for usb controllers */
> +#define SKY1_USBC_SS0_PRST_N		71
> +#define SKY1_USBC_SS1_PRST_N		72
> +#define SKY1_USBC_SS2_PRST_N		73
> +#define SKY1_USBC_SS3_PRST_N		74
> +#define SKY1_USBC_SS4_PRST_N		75
> +#define SKY1_USBC_SS5_PRST_N		76
> +#define SKY1_USBC_SS0_RST_N		77
> +#define SKY1_USBC_SS1_RST_N		78
> +#define SKY1_USBC_SS2_RST_N		79
> +#define SKY1_USBC_SS3_RST_N		80
> +#define SKY1_USBC_SS4_RST_N		81
> +#define SKY1_USBC_SS5_RST_N		82
> +#define SKY1_USBC_HS0_PRST_N		83
> +#define SKY1_USBC_HS1_PRST_N		84
> +#define SKY1_USBC_HS2_PRST_N		85
> +#define SKY1_USBC_HS3_PRST_N		86
> +#define SKY1_USBC_HS0_RST_N		87
> +#define SKY1_USBC_HS1_RST_N		88
> +#define SKY1_USBC_HS2_RST_N		89
> +#define SKY1_USBC_HS3_RST_N		90
> +
> +/* reset group0 for rcsu */
> +#define SKY1_AUDIO_RCSU_RESET_N			91
> +#define SKY1_CI700_RCSU_RESET_N			92
> +#define SKY1_CSI_RCSU0_RESET_N			93
> +#define SKY1_CSI_RCSU1_RESET_N			94
> +#define SKY1_CSU_PM_RCSU_RESET_N		95
> +#define SKY1_DDR_BROADCAST_RCSU_RESET_N		96
> +#define SKY1_DDR_CTRL_RCSU_0_RESET_N		97
> +#define SKY1_DDR_CTRL_RCSU_1_RESET_N		98
> +#define SKY1_DDR_CTRL_RCSU_2_RESET_N		99
> +#define SKY1_DDR_CTRL_RCSU_3_RESET_N		100
> +#define SKY1_DDR_TZC400_RCSU_0_RESET_N		101
> +#define SKY1_DDR_TZC400_RCSU_1_RESET_N		102
> +#define SKY1_DDR_TZC400_RCSU_2_RESET_N		103
> +#define SKY1_DDR_TZC400_RCSU_3_RESET_N		104
> +#define SKY1_DP0_RCSU_RESET_N			105
> +#define SKY1_DP1_RCSU_RESET_N			106
> +#define SKY1_DP2_RCSU_RESET_N			107
> +#define SKY1_DP3_RCSU_RESET_N			108
> +#define SKY1_DP4_RCSU_RESET_N			109
> +#define SKY1_DPU0_RCSU_RESET_N			110
> +#define SKY1_DPU1_RCSU_RESET_N			111
> +#define SKY1_DPU2_RCSU_RESET_N			112
> +#define SKY1_DPU3_RCSU_RESET_N			113
> +#define SKY1_DPU4_RCSU_RESET_N			114
> +#define SKY1_DSU_RCSU_RESET_N			115
> +#define SKY1_FCH_RCSU_RESET_N			116
> +#define SKY1_GICD_RCSU_RESET_N			117
> +#define SKY1_GMAC_RCSU_RESET_N			118
> +#define SKY1_GPU_RCSU_RESET_N			119
> +#define SKY1_ISP_RCSU0_RESET_N			120
> +#define SKY1_ISP_RCSU1_RESET_N			121
> +#define SKY1_NI700_MMHUB_RCSU_RESET_N		122
> +
> +/* reset group1 for rcsu */
> +#define SKY1_NPU_RCSU_RESET_N			123
> +#define SKY1_NI700_PCIE_RCSU_RESET_N		124
> +#define SKY1_PCIE_X421_RCSU_RESET_N		125
> +#define SKY1_PCIE_X8_RCSU_RESET_N		126
> +#define SKY1_SF_RCSU_RESET_N			127
> +#define SKY1_RCSU_SMMU_MMHUB_RESET_N		128
> +#define SKY1_RCSU_SMMU_PCIEHUB_RESET_N		129
> +#define SKY1_RCSU_SYSHUB_RESET_N		130
> +#define SKY1_NI700_SMN_RCSU_RESET_N		131
> +#define SKY1_NI700_SYSHUB_RCSU_RESET_N		132
> +#define SKY1_RCSU_USB2_HOST0_RESET_N		133
> +#define SKY1_RCSU_USB2_HOST1_RESET_N		134
> +#define SKY1_RCSU_USB2_HOST2_RESET_N		135
> +#define SKY1_RCSU_USB2_HOST3_RESET_N		136
> +#define SKY1_RCSU_USB3_TYPEA_DRD_RESET_N	137
> +#define SKY1_RCSU_USB3_TYPEC_DRD_RESET_N	138
> +#define SKY1_RCSU_USB3_TYPEC_HOST0_RESET_N	139
> +#define SKY1_RCSU_USB3_TYPEC_HOST1_RESET_N	140
> +#define SKY1_RCSU_USB3_TYPEC_HOST2_RESET_N	141
> +#define SKY1_VPU_RCSU_RESET_N			142
> +
> +#endif
> -- 
> 2.49.0
> 

Download attachment "signature.asc" of type "application/pgp-signature" (229 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ