/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Copyright (c) 2020 MediaTek Inc.
 */

#ifndef __MTK_SOC_TEMP_LVTS_H__
#define __MTK_SOC_TEMP_LVTS_H__

/* LVTS HW filter settings
 * 000: Get one sample
 * 001: Get 2 samples and average them
 * 010: Get 4 samples, drop max and min, then average the rest of 2 samples
 * 011: Get 6 samples, drop max and min, then average the rest of 4 samples
 * 100: Get 10 samples, drop max and min, then average the rest of 8 samples
 * 101: Get 18 samples, drop max and min, then average the rest of 16 samples
 */
enum lvts_hw_filter {
	LVTS_FILTER_1,
	LVTS_FILTER_2,
	LVTS_FILTER_2_OF_4,
	LVTS_FILTER_4_OF_6,
	LVTS_FILTER_8_OF_10,
	LVTS_FILTER_16_OF_18
};

enum lvts_sensing_point {
	SENSING_POINT0,
	SENSING_POINT1,
	SENSING_POINT2,
	SENSING_POINT3,
	ALL_SENSING_POINTS
};

/*==================================================
 * Data structure
 *==================================================
 */
struct lvts_data;

struct speed_settings {
	unsigned int period_unit;
	unsigned int group_interval_delay;
	unsigned int filter_interval_delay;
	unsigned int sensor_interval_delay;
};

struct tc_settings {
	unsigned int domain_index;
	unsigned int addr_offset;
	unsigned int num_sensor;
	unsigned int sensor_map[ALL_SENSING_POINTS]; /* In sensor ID */
	struct speed_settings tc_speed;
	/* HW filter setting
	 * 000: Get one sample
	 * 001: Get 2 samples and average them
	 * 010: Get 4 samples, drop max and min, then average the rest of 2 samples
	 * 011: Get 6 samples, drop max and min, then average the rest of 4 samples
	 * 100: Get 10 samples, drop max and min, then average the rest of 8 samples
	 * 101: Get 18 samples, drop max and min, then average the rest of 16 samples
	 */
	unsigned int hw_filter;
	/* Dominator_sensing point is used to select a sensing point
	 * and reference its temperature to trigger Thermal HW Reboot
	 * When it is ALL_SENSING_POINTS, it will select all sensing points
	 */
	int dominator_sensing_point;
	int hw_reboot_trip_point; /* -274000: Disable HW reboot */
	unsigned int irq_bit;
};

struct formula_coeff {
	int a;
	int b;
	unsigned int golden_temp;
};

struct sensor_cal_data {
	int use_fake_efuse;	/* 1: Use fake efuse, 0: Use real efuse */
	unsigned int golden_temp;
	unsigned int *count_r;
	unsigned int *count_rc;
	unsigned int *count_rc_now;

	unsigned int default_golden_temp;
	unsigned int default_count_r;
	unsigned int default_count_rc;
};

struct platform_ops {
	void (*efuse_to_cal_data)(struct lvts_data *lvts_data);
	void (*device_enable_and_init)(struct lvts_data *lvts_data);
	void (*device_enable_auto_rck)(struct lvts_data *lvts_data);
	int (*device_read_count_rc_n)(struct lvts_data *lvts_data);
	void (*set_cal_data)(struct lvts_data *lvts_data);
	void (*init_controller)(struct lvts_data *lvts_data);
};

struct power_domain {
	void __iomem *base;	/* LVTS base addresses */
	unsigned int irq_num;	/* LVTS interrupt numbers */
	struct reset_control *reset;
};

struct sensor_data {
	int temp;		/* Current temperature */
	unsigned int msr_raw;	/* MSR raw data from LVTS */
};

struct lvts_data {
	struct device *dev;
	struct clk *clk;
	unsigned int num_domain;
	struct power_domain *domain;

	int num_tc;			/* Number of LVTS thermal controllers */
	struct tc_settings *tc;
	int counting_window_us;		/* LVTS device counting window */

	int num_sensor;			/* Number of sensors in this platform */
	struct sensor_data *sen_data;

	struct platform_ops ops;
	int feature_bitmap;		/* Show what features are enabled */

	unsigned int num_efuse_addr;
	unsigned int *efuse;
	unsigned int num_efuse_block;	/* Number of contiguous efuse indexes */
	struct sensor_cal_data cal_data;
	struct formula_coeff coeff;
};

struct soc_temp_tz {
	unsigned int id; /* if id is 0, get max temperature of all sensors */
	struct lvts_data *lvts_data;
};

struct match_entry {
	char	chip[32];
	struct lvts_data *lvts_data;
};

