xref: /openbmc/u-boot/arch/arm/include/asm/arch-mxs/regs-power-mx23.h (revision 83d290c56fab2d38cd1ab4c4cc7099559c1d5046)
1*83d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */
206dc8160SMarek Vasut /*
306dc8160SMarek Vasut  * Freescale i.MX23 Power Controller Register Definitions
406dc8160SMarek Vasut  *
506dc8160SMarek Vasut  * Copyright (C) 2012 Marek Vasut <marex@denx.de>
606dc8160SMarek Vasut  */
706dc8160SMarek Vasut 
806dc8160SMarek Vasut #ifndef __MX23_REGS_POWER_H__
906dc8160SMarek Vasut #define __MX23_REGS_POWER_H__
1006dc8160SMarek Vasut 
11552a848eSStefano Babic #include <asm/mach-imx/regs-common.h>
1206dc8160SMarek Vasut 
1306dc8160SMarek Vasut #ifndef	__ASSEMBLY__
1406dc8160SMarek Vasut struct mxs_power_regs {
1506dc8160SMarek Vasut 	mxs_reg_32(hw_power_ctrl)
1606dc8160SMarek Vasut 	mxs_reg_32(hw_power_5vctrl)
1706dc8160SMarek Vasut 	mxs_reg_32(hw_power_minpwr)
1806dc8160SMarek Vasut 	mxs_reg_32(hw_power_charge)
1906dc8160SMarek Vasut 	uint32_t	hw_power_vdddctrl;
2006dc8160SMarek Vasut 	uint32_t	reserved_vddd[3];
2106dc8160SMarek Vasut 	uint32_t	hw_power_vddactrl;
2206dc8160SMarek Vasut 	uint32_t	reserved_vdda[3];
2306dc8160SMarek Vasut 	uint32_t	hw_power_vddioctrl;
2406dc8160SMarek Vasut 	uint32_t	reserved_vddio[3];
2506dc8160SMarek Vasut 	uint32_t	hw_power_vddmemctrl;
2606dc8160SMarek Vasut 	uint32_t	reserved_vddmem[3];
2706dc8160SMarek Vasut 	uint32_t	hw_power_dcdc4p2;
2806dc8160SMarek Vasut 	uint32_t	reserved_dcdc4p2[3];
2906dc8160SMarek Vasut 	uint32_t	hw_power_misc;
3006dc8160SMarek Vasut 	uint32_t	reserved_misc[3];
3106dc8160SMarek Vasut 	uint32_t	hw_power_dclimits;
3206dc8160SMarek Vasut 	uint32_t	reserved_dclimits[3];
3306dc8160SMarek Vasut 	mxs_reg_32(hw_power_loopctrl)
3406dc8160SMarek Vasut 	uint32_t	hw_power_sts;
3506dc8160SMarek Vasut 	uint32_t	reserved_sts[3];
3606dc8160SMarek Vasut 	mxs_reg_32(hw_power_speed)
3706dc8160SMarek Vasut 	uint32_t	hw_power_battmonitor;
3806dc8160SMarek Vasut 	uint32_t	reserved_battmonitor[3];
3906dc8160SMarek Vasut 
4006dc8160SMarek Vasut 	uint32_t	reserved1[4];
4106dc8160SMarek Vasut 
4206dc8160SMarek Vasut 	mxs_reg_32(hw_power_reset)
4306dc8160SMarek Vasut 
4406dc8160SMarek Vasut 	uint32_t	reserved2[4];
4506dc8160SMarek Vasut 
4606dc8160SMarek Vasut 	mxs_reg_32(hw_power_special)
4706dc8160SMarek Vasut 	mxs_reg_32(hw_power_version)
4806dc8160SMarek Vasut };
4906dc8160SMarek Vasut #endif
5006dc8160SMarek Vasut 
5106dc8160SMarek Vasut #define	POWER_CTRL_CLKGATE				(1 << 30)
5206dc8160SMarek Vasut #define	POWER_CTRL_PSWITCH_MID_TRAN			(1 << 27)
5306dc8160SMarek Vasut #define	POWER_CTRL_DCDC4P2_BO_IRQ			(1 << 24)
5406dc8160SMarek Vasut #define	POWER_CTRL_ENIRQ_DCDC4P2_BO			(1 << 23)
5506dc8160SMarek Vasut #define	POWER_CTRL_VDD5V_DROOP_IRQ			(1 << 22)
5606dc8160SMarek Vasut #define	POWER_CTRL_ENIRQ_VDD5V_DROOP			(1 << 21)
5706dc8160SMarek Vasut #define	POWER_CTRL_PSWITCH_IRQ				(1 << 20)
5806dc8160SMarek Vasut #define	POWER_CTRL_PSWITCH_IRQ_SRC			(1 << 19)
5906dc8160SMarek Vasut #define	POWER_CTRL_POLARITY_PSWITCH			(1 << 18)
6006dc8160SMarek Vasut #define	POWER_CTRL_ENIRQ_PSWITCH			(1 << 17)
6106dc8160SMarek Vasut #define	POWER_CTRL_POLARITY_DC_OK			(1 << 16)
6206dc8160SMarek Vasut #define	POWER_CTRL_DC_OK_IRQ				(1 << 15)
6306dc8160SMarek Vasut #define	POWER_CTRL_ENIRQ_DC_OK				(1 << 14)
6406dc8160SMarek Vasut #define	POWER_CTRL_BATT_BO_IRQ				(1 << 13)
6506dc8160SMarek Vasut #define	POWER_CTRL_ENIRQ_BATT_BO			(1 << 12)
6606dc8160SMarek Vasut #define	POWER_CTRL_VDDIO_BO_IRQ				(1 << 11)
6706dc8160SMarek Vasut #define	POWER_CTRL_ENIRQ_VDDIO_BO			(1 << 10)
6806dc8160SMarek Vasut #define	POWER_CTRL_VDDA_BO_IRQ				(1 << 9)
6906dc8160SMarek Vasut #define	POWER_CTRL_ENIRQ_VDDA_BO			(1 << 8)
7006dc8160SMarek Vasut #define	POWER_CTRL_VDDD_BO_IRQ				(1 << 7)
7106dc8160SMarek Vasut #define	POWER_CTRL_ENIRQ_VDDD_BO			(1 << 6)
7206dc8160SMarek Vasut #define	POWER_CTRL_POLARITY_VBUSVALID			(1 << 5)
7306dc8160SMarek Vasut #define	POWER_CTRL_VBUS_VALID_IRQ			(1 << 4)
7406dc8160SMarek Vasut #define	POWER_CTRL_ENIRQ_VBUS_VALID			(1 << 3)
7506dc8160SMarek Vasut #define	POWER_CTRL_POLARITY_VDD5V_GT_VDDIO		(1 << 2)
7606dc8160SMarek Vasut #define	POWER_CTRL_VDD5V_GT_VDDIO_IRQ			(1 << 1)
7706dc8160SMarek Vasut #define	POWER_CTRL_ENIRQ_VDD5V_GT_VDDIO			(1 << 0)
7806dc8160SMarek Vasut 
7906dc8160SMarek Vasut #define	POWER_5VCTRL_VBUSDROOP_TRSH_MASK		(0x3 << 28)
8006dc8160SMarek Vasut #define	POWER_5VCTRL_VBUSDROOP_TRSH_OFFSET		28
8106dc8160SMarek Vasut #define	POWER_5VCTRL_VBUSDROOP_TRSH_4V3			(0x0 << 28)
8206dc8160SMarek Vasut #define	POWER_5VCTRL_VBUSDROOP_TRSH_4V4			(0x1 << 28)
8306dc8160SMarek Vasut #define	POWER_5VCTRL_VBUSDROOP_TRSH_4V5			(0x2 << 28)
8406dc8160SMarek Vasut #define	POWER_5VCTRL_VBUSDROOP_TRSH_4V7			(0x3 << 28)
8506dc8160SMarek Vasut #define	POWER_5VCTRL_HEADROOM_ADJ_MASK			(0x7 << 24)
8606dc8160SMarek Vasut #define	POWER_5VCTRL_HEADROOM_ADJ_OFFSET		24
8706dc8160SMarek Vasut #define	POWER_5VCTRL_PWD_CHARGE_4P2_MASK		(0x1 << 20)
8806dc8160SMarek Vasut #define	POWER_5VCTRL_PWD_CHARGE_4P2_OFFSET		20
8906dc8160SMarek Vasut #define	POWER_5VCTRL_CHARGE_4P2_ILIMIT_MASK		(0x3f << 12)
9006dc8160SMarek Vasut #define	POWER_5VCTRL_CHARGE_4P2_ILIMIT_OFFSET		12
9106dc8160SMarek Vasut #define	POWER_5VCTRL_VBUSVALID_TRSH_MASK		(0x7 << 8)
9206dc8160SMarek Vasut #define	POWER_5VCTRL_VBUSVALID_TRSH_OFFSET		8
9306dc8160SMarek Vasut #define	POWER_5VCTRL_VBUSVALID_TRSH_2V9			(0x0 << 8)
9406dc8160SMarek Vasut #define	POWER_5VCTRL_VBUSVALID_TRSH_4V0			(0x1 << 8)
9506dc8160SMarek Vasut #define	POWER_5VCTRL_VBUSVALID_TRSH_4V1			(0x2 << 8)
9606dc8160SMarek Vasut #define	POWER_5VCTRL_VBUSVALID_TRSH_4V2			(0x3 << 8)
9706dc8160SMarek Vasut #define	POWER_5VCTRL_VBUSVALID_TRSH_4V3			(0x4 << 8)
9806dc8160SMarek Vasut #define	POWER_5VCTRL_VBUSVALID_TRSH_4V4			(0x5 << 8)
9906dc8160SMarek Vasut #define	POWER_5VCTRL_VBUSVALID_TRSH_4V5			(0x6 << 8)
10006dc8160SMarek Vasut #define	POWER_5VCTRL_VBUSVALID_TRSH_4V6			(0x7 << 8)
10106dc8160SMarek Vasut #define	POWER_5VCTRL_PWDN_5VBRNOUT			(1 << 7)
10206dc8160SMarek Vasut #define	POWER_5VCTRL_ENABLE_LINREG_ILIMIT		(1 << 6)
10306dc8160SMarek Vasut #define	POWER_5VCTRL_DCDC_XFER				(1 << 5)
10406dc8160SMarek Vasut #define	POWER_5VCTRL_VBUSVALID_5VDETECT			(1 << 4)
10506dc8160SMarek Vasut #define	POWER_5VCTRL_VBUSVALID_TO_B			(1 << 3)
10606dc8160SMarek Vasut #define	POWER_5VCTRL_ILIMIT_EQ_ZERO			(1 << 2)
10706dc8160SMarek Vasut #define	POWER_5VCTRL_PWRUP_VBUS_CMPS			(1 << 1)
10806dc8160SMarek Vasut #define	POWER_5VCTRL_ENABLE_DCDC			(1 << 0)
10906dc8160SMarek Vasut 
11006dc8160SMarek Vasut #define	POWER_MINPWR_LOWPWR_4P2				(1 << 14)
11106dc8160SMarek Vasut #define	POWER_MINPWR_VDAC_DUMP_CTRL			(1 << 13)
11206dc8160SMarek Vasut #define	POWER_MINPWR_PWD_BO				(1 << 12)
11306dc8160SMarek Vasut #define	POWER_MINPWR_USE_VDDXTAL_VBG			(1 << 11)
11406dc8160SMarek Vasut #define	POWER_MINPWR_PWD_ANA_CMPS			(1 << 10)
11506dc8160SMarek Vasut #define	POWER_MINPWR_ENABLE_OSC				(1 << 9)
11606dc8160SMarek Vasut #define	POWER_MINPWR_SELECT_OSC				(1 << 8)
11706dc8160SMarek Vasut #define	POWER_MINPWR_VBG_OFF				(1 << 7)
11806dc8160SMarek Vasut #define	POWER_MINPWR_DOUBLE_FETS			(1 << 6)
11906dc8160SMarek Vasut #define	POWER_MINPWR_HALFFETS				(1 << 5)
12006dc8160SMarek Vasut #define	POWER_MINPWR_LESSANA_I				(1 << 4)
12106dc8160SMarek Vasut #define	POWER_MINPWR_PWD_XTAL24				(1 << 3)
12206dc8160SMarek Vasut #define	POWER_MINPWR_DC_STOPCLK				(1 << 2)
12306dc8160SMarek Vasut #define	POWER_MINPWR_EN_DC_PFM				(1 << 1)
12406dc8160SMarek Vasut #define	POWER_MINPWR_DC_HALFCLK				(1 << 0)
12506dc8160SMarek Vasut 
12606dc8160SMarek Vasut #define	POWER_CHARGE_ADJ_VOLT_MASK			(0x7 << 24)
12706dc8160SMarek Vasut #define	POWER_CHARGE_ADJ_VOLT_OFFSET			24
12806dc8160SMarek Vasut #define	POWER_CHARGE_ADJ_VOLT_M025P			(0x1 << 24)
12906dc8160SMarek Vasut #define	POWER_CHARGE_ADJ_VOLT_P050P			(0x2 << 24)
13006dc8160SMarek Vasut #define	POWER_CHARGE_ADJ_VOLT_M075P			(0x3 << 24)
13106dc8160SMarek Vasut #define	POWER_CHARGE_ADJ_VOLT_P025P			(0x4 << 24)
13206dc8160SMarek Vasut #define	POWER_CHARGE_ADJ_VOLT_M050P			(0x5 << 24)
13306dc8160SMarek Vasut #define	POWER_CHARGE_ADJ_VOLT_P075P			(0x6 << 24)
13406dc8160SMarek Vasut #define	POWER_CHARGE_ADJ_VOLT_M100P			(0x7 << 24)
13506dc8160SMarek Vasut #define	POWER_CHARGE_ENABLE_LOAD			(1 << 22)
13606dc8160SMarek Vasut #define	POWER_CHARGE_ENABLE_CHARGER_RESISTORS		(1 << 21)
13706dc8160SMarek Vasut #define	POWER_CHARGE_ENABLE_FAULT_DETECT		(1 << 20)
13806dc8160SMarek Vasut #define	POWER_CHARGE_CHRG_STS_OFF			(1 << 19)
13906dc8160SMarek Vasut #define	POWER_CHARGE_USE_EXTERN_R			(1 << 17)
14006dc8160SMarek Vasut #define	POWER_CHARGE_PWD_BATTCHRG			(1 << 16)
14106dc8160SMarek Vasut #define	POWER_CHARGE_STOP_ILIMIT_MASK			(0xf << 8)
14206dc8160SMarek Vasut #define	POWER_CHARGE_STOP_ILIMIT_OFFSET			8
14306dc8160SMarek Vasut #define	POWER_CHARGE_STOP_ILIMIT_10MA			(0x1 << 8)
14406dc8160SMarek Vasut #define	POWER_CHARGE_STOP_ILIMIT_20MA			(0x2 << 8)
14506dc8160SMarek Vasut #define	POWER_CHARGE_STOP_ILIMIT_50MA			(0x4 << 8)
14606dc8160SMarek Vasut #define	POWER_CHARGE_STOP_ILIMIT_100MA			(0x8 << 8)
14706dc8160SMarek Vasut #define	POWER_CHARGE_BATTCHRG_I_MASK			0x3f
14806dc8160SMarek Vasut #define	POWER_CHARGE_BATTCHRG_I_OFFSET			0
14906dc8160SMarek Vasut #define	POWER_CHARGE_BATTCHRG_I_10MA			0x01
15006dc8160SMarek Vasut #define	POWER_CHARGE_BATTCHRG_I_20MA			0x02
15106dc8160SMarek Vasut #define	POWER_CHARGE_BATTCHRG_I_50MA			0x04
15206dc8160SMarek Vasut #define	POWER_CHARGE_BATTCHRG_I_100MA			0x08
15306dc8160SMarek Vasut #define	POWER_CHARGE_BATTCHRG_I_200MA			0x10
15406dc8160SMarek Vasut #define	POWER_CHARGE_BATTCHRG_I_400MA			0x20
15506dc8160SMarek Vasut 
15606dc8160SMarek Vasut #define	POWER_VDDDCTRL_ADJTN_MASK			(0xf << 28)
15706dc8160SMarek Vasut #define	POWER_VDDDCTRL_ADJTN_OFFSET			28
15806dc8160SMarek Vasut #define	POWER_VDDDCTRL_PWDN_BRNOUT			(1 << 23)
15906dc8160SMarek Vasut #define	POWER_VDDDCTRL_DISABLE_STEPPING			(1 << 22)
16006dc8160SMarek Vasut #define	POWER_VDDDCTRL_ENABLE_LINREG			(1 << 21)
16106dc8160SMarek Vasut #define	POWER_VDDDCTRL_DISABLE_FET			(1 << 20)
16206dc8160SMarek Vasut #define	POWER_VDDDCTRL_LINREG_OFFSET_MASK		(0x3 << 16)
16306dc8160SMarek Vasut #define	POWER_VDDDCTRL_LINREG_OFFSET_OFFSET		16
16406dc8160SMarek Vasut #define	POWER_VDDDCTRL_LINREG_OFFSET_0STEPS		(0x0 << 16)
16506dc8160SMarek Vasut #define	POWER_VDDDCTRL_LINREG_OFFSET_1STEPS_ABOVE	(0x1 << 16)
16606dc8160SMarek Vasut #define	POWER_VDDDCTRL_LINREG_OFFSET_1STEPS_BELOW	(0x2 << 16)
16706dc8160SMarek Vasut #define	POWER_VDDDCTRL_LINREG_OFFSET_2STEPS_BELOW	(0x3 << 16)
16806dc8160SMarek Vasut #define	POWER_VDDDCTRL_BO_OFFSET_MASK			(0x7 << 8)
16906dc8160SMarek Vasut #define	POWER_VDDDCTRL_BO_OFFSET_OFFSET			8
17006dc8160SMarek Vasut #define	POWER_VDDDCTRL_TRG_MASK				0x1f
17106dc8160SMarek Vasut #define	POWER_VDDDCTRL_TRG_OFFSET			0
17206dc8160SMarek Vasut 
17306dc8160SMarek Vasut #define	POWER_VDDACTRL_PWDN_BRNOUT			(1 << 19)
17406dc8160SMarek Vasut #define	POWER_VDDACTRL_DISABLE_STEPPING			(1 << 18)
17506dc8160SMarek Vasut #define	POWER_VDDACTRL_ENABLE_LINREG			(1 << 17)
17606dc8160SMarek Vasut #define	POWER_VDDACTRL_DISABLE_FET			(1 << 16)
17706dc8160SMarek Vasut #define	POWER_VDDACTRL_LINREG_OFFSET_MASK		(0x3 << 12)
17806dc8160SMarek Vasut #define	POWER_VDDACTRL_LINREG_OFFSET_OFFSET		12
17906dc8160SMarek Vasut #define	POWER_VDDACTRL_LINREG_OFFSET_0STEPS		(0x0 << 12)
18006dc8160SMarek Vasut #define	POWER_VDDACTRL_LINREG_OFFSET_1STEPS_ABOVE	(0x1 << 12)
18106dc8160SMarek Vasut #define	POWER_VDDACTRL_LINREG_OFFSET_1STEPS_BELOW	(0x2 << 12)
18206dc8160SMarek Vasut #define	POWER_VDDACTRL_LINREG_OFFSET_2STEPS_BELOW	(0x3 << 12)
18306dc8160SMarek Vasut #define	POWER_VDDACTRL_BO_OFFSET_MASK			(0x7 << 8)
18406dc8160SMarek Vasut #define	POWER_VDDACTRL_BO_OFFSET_OFFSET			8
18506dc8160SMarek Vasut #define	POWER_VDDACTRL_TRG_MASK				0x1f
18606dc8160SMarek Vasut #define	POWER_VDDACTRL_TRG_OFFSET			0
18706dc8160SMarek Vasut 
18806dc8160SMarek Vasut #define	POWER_VDDIOCTRL_ADJTN_MASK			(0xf << 20)
18906dc8160SMarek Vasut #define	POWER_VDDIOCTRL_ADJTN_OFFSET			20
19006dc8160SMarek Vasut #define	POWER_VDDIOCTRL_PWDN_BRNOUT			(1 << 18)
19106dc8160SMarek Vasut #define	POWER_VDDIOCTRL_DISABLE_STEPPING		(1 << 17)
19206dc8160SMarek Vasut #define	POWER_VDDIOCTRL_DISABLE_FET			(1 << 16)
19306dc8160SMarek Vasut #define	POWER_VDDIOCTRL_LINREG_OFFSET_MASK		(0x3 << 12)
19406dc8160SMarek Vasut #define	POWER_VDDIOCTRL_LINREG_OFFSET_OFFSET		12
19506dc8160SMarek Vasut #define	POWER_VDDIOCTRL_LINREG_OFFSET_0STEPS		(0x0 << 12)
19606dc8160SMarek Vasut #define	POWER_VDDIOCTRL_LINREG_OFFSET_1STEPS_ABOVE	(0x1 << 12)
19706dc8160SMarek Vasut #define	POWER_VDDIOCTRL_LINREG_OFFSET_1STEPS_BELOW	(0x2 << 12)
19806dc8160SMarek Vasut #define	POWER_VDDIOCTRL_LINREG_OFFSET_2STEPS_BELOW	(0x3 << 12)
19906dc8160SMarek Vasut #define	POWER_VDDIOCTRL_BO_OFFSET_MASK			(0x7 << 8)
20006dc8160SMarek Vasut #define	POWER_VDDIOCTRL_BO_OFFSET_OFFSET		8
20106dc8160SMarek Vasut #define	POWER_VDDIOCTRL_TRG_MASK			0x1f
20206dc8160SMarek Vasut #define	POWER_VDDIOCTRL_TRG_OFFSET			0
20306dc8160SMarek Vasut 
20406dc8160SMarek Vasut #define	POWER_VDDMEMCTRL_PULLDOWN_ACTIVE		(1 << 10)
20506dc8160SMarek Vasut #define	POWER_VDDMEMCTRL_ENABLE_ILIMIT			(1 << 9)
20606dc8160SMarek Vasut #define	POWER_VDDMEMCTRL_ENABLE_LINREG			(1 << 8)
20706dc8160SMarek Vasut #define	POWER_VDDMEMCTRL_TRG_MASK			0x1f
20806dc8160SMarek Vasut #define	POWER_VDDMEMCTRL_TRG_OFFSET			0
20906dc8160SMarek Vasut 
21006dc8160SMarek Vasut #define	POWER_DCDC4P2_DROPOUT_CTRL_MASK			(0xf << 28)
21106dc8160SMarek Vasut #define	POWER_DCDC4P2_DROPOUT_CTRL_OFFSET		28
21206dc8160SMarek Vasut #define	POWER_DCDC4P2_DROPOUT_CTRL_200MV		(0x3 << 30)
21306dc8160SMarek Vasut #define	POWER_DCDC4P2_DROPOUT_CTRL_100MV		(0x2 << 30)
21406dc8160SMarek Vasut #define	POWER_DCDC4P2_DROPOUT_CTRL_50MV			(0x1 << 30)
21506dc8160SMarek Vasut #define	POWER_DCDC4P2_DROPOUT_CTRL_25MV			(0x0 << 30)
21606dc8160SMarek Vasut #define	POWER_DCDC4P2_DROPOUT_CTRL_SRC_4P2		(0x0 << 28)
21706dc8160SMarek Vasut #define	POWER_DCDC4P2_DROPOUT_CTRL_SRC_4P2_LT_BATT	(0x1 << 28)
21806dc8160SMarek Vasut #define	POWER_DCDC4P2_DROPOUT_CTRL_SRC_SEL		(0x2 << 28)
21906dc8160SMarek Vasut #define	POWER_DCDC4P2_ISTEAL_THRESH_MASK		(0x3 << 24)
22006dc8160SMarek Vasut #define	POWER_DCDC4P2_ISTEAL_THRESH_OFFSET		24
22106dc8160SMarek Vasut #define	POWER_DCDC4P2_ENABLE_4P2			(1 << 23)
22206dc8160SMarek Vasut #define	POWER_DCDC4P2_ENABLE_DCDC			(1 << 22)
22306dc8160SMarek Vasut #define	POWER_DCDC4P2_HYST_DIR				(1 << 21)
22406dc8160SMarek Vasut #define	POWER_DCDC4P2_HYST_THRESH			(1 << 20)
22506dc8160SMarek Vasut #define	POWER_DCDC4P2_TRG_MASK				(0x7 << 16)
22606dc8160SMarek Vasut #define	POWER_DCDC4P2_TRG_OFFSET			16
22706dc8160SMarek Vasut #define	POWER_DCDC4P2_TRG_4V2				(0x0 << 16)
22806dc8160SMarek Vasut #define	POWER_DCDC4P2_TRG_4V1				(0x1 << 16)
22906dc8160SMarek Vasut #define	POWER_DCDC4P2_TRG_4V0				(0x2 << 16)
23006dc8160SMarek Vasut #define	POWER_DCDC4P2_TRG_3V9				(0x3 << 16)
23106dc8160SMarek Vasut #define	POWER_DCDC4P2_TRG_BATT				(0x4 << 16)
23206dc8160SMarek Vasut #define	POWER_DCDC4P2_BO_MASK				(0x1f << 8)
23306dc8160SMarek Vasut #define	POWER_DCDC4P2_BO_OFFSET				8
23406dc8160SMarek Vasut #define	POWER_DCDC4P2_CMPTRIP_MASK			0x1f
23506dc8160SMarek Vasut #define	POWER_DCDC4P2_CMPTRIP_OFFSET			0
23606dc8160SMarek Vasut 
23706dc8160SMarek Vasut #define	POWER_MISC_FREQSEL_MASK				(0x7 << 4)
23806dc8160SMarek Vasut #define	POWER_MISC_FREQSEL_OFFSET			4
23906dc8160SMarek Vasut #define	POWER_MISC_FREQSEL_20MHZ			(0x1 << 4)
24006dc8160SMarek Vasut #define	POWER_MISC_FREQSEL_24MHZ			(0x2 << 4)
24106dc8160SMarek Vasut #define	POWER_MISC_FREQSEL_19MHZ			(0x3 << 4)
24206dc8160SMarek Vasut #define	POWER_MISC_FREQSEL_14MHZ			(0x4 << 4)
24306dc8160SMarek Vasut #define	POWER_MISC_FREQSEL_18MHZ			(0x5 << 4)
24406dc8160SMarek Vasut #define	POWER_MISC_FREQSEL_21MHZ			(0x6 << 4)
24506dc8160SMarek Vasut #define	POWER_MISC_FREQSEL_17MHZ			(0x7 << 4)
24606dc8160SMarek Vasut #define	POWER_MISC_DISABLE_FET_BO_LOGIC			(1 << 3)
24706dc8160SMarek Vasut #define	POWER_MISC_DELAY_TIMING				(1 << 2)
24806dc8160SMarek Vasut #define	POWER_MISC_TEST					(1 << 1)
24906dc8160SMarek Vasut #define	POWER_MISC_SEL_PLLCLK				(1 << 0)
25006dc8160SMarek Vasut 
25106dc8160SMarek Vasut #define	POWER_DCLIMITS_POSLIMIT_BUCK_MASK		(0x7f << 8)
25206dc8160SMarek Vasut #define	POWER_DCLIMITS_POSLIMIT_BUCK_OFFSET		8
25306dc8160SMarek Vasut #define	POWER_DCLIMITS_NEGLIMIT_MASK			0x7f
25406dc8160SMarek Vasut #define	POWER_DCLIMITS_NEGLIMIT_OFFSET			0
25506dc8160SMarek Vasut 
25606dc8160SMarek Vasut #define	POWER_LOOPCTRL_TOGGLE_DIF			(1 << 20)
25706dc8160SMarek Vasut #define	POWER_LOOPCTRL_HYST_SIGN			(1 << 19)
25806dc8160SMarek Vasut #define	POWER_LOOPCTRL_EN_CM_HYST			(1 << 18)
25906dc8160SMarek Vasut #define	POWER_LOOPCTRL_EN_DF_HYST			(1 << 17)
26006dc8160SMarek Vasut #define	POWER_LOOPCTRL_CM_HYST_THRESH			(1 << 16)
26106dc8160SMarek Vasut #define	POWER_LOOPCTRL_DF_HYST_THRESH			(1 << 15)
26206dc8160SMarek Vasut #define	POWER_LOOPCTRL_RCSCALE_THRESH			(1 << 14)
26306dc8160SMarek Vasut #define	POWER_LOOPCTRL_EN_RCSCALE_MASK			(0x3 << 12)
26406dc8160SMarek Vasut #define	POWER_LOOPCTRL_EN_RCSCALE_OFFSET		12
26506dc8160SMarek Vasut #define	POWER_LOOPCTRL_EN_RCSCALE_DIS			(0x0 << 12)
26606dc8160SMarek Vasut #define	POWER_LOOPCTRL_EN_RCSCALE_2X			(0x1 << 12)
26706dc8160SMarek Vasut #define	POWER_LOOPCTRL_EN_RCSCALE_4X			(0x2 << 12)
26806dc8160SMarek Vasut #define	POWER_LOOPCTRL_EN_RCSCALE_8X			(0x3 << 12)
26906dc8160SMarek Vasut #define	POWER_LOOPCTRL_DC_FF_MASK			(0x7 << 8)
27006dc8160SMarek Vasut #define	POWER_LOOPCTRL_DC_FF_OFFSET			8
27106dc8160SMarek Vasut #define	POWER_LOOPCTRL_DC_R_MASK			(0xf << 4)
27206dc8160SMarek Vasut #define	POWER_LOOPCTRL_DC_R_OFFSET			4
27306dc8160SMarek Vasut #define	POWER_LOOPCTRL_DC_C_MASK			0x3
27406dc8160SMarek Vasut #define	POWER_LOOPCTRL_DC_C_OFFSET			0
27506dc8160SMarek Vasut #define	POWER_LOOPCTRL_DC_C_MAX				0x0
27606dc8160SMarek Vasut #define	POWER_LOOPCTRL_DC_C_2X				0x1
27706dc8160SMarek Vasut #define	POWER_LOOPCTRL_DC_C_4X				0x2
27806dc8160SMarek Vasut #define	POWER_LOOPCTRL_DC_C_MIN				0x3
27906dc8160SMarek Vasut 
28006dc8160SMarek Vasut #define	POWER_STS_PWRUP_SOURCE_MASK			(0x3f << 24)
28106dc8160SMarek Vasut #define	POWER_STS_PWRUP_SOURCE_OFFSET			24
28206dc8160SMarek Vasut #define	POWER_STS_PWRUP_SOURCE_5V			(0x20 << 24)
28306dc8160SMarek Vasut #define	POWER_STS_PWRUP_SOURCE_RTC			(0x10 << 24)
28406dc8160SMarek Vasut #define	POWER_STS_PWRUP_SOURCE_PSWITCH_HIGH		(0x02 << 24)
28506dc8160SMarek Vasut #define	POWER_STS_PWRUP_SOURCE_PSWITCH_MID		(0x01 << 24)
28606dc8160SMarek Vasut #define	POWER_STS_PSWITCH_MASK				(0x3 << 20)
28706dc8160SMarek Vasut #define	POWER_STS_PSWITCH_OFFSET			20
28806dc8160SMarek Vasut #define	POWER_STS_AVALID0_STATUS			(1 << 17)
28906dc8160SMarek Vasut #define	POWER_STS_BVALID0_STATUS			(1 << 16)
29006dc8160SMarek Vasut #define	POWER_STS_VBUSVALID0_STATUS			(1 << 15)
29106dc8160SMarek Vasut #define	POWER_STS_SESSEND0_STATUS			(1 << 14)
29206dc8160SMarek Vasut #define	POWER_STS_BATT_BO				(1 << 13)
29306dc8160SMarek Vasut #define	POWER_STS_VDD5V_FAULT				(1 << 12)
29406dc8160SMarek Vasut #define	POWER_STS_CHRGSTS				(1 << 11)
29506dc8160SMarek Vasut #define	POWER_STS_DCDC_4P2_BO				(1 << 10)
29606dc8160SMarek Vasut #define	POWER_STS_DC_OK					(1 << 9)
29706dc8160SMarek Vasut #define	POWER_STS_VDDIO_BO				(1 << 8)
29806dc8160SMarek Vasut #define	POWER_STS_VDDA_BO				(1 << 7)
29906dc8160SMarek Vasut #define	POWER_STS_VDDD_BO				(1 << 6)
30006dc8160SMarek Vasut #define	POWER_STS_VDD5V_GT_VDDIO			(1 << 5)
30106dc8160SMarek Vasut #define	POWER_STS_VDD5V_DROOP				(1 << 4)
30206dc8160SMarek Vasut #define	POWER_STS_AVALID0				(1 << 3)
30306dc8160SMarek Vasut #define	POWER_STS_BVALID0				(1 << 2)
30406dc8160SMarek Vasut #define	POWER_STS_VBUSVALID0				(1 << 1)
30506dc8160SMarek Vasut #define	POWER_STS_SESSEND0				(1 << 0)
30606dc8160SMarek Vasut 
30706dc8160SMarek Vasut #define	POWER_SPEED_STATUS_MASK				(0xff << 16)
30806dc8160SMarek Vasut #define	POWER_SPEED_STATUS_OFFSET			16
30906dc8160SMarek Vasut #define	POWER_SPEED_CTRL_MASK				0x3
31006dc8160SMarek Vasut #define	POWER_SPEED_CTRL_OFFSET				0
31106dc8160SMarek Vasut #define	POWER_SPEED_CTRL_SS_OFF				0x0
31206dc8160SMarek Vasut #define	POWER_SPEED_CTRL_SS_ON				0x1
31306dc8160SMarek Vasut #define	POWER_SPEED_CTRL_SS_ENABLE			0x3
31406dc8160SMarek Vasut 
31506dc8160SMarek Vasut #define	POWER_BATTMONITOR_BATT_VAL_MASK			(0x3ff << 16)
31606dc8160SMarek Vasut #define	POWER_BATTMONITOR_BATT_VAL_OFFSET		16
31706dc8160SMarek Vasut #define	POWER_BATTMONITOR_EN_BATADJ			(1 << 10)
31806dc8160SMarek Vasut #define	POWER_BATTMONITOR_PWDN_BATTBRNOUT		(1 << 9)
31906dc8160SMarek Vasut #define	POWER_BATTMONITOR_BRWNOUT_PWD			(1 << 8)
32006dc8160SMarek Vasut #define	POWER_BATTMONITOR_BRWNOUT_LVL_MASK		0x1f
32106dc8160SMarek Vasut #define	POWER_BATTMONITOR_BRWNOUT_LVL_OFFSET		0
32206dc8160SMarek Vasut 
32306dc8160SMarek Vasut #define	POWER_RESET_UNLOCK_MASK				(0xffff << 16)
32406dc8160SMarek Vasut #define	POWER_RESET_UNLOCK_OFFSET			16
32506dc8160SMarek Vasut #define	POWER_RESET_UNLOCK_KEY				(0x3e77 << 16)
32606dc8160SMarek Vasut #define	POWER_RESET_PWD_OFF				(1 << 1)
32706dc8160SMarek Vasut #define	POWER_RESET_PWD					(1 << 0)
32806dc8160SMarek Vasut 
32906dc8160SMarek Vasut #define	POWER_DEBUG_VBUSVALIDPIOLOCK			(1 << 3)
33006dc8160SMarek Vasut #define	POWER_DEBUG_AVALIDPIOLOCK			(1 << 2)
33106dc8160SMarek Vasut #define	POWER_DEBUG_BVALIDPIOLOCK			(1 << 1)
33206dc8160SMarek Vasut #define	POWER_DEBUG_SESSENDPIOLOCK			(1 << 0)
33306dc8160SMarek Vasut 
33406dc8160SMarek Vasut #define	POWER_SPECIAL_TEST_MASK				0xffffffff
33506dc8160SMarek Vasut #define	POWER_SPECIAL_TEST_OFFSET			0
33606dc8160SMarek Vasut 
33706dc8160SMarek Vasut #define	POWER_VERSION_MAJOR_MASK			(0xff << 24)
33806dc8160SMarek Vasut #define	POWER_VERSION_MAJOR_OFFSET			24
33906dc8160SMarek Vasut #define	POWER_VERSION_MINOR_MASK			(0xff << 16)
34006dc8160SMarek Vasut #define	POWER_VERSION_MINOR_OFFSET			16
34106dc8160SMarek Vasut #define	POWER_VERSION_STEP_MASK				0xffff
34206dc8160SMarek Vasut #define	POWER_VERSION_STEP_OFFSET			0
34306dc8160SMarek Vasut 
34406dc8160SMarek Vasut #endif	/* __MX23_REGS_POWER_H__ */
345