// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
 * Copyright (c) 2022 Collabora Ltd.
 * Author: Sebastian Reichel <sebastian.reichel@collabora.com>
 */

#include <linux/module.h>
#include <linux/of.h>
#include <dt-bindings/reset/rockchip,rk3588-cru.h>
#include "clk.h"

/* 0xFD7C0000 + 0x0A00 */
#define RK3588_CRU_RESET_OFFSET(id, reg, bit) [id] = (0 + reg * 16 + bit)

/* 0xFD7C8000 + 0x0A00 */
#define RK3588_PHPTOPCRU_RESET_OFFSET(id, reg, bit) [id] = (0x8000*4 + reg * 16 + bit)

/* 0xFD7D0000 + 0x0A00 */
#define RK3588_SECURECRU_RESET_OFFSET(id, reg, bit) [id] = (0x10000*4 + reg * 16 + bit)

/* 0xFD7F0000 + 0x0A00 */
#define RK3588_PMU1CRU_RESET_OFFSET(id, reg, bit) [id] = (0x30000*4 + reg * 16 + bit)

/* mapping table for reset ID to register offset */
static const int rk3588_register_offset[] = {
	/* SOFTRST_CON01 */
	RK3588_CRU_RESET_OFFSET(SRST_A_TOP_BIU, 1, 3),
	RK3588_CRU_RESET_OFFSET(SRST_P_TOP_BIU, 1, 4),
	RK3588_CRU_RESET_OFFSET(SRST_P_CSIPHY0, 1, 6),
	RK3588_CRU_RESET_OFFSET(SRST_CSIPHY0, 1, 7), // missing in TRM
	RK3588_CRU_RESET_OFFSET(SRST_P_CSIPHY1, 1, 8),
	RK3588_CRU_RESET_OFFSET(SRST_CSIPHY1, 1, 9), // missing in TRM
	RK3588_CRU_RESET_OFFSET(SRST_A_TOP_M500_BIU, 1, 15),

	/* SOFTRST_CON02 */
	RK3588_CRU_RESET_OFFSET(SRST_A_TOP_M400_BIU, 2, 0),
	RK3588_CRU_RESET_OFFSET(SRST_A_TOP_S200_BIU, 2, 1),
	RK3588_CRU_RESET_OFFSET(SRST_A_TOP_S400_BIU, 2, 2),
	RK3588_CRU_RESET_OFFSET(SRST_A_TOP_M300_BIU, 2, 3),
	RK3588_CRU_RESET_OFFSET(SRST_USBDP_COMBO_PHY0_INIT, 2, 8),
	RK3588_CRU_RESET_OFFSET(SRST_USBDP_COMBO_PHY0_CMN, 2, 9),
	RK3588_CRU_RESET_OFFSET(SRST_USBDP_COMBO_PHY0_LANE, 2, 10),
	RK3588_CRU_RESET_OFFSET(SRST_USBDP_COMBO_PHY0_PCS, 2, 11),
	RK3588_CRU_RESET_OFFSET(SRST_USBDP_COMBO_PHY1_INIT, 2, 15),

	/* SOFTRST_CON03 */
	RK3588_CRU_RESET_OFFSET(SRST_USBDP_COMBO_PHY1_CMN, 3, 0),
	RK3588_CRU_RESET_OFFSET(SRST_USBDP_COMBO_PHY1_LANE, 3, 1),
	RK3588_CRU_RESET_OFFSET(SRST_USBDP_COMBO_PHY1_PCS, 3, 2),
	RK3588_CRU_RESET_OFFSET(SRST_DCPHY0, 3, 11), // missing in TRM
	RK3588_CRU_RESET_OFFSET(SRST_P_MIPI_DCPHY0, 3, 14),
	RK3588_CRU_RESET_OFFSET(SRST_P_MIPI_DCPHY0_GRF, 3, 15),

	/* SOFTRST_CON04 */
	RK3588_CRU_RESET_OFFSET(SRST_DCPHY1, 4, 0), // missing in TRM
	RK3588_CRU_RESET_OFFSET(SRST_P_MIPI_DCPHY1, 4, 3),
	RK3588_CRU_RESET_OFFSET(SRST_P_MIPI_DCPHY1_GRF, 4, 4),
	RK3588_CRU_RESET_OFFSET(SRST_P_APB2ASB_SLV_CDPHY, 4, 5),
	RK3588_CRU_RESET_OFFSET(SRST_P_APB2ASB_SLV_CSIPHY, 4, 6),
	RK3588_CRU_RESET_OFFSET(SRST_P_APB2ASB_SLV_VCCIO3_5, 4, 7),
	RK3588_CRU_RESET_OFFSET(SRST_P_APB2ASB_SLV_VCCIO6, 4, 8),
	RK3588_CRU_RESET_OFFSET(SRST_P_APB2ASB_SLV_EMMCIO, 4, 9),
	RK3588_CRU_RESET_OFFSET(SRST_P_APB2ASB_SLV_IOC_TOP, 4, 10),
	RK3588_CRU_RESET_OFFSET(SRST_P_APB2ASB_SLV_IOC_RIGHT, 4, 11),

	/* SOFTRST_CON05 */
	RK3588_CRU_RESET_OFFSET(SRST_P_CRU, 5, 0),
	RK3588_CRU_RESET_OFFSET(SRST_A_CHANNEL_SECURE2VO1USB, 5, 7),
	RK3588_CRU_RESET_OFFSET(SRST_A_CHANNEL_SECURE2CENTER, 5, 8),
	RK3588_CRU_RESET_OFFSET(SRST_H_CHANNEL_SECURE2VO1USB, 5, 14),
	RK3588_CRU_RESET_OFFSET(SRST_H_CHANNEL_SECURE2CENTER, 5, 15),

	/* SOFTRST_CON06 */
	RK3588_CRU_RESET_OFFSET(SRST_P_CHANNEL_SECURE2VO1USB, 6, 0),
	RK3588_CRU_RESET_OFFSET(SRST_P_CHANNEL_SECURE2CENTER, 6, 1),

	/* SOFTRST_CON07 */
	RK3588_CRU_RESET_OFFSET(SRST_H_AUDIO_BIU, 7, 2),
	RK3588_CRU_RESET_OFFSET(SRST_P_AUDIO_BIU, 7, 3),
	RK3588_CRU_RESET_OFFSET(SRST_H_I2S0_8CH, 7, 4),
	RK3588_CRU_RESET_OFFSET(SRST_M_I2S0_8CH_TX, 7, 7),
	RK3588_CRU_RESET_OFFSET(SRST_M_I2S0_8CH_RX, 7, 10),
	RK3588_CRU_RESET_OFFSET(SRST_P_ACDCDIG, 7, 11),
	RK3588_CRU_RESET_OFFSET(SRST_H_I2S2_2CH, 7, 12),
	RK3588_CRU_RESET_OFFSET(SRST_H_I2S3_2CH, 7, 13),

	/* SOFTRST_CON08 */
	RK3588_CRU_RESET_OFFSET(SRST_M_I2S2_2CH, 8, 0),
	RK3588_CRU_RESET_OFFSET(SRST_M_I2S3_2CH, 8, 3),
	RK3588_CRU_RESET_OFFSET(SRST_DAC_ACDCDIG, 8, 4),
	RK3588_CRU_RESET_OFFSET(SRST_H_SPDIF0, 8, 14),

	/* SOFTRST_CON09 */
	RK3588_CRU_RESET_OFFSET(SRST_M_SPDIF0, 9, 1),
	RK3588_CRU_RESET_OFFSET(SRST_H_SPDIF1, 9, 2),
	RK3588_CRU_RESET_OFFSET(SRST_M_SPDIF1, 9, 5),
	RK3588_CRU_RESET_OFFSET(SRST_H_PDM1, 9, 6),
	RK3588_CRU_RESET_OFFSET(SRST_PDM1, 9, 7),

	/* SOFTRST_CON10 */
	RK3588_CRU_RESET_OFFSET(SRST_A_BUS_BIU, 10, 1),
	RK3588_CRU_RESET_OFFSET(SRST_P_BUS_BIU, 10, 2),
	RK3588_CRU_RESET_OFFSET(SRST_A_GIC, 10, 3),
	RK3588_CRU_RESET_OFFSET(SRST_A_GIC_DBG, 10, 4),
	RK3588_CRU_RESET_OFFSET(SRST_A_DMAC0, 10, 5),
	RK3588_CRU_RESET_OFFSET(SRST_A_DMAC1, 10, 6),
	RK3588_CRU_RESET_OFFSET(SRST_A_DMAC2, 10, 7),
	RK3588_CRU_RESET_OFFSET(SRST_P_I2C1, 10, 8),
	RK3588_CRU_RESET_OFFSET(SRST_P_I2C2, 10, 9),
	RK3588_CRU_RESET_OFFSET(SRST_P_I2C3, 10, 10),
	RK3588_CRU_RESET_OFFSET(SRST_P_I2C4, 10, 11),
	RK3588_CRU_RESET_OFFSET(SRST_P_I2C5, 10, 12),
	RK3588_CRU_RESET_OFFSET(SRST_P_I2C6, 10, 13),
	RK3588_CRU_RESET_OFFSET(SRST_P_I2C7, 10, 14),
	RK3588_CRU_RESET_OFFSET(SRST_P_I2C8, 10, 15),

	/* SOFTRST_CON11 */
	RK3588_CRU_RESET_OFFSET(SRST_I2C1, 11, 0),
	RK3588_CRU_RESET_OFFSET(SRST_I2C2, 11, 1),
	RK3588_CRU_RESET_OFFSET(SRST_I2C3, 11, 2),
	RK3588_CRU_RESET_OFFSET(SRST_I2C4, 11, 3),
	RK3588_CRU_RESET_OFFSET(SRST_I2C5, 11, 4),
	RK3588_CRU_RESET_OFFSET(SRST_I2C6, 11, 5),
	RK3588_CRU_RESET_OFFSET(SRST_I2C7, 11, 6),
	RK3588_CRU_RESET_OFFSET(SRST_I2C8, 11, 7),
	RK3588_CRU_RESET_OFFSET(SRST_P_CAN0, 11, 8),
	RK3588_CRU_RESET_OFFSET(SRST_CAN0, 11, 9),
	RK3588_CRU_RESET_OFFSET(SRST_P_CAN1, 11, 10),
	RK3588_CRU_RESET_OFFSET(SRST_CAN1, 11, 11),
	RK3588_CRU_RESET_OFFSET(SRST_P_CAN2, 11, 12),
	RK3588_CRU_RESET_OFFSET(SRST_CAN2, 11, 13),
	RK3588_CRU_RESET_OFFSET(SRST_P_SARADC, 11, 14),

	/* SOFTRST_CON12 */
	RK3588_CRU_RESET_OFFSET(SRST_P_TSADC, 12, 0),
	RK3588_CRU_RESET_OFFSET(SRST_TSADC, 12, 1),
	RK3588_CRU_RESET_OFFSET(SRST_P_UART1, 12, 2),
	RK3588_CRU_RESET_OFFSET(SRST_P_UART2, 12, 3),
	RK3588_CRU_RESET_OFFSET(SRST_P_UART3, 12, 4),
	RK3588_CRU_RESET_OFFSET(SRST_P_UART4, 12, 5),
	RK3588_CRU_RESET_OFFSET(SRST_P_UART5, 12, 6),
	RK3588_CRU_RESET_OFFSET(SRST_P_UART6, 12, 7),
	RK3588_CRU_RESET_OFFSET(SRST_P_UART7, 12, 8),
	RK3588_CRU_RESET_OFFSET(SRST_P_UART8, 12, 9),
	RK3588_CRU_RESET_OFFSET(SRST_P_UART9, 12, 10),
	RK3588_CRU_RESET_OFFSET(SRST_S_UART1, 12, 13),

	/* SOFTRST_CON13 */
	RK3588_CRU_RESET_OFFSET(SRST_S_UART2, 13, 0),
	RK3588_CRU_RESET_OFFSET(SRST_S_UART3, 13, 3),
	RK3588_CRU_RESET_OFFSET(SRST_S_UART4, 13, 6),
	RK3588_CRU_RESET_OFFSET(SRST_S_UART5, 13, 9),
	RK3588_CRU_RESET_OFFSET(SRST_S_UART6, 13, 12),
	RK3588_CRU_RESET_OFFSET(SRST_S_UART7, 13, 15),

	/* SOFTRST_CON14 */
	RK3588_CRU_RESET_OFFSET(SRST_S_UART8, 14, 2),
	RK3588_CRU_RESET_OFFSET(SRST_S_UART9, 14, 5),
	RK3588_CRU_RESET_OFFSET(SRST_P_SPI0, 14, 6),
	RK3588_CRU_RESET_OFFSET(SRST_P_SPI1, 14, 7),
	RK3588_CRU_RESET_OFFSET(SRST_P_SPI2, 14, 8),
	RK3588_CRU_RESET_OFFSET(SRST_P_SPI3, 14, 9),
	RK3588_CRU_RESET_OFFSET(SRST_P_SPI4, 14, 10),
	RK3588_CRU_RESET_OFFSET(SRST_SPI0, 14, 11),
	RK3588_CRU_RESET_OFFSET(SRST_SPI1, 14, 12),
	RK3588_CRU_RESET_OFFSET(SRST_SPI2, 14, 13),
	RK3588_CRU_RESET_OFFSET(SRST_SPI3, 14, 14),
	RK3588_CRU_RESET_OFFSET(SRST_SPI4, 14, 15),

	/* SOFTRST_CON15 */
	RK3588_CRU_RESET_OFFSET(SRST_P_WDT0, 15, 0),
	RK3588_CRU_RESET_OFFSET(SRST_T_WDT0, 15, 1),
	RK3588_CRU_RESET_OFFSET(SRST_P_SYS_GRF, 15, 2),
	RK3588_CRU_RESET_OFFSET(SRST_P_PWM1, 15, 3),
	RK3588_CRU_RESET_OFFSET(SRST_PWM1, 15, 4),
	RK3588_CRU_RESET_OFFSET(SRST_P_PWM2, 15, 6),
	RK3588_CRU_RESET_OFFSET(SRST_PWM2, 15, 7),
	RK3588_CRU_RESET_OFFSET(SRST_P_PWM3, 15, 9),
	RK3588_CRU_RESET_OFFSET(SRST_PWM3, 15, 10),
	RK3588_CRU_RESET_OFFSET(SRST_P_BUSTIMER0, 15, 12),
	RK3588_CRU_RESET_OFFSET(SRST_P_BUSTIMER1, 15, 13),
	RK3588_CRU_RESET_OFFSET(SRST_BUSTIMER0, 15, 15),

	/* SOFTRST_CON16 */
	RK3588_CRU_RESET_OFFSET(SRST_BUSTIMER1, 16, 0),
	RK3588_CRU_RESET_OFFSET(SRST_BUSTIMER2, 16, 1),
	RK3588_CRU_RESET_OFFSET(SRST_BUSTIMER3, 16, 2),
	RK3588_CRU_RESET_OFFSET(SRST_BUSTIMER4, 16, 3),
	RK3588_CRU_RESET_OFFSET(SRST_BUSTIMER5, 16, 4),
	RK3588_CRU_RESET_OFFSET(SRST_BUSTIMER6, 16, 5),
	RK3588_CRU_RESET_OFFSET(SRST_BUSTIMER7, 16, 6),
	RK3588_CRU_RESET_OFFSET(SRST_BUSTIMER8, 16, 7),
	RK3588_CRU_RESET_OFFSET(SRST_BUSTIMER9, 16, 8),
	RK3588_CRU_RESET_OFFSET(SRST_BUSTIMER10, 16, 9),
	RK3588_CRU_RESET_OFFSET(SRST_BUSTIMER11, 16, 10),
	RK3588_CRU_RESET_OFFSET(SRST_P_MAILBOX0, 16, 11),
	RK3588_CRU_RESET_OFFSET(SRST_P_MAILBOX1, 16, 12),
	RK3588_CRU_RESET_OFFSET(SRST_P_MAILBOX2, 16, 13),
	RK3588_CRU_RESET_OFFSET(SRST_P_GPIO1, 16, 14),
	RK3588_CRU_RESET_OFFSET(SRST_GPIO1, 16, 15),

	/* SOFTRST_CON17 */
	RK3588_CRU_RESET_OFFSET(SRST_P_GPIO2, 17, 0),
	RK3588_CRU_RESET_OFFSET(SRST_GPIO2, 17, 1),
	RK3588_CRU_RESET_OFFSET(SRST_P_GPIO3, 17, 2),
	RK3588_CRU_RESET_OFFSET(SRST_GPIO3, 17, 3),
	RK3588_CRU_RESET_OFFSET(SRST_P_GPIO4, 17, 4),
	RK3588_CRU_RESET_OFFSET(SRST_GPIO4, 17, 5),
	RK3588_CRU_RESET_OFFSET(SRST_A_DECOM, 17, 6),
	RK3588_CRU_RESET_OFFSET(SRST_P_DECOM, 17, 7),
	RK3588_CRU_RESET_OFFSET(SRST_D_DECOM, 17, 8),
	RK3588_CRU_RESET_OFFSET(SRST_P_TOP, 17, 9),
	RK3588_CRU_RESET_OFFSET(SRST_A_GICADB_GIC2CORE_BUS, 17, 11),
	RK3588_CRU_RESET_OFFSET(SRST_P_DFT2APB, 17, 12),
	RK3588_CRU_RESET_OFFSET(SRST_P_APB2ASB_MST_TOP, 17, 13),
	RK3588_CRU_RESET_OFFSET(SRST_P_APB2ASB_MST_CDPHY, 17, 14),
	RK3588_CRU_RESET_OFFSET(SRST_P_APB2ASB_MST_BOT_RIGHT, 17, 15),

	/* SOFTRST_CON18 */
	RK3588_CRU_RESET_OFFSET(SRST_P_APB2ASB_MST_IOC_TOP, 18, 0),
	RK3588_CRU_RESET_OFFSET(SRST_P_APB2ASB_MST_IOC_RIGHT, 18, 1),
	RK3588_CRU_RESET_OFFSET(SRST_P_APB2ASB_MST_CSIPHY, 18, 2),
	RK3588_CRU_RESET_OFFSET(SRST_P_APB2ASB_MST_VCCIO3_5, 18, 3),
	RK3588_CRU_RESET_OFFSET(SRST_P_APB2ASB_MST_VCCIO6, 18, 4),
	RK3588_CRU_RESET_OFFSET(SRST_P_APB2ASB_MST_EMMCIO, 18, 5),
	RK3588_CRU_RESET_OFFSET(SRST_A_SPINLOCK, 18, 6),
	RK3588_CRU_RESET_OFFSET(SRST_P_OTPC_NS, 18, 9),
	RK3588_CRU_RESET_OFFSET(SRST_OTPC_NS, 18, 10),
	RK3588_CRU_RESET_OFFSET(SRST_OTPC_ARB, 18, 11),

	/* SOFTRST_CON19 */
	RK3588_CRU_RESET_OFFSET(SRST_P_BUSIOC, 19, 0),
	RK3588_CRU_RESET_OFFSET(SRST_P_PMUCM0_INTMUX, 19, 4),
	RK3588_CRU_RESET_OFFSET(SRST_P_DDRCM0_INTMUX, 19, 5),

	/* SOFTRST_CON20 */
	RK3588_CRU_RESET_OFFSET(SRST_P_DDR_DFICTL_CH0, 20, 0),
	RK3588_CRU_RESET_OFFSET(SRST_P_DDR_MON_CH0, 20, 1),
	RK3588_CRU_RESET_OFFSET(SRST_P_DDR_STANDBY_CH0, 20, 2),
	RK3588_CRU_RESET_OFFSET(SRST_P_DDR_UPCTL_CH0, 20, 3),
	RK3588_CRU_RESET_OFFSET(SRST_TM_DDR_MON_CH0, 20, 4),
	RK3588_CRU_RESET_OFFSET(SRST_P_DDR_GRF_CH01, 20, 5),
	RK3588_CRU_RESET_OFFSET(SRST_DFI_CH0, 20, 6),
	RK3588_CRU_RESET_OFFSET(SRST_SBR_CH0, 20, 7),
	RK3588_CRU_RESET_OFFSET(SRST_DDR_UPCTL_CH0, 20, 8),
	RK3588_CRU_RESET_OFFSET(SRST_DDR_DFICTL_CH0, 20, 9),
	RK3588_CRU_RESET_OFFSET(SRST_DDR_MON_CH0, 20, 10),
	RK3588_CRU_RESET_OFFSET(SRST_DDR_STANDBY_CH0, 20, 11),
	RK3588_CRU_RESET_OFFSET(SRST_A_DDR_UPCTL_CH0, 20, 12),
	RK3588_CRU_RESET_OFFSET(SRST_P_DDR_DFICTL_CH1, 20, 13),
	RK3588_CRU_RESET_OFFSET(SRST_P_DDR_MON_CH1, 20, 14),
	RK3588_CRU_RESET_OFFSET(SRST_P_DDR_STANDBY_CH1, 20, 15),

	/* SOFTRST_CON21 */
	RK3588_CRU_RESET_OFFSET(SRST_P_DDR_UPCTL_CH1, 21, 0),
	RK3588_CRU_RESET_OFFSET(SRST_TM_DDR_MON_CH1, 21, 1),
	RK3588_CRU_RESET_OFFSET(SRST_DFI_CH1, 21, 2),
	RK3588_CRU_RESET_OFFSET(SRST_SBR_CH1, 21, 3),
	RK3588_CRU_RESET_OFFSET(SRST_DDR_UPCTL_CH1, 21, 4),
	RK3588_CRU_RESET_OFFSET(SRST_DDR_DFICTL_CH1, 21, 5),
	RK3588_CRU_RESET_OFFSET(SRST_DDR_MON_CH1, 21, 6),
	RK3588_CRU_RESET_OFFSET(SRST_DDR_STANDBY_CH1, 21, 7),
	RK3588_CRU_RESET_OFFSET(SRST_A_DDR_UPCTL_CH1, 21, 8),
	RK3588_CRU_RESET_OFFSET(SRST_A_DDR01_MSCH0, 21, 13),
	RK3588_CRU_RESET_OFFSET(SRST_A_DDR01_RS_MSCH0, 21, 14),
	RK3588_CRU_RESET_OFFSET(SRST_A_DDR01_FRS_MSCH0, 21, 15),

	/* SOFTRST_CON22 */
	RK3588_CRU_RESET_OFFSET(SRST_A_DDR01_SCRAMBLE0, 22, 0),
	RK3588_CRU_RESET_OFFSET(SRST_A_DDR01_FRS_SCRAMBLE0, 22, 1),
	RK3588_CRU_RESET_OFFSET(SRST_A_DDR01_MSCH1, 22, 2),
	RK3588_CRU_RESET_OFFSET(SRST_A_DDR01_RS_MSCH1, 22, 3),
	RK3588_CRU_RESET_OFFSET(SRST_A_DDR01_FRS_MSCH1, 22, 4),
	RK3588_CRU_RESET_OFFSET(SRST_A_DDR01_SCRAMBLE1, 22, 5),
	RK3588_CRU_RESET_OFFSET(SRST_A_DDR01_FRS_SCRAMBLE1, 22, 6),
	RK3588_CRU_RESET_OFFSET(SRST_P_DDR01_MSCH0, 22, 7),
	RK3588_CRU_RESET_OFFSET(SRST_P_DDR01_MSCH1, 22, 8),

	/* SOFTRST_CON23 */
	RK3588_CRU_RESET_OFFSET(SRST_P_DDR_DFICTL_CH2, 23, 0),
	RK3588_CRU_RESET_OFFSET(SRST_P_DDR_MON_CH2, 23, 1),
	RK3588_CRU_RESET_OFFSET(SRST_P_DDR_STANDBY_CH2, 23, 2),
	RK3588_CRU_RESET_OFFSET(SRST_P_DDR_UPCTL_CH2, 23, 3),
	RK3588_CRU_RESET_OFFSET(SRST_TM_DDR_MON_CH2, 23, 4),
	RK3588_CRU_RESET_OFFSET(SRST_P_DDR_GRF_CH23, 23, 5),
	RK3588_CRU_RESET_OFFSET(SRST_DFI_CH2, 23, 6),
	RK3588_CRU_RESET_OFFSET(SRST_SBR_CH2, 23, 7),
	RK3588_CRU_RESET_OFFSET(SRST_DDR_UPCTL_CH2, 23, 8),
	RK3588_CRU_RESET_OFFSET(SRST_DDR_DFICTL_CH2, 23, 9),
	RK3588_CRU_RESET_OFFSET(SRST_DDR_MON_CH2, 23, 10),
	RK3588_CRU_RESET_OFFSET(SRST_DDR_STANDBY_CH2, 23, 11),
	RK3588_CRU_RESET_OFFSET(SRST_A_DDR_UPCTL_CH2, 23, 12),
	RK3588_CRU_RESET_OFFSET(SRST_P_DDR_DFICTL_CH3, 23, 13),
	RK3588_CRU_RESET_OFFSET(SRST_P_DDR_MON_CH3, 23, 14),
	RK3588_CRU_RESET_OFFSET(SRST_P_DDR_STANDBY_CH3, 23, 15),

	/* SOFTRST_CON24 */
	RK3588_CRU_RESET_OFFSET(SRST_P_DDR_UPCTL_CH3, 24, 0),
	RK3588_CRU_RESET_OFFSET(SRST_TM_DDR_MON_CH3, 24, 1),
	RK3588_CRU_RESET_OFFSET(SRST_DFI_CH3, 24, 2),
	RK3588_CRU_RESET_OFFSET(SRST_SBR_CH3, 24, 3),
	RK3588_CRU_RESET_OFFSET(SRST_DDR_UPCTL_CH3, 24, 4),
	RK3588_CRU_RESET_OFFSET(SRST_DDR_DFICTL_CH3, 24, 5),
	RK3588_CRU_RESET_OFFSET(SRST_DDR_MON_CH3, 24, 6),
	RK3588_CRU_RESET_OFFSET(SRST_DDR_STANDBY_CH3, 24, 7),
	RK3588_CRU_RESET_OFFSET(SRST_A_DDR_UPCTL_CH3, 24, 8),
	RK3588_CRU_RESET_OFFSET(SRST_A_DDR23_MSCH2, 24, 13),
	RK3588_CRU_RESET_OFFSET(SRST_A_DDR23_RS_MSCH2, 24, 14),
	RK3588_CRU_RESET_OFFSET(SRST_A_DDR23_FRS_MSCH2, 24, 15),

	/* SOFTRST_CON25 */
	RK3588_CRU_RESET_OFFSET(SRST_A_DDR23_SCRAMBLE2, 25, 0),
	RK3588_CRU_RESET_OFFSET(SRST_A_DDR23_FRS_SCRAMBLE2, 25, 1),
	RK3588_CRU_RESET_OFFSET(SRST_A_DDR23_MSCH3, 25, 2),
	RK3588_CRU_RESET_OFFSET(SRST_A_DDR23_RS_MSCH3, 25, 3),
	RK3588_CRU_RESET_OFFSET(SRST_A_DDR23_FRS_MSCH3, 25, 4),
	RK3588_CRU_RESET_OFFSET(SRST_A_DDR23_SCRAMBLE3, 25, 5),
	RK3588_CRU_RESET_OFFSET(SRST_A_DDR23_FRS_SCRAMBLE3, 25, 6),
	RK3588_CRU_RESET_OFFSET(SRST_P_DDR23_MSCH2, 25, 7),
	RK3588_CRU_RESET_OFFSET(SRST_P_DDR23_MSCH3, 25, 8),

	/* SOFTRST_CON26 */
	RK3588_CRU_RESET_OFFSET(SRST_ISP1, 26, 3),
	RK3588_CRU_RESET_OFFSET(SRST_ISP1_VICAP, 26, 4),
	RK3588_CRU_RESET_OFFSET(SRST_A_ISP1_BIU, 26, 6),
	RK3588_CRU_RESET_OFFSET(SRST_H_ISP1_BIU, 26, 8),

	/* SOFTRST_CON27 */
	RK3588_CRU_RESET_OFFSET(SRST_A_RKNN1, 27, 0),
	RK3588_CRU_RESET_OFFSET(SRST_A_RKNN1_BIU, 27, 1),
	RK3588_CRU_RESET_OFFSET(SRST_H_RKNN1, 27, 2),
	RK3588_CRU_RESET_OFFSET(SRST_H_RKNN1_BIU, 27, 3),

	/* SOFTRST_CON28 */
	RK3588_CRU_RESET_OFFSET(SRST_A_RKNN2, 28, 0),
	RK3588_CRU_RESET_OFFSET(SRST_A_RKNN2_BIU, 28, 1),
	RK3588_CRU_RESET_OFFSET(SRST_H_RKNN2, 28, 2),
	RK3588_CRU_RESET_OFFSET(SRST_H_RKNN2_BIU, 28, 3),

	/* SOFTRST_CON29 */
	RK3588_CRU_RESET_OFFSET(SRST_A_RKNN_DSU0, 29, 3),
	RK3588_CRU_RESET_OFFSET(SRST_P_NPUTOP_BIU, 29, 5),
	RK3588_CRU_RESET_OFFSET(SRST_P_NPU_TIMER, 29, 6),
	RK3588_CRU_RESET_OFFSET(SRST_NPUTIMER0, 29, 8),
	RK3588_CRU_RESET_OFFSET(SRST_NPUTIMER1, 29, 9),
	RK3588_CRU_RESET_OFFSET(SRST_P_NPU_WDT, 29, 10),
	RK3588_CRU_RESET_OFFSET(SRST_T_NPU_WDT, 29, 11),
	RK3588_CRU_RESET_OFFSET(SRST_P_NPU_PVTM, 29, 12),
	RK3588_CRU_RESET_OFFSET(SRST_P_NPU_GRF, 29, 13),
	RK3588_CRU_RESET_OFFSET(SRST_NPU_PVTM, 29, 14),

	/* SOFTRST_CON30 */
	RK3588_CRU_RESET_OFFSET(SRST_NPU_PVTPLL, 30, 0),
	RK3588_CRU_RESET_OFFSET(SRST_H_NPU_CM0_BIU, 30, 2),
	RK3588_CRU_RESET_OFFSET(SRST_F_NPU_CM0_CORE, 30, 3),
	RK3588_CRU_RESET_OFFSET(SRST_T_NPU_CM0_JTAG, 30, 4),
	RK3588_CRU_RESET_OFFSET(SRST_A_RKNN0, 30, 6),
	RK3588_CRU_RESET_OFFSET(SRST_A_RKNN0_BIU, 30, 7),
	RK3588_CRU_RESET_OFFSET(SRST_H_RKNN0, 30, 8),
	RK3588_CRU_RESET_OFFSET(SRST_H_RKNN0_BIU, 30, 9),

	/* SOFTRST_CON31 */
	RK3588_CRU_RESET_OFFSET(SRST_H_NVM_BIU, 31, 2),
	RK3588_CRU_RESET_OFFSET(SRST_A_NVM_BIU, 31, 3),
	RK3588_CRU_RESET_OFFSET(SRST_H_EMMC, 31, 4),
	RK3588_CRU_RESET_OFFSET(SRST_A_EMMC, 31, 5),
	RK3588_CRU_RESET_OFFSET(SRST_C_EMMC, 31, 6),
	RK3588_CRU_RESET_OFFSET(SRST_B_EMMC, 31, 7),
	RK3588_CRU_RESET_OFFSET(SRST_T_EMMC, 31, 8),
	RK3588_CRU_RESET_OFFSET(SRST_S_SFC, 31, 9),
	RK3588_CRU_RESET_OFFSET(SRST_H_SFC, 31, 10),
	RK3588_CRU_RESET_OFFSET(SRST_H_SFC_XIP, 31, 11),

	/* SOFTRST_CON32 */
	RK3588_CRU_RESET_OFFSET(SRST_P_GRF, 32, 1),
	RK3588_CRU_RESET_OFFSET(SRST_P_DEC_BIU, 32, 2),
	RK3588_CRU_RESET_OFFSET(SRST_P_PHP_BIU, 32, 5),
	RK3588_CRU_RESET_OFFSET(SRST_A_PCIE_GRIDGE, 32, 8),
	RK3588_CRU_RESET_OFFSET(SRST_A_PHP_BIU, 32, 9),
	RK3588_CRU_RESET_OFFSET(SRST_A_GMAC0, 32, 10),
	RK3588_CRU_RESET_OFFSET(SRST_A_GMAC1, 32, 11),
	RK3588_CRU_RESET_OFFSET(SRST_A_PCIE_BIU, 32, 12),
	RK3588_CRU_RESET_OFFSET(SRST_PCIE0_POWER_UP, 32, 13),
	RK3588_CRU_RESET_OFFSET(SRST_PCIE1_POWER_UP, 32, 14),
	RK3588_CRU_RESET_OFFSET(SRST_PCIE2_POWER_UP, 32, 15),

	/* SOFTRST_CON33 */
	RK3588_CRU_RESET_OFFSET(SRST_PCIE3_POWER_UP, 33, 0),
	RK3588_CRU_RESET_OFFSET(SRST_PCIE4_POWER_UP, 33, 1),
	RK3588_CRU_RESET_OFFSET(SRST_P_PCIE0, 33, 12),
	RK3588_CRU_RESET_OFFSET(SRST_P_PCIE1, 33, 13),
	RK3588_CRU_RESET_OFFSET(SRST_P_PCIE2, 33, 14),
	RK3588_CRU_RESET_OFFSET(SRST_P_PCIE3, 33, 15),

	/* SOFTRST_CON34 */
	RK3588_CRU_RESET_OFFSET(SRST_P_PCIE4, 34, 0),
	RK3588_CRU_RESET_OFFSET(SRST_A_PHP_GIC_ITS, 34, 6),
	RK3588_CRU_RESET_OFFSET(SRST_A_MMU_PCIE, 34, 7),
	RK3588_CRU_RESET_OFFSET(SRST_A_MMU_PHP, 34, 8),
	RK3588_CRU_RESET_OFFSET(SRST_A_MMU_BIU, 34, 9),

	/* SOFTRST_CON35 */
	RK3588_CRU_RESET_OFFSET(SRST_A_USB3OTG2, 35, 7),

	/* SOFTRST_CON37 */
	RK3588_CRU_RESET_OFFSET(SRST_PMALIVE0, 37, 4),
	RK3588_CRU_RESET_OFFSET(SRST_PMALIVE1, 37, 5),
	RK3588_CRU_RESET_OFFSET(SRST_PMALIVE2, 37, 6),
	RK3588_CRU_RESET_OFFSET(SRST_A_SATA0, 37, 7),
	RK3588_CRU_RESET_OFFSET(SRST_A_SATA1, 37, 8),
	RK3588_CRU_RESET_OFFSET(SRST_A_SATA2, 37, 9),
	RK3588_CRU_RESET_OFFSET(SRST_RXOOB0, 37, 10),
	RK3588_CRU_RESET_OFFSET(SRST_RXOOB1, 37, 11),
	RK3588_CRU_RESET_OFFSET(SRST_RXOOB2, 37, 12),
	RK3588_CRU_RESET_OFFSET(SRST_ASIC0, 37, 13),
	RK3588_CRU_RESET_OFFSET(SRST_ASIC1, 37, 14),
	RK3588_CRU_RESET_OFFSET(SRST_ASIC2, 37, 15),

	/* SOFTRST_CON40 */
	RK3588_CRU_RESET_OFFSET(SRST_A_RKVDEC_CCU, 40, 2),
	RK3588_CRU_RESET_OFFSET(SRST_H_RKVDEC0, 40, 3),
	RK3588_CRU_RESET_OFFSET(SRST_A_RKVDEC0, 40, 4),
	RK3588_CRU_RESET_OFFSET(SRST_H_RKVDEC0_BIU, 40, 5),
	RK3588_CRU_RESET_OFFSET(SRST_A_RKVDEC0_BIU, 40, 6),
	RK3588_CRU_RESET_OFFSET(SRST_RKVDEC0_CA, 40, 7),
	RK3588_CRU_RESET_OFFSET(SRST_RKVDEC0_HEVC_CA, 40, 8),
	RK3588_CRU_RESET_OFFSET(SRST_RKVDEC0_CORE, 40, 9),

	/* SOFTRST_CON41 */
	RK3588_CRU_RESET_OFFSET(SRST_H_RKVDEC1, 41, 2),
	RK3588_CRU_RESET_OFFSET(SRST_A_RKVDEC1, 41, 3),
	RK3588_CRU_RESET_OFFSET(SRST_H_RKVDEC1_BIU, 41, 4),
	RK3588_CRU_RESET_OFFSET(SRST_A_RKVDEC1_BIU, 41, 5),
	RK3588_CRU_RESET_OFFSET(SRST_RKVDEC1_CA, 41, 6),
	RK3588_CRU_RESET_OFFSET(SRST_RKVDEC1_HEVC_CA, 41, 7),
	RK3588_CRU_RESET_OFFSET(SRST_RKVDEC1_CORE, 41, 8),

	/* SOFTRST_CON42 */
	RK3588_CRU_RESET_OFFSET(SRST_A_USB_BIU, 42, 2),
	RK3588_CRU_RESET_OFFSET(SRST_H_USB_BIU, 42, 3),
	RK3588_CRU_RESET_OFFSET(SRST_A_USB3OTG0, 42, 4),
	RK3588_CRU_RESET_OFFSET(SRST_A_USB3OTG1, 42, 7),
	RK3588_CRU_RESET_OFFSET(SRST_H_HOST0, 42, 10),
	RK3588_CRU_RESET_OFFSET(SRST_H_HOST_ARB0, 42, 11),
	RK3588_CRU_RESET_OFFSET(SRST_H_HOST1, 42, 12),
	RK3588_CRU_RESET_OFFSET(SRST_H_HOST_ARB1, 42, 13),
	RK3588_CRU_RESET_OFFSET(SRST_A_USB_GRF, 42, 14),
	RK3588_CRU_RESET_OFFSET(SRST_C_USB2P0_HOST0, 42, 15),

	/* SOFTRST_CON43 */
	RK3588_CRU_RESET_OFFSET(SRST_C_USB2P0_HOST1, 43, 0),
	RK3588_CRU_RESET_OFFSET(SRST_HOST_UTMI0, 43, 1),
	RK3588_CRU_RESET_OFFSET(SRST_HOST_UTMI1, 43, 2),

	/* SOFTRST_CON44 */
	RK3588_CRU_RESET_OFFSET(SRST_A_VDPU_BIU, 44, 4),
	RK3588_CRU_RESET_OFFSET(SRST_A_VDPU_LOW_BIU, 44, 5),
	RK3588_CRU_RESET_OFFSET(SRST_H_VDPU_BIU, 44, 6),
	RK3588_CRU_RESET_OFFSET(SRST_A_JPEG_DECODER_BIU, 44, 7),
	RK3588_CRU_RESET_OFFSET(SRST_A_VPU, 44, 8),
	RK3588_CRU_RESET_OFFSET(SRST_H_VPU, 44, 9),
	RK3588_CRU_RESET_OFFSET(SRST_A_JPEG_ENCODER0, 44, 10),
	RK3588_CRU_RESET_OFFSET(SRST_H_JPEG_ENCODER0, 44, 11),
	RK3588_CRU_RESET_OFFSET(SRST_A_JPEG_ENCODER1, 44, 12),
	RK3588_CRU_RESET_OFFSET(SRST_H_JPEG_ENCODER1, 44, 13),
	RK3588_CRU_RESET_OFFSET(SRST_A_JPEG_ENCODER2, 44, 14),
	RK3588_CRU_RESET_OFFSET(SRST_H_JPEG_ENCODER2, 44, 15),

	/* SOFTRST_CON45 */
	RK3588_CRU_RESET_OFFSET(SRST_A_JPEG_ENCODER3, 45, 0),
	RK3588_CRU_RESET_OFFSET(SRST_H_JPEG_ENCODER3, 45, 1),
	RK3588_CRU_RESET_OFFSET(SRST_A_JPEG_DECODER, 45, 2),
	RK3588_CRU_RESET_OFFSET(SRST_H_JPEG_DECODER, 45, 3),
	RK3588_CRU_RESET_OFFSET(SRST_H_IEP2P0, 45, 4),
	RK3588_CRU_RESET_OFFSET(SRST_A_IEP2P0, 45, 5),
	RK3588_CRU_RESET_OFFSET(SRST_IEP2P0_CORE, 45, 6),
	RK3588_CRU_RESET_OFFSET(SRST_H_RGA2, 45, 7),
	RK3588_CRU_RESET_OFFSET(SRST_A_RGA2, 45, 8),
	RK3588_CRU_RESET_OFFSET(SRST_RGA2_CORE, 45, 9),
	RK3588_CRU_RESET_OFFSET(SRST_H_RGA3_0, 45, 10),
	RK3588_CRU_RESET_OFFSET(SRST_A_RGA3_0, 45, 11),
	RK3588_CRU_RESET_OFFSET(SRST_RGA3_0_CORE, 45, 12),

	/* SOFTRST_CON47 */
	RK3588_CRU_RESET_OFFSET(SRST_H_RKVENC0_BIU, 47, 2),
	RK3588_CRU_RESET_OFFSET(SRST_A_RKVENC0_BIU, 47, 3),
	RK3588_CRU_RESET_OFFSET(SRST_H_RKVENC0, 47, 4),
	RK3588_CRU_RESET_OFFSET(SRST_A_RKVENC0, 47, 5),
	RK3588_CRU_RESET_OFFSET(SRST_RKVENC0_CORE, 47, 6),

	/* SOFTRST_CON48 */
	RK3588_CRU_RESET_OFFSET(SRST_H_RKVENC1_BIU, 48, 2),
	RK3588_CRU_RESET_OFFSET(SRST_A_RKVENC1_BIU, 48, 3),
	RK3588_CRU_RESET_OFFSET(SRST_H_RKVENC1, 48, 4),
	RK3588_CRU_RESET_OFFSET(SRST_A_RKVENC1, 48, 5),
	RK3588_CRU_RESET_OFFSET(SRST_RKVENC1_CORE, 48, 6),

	/* SOFTRST_CON49 */
	RK3588_CRU_RESET_OFFSET(SRST_A_VI_BIU, 49, 3),
	RK3588_CRU_RESET_OFFSET(SRST_H_VI_BIU, 49, 4),
	RK3588_CRU_RESET_OFFSET(SRST_P_VI_BIU, 49, 5),
	RK3588_CRU_RESET_OFFSET(SRST_D_VICAP, 49, 6),
	RK3588_CRU_RESET_OFFSET(SRST_A_VICAP, 49, 7),
	RK3588_CRU_RESET_OFFSET(SRST_H_VICAP, 49, 8),
	RK3588_CRU_RESET_OFFSET(SRST_ISP0, 49, 10),
	RK3588_CRU_RESET_OFFSET(SRST_ISP0_VICAP, 49, 11),

	/* SOFTRST_CON50 */
	RK3588_CRU_RESET_OFFSET(SRST_FISHEYE0, 50, 0),
	RK3588_CRU_RESET_OFFSET(SRST_FISHEYE1, 50, 3),
	RK3588_CRU_RESET_OFFSET(SRST_P_CSI_HOST_0, 50, 4),
	RK3588_CRU_RESET_OFFSET(SRST_P_CSI_HOST_1, 50, 5),
	RK3588_CRU_RESET_OFFSET(SRST_P_CSI_HOST_2, 50, 6),
	RK3588_CRU_RESET_OFFSET(SRST_P_CSI_HOST_3, 50, 7),
	RK3588_CRU_RESET_OFFSET(SRST_P_CSI_HOST_4, 50, 8),
	RK3588_CRU_RESET_OFFSET(SRST_P_CSI_HOST_5, 50, 9),

	/* SOFTRST_CON51 */
	RK3588_CRU_RESET_OFFSET(SRST_CSIHOST0_VICAP, 51, 4),
	RK3588_CRU_RESET_OFFSET(SRST_CSIHOST1_VICAP, 51, 5),
	RK3588_CRU_RESET_OFFSET(SRST_CSIHOST2_VICAP, 51, 6),
	RK3588_CRU_RESET_OFFSET(SRST_CSIHOST3_VICAP, 51, 7),
	RK3588_CRU_RESET_OFFSET(SRST_CSIHOST4_VICAP, 51, 8),
	RK3588_CRU_RESET_OFFSET(SRST_CSIHOST5_VICAP, 51, 9),
	RK3588_CRU_RESET_OFFSET(SRST_CIFIN, 51, 13),

	/* SOFTRST_CON52 */
	RK3588_CRU_RESET_OFFSET(SRST_A_VOP_BIU, 52, 4),
	RK3588_CRU_RESET_OFFSET(SRST_A_VOP_LOW_BIU, 52, 5),
	RK3588_CRU_RESET_OFFSET(SRST_H_VOP_BIU, 52, 6),
	RK3588_CRU_RESET_OFFSET(SRST_P_VOP_BIU, 52, 7),
	RK3588_CRU_RESET_OFFSET(SRST_H_VOP, 52, 8),
	RK3588_CRU_RESET_OFFSET(SRST_A_VOP, 52, 9),
	RK3588_CRU_RESET_OFFSET(SRST_D_VOP0, 52, 13),
	RK3588_CRU_RESET_OFFSET(SRST_D_VOP2HDMI_BRIDGE0, 52, 14),
	RK3588_CRU_RESET_OFFSET(SRST_D_VOP2HDMI_BRIDGE1, 52, 15),

	/* SOFTRST_CON53 */
	RK3588_CRU_RESET_OFFSET(SRST_D_VOP1, 53, 0),
	RK3588_CRU_RESET_OFFSET(SRST_D_VOP2, 53, 1),
	RK3588_CRU_RESET_OFFSET(SRST_D_VOP3, 53, 2),
	RK3588_CRU_RESET_OFFSET(SRST_P_VOPGRF, 53, 3),
	RK3588_CRU_RESET_OFFSET(SRST_P_DSIHOST0, 53, 4),
	RK3588_CRU_RESET_OFFSET(SRST_P_DSIHOST1, 53, 5),
	RK3588_CRU_RESET_OFFSET(SRST_DSIHOST0, 53, 6),
	RK3588_CRU_RESET_OFFSET(SRST_DSIHOST1, 53, 7),
	RK3588_CRU_RESET_OFFSET(SRST_VOP_PMU, 53, 8),
	RK3588_CRU_RESET_OFFSET(SRST_P_VOP_CHANNEL_BIU, 53, 9),

	/* SOFTRST_CON55 */
	RK3588_CRU_RESET_OFFSET(SRST_H_VO0_BIU, 55, 5),
	RK3588_CRU_RESET_OFFSET(SRST_H_VO0_S_BIU, 55, 6),
	RK3588_CRU_RESET_OFFSET(SRST_P_VO0_BIU, 55, 7),
	RK3588_CRU_RESET_OFFSET(SRST_P_VO0_S_BIU, 55, 8),
	RK3588_CRU_RESET_OFFSET(SRST_A_HDCP0_BIU, 55, 9),
	RK3588_CRU_RESET_OFFSET(SRST_P_VO0GRF, 55, 10),
	RK3588_CRU_RESET_OFFSET(SRST_H_HDCP_KEY0, 55, 11),
	RK3588_CRU_RESET_OFFSET(SRST_A_HDCP0, 55, 12),
	RK3588_CRU_RESET_OFFSET(SRST_H_HDCP0, 55, 13),
	RK3588_CRU_RESET_OFFSET(SRST_HDCP0, 55, 15),

	/* SOFTRST_CON56 */
	RK3588_CRU_RESET_OFFSET(SRST_P_TRNG0, 56, 1),
	RK3588_CRU_RESET_OFFSET(SRST_DP0, 56, 8),
	RK3588_CRU_RESET_OFFSET(SRST_DP1, 56, 9),
	RK3588_CRU_RESET_OFFSET(SRST_H_I2S4_8CH, 56, 10),
	RK3588_CRU_RESET_OFFSET(SRST_M_I2S4_8CH_TX, 56, 13),
	RK3588_CRU_RESET_OFFSET(SRST_H_I2S8_8CH, 56, 14),

	/* SOFTRST_CON57 */
	RK3588_CRU_RESET_OFFSET(SRST_M_I2S8_8CH_TX, 57, 1),
	RK3588_CRU_RESET_OFFSET(SRST_H_SPDIF2_DP0, 57, 2),
	RK3588_CRU_RESET_OFFSET(SRST_M_SPDIF2_DP0, 57, 6),
	RK3588_CRU_RESET_OFFSET(SRST_H_SPDIF5_DP1, 57, 7),
	RK3588_CRU_RESET_OFFSET(SRST_M_SPDIF5_DP1, 57, 11),

	/* SOFTRST_CON59 */
	RK3588_CRU_RESET_OFFSET(SRST_A_HDCP1_BIU, 59, 6),
	RK3588_CRU_RESET_OFFSET(SRST_A_HDMIRX_BIU, 59, 7),
	RK3588_CRU_RESET_OFFSET(SRST_A_VO1_BIU, 59, 8),
	RK3588_CRU_RESET_OFFSET(SRST_H_VOP1_BIU, 59, 9),
	RK3588_CRU_RESET_OFFSET(SRST_H_VOP1_S_BIU, 59, 10),
	RK3588_CRU_RESET_OFFSET(SRST_P_VOP1_BIU, 59, 11),
	RK3588_CRU_RESET_OFFSET(SRST_P_VO1GRF, 59, 12),
	RK3588_CRU_RESET_OFFSET(SRST_P_VO1_S_BIU, 59, 13),

	/* SOFTRST_CON60 */
	RK3588_CRU_RESET_OFFSET(SRST_H_I2S7_8CH, 60, 0),
	RK3588_CRU_RESET_OFFSET(SRST_M_I2S7_8CH_RX, 60, 3),
	RK3588_CRU_RESET_OFFSET(SRST_H_HDCP_KEY1, 60, 4),
	RK3588_CRU_RESET_OFFSET(SRST_A_HDCP1, 60, 5),
	RK3588_CRU_RESET_OFFSET(SRST_H_HDCP1, 60, 6),
	RK3588_CRU_RESET_OFFSET(SRST_HDCP1, 60, 8),
	RK3588_CRU_RESET_OFFSET(SRST_P_TRNG1, 60, 10),
	RK3588_CRU_RESET_OFFSET(SRST_P_HDMITX0, 60, 11),

	/* SOFTRST_CON61 */
	RK3588_CRU_RESET_OFFSET(SRST_HDMITX0_REF, 61, 0),
	RK3588_CRU_RESET_OFFSET(SRST_P_HDMITX1, 61, 2),
	RK3588_CRU_RESET_OFFSET(SRST_HDMITX1_REF, 61, 7),
	RK3588_CRU_RESET_OFFSET(SRST_A_HDMIRX, 61, 9),
	RK3588_CRU_RESET_OFFSET(SRST_P_HDMIRX, 61, 10),
	RK3588_CRU_RESET_OFFSET(SRST_HDMIRX_REF, 61, 11),

	/* SOFTRST_CON62 */
	RK3588_CRU_RESET_OFFSET(SRST_P_EDP0, 62, 0),
	RK3588_CRU_RESET_OFFSET(SRST_EDP0_24M, 62, 1),
	RK3588_CRU_RESET_OFFSET(SRST_P_EDP1, 62, 3),
	RK3588_CRU_RESET_OFFSET(SRST_EDP1_24M, 62, 4),
	RK3588_CRU_RESET_OFFSET(SRST_M_I2S5_8CH_TX, 62, 8),
	RK3588_CRU_RESET_OFFSET(SRST_H_I2S5_8CH, 62, 12),
	RK3588_CRU_RESET_OFFSET(SRST_M_I2S6_8CH_TX, 62, 15),

	/* SOFTRST_CON63 */
	RK3588_CRU_RESET_OFFSET(SRST_M_I2S6_8CH_RX, 63, 2),
	RK3588_CRU_RESET_OFFSET(SRST_H_I2S6_8CH, 63, 3),
	RK3588_CRU_RESET_OFFSET(SRST_H_SPDIF3, 63, 4),
	RK3588_CRU_RESET_OFFSET(SRST_M_SPDIF3, 63, 7),
	RK3588_CRU_RESET_OFFSET(SRST_H_SPDIF4, 63, 8),
	RK3588_CRU_RESET_OFFSET(SRST_M_SPDIF4, 63, 11),
	RK3588_CRU_RESET_OFFSET(SRST_H_SPDIFRX0, 63, 12),
	RK3588_CRU_RESET_OFFSET(SRST_M_SPDIFRX0, 63, 13),
	RK3588_CRU_RESET_OFFSET(SRST_H_SPDIFRX1, 63, 14),
	RK3588_CRU_RESET_OFFSET(SRST_M_SPDIFRX1, 63, 15),

	/* SOFTRST_CON64 */
	RK3588_CRU_RESET_OFFSET(SRST_H_SPDIFRX2, 64, 0),
	RK3588_CRU_RESET_OFFSET(SRST_M_SPDIFRX2, 64, 1),
	RK3588_CRU_RESET_OFFSET(SRST_LINKSYM_HDMITXPHY0, 64, 12),
	RK3588_CRU_RESET_OFFSET(SRST_LINKSYM_HDMITXPHY1, 64, 13),
	RK3588_CRU_RESET_OFFSET(SRST_VO1_BRIDGE0, 64, 14),
	RK3588_CRU_RESET_OFFSET(SRST_VO1_BRIDGE1, 64, 15),

	/* SOFTRST_CON65 */
	RK3588_CRU_RESET_OFFSET(SRST_H_I2S9_8CH, 65, 0),
	RK3588_CRU_RESET_OFFSET(SRST_M_I2S9_8CH_RX, 65, 3),
	RK3588_CRU_RESET_OFFSET(SRST_H_I2S10_8CH, 65, 4),
	RK3588_CRU_RESET_OFFSET(SRST_M_I2S10_8CH_RX, 65, 7),
	RK3588_CRU_RESET_OFFSET(SRST_P_S_HDMIRX, 65, 8),

	/* SOFTRST_CON66 */
	RK3588_CRU_RESET_OFFSET(SRST_GPU, 66, 4),
	RK3588_CRU_RESET_OFFSET(SRST_SYS_GPU, 66, 5),
	RK3588_CRU_RESET_OFFSET(SRST_A_S_GPU_BIU, 66, 8),
	RK3588_CRU_RESET_OFFSET(SRST_A_M0_GPU_BIU, 66, 9),
	RK3588_CRU_RESET_OFFSET(SRST_A_M1_GPU_BIU, 66, 10),
	RK3588_CRU_RESET_OFFSET(SRST_A_M2_GPU_BIU, 66, 11),
	RK3588_CRU_RESET_OFFSET(SRST_A_M3_GPU_BIU, 66, 12),
	RK3588_CRU_RESET_OFFSET(SRST_P_GPU_BIU, 66, 14),
	RK3588_CRU_RESET_OFFSET(SRST_P_GPU_PVTM, 66, 15),

	/* SOFTRST_CON67 */
	RK3588_CRU_RESET_OFFSET(SRST_GPU_PVTM, 67, 0),
	RK3588_CRU_RESET_OFFSET(SRST_P_GPU_GRF, 67, 2),
	RK3588_CRU_RESET_OFFSET(SRST_GPU_PVTPLL, 67, 3),
	RK3588_CRU_RESET_OFFSET(SRST_GPU_JTAG, 67, 4),

	/* SOFTRST_CON68 */
	RK3588_CRU_RESET_OFFSET(SRST_A_AV1_BIU, 68, 1),
	RK3588_CRU_RESET_OFFSET(SRST_A_AV1, 68, 2),
	RK3588_CRU_RESET_OFFSET(SRST_P_AV1_BIU, 68, 4),
	RK3588_CRU_RESET_OFFSET(SRST_P_AV1, 68, 5),

	/* SOFTRST_CON69 */
	RK3588_CRU_RESET_OFFSET(SRST_A_DDR_BIU, 69, 4),
	RK3588_CRU_RESET_OFFSET(SRST_A_DMA2DDR, 69, 5),
	RK3588_CRU_RESET_OFFSET(SRST_A_DDR_SHAREMEM, 69, 6),
	RK3588_CRU_RESET_OFFSET(SRST_A_DDR_SHAREMEM_BIU, 69, 7),
	RK3588_CRU_RESET_OFFSET(SRST_A_CENTER_S200_BIU, 69, 10),
	RK3588_CRU_RESET_OFFSET(SRST_A_CENTER_S400_BIU, 69, 11),
	RK3588_CRU_RESET_OFFSET(SRST_H_AHB2APB, 69, 12),
	RK3588_CRU_RESET_OFFSET(SRST_H_CENTER_BIU, 69, 13),
	RK3588_CRU_RESET_OFFSET(SRST_F_DDR_CM0_CORE, 69, 14),

	/* SOFTRST_CON70 */
	RK3588_CRU_RESET_OFFSET(SRST_DDR_TIMER0, 70, 0),
	RK3588_CRU_RESET_OFFSET(SRST_DDR_TIMER1, 70, 1),
	RK3588_CRU_RESET_OFFSET(SRST_T_WDT_DDR, 70, 2),
	RK3588_CRU_RESET_OFFSET(SRST_T_DDR_CM0_JTAG, 70, 3),
	RK3588_CRU_RESET_OFFSET(SRST_P_CENTER_GRF, 70, 5),
	RK3588_CRU_RESET_OFFSET(SRST_P_AHB2APB, 70, 6),
	RK3588_CRU_RESET_OFFSET(SRST_P_WDT, 70, 7),
	RK3588_CRU_RESET_OFFSET(SRST_P_TIMER, 70, 8),
	RK3588_CRU_RESET_OFFSET(SRST_P_DMA2DDR, 70, 9),
	RK3588_CRU_RESET_OFFSET(SRST_P_SHAREMEM, 70, 10),
	RK3588_CRU_RESET_OFFSET(SRST_P_CENTER_BIU, 70, 11),
	RK3588_CRU_RESET_OFFSET(SRST_P_CENTER_CHANNEL_BIU, 70, 12),

	/* SOFTRST_CON72 */
	RK3588_CRU_RESET_OFFSET(SRST_P_USBDPGRF0, 72, 1),
	RK3588_CRU_RESET_OFFSET(SRST_P_USBDPPHY0, 72, 2),
	RK3588_CRU_RESET_OFFSET(SRST_P_USBDPGRF1, 72, 3),
	RK3588_CRU_RESET_OFFSET(SRST_P_USBDPPHY1, 72, 4),
	RK3588_CRU_RESET_OFFSET(SRST_P_HDPTX0, 72, 5),
	RK3588_CRU_RESET_OFFSET(SRST_P_HDPTX1, 72, 6),
	RK3588_CRU_RESET_OFFSET(SRST_P_APB2ASB_SLV_BOT_RIGHT, 72, 7),
	RK3588_CRU_RESET_OFFSET(SRST_P_USB2PHY_U3_0_GRF0, 72, 8),
	RK3588_CRU_RESET_OFFSET(SRST_P_USB2PHY_U3_1_GRF0, 72, 9),
	RK3588_CRU_RESET_OFFSET(SRST_P_USB2PHY_U2_0_GRF0, 72, 10),
	RK3588_CRU_RESET_OFFSET(SRST_P_USB2PHY_U2_1_GRF0, 72, 11),
	RK3588_CRU_RESET_OFFSET(SRST_HDPTX0_ROPLL, 72, 12), // missing in TRM
	RK3588_CRU_RESET_OFFSET(SRST_HDPTX0_LCPLL, 72, 13), // missing in TRM
	RK3588_CRU_RESET_OFFSET(SRST_HDPTX0, 72, 14), // missing in TRM
	RK3588_CRU_RESET_OFFSET(SRST_HDPTX1_ROPLL, 72, 15), // missing in TRM

	/* SOFTRST_CON73 */
	RK3588_CRU_RESET_OFFSET(SRST_HDPTX1_LCPLL, 73, 0), // missing in TRM
	RK3588_CRU_RESET_OFFSET(SRST_HDPTX1, 73, 1), // missing in TRM
	RK3588_CRU_RESET_OFFSET(SRST_HDPTX0_HDMIRXPHY_SET, 73, 2), // missing in TRM
	RK3588_CRU_RESET_OFFSET(SRST_USBDP_COMBO_PHY0, 73, 3), // missing in TRM
	RK3588_CRU_RESET_OFFSET(SRST_USBDP_COMBO_PHY0_LCPLL, 73, 4), // missing in TRM
	RK3588_CRU_RESET_OFFSET(SRST_USBDP_COMBO_PHY0_ROPLL, 73, 5), // missing in TRM
	RK3588_CRU_RESET_OFFSET(SRST_USBDP_COMBO_PHY0_PCS_HS, 73, 6), // missing in TRM
	RK3588_CRU_RESET_OFFSET(SRST_USBDP_COMBO_PHY1, 73, 7), // missing in TRM
	RK3588_CRU_RESET_OFFSET(SRST_USBDP_COMBO_PHY1_LCPLL, 73, 8), // missing in TRM
	RK3588_CRU_RESET_OFFSET(SRST_USBDP_COMBO_PHY1_ROPLL, 73, 9), // missing in TRM
	RK3588_CRU_RESET_OFFSET(SRST_USBDP_COMBO_PHY1_PCS_HS, 73, 10), // missing in TRM
	RK3588_CRU_RESET_OFFSET(SRST_HDMIHDP0, 73, 12),
	RK3588_CRU_RESET_OFFSET(SRST_HDMIHDP1, 73, 13),

	/* SOFTRST_CON74 */
	RK3588_CRU_RESET_OFFSET(SRST_A_VO1USB_TOP_BIU, 74, 1),
	RK3588_CRU_RESET_OFFSET(SRST_H_VO1USB_TOP_BIU, 74, 3),

	/* SOFTRST_CON75 */
	RK3588_CRU_RESET_OFFSET(SRST_H_SDIO_BIU, 75, 1),
	RK3588_CRU_RESET_OFFSET(SRST_H_SDIO, 75, 2),
	RK3588_CRU_RESET_OFFSET(SRST_SDIO, 75, 3),

	/* SOFTRST_CON76 */
	RK3588_CRU_RESET_OFFSET(SRST_H_RGA3_BIU, 76, 2),
	RK3588_CRU_RESET_OFFSET(SRST_A_RGA3_BIU, 76, 3),
	RK3588_CRU_RESET_OFFSET(SRST_H_RGA3_1, 76, 4),
	RK3588_CRU_RESET_OFFSET(SRST_A_RGA3_1, 76, 5),
	RK3588_CRU_RESET_OFFSET(SRST_RGA3_1_CORE, 76, 6),

	/* SOFTRST_CON77 */
	RK3588_CRU_RESET_OFFSET(SRST_REF_PIPE_PHY0, 77, 6),
	RK3588_CRU_RESET_OFFSET(SRST_REF_PIPE_PHY1, 77, 7),
	RK3588_CRU_RESET_OFFSET(SRST_REF_PIPE_PHY2, 77, 8),

	/* PHPTOPCRU_SOFTRST_CON00 */
	RK3588_PHPTOPCRU_RESET_OFFSET(SRST_P_PHPTOP_CRU, 0, 1),
	RK3588_PHPTOPCRU_RESET_OFFSET(SRST_P_PCIE2_GRF0, 0, 2),
	RK3588_PHPTOPCRU_RESET_OFFSET(SRST_P_PCIE2_GRF1, 0, 3),
	RK3588_PHPTOPCRU_RESET_OFFSET(SRST_P_PCIE2_GRF2, 0, 4),
	RK3588_PHPTOPCRU_RESET_OFFSET(SRST_P_PCIE2_PHY0, 0, 5),
	RK3588_PHPTOPCRU_RESET_OFFSET(SRST_P_PCIE2_PHY1, 0, 6),
	RK3588_PHPTOPCRU_RESET_OFFSET(SRST_P_PCIE2_PHY2, 0, 7),
	RK3588_PHPTOPCRU_RESET_OFFSET(SRST_P_PCIE3_PHY, 0, 8),
	RK3588_PHPTOPCRU_RESET_OFFSET(SRST_P_APB2ASB_SLV_CHIP_TOP, 0, 9),
	RK3588_PHPTOPCRU_RESET_OFFSET(SRST_PCIE30_PHY, 0, 10),

	/* PMU1CRU_SOFTRST_CON00 */
	RK3588_PMU1CRU_RESET_OFFSET(SRST_H_PMU1_BIU, 0, 10),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_P_PMU1_BIU, 0, 11),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_H_PMU_CM0_BIU, 0, 12),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_F_PMU_CM0_CORE, 0, 13),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_T_PMU1_CM0_JTAG, 0, 14),

	/* PMU1CRU_SOFTRST_CON01 */
	RK3588_PMU1CRU_RESET_OFFSET(SRST_DDR_FAIL_SAFE, 1, 1),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_P_CRU_PMU1, 1, 2),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_P_PMU1_GRF, 1, 4),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_P_PMU1_IOC, 1, 5),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_P_PMU1WDT, 1, 6),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_T_PMU1WDT, 1, 7),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_P_PMU1TIMER, 1, 8),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_PMU1TIMER0, 1, 10),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_PMU1TIMER1, 1, 11),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_P_PMU1PWM, 1, 12),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_PMU1PWM, 1, 13),

	/* PMU1CRU_SOFTRST_CON02 */
	RK3588_PMU1CRU_RESET_OFFSET(SRST_P_I2C0, 2, 1),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_I2C0, 2, 2),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_S_UART0, 2, 5),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_P_UART0, 2, 6),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_H_I2S1_8CH, 2, 7),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_M_I2S1_8CH_TX, 2, 10),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_M_I2S1_8CH_RX, 2, 13),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_H_PDM0, 2, 14),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_PDM0, 2, 15),

	/* PMU1CRU_SOFTRST_CON03 */
	RK3588_PMU1CRU_RESET_OFFSET(SRST_H_VAD, 3, 0),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_HDPTX0_INIT, 3, 11),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_HDPTX0_CMN, 3, 12),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_HDPTX0_LANE, 3, 13),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_HDPTX1_INIT, 3, 15),

	/* PMU1CRU_SOFTRST_CON04 */
	RK3588_PMU1CRU_RESET_OFFSET(SRST_HDPTX1_CMN, 4, 0),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_HDPTX1_LANE, 4, 1),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_M_MIPI_DCPHY0, 4, 3),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_S_MIPI_DCPHY0, 4, 4),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_M_MIPI_DCPHY1, 4, 5),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_S_MIPI_DCPHY1, 4, 6),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_OTGPHY_U3_0, 4, 7),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_OTGPHY_U3_1, 4, 8),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_OTGPHY_U2_0, 4, 9),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_OTGPHY_U2_1, 4, 10),

	/* PMU1CRU_SOFTRST_CON05 */
	RK3588_PMU1CRU_RESET_OFFSET(SRST_P_PMU0GRF, 5, 3),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_P_PMU0IOC, 5, 4),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_P_GPIO0, 5, 5),
	RK3588_PMU1CRU_RESET_OFFSET(SRST_GPIO0, 5, 6),

	/* SECURECRU_SOFTRST_CON00 */
	RK3588_SECURECRU_RESET_OFFSET(SRST_A_SECURE_NS_BIU, 0, 10),
	RK3588_SECURECRU_RESET_OFFSET(SRST_H_SECURE_NS_BIU, 0, 11),
	RK3588_SECURECRU_RESET_OFFSET(SRST_A_SECURE_S_BIU, 0, 12),
	RK3588_SECURECRU_RESET_OFFSET(SRST_H_SECURE_S_BIU, 0, 13),
	RK3588_SECURECRU_RESET_OFFSET(SRST_P_SECURE_S_BIU, 0, 14),
	RK3588_SECURECRU_RESET_OFFSET(SRST_CRYPTO_CORE, 0, 15),

	/* SECURECRU_SOFTRST_CON01 */
	RK3588_SECURECRU_RESET_OFFSET(SRST_CRYPTO_PKA, 1, 0),
	RK3588_SECURECRU_RESET_OFFSET(SRST_CRYPTO_RNG, 1, 1),
	RK3588_SECURECRU_RESET_OFFSET(SRST_A_CRYPTO, 1, 2),
	RK3588_SECURECRU_RESET_OFFSET(SRST_H_CRYPTO, 1, 3),
	RK3588_SECURECRU_RESET_OFFSET(SRST_KEYLADDER_CORE, 1, 9),
	RK3588_SECURECRU_RESET_OFFSET(SRST_KEYLADDER_RNG, 1, 10),
	RK3588_SECURECRU_RESET_OFFSET(SRST_A_KEYLADDER, 1, 11),
	RK3588_SECURECRU_RESET_OFFSET(SRST_H_KEYLADDER, 1, 12),
	RK3588_SECURECRU_RESET_OFFSET(SRST_P_OTPC_S, 1, 13),
	RK3588_SECURECRU_RESET_OFFSET(SRST_OTPC_S, 1, 14),
	RK3588_SECURECRU_RESET_OFFSET(SRST_WDT_S, 1, 15),

	/* SECURECRU_SOFTRST_CON02 */
	RK3588_SECURECRU_RESET_OFFSET(SRST_T_WDT_S, 2, 0),
	RK3588_SECURECRU_RESET_OFFSET(SRST_H_BOOTROM, 2, 1),
	RK3588_SECURECRU_RESET_OFFSET(SRST_A_DCF, 2, 2),
	RK3588_SECURECRU_RESET_OFFSET(SRST_P_DCF, 2, 3),
	RK3588_SECURECRU_RESET_OFFSET(SRST_H_BOOTROM_NS, 2, 5),
	RK3588_SECURECRU_RESET_OFFSET(SRST_P_KEYLADDER, 2, 14),
	RK3588_SECURECRU_RESET_OFFSET(SRST_H_TRNG_S, 2, 15),

	/* SECURECRU_SOFTRST_CON03 */
	RK3588_SECURECRU_RESET_OFFSET(SRST_H_TRNG_NS, 3, 0),
	RK3588_SECURECRU_RESET_OFFSET(SRST_D_SDMMC_BUFFER, 3, 1),
	RK3588_SECURECRU_RESET_OFFSET(SRST_H_SDMMC, 3, 2),
	RK3588_SECURECRU_RESET_OFFSET(SRST_H_SDMMC_BUFFER, 3, 3),
	RK3588_SECURECRU_RESET_OFFSET(SRST_SDMMC, 3, 4),
	RK3588_SECURECRU_RESET_OFFSET(SRST_P_TRNG_CHK, 3, 5),
	RK3588_SECURECRU_RESET_OFFSET(SRST_TRNG_S, 3, 6),
};

void rk3588_rst_init(struct device_node *np, void __iomem *reg_base)
{
	rockchip_register_softrst_lut(np,
				      rk3588_register_offset,
				      ARRAY_SIZE(rk3588_register_offset),
				      reg_base + RK3588_SOFTRST_CON(0),
				      ROCKCHIP_SOFTRST_HIWORD_MASK);
}
