xref: /openbmc/linux/drivers/regulator/da9121-regulator.h (revision 03ab8e6297acd1bc0eedaa050e2a1635c576fd11)
186f162c9SAdam Ward /* SPDX-License-Identifier: GPL-2.0+ */
286f162c9SAdam Ward /*
386f162c9SAdam Ward  * DA9121 Single-channel dual-phase 10A buck converter
486f162c9SAdam Ward  * DA9130 Single-channel dual-phase 10A buck converter (Automotive)
586f162c9SAdam Ward  * DA9217 Single-channel dual-phase  6A buck converter
686f162c9SAdam Ward  * DA9122 Dual-channel single-phase  5A buck converter
786f162c9SAdam Ward  * DA9131 Dual-channel single-phase  5A buck converter (Automotive)
886f162c9SAdam Ward  * DA9220 Dual-channel single-phase  3A buck converter
986f162c9SAdam Ward  * DA9132 Dual-channel single-phase  3A buck converter (Automotive)
1086f162c9SAdam Ward  *
1186f162c9SAdam Ward  * Copyright (C) 2020  Dialog Semiconductor
1286f162c9SAdam Ward  *
1386f162c9SAdam Ward  * Authors: Steve Twiss, Dialog Semiconductor
1486f162c9SAdam Ward  *          Adam Ward, Dialog Semiconductor
1586f162c9SAdam Ward  */
1686f162c9SAdam Ward 
1786f162c9SAdam Ward #ifndef __DA9121_REGISTERS_H__
1886f162c9SAdam Ward #define __DA9121_REGISTERS_H__
1986f162c9SAdam Ward 
2086f162c9SAdam Ward /* Values for: DA9121_REG_BUCK_BUCKx_4 registers, fields CHx_y_MODE
2186f162c9SAdam Ward  *             DA9121_REG_BUCK_BUCKx_7 registers, fields CHx_RIPPLE_CANCEL
2286f162c9SAdam Ward  */
2386f162c9SAdam Ward #include <dt-bindings/regulator/dlg,da9121-regulator.h>
2486f162c9SAdam Ward 
2586f162c9SAdam Ward enum da9121_variant {
2686f162c9SAdam Ward 	DA9121_TYPE_DA9121_DA9130,
2786f162c9SAdam Ward 	DA9121_TYPE_DA9220_DA9132,
2886f162c9SAdam Ward 	DA9121_TYPE_DA9122_DA9131,
29*c5187a24SAdam Ward 	DA9121_TYPE_DA9217,
30*c5187a24SAdam Ward 	DA9121_TYPE_DA9141,
31*c5187a24SAdam Ward 	DA9121_TYPE_DA9142
3286f162c9SAdam Ward };
3386f162c9SAdam Ward 
34013592beSAdam Ward enum da9121_subvariant {
35013592beSAdam Ward 	DA9121_SUBTYPE_DA9121,
36013592beSAdam Ward 	DA9121_SUBTYPE_DA9130,
37013592beSAdam Ward 	DA9121_SUBTYPE_DA9220,
38013592beSAdam Ward 	DA9121_SUBTYPE_DA9132,
39013592beSAdam Ward 	DA9121_SUBTYPE_DA9122,
40013592beSAdam Ward 	DA9121_SUBTYPE_DA9131,
41*c5187a24SAdam Ward 	DA9121_SUBTYPE_DA9217,
42*c5187a24SAdam Ward 	DA9121_SUBTYPE_DA9141,
43*c5187a24SAdam Ward 	DA9121_SUBTYPE_DA9142
44013592beSAdam Ward };
45013592beSAdam Ward 
4686f162c9SAdam Ward /* Minimum, maximum and default polling millisecond periods are provided
4786f162c9SAdam Ward  * here as an example. It is expected that any final implementation will
4886f162c9SAdam Ward  * include a modification of these settings to match the required
4986f162c9SAdam Ward  * application.
5086f162c9SAdam Ward  */
5186f162c9SAdam Ward #define DA9121_DEFAULT_POLLING_PERIOD_MS	3000
5286f162c9SAdam Ward #define DA9121_MAX_POLLING_PERIOD_MS		10000
5386f162c9SAdam Ward #define DA9121_MIN_POLLING_PERIOD_MS		1000
5486f162c9SAdam Ward 
5586f162c9SAdam Ward /* Registers */
5686f162c9SAdam Ward 
5786f162c9SAdam Ward #define DA9121_REG_SYS_STATUS_0		0x01
5886f162c9SAdam Ward #define DA9121_REG_SYS_STATUS_1		0x02
5986f162c9SAdam Ward #define DA9121_REG_SYS_STATUS_2		0x03
6086f162c9SAdam Ward #define DA9121_REG_SYS_EVENT_0		0x04
6186f162c9SAdam Ward #define DA9121_REG_SYS_EVENT_1		0x05
6286f162c9SAdam Ward #define DA9121_REG_SYS_EVENT_2		0x06
6386f162c9SAdam Ward #define DA9121_REG_SYS_MASK_0		0x07
6486f162c9SAdam Ward #define DA9121_REG_SYS_MASK_1		0x08
6586f162c9SAdam Ward #define DA9121_REG_SYS_MASK_2		0x09
6686f162c9SAdam Ward #define DA9121_REG_SYS_MASK_3		0x0A
6786f162c9SAdam Ward #define DA9121_REG_SYS_CONFIG_0		0x0B
6886f162c9SAdam Ward #define DA9121_REG_SYS_CONFIG_1		0x0C
6986f162c9SAdam Ward #define DA9121_REG_SYS_CONFIG_2		0x0D
7086f162c9SAdam Ward #define DA9121_REG_SYS_CONFIG_3		0x0E
7186f162c9SAdam Ward #define DA9121_REG_SYS_GPIO0_0		0x10
7286f162c9SAdam Ward #define DA9121_REG_SYS_GPIO0_1		0x11
7386f162c9SAdam Ward #define DA9121_REG_SYS_GPIO1_0		0x12
7486f162c9SAdam Ward #define DA9121_REG_SYS_GPIO1_1		0x13
7586f162c9SAdam Ward #define DA9121_REG_SYS_GPIO2_0		0x14
7686f162c9SAdam Ward #define DA9121_REG_SYS_GPIO2_1		0x15
77*c5187a24SAdam Ward #define DA914x_REG_SYS_GPIO3_0		0x16
78*c5187a24SAdam Ward #define DA914x_REG_SYS_GPIO3_1		0x17
79*c5187a24SAdam Ward #define DA914x_REG_SYS_GPIO4_0		0x18
80*c5187a24SAdam Ward #define DA914x_REG_SYS_GPIO4_1		0x19
81*c5187a24SAdam Ward #define DA914x_REG_SYS_ADMUX1_0		0x1A
82*c5187a24SAdam Ward #define DA914x_REG_SYS_ADMUX1_1		0x1B
83*c5187a24SAdam Ward #define DA914x_REG_SYS_ADMUX2_0		0x1C
84*c5187a24SAdam Ward #define DA914x_REG_SYS_ADMUX2_1		0x1D
8586f162c9SAdam Ward #define DA9121_REG_BUCK_BUCK1_0		0x20
8686f162c9SAdam Ward #define DA9121_REG_BUCK_BUCK1_1		0x21
8786f162c9SAdam Ward #define DA9121_REG_BUCK_BUCK1_2		0x22
8886f162c9SAdam Ward #define DA9121_REG_BUCK_BUCK1_3		0x23
8986f162c9SAdam Ward #define DA9121_REG_BUCK_BUCK1_4		0x24
9086f162c9SAdam Ward #define DA9121_REG_BUCK_BUCK1_5		0x25
9186f162c9SAdam Ward #define DA9121_REG_BUCK_BUCK1_6		0x26
9286f162c9SAdam Ward #define DA9121_REG_BUCK_BUCK1_7		0x27
9386f162c9SAdam Ward #define DA9xxx_REG_BUCK_BUCK2_0		0x28
9486f162c9SAdam Ward #define DA9xxx_REG_BUCK_BUCK2_1		0x29
9586f162c9SAdam Ward #define DA9xxx_REG_BUCK_BUCK2_2		0x2A
9686f162c9SAdam Ward #define DA9xxx_REG_BUCK_BUCK2_3		0x2B
9786f162c9SAdam Ward #define DA9xxx_REG_BUCK_BUCK2_4		0x2C
9886f162c9SAdam Ward #define DA9xxx_REG_BUCK_BUCK2_5		0x2D
9986f162c9SAdam Ward #define DA9xxx_REG_BUCK_BUCK2_6		0x2E
10086f162c9SAdam Ward #define DA9xxx_REG_BUCK_BUCK2_7		0x2F
10186f162c9SAdam Ward #define DA9121_REG_OTP_DEVICE_ID	0x48
10286f162c9SAdam Ward #define DA9121_REG_OTP_VARIANT_ID	0x49
10386f162c9SAdam Ward #define DA9121_REG_OTP_CUSTOMER_ID	0x4A
10486f162c9SAdam Ward #define DA9121_REG_OTP_CONFIG_ID	0x4B
10586f162c9SAdam Ward 
10686f162c9SAdam Ward /* Register bits */
10786f162c9SAdam Ward 
10886f162c9SAdam Ward /* DA9121_REG_SYS_STATUS_0 */
10986f162c9SAdam Ward 
11086f162c9SAdam Ward #define DA9xxx_MASK_SYS_STATUS_0_SG			BIT(2)
11186f162c9SAdam Ward #define DA9121_MASK_SYS_STATUS_0_TEMP_CRIT		BIT(1)
11286f162c9SAdam Ward #define DA9121_MASK_SYS_STATUS_0_TEMP_WARN		BIT(0)
11386f162c9SAdam Ward 
11486f162c9SAdam Ward /* DA9121_REG_SYS_STATUS_1 */
11586f162c9SAdam Ward 
11686f162c9SAdam Ward #define DA9xxx_MASK_SYS_STATUS_1_PG2			BIT(7)
11786f162c9SAdam Ward #define DA9xxx_MASK_SYS_STATUS_1_OV2			BIT(6)
11886f162c9SAdam Ward #define DA9xxx_MASK_SYS_STATUS_1_UV2			BIT(5)
11986f162c9SAdam Ward #define DA9xxx_MASK_SYS_STATUS_1_OC2			BIT(4)
12086f162c9SAdam Ward #define DA9121_MASK_SYS_STATUS_1_PG1			BIT(3)
12186f162c9SAdam Ward #define DA9121_MASK_SYS_STATUS_1_OV1			BIT(2)
12286f162c9SAdam Ward #define DA9121_MASK_SYS_STATUS_1_UV1			BIT(1)
12386f162c9SAdam Ward #define DA9121_MASK_SYS_STATUS_1_OC1			BIT(0)
12486f162c9SAdam Ward 
12586f162c9SAdam Ward /* DA9121_REG_SYS_STATUS_2 */
12686f162c9SAdam Ward 
12786f162c9SAdam Ward #define DA9121_MASK_SYS_STATUS_2_GPIO2			BIT(2)
12886f162c9SAdam Ward #define DA9121_MASK_SYS_STATUS_2_GPIO1			BIT(1)
12986f162c9SAdam Ward #define DA9121_MASK_SYS_STATUS_2_GPIO0			BIT(0)
13086f162c9SAdam Ward 
13186f162c9SAdam Ward /* DA9121_REG_SYS_EVENT_0 */
13286f162c9SAdam Ward 
13386f162c9SAdam Ward #define DA9xxx_MASK_SYS_EVENT_0_E_SG			BIT(2)
13486f162c9SAdam Ward #define DA9121_MASK_SYS_EVENT_0_E_TEMP_CRIT		BIT(1)
13586f162c9SAdam Ward #define DA9121_MASK_SYS_EVENT_0_E_TEMP_WARN		BIT(0)
13686f162c9SAdam Ward 
13786f162c9SAdam Ward /* DA9121_REG_SYS_EVENT_1 */
13886f162c9SAdam Ward 
13986f162c9SAdam Ward #define DA9xxx_MASK_SYS_EVENT_1_E_PG2			BIT(7)
14086f162c9SAdam Ward #define DA9xxx_MASK_SYS_EVENT_1_E_OV2			BIT(6)
14186f162c9SAdam Ward #define DA9xxx_MASK_SYS_EVENT_1_E_UV2			BIT(5)
14286f162c9SAdam Ward #define DA9xxx_MASK_SYS_EVENT_1_E_OC2			BIT(4)
14386f162c9SAdam Ward #define DA9121_MASK_SYS_EVENT_1_E_PG1			BIT(3)
14486f162c9SAdam Ward #define DA9121_MASK_SYS_EVENT_1_E_OV1			BIT(2)
14586f162c9SAdam Ward #define DA9121_MASK_SYS_EVENT_1_E_UV1			BIT(1)
14686f162c9SAdam Ward #define DA9121_MASK_SYS_EVENT_1_E_OC1			BIT(0)
14786f162c9SAdam Ward 
14886f162c9SAdam Ward /* DA9121_REG_SYS_EVENT_2 */
14986f162c9SAdam Ward 
15086f162c9SAdam Ward #define DA9121_MASK_SYS_EVENT_2_E_GPIO2			BIT(2)
15186f162c9SAdam Ward #define DA9121_MASK_SYS_EVENT_2_E_GPIO1			BIT(1)
15286f162c9SAdam Ward #define DA9121_MASK_SYS_EVENT_2_E_GPIO0			BIT(0)
15386f162c9SAdam Ward 
15486f162c9SAdam Ward /* DA9121_REG_SYS_MASK_0 */
15586f162c9SAdam Ward 
15686f162c9SAdam Ward #define DA9xxx_MASK_SYS_MASK_0_M_SG			BIT(2)
15786f162c9SAdam Ward #define DA9121_MASK_SYS_MASK_0_M_TEMP_CRIT		BIT(1)
15886f162c9SAdam Ward #define DA9121_MASK_SYS_MASK_0_M_TEMP_WARN		BIT(0)
15986f162c9SAdam Ward 
16086f162c9SAdam Ward /* DA9121_REG_SYS_MASK_1 */
16186f162c9SAdam Ward 
16286f162c9SAdam Ward #define DA9xxx_MASK_SYS_MASK_1_M_PG2			BIT(7)
16386f162c9SAdam Ward #define DA9xxx_MASK_SYS_MASK_1_M_OV2			BIT(6)
16486f162c9SAdam Ward #define DA9xxx_MASK_SYS_MASK_1_M_UV2			BIT(5)
16586f162c9SAdam Ward #define DA9xxx_MASK_SYS_MASK_1_M_OC2			BIT(4)
16686f162c9SAdam Ward #define DA9121_MASK_SYS_MASK_1_M_PG1			BIT(3)
16786f162c9SAdam Ward #define DA9121_MASK_SYS_MASK_1_M_OV1			BIT(2)
16886f162c9SAdam Ward #define DA9121_MASK_SYS_MASK_1_M_UV1			BIT(1)
16986f162c9SAdam Ward #define DA9121_MASK_SYS_MASK_1_M_OC1			BIT(0)
17086f162c9SAdam Ward 
17186f162c9SAdam Ward /* DA9121_REG_SYS_MASK_2 */
17286f162c9SAdam Ward 
17386f162c9SAdam Ward #define DA9121_MASK_SYS_MASK_2_M_GPIO2			BIT(2)
17486f162c9SAdam Ward #define DA9121_MASK_SYS_MASK_2_M_GPIO1			BIT(1)
17586f162c9SAdam Ward #define DA9121_MASK_SYS_MASK_2_M_GPIO0			BIT(0)
17686f162c9SAdam Ward 
17786f162c9SAdam Ward /* DA9122_REG_SYS_MASK_3 */
17886f162c9SAdam Ward 
17986f162c9SAdam Ward #define DA9121_MASK_SYS_MASK_3_M_VR_HOT			BIT(3)
18086f162c9SAdam Ward #define DA9xxx_MASK_SYS_MASK_3_M_SG_STAT		BIT(2)
18186f162c9SAdam Ward #define DA9xxx_MASK_SYS_MASK_3_M_PG2_STAT		BIT(1)
18286f162c9SAdam Ward #define DA9121_MASK_SYS_MASK_3_M_PG1_STAT		BIT(0)
18386f162c9SAdam Ward 
18486f162c9SAdam Ward /* DA9121_REG_SYS_CONFIG_0 */
18586f162c9SAdam Ward 
18686f162c9SAdam Ward #define DA9121_MASK_SYS_CONFIG_0_CH1_DIS_DLY		0xF0
18786f162c9SAdam Ward #define DA9121_MASK_SYS_CONFIG_0_CH1_EN_DLY		0x0F
18886f162c9SAdam Ward 
18986f162c9SAdam Ward /* DA9xxx_REG_SYS_CONFIG_1 */
19086f162c9SAdam Ward 
19186f162c9SAdam Ward #define DA9xxx_MASK_SYS_CONFIG_1_CH2_DIS_DLY		0xF0
19286f162c9SAdam Ward #define DA9xxx_MASK_SYS_CONFIG_1_CH2_EN_DLY		0x0F
19386f162c9SAdam Ward 
19486f162c9SAdam Ward /* DA9121_REG_SYS_CONFIG_2 */
19586f162c9SAdam Ward 
19686f162c9SAdam Ward #define DA9121_MASK_SYS_CONFIG_2_OC_LATCHOFF		0x60
19786f162c9SAdam Ward #define DA9121_MASK_SYS_CONFIG_2_OC_DVC_MASK		BIT(4)
19886f162c9SAdam Ward #define DA9121_MASK_SYS_CONFIG_2_PG_DVC_MASK		0x0C
19986f162c9SAdam Ward 
20086f162c9SAdam Ward /* DA9121_REG_SYS_CONFIG_3 */
20186f162c9SAdam Ward 
20286f162c9SAdam Ward #define DA9121_MASK_SYS_CONFIG_3_OSC_TUNE		0X70
20386f162c9SAdam Ward #define DA9121_MASK_SYS_CONFIG_3_I2C_TIMEOUT		BIT(1)
20486f162c9SAdam Ward 
20586f162c9SAdam Ward /* DA9121_REG_SYS_GPIO0_0 */
20686f162c9SAdam Ward 
20786f162c9SAdam Ward #define DA9121_MASK_SYS_GPIO0_0_GPIO0_MODE		0X1E
20886f162c9SAdam Ward #define DA9121_MASK_SYS_GPIO0_0_GPIO0_OBUF		BIT(0)
20986f162c9SAdam Ward 
21086f162c9SAdam Ward /* DA9121_REG_SYS_GPIO0_1 */
21186f162c9SAdam Ward 
21286f162c9SAdam Ward #define DA9121_MASK_SYS_GPIO0_1_GPIO0_DEB_FALL		BIT(7)
21386f162c9SAdam Ward #define DA9121_MASK_SYS_GPIO0_1_GPIO0_DEB_RISE		BIT(6)
21486f162c9SAdam Ward #define DA9121_MASK_SYS_GPIO0_1_GPIO0_DEB		0x30
21586f162c9SAdam Ward #define DA9121_MASK_SYS_GPIO0_1_GPIO0_PUPD		BIT(3)
21686f162c9SAdam Ward #define DA9121_MASK_SYS_GPIO0_1_GPIO0_POL		BIT(2)
21786f162c9SAdam Ward #define DA9121_MASK_SYS_GPIO0_1_GPIO0_TRIG		0x03
21886f162c9SAdam Ward 
21986f162c9SAdam Ward /* DA9121_REG_SYS_GPIO1_0 */
22086f162c9SAdam Ward 
22186f162c9SAdam Ward #define DA9121_MASK_SYS_GPIO1_0_GPIO1_MODE		0x1E
22286f162c9SAdam Ward #define DA9121_MASK_SYS_GPIO1_0_GPIO1_OBUF		BIT(0)
22386f162c9SAdam Ward 
22486f162c9SAdam Ward /* DA9121_REG_SYS_GPIO1_1 */
22586f162c9SAdam Ward 
22686f162c9SAdam Ward #define DA9121_MASK_SYS_GPIO1_1_GPIO1_DEB_FALL		BIT(7)
22786f162c9SAdam Ward #define DA9121_MASK_SYS_GPIO1_1_GPIO1_DEB_RISE		BIT(6)
22886f162c9SAdam Ward #define DA9121_MASK_SYS_GPIO1_1_GPIO1_DEB		0x30
22986f162c9SAdam Ward #define DA9121_MASK_SYS_GPIO1_1_GPIO1_PUPD		BIT(3)
23086f162c9SAdam Ward #define DA9121_MASK_SYS_GPIO1_1_GPIO1_POL		BIT(2)
23186f162c9SAdam Ward #define DA9121_MASK_SYS_GPIO1_1_GPIO1_TRIG		0x03
23286f162c9SAdam Ward 
23386f162c9SAdam Ward /* DA9121_REG_SYS_GPIO2_0 */
23486f162c9SAdam Ward 
23586f162c9SAdam Ward #define DA9121_MASK_SYS_GPIO2_0_GPIO2_MODE		0x1E
23686f162c9SAdam Ward #define DA9121_MASK_SYS_GPIO2_0_GPIO2_OBUF		BIT(0)
23786f162c9SAdam Ward 
23886f162c9SAdam Ward /* DA9121_REG_SYS_GPIO2_1 */
23986f162c9SAdam Ward 
24086f162c9SAdam Ward #define DA9121_MASK_SYS_GPIO2_1_GPIO2_DEB_FALL		BIT(7)
24186f162c9SAdam Ward #define DA9121_MASK_SYS_GPIO2_1_GPIO2_DEB_RISE		BIT(6)
24286f162c9SAdam Ward #define DA9121_MASK_SYS_GPIO2_1_GPIO2_DEB		0x30
24386f162c9SAdam Ward #define DA9121_MASK_SYS_GPIO2_1_GPIO2_PUPD		BIT(3)
24486f162c9SAdam Ward #define DA9121_MASK_SYS_GPIO2_1_GPIO2_POL		BIT(2)
24586f162c9SAdam Ward #define DA9121_MASK_SYS_GPIO2_1_GPIO2_TRIG		0x03
24686f162c9SAdam Ward 
24786f162c9SAdam Ward /* DA9121_REG_BUCK_BUCK1_0 / DA9xxx_REG_BUCK_BUCK2_0 */
24886f162c9SAdam Ward 
24986f162c9SAdam Ward #define DA9121_MASK_BUCK_BUCKx_0_CHx_SR_DVC_DWN		0x70
25086f162c9SAdam Ward #define DA9121_MASK_BUCK_BUCKx_0_CHx_SR_DVC_UP		0x0E
25186f162c9SAdam Ward #define DA9121_MASK_BUCK_BUCKx_0_CHx_EN			BIT(0)
25286f162c9SAdam Ward 
25386f162c9SAdam Ward /* DA9121_REG_BUCK_BUCK1_1 / DA9xxx_REG_BUCK_BUCK2_1 */
25486f162c9SAdam Ward 
25586f162c9SAdam Ward #define DA9121_MASK_BUCK_BUCKx_1_CHx_SR_SHDN		0x70
25686f162c9SAdam Ward #define DA9121_MASK_BUCK_BUCKx_1_CHx_SR_STARTUP		0x0E
25786f162c9SAdam Ward #define DA9121_MASK_BUCK_BUCKx_1_CHx_PD_DIS		BIT(0)
25886f162c9SAdam Ward 
25986f162c9SAdam Ward /* DA9121_REG_BUCK_BUCK1_2 / DA9xxx_REG_BUCK_BUCK2_2 */
26086f162c9SAdam Ward 
26186f162c9SAdam Ward #define DA9121_MASK_BUCK_BUCKx_2_CHx_ILIM		0x0F
26286f162c9SAdam Ward 
26386f162c9SAdam Ward /* DA9121_REG_BUCK_BUCK1_3 / DA9xxx_REG_BUCK_BUCK2_3 */
26486f162c9SAdam Ward 
26586f162c9SAdam Ward #define DA9121_MASK_BUCK_BUCKx_3_CHx_VMAX		0xFF
26686f162c9SAdam Ward 
26786f162c9SAdam Ward /* DA9121_REG_BUCK_BUCK1_4 / DA9xxx_REG_BUCK_BUCK2_4 */
26886f162c9SAdam Ward 
26986f162c9SAdam Ward #define DA9121_MASK_BUCK_BUCKx_4_CHx_VSEL		BIT(4)
27086f162c9SAdam Ward #define DA9121_MASK_BUCK_BUCKx_4_CHx_B_MODE		0x0C
27186f162c9SAdam Ward #define DA9121_MASK_BUCK_BUCKx_4_CHx_A_MODE		0x03
27286f162c9SAdam Ward 
27386f162c9SAdam Ward /* DA9121_REG_BUCK_BUCK1_5 / DA9xxx_REG_BUCK_BUCK2_5 */
27486f162c9SAdam Ward 
27586f162c9SAdam Ward #define DA9121_MASK_BUCK_BUCKx_5_CHx_A_VOUT		0xFF
27686f162c9SAdam Ward 
27786f162c9SAdam Ward /* DA9121_REG_BUCK_BUCK1_6 / DA9xxx_REG_BUCK_BUCK2_6 */
27886f162c9SAdam Ward 
27986f162c9SAdam Ward #define DA9121_MASK_BUCK_BUCKx_6_CHx_B_VOUT		0xFF
28086f162c9SAdam Ward 
28186f162c9SAdam Ward /* DA9121_REG_BUCK_BUCK1_7 / DA9xxx_REG_BUCK_BUCK2_7 */
28286f162c9SAdam Ward 
28386f162c9SAdam Ward #define DA9xxx_MASK_BUCK_BUCKx_7_CHx_RIPPLE_CANCEL	0x03
28486f162c9SAdam Ward 
28586f162c9SAdam Ward 
28686f162c9SAdam Ward /* DA9121_REG_OTP_DEVICE_ID */
28786f162c9SAdam Ward 
28886f162c9SAdam Ward #define DA9121_MASK_OTP_DEVICE_ID_DEV_ID		0xFF
28986f162c9SAdam Ward 
29086f162c9SAdam Ward #define DA9121_DEVICE_ID	0x05
291*c5187a24SAdam Ward #define DA914x_DEVICE_ID	0x26
29286f162c9SAdam Ward 
29386f162c9SAdam Ward /* DA9121_REG_OTP_VARIANT_ID */
29486f162c9SAdam Ward 
29586f162c9SAdam Ward #define DA9121_SHIFT_OTP_VARIANT_ID_MRC			4
29686f162c9SAdam Ward #define DA9121_MASK_OTP_VARIANT_ID_MRC			0xF0
29786f162c9SAdam Ward #define DA9121_SHIFT_OTP_VARIANT_ID_VRC			0
29886f162c9SAdam Ward #define DA9121_MASK_OTP_VARIANT_ID_VRC			0x0F
29986f162c9SAdam Ward 
30086f162c9SAdam Ward #define DA9121_VARIANT_MRC_BASE	0x2
30186f162c9SAdam Ward #define DA9121_VARIANT_VRC	0x1
30286f162c9SAdam Ward #define DA9220_VARIANT_VRC	0x0
30386f162c9SAdam Ward #define DA9122_VARIANT_VRC	0x2
30486f162c9SAdam Ward #define DA9217_VARIANT_VRC	0x7
305013592beSAdam Ward #define DA9130_VARIANT_VRC	0x0
306013592beSAdam Ward #define DA9131_VARIANT_VRC	0x1
307013592beSAdam Ward #define DA9132_VARIANT_VRC	0x2
30886f162c9SAdam Ward 
309*c5187a24SAdam Ward #define DA914x_VARIANT_MRC_BASE	0x0
310*c5187a24SAdam Ward #define DA9141_VARIANT_VRC	0x1
311*c5187a24SAdam Ward #define DA9142_VARIANT_VRC	0x2
312*c5187a24SAdam Ward 
31386f162c9SAdam Ward /* DA9121_REG_OTP_CUSTOMER_ID */
31486f162c9SAdam Ward 
31586f162c9SAdam Ward #define DA9121_MASK_OTP_CUSTOMER_ID_CUST_ID		0xFF
31686f162c9SAdam Ward 
31786f162c9SAdam Ward /* DA9121_REG_OTP_CONFIG_ID */
31886f162c9SAdam Ward 
31986f162c9SAdam Ward #define DA9121_MASK_OTP_CONFIG_ID_CONFIG_REV		0xFF
32086f162c9SAdam Ward 
32186f162c9SAdam Ward #endif /* __DA9121_REGISTERS_H__ */
322