struct lvts_match_data {
	unsigned int hw_version;
	struct match_entry *table;
	void (*set_up_common_callbacks)(struct lvts_data *lvts_data);
	struct list_head node;
};

struct lvts_id {
	unsigned int hw_version;
	char	chip[32];
};

/*==================================================
 * LVTS device register
 *==================================================
 */
#define RG_TSFM_DATA_0	0x00
#define RG_TSFM_DATA_1	0x01
#define RG_TSFM_DATA_2	0x02
#define RG_TSFM_CTRL_0	0x03
#define RG_TSFM_CTRL_1	0x04
#define RG_TSFM_CTRL_2	0x05
#define RG_TSFM_CTRL_3	0x06
#define RG_TSFM_CTRL_4	0x07
#define RG_TSV2F_CTRL_0	0x08
#define RG_TSV2F_CTRL_1	0x09
#define RG_TSV2F_CTRL_2	0x0A
#define RG_TSV2F_CTRL_3	0x0B
#define RG_TSV2F_CTRL_4	0x0C
#define RG_TSV2F_CTRL_5	0x0D
#define RG_TSV2F_CTRL_6	0x0E
#define RG_TEMP_DATA_0	0x10
#define RG_TEMP_DATA_1	0x11
#define RG_TEMP_DATA_2	0x12
#define RG_TEMP_DATA_3	0x13
#define RG_RC_DATA_0	0x14
#define RG_RC_DATA_1	0x15
#define RG_RC_DATA_2	0x16
#define RG_RC_DATA_3	0x17
#define RG_DIV_DATA_0	0x18
#define RG_DIV_DATA_1	0x19
#define RG_DIV_DATA_2	0x1A
#define RG_DIV_DATA_3	0x1B
#define RG_TST_DATA_0	0x70
#define RG_TST_DATA_1	0x71
#define RG_TST_DATA_2	0x72
#define RG_TST_CTRL	0x73
#define RG_DBG_FQMTR	0xF0
#define RG_DBG_LPSEQ	0xF1
#define RG_DBG_STATE	0xF2
#define RG_DBG_CHKSUM	0xF3
#define RG_DID_LVTS	0xFC
#define RG_DID_REV	0xFD
#define RG_TSFM_RST	0xFF
/*==================================================
 * LVTS controller register
 *==================================================
 */
#define LVTSMONCTL0_0	0x000
#define LVTS_SINGLE_SENSE	BIT(9)
#define ENABLE_SENSING_POINT(num)	(LVTS_SINGLE_SENSE | GENMASK(((num) - 1), 0))
#define DISABLE_SENSING_POINT	(LVTS_SINGLE_SENSE | 0x0)
#define LVTSMONCTL1_0	0x004
#define LVTSMONCTL2_0	0x008
#define LVTSMONINT_0	0x00C
#define STAGE3_INT_EN	BIT(31)
#define LVTSMONINTSTS_0	0x010
#define LVTSMONIDET0_0	0x014
#define LVTSMONIDET1_0	0x018
#define LVTSMONIDET2_0	0x01C
#define LVTSMONIDET3_0	0x020
#define LVTSH2NTHRE_0	0x024
#define LVTSHTHRE_0	0x028
#define LVTSCTHRE_0	0x02C
#define LVTSOFFSETH_0	0x030
#define LVTSOFFSETL_0	0x034
#define LVTSMSRCTL0_0	0x038
#define LVTSMSRCTL1_0	0x03C
#define LVTSTSSEL_0	0x040
#define SET_SENSOR_INDEX	0x13121110
#define LVTSDEVICETO_0	0x044
#define LVTSCALSCALE_0	0x048
#define SET_CALC_SCALE_RULES	0x00000300
#define LVTS_ID_0	0x04C
#define LVTS_CONFIG_0	0x050

#define BROADCAST_ID_UPDATE	BIT(26)
#define DEVICE_SENSING_STATUS	BIT(25)
#define DEVICE_ACCESS_STARTUS	BIT(24)
#define WRITE_ACCESS		BIT(16)
#define DEVICE_WRITE		(BIT(31) | CK26M_ACTIVE | DEVICE_ACCESS_STARTUS \
				| BIT(17) | WRITE_ACCESS)
#define DEVICE_READ		(BIT(31) | CK26M_ACTIVE | DEVICE_ACCESS_STARTUS \
				| 1 << 17)
#define RESET_ALL_DEVICES	(DEVICE_WRITE | RG_TSFM_RST << 8 | 0xFF)
#define READ_BACK_DEVICE_ID	(BIT(31) | CK26M_ACTIVE | BROADCAST_ID_UPDATE	\
				| DEVICE_ACCESS_STARTUS | BIT(17)	\
				| RG_DID_LVTS << 8)
