// 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 <common.h>
#include <dm.h>
#include <asm/arch-rockchip/clock.h>
#include <dt-bindings/reset/rockchip,rk3588-cru.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_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),
};

int rk3588_reset_bind_lut(struct udevice *pdev, u32 reg_offset, u32 reg_number)
{
	return rockchip_reset_bind_lut(pdev, rk3588_register_offset,
				       reg_offset, reg_number);
}
