/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (c) 2022 MediaTek Inc.
 * Author: Chun-Jie Chen <chun-jie.chen@mediatek.com>
 */

#ifndef __SOC_MEDIATEK_MT8186_PM_DOMAINS_H
#define __SOC_MEDIATEK_MT8186_PM_DOMAINS_H

#include "mtk-pm-domains.h"
#include <dt-bindings/power/mt8186-power.h>

/*
 * MT8186 power domain support
 */

static const struct scpsys_domain_data scpsys_domain_data_mt8186[] = {
	[MT8186_POWER_DOMAIN_MFG0] = {
		.name = "mfg0",
		.sta_mask = BIT(2),
		.ctl_offs = 0x308,
		.pwr_sta_offs = 0x16C,
		.pwr_sta2nd_offs = 0x170,
		.sram_pdn_bits = BIT(8),
		.sram_pdn_ack_bits = BIT(12),
		.caps = MTK_SCPD_KEEP_DEFAULT_OFF | MTK_SCPD_DOMAIN_SUPPLY,
	},
	[MT8186_POWER_DOMAIN_MFG1] = {
		.name = "mfg1",
		.sta_mask = BIT(3),
		.ctl_offs = 0x30c,
		.pwr_sta_offs = 0x16C,
		.pwr_sta2nd_offs = 0x170,
		.sram_pdn_bits = BIT(8),
		.sram_pdn_ack_bits = BIT(12),
		.bp_infracfg = {
			BUS_PROT_WR_IGN(MT8186_TOP_AXI_PROT_EN_1_MFG1_STEP1,
				MT8186_TOP_AXI_PROT_EN_1_SET,
				MT8186_TOP_AXI_PROT_EN_1_CLR,
				MT8186_TOP_AXI_PROT_EN_1_STA),
			BUS_PROT_WR_IGN(MT8186_TOP_AXI_PROT_EN_MFG1_STEP2,
				MT8186_TOP_AXI_PROT_EN_SET,
				MT8186_TOP_AXI_PROT_EN_CLR,
				MT8186_TOP_AXI_PROT_EN_STA),
			BUS_PROT_WR_IGN(MT8186_TOP_AXI_PROT_EN_MFG1_STEP3,
				MT8186_TOP_AXI_PROT_EN_SET,
				MT8186_TOP_AXI_PROT_EN_CLR,
				MT8186_TOP_AXI_PROT_EN_STA),
			BUS_PROT_WR_IGN(MT8186_TOP_AXI_PROT_EN_1_MFG1_STEP4,
				MT8186_TOP_AXI_PROT_EN_1_SET,
				MT8186_TOP_AXI_PROT_EN_1_CLR,
				MT8186_TOP_AXI_PROT_EN_1_STA),
		},
		.caps = MTK_SCPD_KEEP_DEFAULT_OFF | MTK_SCPD_DOMAIN_SUPPLY,
	},
	[MT8186_POWER_DOMAIN_MFG2] = {
		.name = "mfg2",
		.sta_mask = BIT(4),
		.ctl_offs = 0x310,
		.pwr_sta_offs = 0x16C,
		.pwr_sta2nd_offs = 0x170,
		.sram_pdn_bits = BIT(8),
		.sram_pdn_ack_bits = BIT(12),
		.caps = MTK_SCPD_KEEP_DEFAULT_OFF,
	},
	[MT8186_POWER_DOMAIN_MFG3] = {
		.name = "mfg3",
		.sta_mask = BIT(5),
		.ctl_offs = 0x314,
		.pwr_sta_offs = 0x16C,
		.pwr_sta2nd_offs = 0x170,
		.sram_pdn_bits = BIT(8),
		.sram_pdn_ack_bits = BIT(12),
		.caps = MTK_SCPD_KEEP_DEFAULT_OFF,
	},
	[MT8186_POWER_DOMAIN_SSUSB] = {
		.name = "ssusb",
		.sta_mask = BIT(20),
		.ctl_offs = 0x9F0,
		.pwr_sta_offs = 0x16C,
		.pwr_sta2nd_offs = 0x170,
		.sram_pdn_bits = BIT(8),
		.sram_pdn_ack_bits = BIT(12),
		.caps = MTK_SCPD_ACTIVE_WAKEUP,
	},
	[MT8186_POWER_DOMAIN_SSUSB_P1] = {
		.name = "ssusb_p1",
		.sta_mask = BIT(19),
		.ctl_offs = 0x9F4,
		.pwr_sta_offs = 0x16C,
		.pwr_sta2nd_offs = 0x170,
		.sram_pdn_bits = BIT(8),
		.sram_pdn_ack_bits = BIT(12),
		.caps = MTK_SCPD_ACTIVE_WAKEUP,
	},
	[MT8186_POWER_DOMAIN_DIS] = {
		.name = "dis",
		.sta_mask = BIT(21),
		.ctl_offs = 0x354,
		.pwr_sta_offs = 0x16C,
		.pwr_sta2nd_offs = 0x170,
		.sram_pdn_bits = BIT(8),
		.sram_pdn_ack_bits = BIT(12),
		.bp_infracfg = {
			BUS_PROT_WR_IGN(MT8186_TOP_AXI_PROT_EN_1_DIS_STEP1,
				MT8186_TOP_AXI_PROT_EN_1_SET,
				MT8186_TOP_AXI_PROT_EN_1_CLR,
				MT8186_TOP_AXI_PROT_EN_1_STA),
			BUS_PROT_WR_IGN(MT8186_TOP_AXI_PROT_EN_DIS_STEP2,
				MT8186_TOP_AXI_PROT_EN_SET,
				MT8186_TOP_AXI_PROT_EN_CLR,
				MT8186_TOP_AXI_PROT_EN_STA),
		},
	},
	[MT8186_POWER_DOMAIN_IMG] = {
		.name = "img",
		.sta_mask = BIT(13),
		.ctl_offs = 0x334,
		.pwr_sta_offs = 0x16C,
		.pwr_sta2nd_offs = 0x170,
		.sram_pdn_bits = BIT(8),
		.sram_pdn_ack_bits = BIT(12),
		.bp_infracfg = {
			BUS_PROT_WR_IGN(MT8186_TOP_AXI_PROT_EN_1_IMG_STEP1,
				MT8186_TOP_AXI_PROT_EN_1_SET,
				MT8186_TOP_AXI_PROT_EN_1_CLR,
				MT8186_TOP_AXI_PROT_EN_1_STA),
			BUS_PROT_WR_IGN(MT8186_TOP_AXI_PROT_EN_1_IMG_STEP2,
				MT8186_TOP_AXI_PROT_EN_1_SET,
				MT8186_TOP_AXI_PROT_EN_1_CLR,
				MT8186_TOP_AXI_PROT_EN_1_STA),
		},
		.caps = MTK_SCPD_KEEP_DEFAULT_OFF,
	},
	[MT8186_POWER_DOMAIN_IMG2] = {
		.name = "img2",
		.sta_mask = BIT(14),
		.ctl_offs = 0x338,
		.pwr_sta_offs = 0x16C,
		.pwr_sta2nd_offs = 0x170,
		.sram_pdn_bits = BIT(8),
		.sram_pdn_ack_bits = BIT(12),
		.caps = MTK_SCPD_KEEP_DEFAULT_OFF,
	},
	[MT8186_POWER_DOMAIN_IPE] = {
		.name = "ipe",
		.sta_mask = BIT(15),
		.ctl_offs = 0x33C,
		.pwr_sta_offs = 0x16C,
		.pwr_sta2nd_offs = 0x170,
		.sram_pdn_bits = BIT(8),
		.sram_pdn_ack_bits = BIT(12),
		.bp_infracfg = {
			BUS_PROT_WR_IGN(MT8186_TOP_AXI_PROT_EN_1_IPE_STEP1,
				MT8186_TOP_AXI_PROT_EN_1_SET,
				MT8186_TOP_AXI_PROT_EN_1_CLR,
				MT8186_TOP_AXI_PROT_EN_1_STA),
			BUS_PROT_WR_IGN(MT8186_TOP_AXI_PROT_EN_1_IPE_STEP2,
				MT8186_TOP_AXI_PROT_EN_1_SET,
				MT8186_TOP_AXI_PROT_EN_1_CLR,
				MT8186_TOP_AXI_PROT_EN_1_STA),
		},
		.caps = MTK_SCPD_KEEP_DEFAULT_OFF,
	},
	[MT8186_POWER_DOMAIN_CAM] = {
		.name = "cam",
		.sta_mask = BIT(23),
		.ctl_offs = 0x35C,
		.pwr_sta_offs = 0x16C,
		.pwr_sta2nd_offs = 0x170,
		.sram_pdn_bits = BIT(8),
		.sram_pdn_ack_bits = BIT(12),
		.bp_infracfg = {
			BUS_PROT_WR_IGN(MT8186_TOP_AXI_PROT_EN_1_CAM_STEP1,
				MT8186_TOP_AXI_PROT_EN_1_SET,
				MT8186_TOP_AXI_PROT_EN_1_CLR,
				MT8186_TOP_AXI_PROT_EN_1_STA),
			BUS_PROT_WR_IGN(MT8186_TOP_AXI_PROT_EN_1_CAM_STEP2,
				MT8186_TOP_AXI_PROT_EN_1_SET,
				MT8186_TOP_AXI_PROT_EN_1_CLR,
				MT8186_TOP_AXI_PROT_EN_1_STA),
		},
		.caps = MTK_SCPD_KEEP_DEFAULT_OFF,
	},
	[MT8186_POWER_DOMAIN_CAM_RAWA] = {
		.name = "cam_rawa",
		.sta_mask = BIT(24),
		.ctl_offs = 0x360,
		.pwr_sta_offs = 0x16C,
		.pwr_sta2nd_offs = 0x170,
		.sram_pdn_bits = BIT(8),
		.sram_pdn_ack_bits = BIT(12),
		.caps = MTK_SCPD_KEEP_DEFAULT_OFF,
	},
	[MT8186_POWER_DOMAIN_CAM_RAWB] = {
		.name = "cam_rawb",
		.sta_mask = BIT(25),
		.ctl_offs = 0x364,
		.pwr_sta_offs = 0x16C,
		.pwr_sta2nd_offs = 0x170,
		.sram_pdn_bits = BIT(8),
		.sram_pdn_ack_bits = BIT(12),
		.caps = MTK_SCPD_KEEP_DEFAULT_OFF,
	},
	[MT8186_POWER_DOMAIN_VENC] = {
		.name = "venc",
		.sta_mask = BIT(18),
		.ctl_offs = 0x348,
		.pwr_sta_offs = 0x16C,
		.pwr_sta2nd_offs = 0x170,
		.sram_pdn_bits = BIT(8),
		.sram_pdn_ack_bits = BIT(12),
		.bp_infracfg = {
			BUS_PROT_WR_IGN(MT8186_TOP_AXI_PROT_EN_1_VENC_STEP1,
				MT8186_TOP_AXI_PROT_EN_1_SET,
				MT8186_TOP_AXI_PROT_EN_1_CLR,
				MT8186_TOP_AXI_PROT_EN_1_STA),
			BUS_PROT_WR_IGN(MT8186_TOP_AXI_PROT_EN_1_VENC_STEP2,
				MT8186_TOP_AXI_PROT_EN_1_SET,
				MT8186_TOP_AXI_PROT_EN_1_CLR,
				MT8186_TOP_AXI_PROT_EN_1_STA),
		},
		.caps = MTK_SCPD_KEEP_DEFAULT_OFF,
	},
	[MT8186_POWER_DOMAIN_VDEC] = {
		.name = "vdec",
		.sta_mask = BIT(16),
		.ctl_offs = 0x340,
		.pwr_sta_offs = 0x16C,
		.pwr_sta2nd_offs = 0x170,
		.sram_pdn_bits = BIT(8),
		.sram_pdn_ack_bits = BIT(12),
		.bp_infracfg = {
			BUS_PROT_WR_IGN(MT8186_TOP_AXI_PROT_EN_1_VDEC_STEP1,
				MT8186_TOP_AXI_PROT_EN_1_SET,
				MT8186_TOP_AXI_PROT_EN_1_CLR,
				MT8186_TOP_AXI_PROT_EN_1_STA),
			BUS_PROT_WR_IGN(MT8186_TOP_AXI_PROT_EN_1_VDEC_STEP2,
				MT8186_TOP_AXI_PROT_EN_1_SET,
				MT8186_TOP_AXI_PROT_EN_1_CLR,
				MT8186_TOP_AXI_PROT_EN_1_STA),
		},
		.caps = MTK_SCPD_KEEP_DEFAULT_OFF,
	},
	[MT8186_POWER_DOMAIN_WPE] = {
		.name = "wpe",
		.sta_mask = BIT(0),
		.ctl_offs = 0x3F8,
		.pwr_sta_offs = 0x16C,
		.pwr_sta2nd_offs = 0x170,
		.sram_pdn_bits = BIT(8),
		.sram_pdn_ack_bits = BIT(12),
		.bp_infracfg = {
			BUS_PROT_WR_IGN(MT8186_TOP_AXI_PROT_EN_2_WPE_STEP1,
				MT8186_TOP_AXI_PROT_EN_2_SET,
				MT8186_TOP_AXI_PROT_EN_2_CLR,
				MT8186_TOP_AXI_PROT_EN_2_STA),
			BUS_PROT_WR_IGN(MT8186_TOP_AXI_PROT_EN_2_WPE_STEP2,
				MT8186_TOP_AXI_PROT_EN_2_SET,
				MT8186_TOP_AXI_PROT_EN_2_CLR,
				MT8186_TOP_AXI_PROT_EN_2_STA),
		},
		.caps = MTK_SCPD_KEEP_DEFAULT_OFF,
	},
	[MT8186_POWER_DOMAIN_CONN_ON] = {
		.name = "conn_on",
		.sta_mask = BIT(1),
		.ctl_offs = 0x304,
		.pwr_sta_offs = 0x16C,
		.pwr_sta2nd_offs = 0x170,
		.bp_infracfg = {
			BUS_PROT_WR_IGN(MT8186_TOP_AXI_PROT_EN_1_CONN_ON_STEP1,
				MT8186_TOP_AXI_PROT_EN_1_SET,
				MT8186_TOP_AXI_PROT_EN_1_CLR,
				MT8186_TOP_AXI_PROT_EN_1_STA),
			BUS_PROT_WR_IGN(MT8186_TOP_AXI_PROT_EN_CONN_ON_STEP2,
				MT8186_TOP_AXI_PROT_EN_SET,
				MT8186_TOP_AXI_PROT_EN_CLR,
				MT8186_TOP_AXI_PROT_EN_STA),
			BUS_PROT_WR_IGN(MT8186_TOP_AXI_PROT_EN_CONN_ON_STEP3,
				MT8186_TOP_AXI_PROT_EN_SET,
				MT8186_TOP_AXI_PROT_EN_CLR,
				MT8186_TOP_AXI_PROT_EN_STA),
			BUS_PROT_WR_IGN(MT8186_TOP_AXI_PROT_EN_CONN_ON_STEP4,
				MT8186_TOP_AXI_PROT_EN_SET,
				MT8186_TOP_AXI_PROT_EN_CLR,
				MT8186_TOP_AXI_PROT_EN_STA),
		},
		.caps = MTK_SCPD_KEEP_DEFAULT_OFF | MTK_SCPD_ACTIVE_WAKEUP,
	},
	[MT8186_POWER_DOMAIN_CSIRX_TOP] = {
		.name = "csirx_top",
		.sta_mask = BIT(6),
		.ctl_offs = 0x318,
		.pwr_sta_offs = 0x16C,
		.pwr_sta2nd_offs = 0x170,
		.sram_pdn_bits = BIT(8),
		.sram_pdn_ack_bits = BIT(12),
		.caps = MTK_SCPD_KEEP_DEFAULT_OFF,
	},
	[MT8186_POWER_DOMAIN_ADSP_AO] = {
		.name = "adsp_ao",
		.sta_mask = BIT(17),
		.ctl_offs = 0x9FC,
		.pwr_sta_offs = 0x16C,
		.pwr_sta2nd_offs = 0x170,
		.caps = MTK_SCPD_KEEP_DEFAULT_OFF,
	},
	[MT8186_POWER_DOMAIN_ADSP_INFRA] = {
		.name = "adsp_infra",
		.sta_mask = BIT(10),
		.ctl_offs = 0x9F8,
		.pwr_sta_offs = 0x16C,
		.pwr_sta2nd_offs = 0x170,
		.caps = MTK_SCPD_KEEP_DEFAULT_OFF,
	},
	[MT8186_POWER_DOMAIN_ADSP_TOP] = {
		.name = "adsp_top",
		.sta_mask = BIT(31),
		.ctl_offs = 0x3E4,
		.pwr_sta_offs = 0x16C,
		.pwr_sta2nd_offs = 0x170,
		.sram_pdn_bits = BIT(8),
		.sram_pdn_ack_bits = BIT(12),
		.bp_infracfg = {
			BUS_PROT_WR_IGN(MT8186_TOP_AXI_PROT_EN_3_ADSP_TOP_STEP1,
				MT8186_TOP_AXI_PROT_EN_3_SET,
				MT8186_TOP_AXI_PROT_EN_3_CLR,
				MT8186_TOP_AXI_PROT_EN_3_STA),
			BUS_PROT_WR_IGN(MT8186_TOP_AXI_PROT_EN_3_ADSP_TOP_STEP2,
				MT8186_TOP_AXI_PROT_EN_3_SET,
				MT8186_TOP_AXI_PROT_EN_3_CLR,
				MT8186_TOP_AXI_PROT_EN_3_STA),
		},
		.caps = MTK_SCPD_SRAM_ISO | MTK_SCPD_KEEP_DEFAULT_OFF | MTK_SCPD_ACTIVE_WAKEUP,
	},
};

static const struct scpsys_soc_data mt8186_scpsys_data = {
	.domains_data = scpsys_domain_data_mt8186,
	.num_domains = ARRAY_SIZE(scpsys_domain_data_mt8186),
};

#endif /* __SOC_MEDIATEK_MT8186_PM_DOMAINS_H */