#define READ_DEVICE_REG(reg_idx)	(DEVICE_READ | (reg_idx) << 8 | 0x00)
#define LVTSEDATA00_0	0x054
#define LVTSEDATA01_0	0x058
#define LVTSEDATA02_0	0x05C
#define LVTSEDATA03_0	0x060
#define LVTSMSR0_0	0x090
#define MRS_RAW_MASK		GENMASK(15, 0)
#define MRS_RAW_VALID_BIT	BIT(16)
#define LVTSMSR1_0	0x094
#define LVTSMSR2_0	0x098
#define LVTSMSR3_0	0x09C
#define LVTSIMMD0_0	0x0A0
#define LVTSIMMD1_0	0x0A4
#define LVTSIMMD2_0	0x0A8
#define LVTSIMMD3_0	0x0AC
#define LVTSRDATA0_0	0x0B0
#define LVTSRDATA1_0	0x0B4
#define LVTSRDATA2_0	0x0B8
#define LVTSRDATA3_0	0x0BC
#define LVTSPROTCTL_0	0x0C0
#define PROTOFFSET	GENMASK(15, 0)
#define LVTSPROTTA_0	0x0C4
#define LVTSPROTTB_0	0x0C8
#define LVTSPROTTC_0	0x0CC
#define LVTSCLKEN_0	0x0E4
#define ENABLE_LVTS_CTRL_CLK	(1)
#define DISABLE_LVTS_CTRL_CLK	(0)
#define LVTSDBGSEL_0	0x0E8
#define LVTSDBGSIG_0	0x0EC
#define LVTSSPARE0_0	0x0F0
#define LVTSSPARE1_0	0x0F4
#define LVTSSPARE2_0	0x0F8
#define LVTSSPARE3_0	0x0FC

#define THERMINTST	0xF04
/*==================================================
 * LVTS register mask
 *==================================================
 */
#define THERMAL_COLD_INTERRUPT_0		0x00000001
#define THERMAL_HOT_INTERRUPT_0			0x00000002
#define THERMAL_LOW_OFFSET_INTERRUPT_0		0x00000004
#define THERMAL_HIGH_OFFSET_INTERRUPT_0		0x00000008
#define THERMAL_HOT2NORMAL_INTERRUPT_0		0x00000010
#define THERMAL_COLD_INTERRUPT_1		0x00000020
#define THERMAL_HOT_INTERRUPT_1			0x00000040
#define THERMAL_LOW_OFFSET_INTERRUPT_1		0x00000080
#define THERMAL_HIGH_OFFSET_INTERRUPT_1		0x00000100
#define THERMAL_HOT2NORMAL_INTERRUPT_1		0x00000200
#define THERMAL_COLD_INTERRUPT_2		0x00000400
#define THERMAL_HOT_INTERRUPT_2			0x00000800
#define THERMAL_LOW_OFFSET_INTERRUPT_2		0x00001000
#define THERMAL_HIGH_OFFSET_INTERRUPT_2		0x00002000
#define THERMAL_HOT2NORMAL_INTERRUPT_2		0x00004000
#define THERMAL_AHB_TIMEOUT_INTERRUPT		0x00008000
#define THERMAL_DEVICE_TIMEOUT_INTERRUPT	0x00008000
#define THERMAL_IMMEDIATE_INTERRUPT_0		0x00010000
#define THERMAL_IMMEDIATE_INTERRUPT_1		0x00020000
#define THERMAL_IMMEDIATE_INTERRUPT_2		0x00040000
#define THERMAL_FILTER_INTERRUPT_0		0x00080000
#define THERMAL_FILTER_INTERRUPT_1		0x00100000
#define THERMAL_FILTER_INTERRUPT_2		0x00200000
#define THERMAL_COLD_INTERRUPT_3		0x00400000
#define THERMAL_HOT_INTERRUPT_3			0x00800000
#define THERMAL_LOW_OFFSET_INTERRUPT_3		0x01000000
#define THERMAL_HIGH_OFFSET_INTERRUPT_3		0x02000000
#define THERMAL_HOT2NORMAL_INTERRUPT_3		0x04000000
#define THERMAL_IMMEDIATE_INTERRUPT_3		0x08000000
#define THERMAL_FILTER_INTERRUPT_3		0x10000000
#define THERMAL_PROTECTION_STAGE_1		0x20000000
#define THERMAL_PROTECTION_STAGE_2		0x40000000
#define THERMAL_PROTECTION_STAGE_3		0x80000000
#endif /* __MTK_SOC_TEMP_LVTS_H__ */
