Author | Tokens | Token Proportion | Commits | Commit Proportion |
---|---|---|---|---|
Adam Ward | 744 | 100.00% | 3 | 100.00% |
Total | 744 | 3 |
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321
/* SPDX-License-Identifier: GPL-2.0+ */ /* * DA9121 Single-channel dual-phase 10A buck converter * DA9130 Single-channel dual-phase 10A buck converter (Automotive) * DA9217 Single-channel dual-phase 6A buck converter * DA9122 Dual-channel single-phase 5A buck converter * DA9131 Dual-channel single-phase 5A buck converter (Automotive) * DA9220 Dual-channel single-phase 3A buck converter * DA9132 Dual-channel single-phase 3A buck converter (Automotive) * * Copyright (C) 2020 Dialog Semiconductor * * Authors: Steve Twiss, Dialog Semiconductor * Adam Ward, Dialog Semiconductor */ #ifndef __DA9121_REGISTERS_H__ #define __DA9121_REGISTERS_H__ /* Values for: DA9121_REG_BUCK_BUCKx_4 registers, fields CHx_y_MODE * DA9121_REG_BUCK_BUCKx_7 registers, fields CHx_RIPPLE_CANCEL */ #include <dt-bindings/regulator/dlg,da9121-regulator.h> enum da9121_variant { DA9121_TYPE_DA9121_DA9130, DA9121_TYPE_DA9220_DA9132, DA9121_TYPE_DA9122_DA9131, DA9121_TYPE_DA9217, DA9121_TYPE_DA9141, DA9121_TYPE_DA9142 }; enum da9121_subvariant { DA9121_SUBTYPE_DA9121, DA9121_SUBTYPE_DA9130, DA9121_SUBTYPE_DA9220, DA9121_SUBTYPE_DA9132, DA9121_SUBTYPE_DA9122, DA9121_SUBTYPE_DA9131, DA9121_SUBTYPE_DA9217, DA9121_SUBTYPE_DA9141, DA9121_SUBTYPE_DA9142 }; /* Minimum, maximum and default polling millisecond periods are provided * here as an example. It is expected that any final implementation will * include a modification of these settings to match the required * application. */ #define DA9121_DEFAULT_POLLING_PERIOD_MS 3000 #define DA9121_MAX_POLLING_PERIOD_MS 10000 #define DA9121_MIN_POLLING_PERIOD_MS 1000 /* Registers */ #define DA9121_REG_SYS_STATUS_0 0x01 #define DA9121_REG_SYS_STATUS_1 0x02 #define DA9121_REG_SYS_STATUS_2 0x03 #define DA9121_REG_SYS_EVENT_0 0x04 #define DA9121_REG_SYS_EVENT_1 0x05 #define DA9121_REG_SYS_EVENT_2 0x06 #define DA9121_REG_SYS_MASK_0 0x07 #define DA9121_REG_SYS_MASK_1 0x08 #define DA9121_REG_SYS_MASK_2 0x09 #define DA9121_REG_SYS_MASK_3 0x0A #define DA9121_REG_SYS_CONFIG_0 0x0B #define DA9121_REG_SYS_CONFIG_1 0x0C #define DA9121_REG_SYS_CONFIG_2 0x0D #define DA9121_REG_SYS_CONFIG_3 0x0E #define DA9121_REG_SYS_GPIO0_0 0x10 #define DA9121_REG_SYS_GPIO0_1 0x11 #define DA9121_REG_SYS_GPIO1_0 0x12 #define DA9121_REG_SYS_GPIO1_1 0x13 #define DA9121_REG_SYS_GPIO2_0 0x14 #define DA9121_REG_SYS_GPIO2_1 0x15 #define DA914x_REG_SYS_GPIO3_0 0x16 #define DA914x_REG_SYS_GPIO3_1 0x17 #define DA914x_REG_SYS_GPIO4_0 0x18 #define DA914x_REG_SYS_GPIO4_1 0x19 #define DA914x_REG_SYS_ADMUX1_0 0x1A #define DA914x_REG_SYS_ADMUX1_1 0x1B #define DA914x_REG_SYS_ADMUX2_0 0x1C #define DA914x_REG_SYS_ADMUX2_1 0x1D #define DA9121_REG_BUCK_BUCK1_0 0x20 #define DA9121_REG_BUCK_BUCK1_1 0x21 #define DA9121_REG_BUCK_BUCK1_2 0x22 #define DA9121_REG_BUCK_BUCK1_3 0x23 #define DA9121_REG_BUCK_BUCK1_4 0x24 #define DA9121_REG_BUCK_BUCK1_5 0x25 #define DA9121_REG_BUCK_BUCK1_6 0x26 #define DA9121_REG_BUCK_BUCK1_7 0x27 #define DA9xxx_REG_BUCK_BUCK2_0 0x28 #define DA9xxx_REG_BUCK_BUCK2_1 0x29 #define DA9xxx_REG_BUCK_BUCK2_2 0x2A #define DA9xxx_REG_BUCK_BUCK2_3 0x2B #define DA9xxx_REG_BUCK_BUCK2_4 0x2C #define DA9xxx_REG_BUCK_BUCK2_5 0x2D #define DA9xxx_REG_BUCK_BUCK2_6 0x2E #define DA9xxx_REG_BUCK_BUCK2_7 0x2F #define DA9121_REG_OTP_DEVICE_ID 0x48 #define DA9121_REG_OTP_VARIANT_ID 0x49 #define DA9121_REG_OTP_CUSTOMER_ID 0x4A #define DA9121_REG_OTP_CONFIG_ID 0x4B /* Register bits */ /* DA9121_REG_SYS_STATUS_0 */ #define DA9xxx_MASK_SYS_STATUS_0_SG BIT(2) #define DA9121_MASK_SYS_STATUS_0_TEMP_CRIT BIT(1) #define DA9121_MASK_SYS_STATUS_0_TEMP_WARN BIT(0) /* DA9121_REG_SYS_STATUS_1 */ #define DA9xxx_MASK_SYS_STATUS_1_PG2 BIT(7) #define DA9xxx_MASK_SYS_STATUS_1_OV2 BIT(6) #define DA9xxx_MASK_SYS_STATUS_1_UV2 BIT(5) #define DA9xxx_MASK_SYS_STATUS_1_OC2 BIT(4) #define DA9121_MASK_SYS_STATUS_1_PG1 BIT(3) #define DA9121_MASK_SYS_STATUS_1_OV1 BIT(2) #define DA9121_MASK_SYS_STATUS_1_UV1 BIT(1) #define DA9121_MASK_SYS_STATUS_1_OC1 BIT(0) /* DA9121_REG_SYS_STATUS_2 */ #define DA9121_MASK_SYS_STATUS_2_GPIO2 BIT(2) #define DA9121_MASK_SYS_STATUS_2_GPIO1 BIT(1) #define DA9121_MASK_SYS_STATUS_2_GPIO0 BIT(0) /* DA9121_REG_SYS_EVENT_0 */ #define DA9xxx_MASK_SYS_EVENT_0_E_SG BIT(2) #define DA9121_MASK_SYS_EVENT_0_E_TEMP_CRIT BIT(1) #define DA9121_MASK_SYS_EVENT_0_E_TEMP_WARN BIT(0) /* DA9121_REG_SYS_EVENT_1 */ #define DA9xxx_MASK_SYS_EVENT_1_E_PG2 BIT(7) #define DA9xxx_MASK_SYS_EVENT_1_E_OV2 BIT(6) #define DA9xxx_MASK_SYS_EVENT_1_E_UV2 BIT(5) #define DA9xxx_MASK_SYS_EVENT_1_E_OC2 BIT(4) #define DA9121_MASK_SYS_EVENT_1_E_PG1 BIT(3) #define DA9121_MASK_SYS_EVENT_1_E_OV1 BIT(2) #define DA9121_MASK_SYS_EVENT_1_E_UV1 BIT(1) #define DA9121_MASK_SYS_EVENT_1_E_OC1 BIT(0) /* DA9121_REG_SYS_EVENT_2 */ #define DA9121_MASK_SYS_EVENT_2_E_GPIO2 BIT(2) #define DA9121_MASK_SYS_EVENT_2_E_GPIO1 BIT(1) #define DA9121_MASK_SYS_EVENT_2_E_GPIO0 BIT(0) /* DA9121_REG_SYS_MASK_0 */ #define DA9xxx_MASK_SYS_MASK_0_M_SG BIT(2) #define DA9121_MASK_SYS_MASK_0_M_TEMP_CRIT BIT(1) #define DA9121_MASK_SYS_MASK_0_M_TEMP_WARN BIT(0) /* DA9121_REG_SYS_MASK_1 */ #define DA9xxx_MASK_SYS_MASK_1_M_PG2 BIT(7) #define DA9xxx_MASK_SYS_MASK_1_M_OV2 BIT(6) #define DA9xxx_MASK_SYS_MASK_1_M_UV2 BIT(5) #define DA9xxx_MASK_SYS_MASK_1_M_OC2 BIT(4) #define DA9121_MASK_SYS_MASK_1_M_PG1 BIT(3) #define DA9121_MASK_SYS_MASK_1_M_OV1 BIT(2) #define DA9121_MASK_SYS_MASK_1_M_UV1 BIT(1) #define DA9121_MASK_SYS_MASK_1_M_OC1 BIT(0) /* DA9121_REG_SYS_MASK_2 */ #define DA9121_MASK_SYS_MASK_2_M_GPIO2 BIT(2) #define DA9121_MASK_SYS_MASK_2_M_GPIO1 BIT(1) #define DA9121_MASK_SYS_MASK_2_M_GPIO0 BIT(0) /* DA9122_REG_SYS_MASK_3 */ #define DA9121_MASK_SYS_MASK_3_M_VR_HOT BIT(3) #define DA9xxx_MASK_SYS_MASK_3_M_SG_STAT BIT(2) #define DA9xxx_MASK_SYS_MASK_3_M_PG2_STAT BIT(1) #define DA9121_MASK_SYS_MASK_3_M_PG1_STAT BIT(0) /* DA9121_REG_SYS_CONFIG_0 */ #define DA9121_MASK_SYS_CONFIG_0_CH1_DIS_DLY 0xF0 #define DA9121_MASK_SYS_CONFIG_0_CH1_EN_DLY 0x0F /* DA9xxx_REG_SYS_CONFIG_1 */ #define DA9xxx_MASK_SYS_CONFIG_1_CH2_DIS_DLY 0xF0 #define DA9xxx_MASK_SYS_CONFIG_1_CH2_EN_DLY 0x0F /* DA9121_REG_SYS_CONFIG_2 */ #define DA9121_MASK_SYS_CONFIG_2_OC_LATCHOFF 0x60 #define DA9121_MASK_SYS_CONFIG_2_OC_DVC_MASK BIT(4) #define DA9121_MASK_SYS_CONFIG_2_PG_DVC_MASK 0x0C /* DA9121_REG_SYS_CONFIG_3 */ #define DA9121_MASK_SYS_CONFIG_3_OSC_TUNE 0X70 #define DA9121_MASK_SYS_CONFIG_3_I2C_TIMEOUT BIT(1) /* DA9121_REG_SYS_GPIO0_0 */ #define DA9121_MASK_SYS_GPIO0_0_GPIO0_MODE 0X1E #define DA9121_MASK_SYS_GPIO0_0_GPIO0_OBUF BIT(0) /* DA9121_REG_SYS_GPIO0_1 */ #define DA9121_MASK_SYS_GPIO0_1_GPIO0_DEB_FALL BIT(7) #define DA9121_MASK_SYS_GPIO0_1_GPIO0_DEB_RISE BIT(6) #define DA9121_MASK_SYS_GPIO0_1_GPIO0_DEB 0x30 #define DA9121_MASK_SYS_GPIO0_1_GPIO0_PUPD BIT(3) #define DA9121_MASK_SYS_GPIO0_1_GPIO0_POL BIT(2) #define DA9121_MASK_SYS_GPIO0_1_GPIO0_TRIG 0x03 /* DA9121_REG_SYS_GPIO1_0 */ #define DA9121_MASK_SYS_GPIO1_0_GPIO1_MODE 0x1E #define DA9121_MASK_SYS_GPIO1_0_GPIO1_OBUF BIT(0) /* DA9121_REG_SYS_GPIO1_1 */ #define DA9121_MASK_SYS_GPIO1_1_GPIO1_DEB_FALL BIT(7) #define DA9121_MASK_SYS_GPIO1_1_GPIO1_DEB_RISE BIT(6) #define DA9121_MASK_SYS_GPIO1_1_GPIO1_DEB 0x30 #define DA9121_MASK_SYS_GPIO1_1_GPIO1_PUPD BIT(3) #define DA9121_MASK_SYS_GPIO1_1_GPIO1_POL BIT(2) #define DA9121_MASK_SYS_GPIO1_1_GPIO1_TRIG 0x03 /* DA9121_REG_SYS_GPIO2_0 */ #define DA9121_MASK_SYS_GPIO2_0_GPIO2_MODE 0x1E #define DA9121_MASK_SYS_GPIO2_0_GPIO2_OBUF BIT(0) /* DA9121_REG_SYS_GPIO2_1 */ #define DA9121_MASK_SYS_GPIO2_1_GPIO2_DEB_FALL BIT(7) #define DA9121_MASK_SYS_GPIO2_1_GPIO2_DEB_RISE BIT(6) #define DA9121_MASK_SYS_GPIO2_1_GPIO2_DEB 0x30 #define DA9121_MASK_SYS_GPIO2_1_GPIO2_PUPD BIT(3) #define DA9121_MASK_SYS_GPIO2_1_GPIO2_POL BIT(2) #define DA9121_MASK_SYS_GPIO2_1_GPIO2_TRIG 0x03 /* DA9121_REG_BUCK_BUCK1_0 / DA9xxx_REG_BUCK_BUCK2_0 */ #define DA9121_MASK_BUCK_BUCKx_0_CHx_SR_DVC_DWN 0x70 #define DA9121_MASK_BUCK_BUCKx_0_CHx_SR_DVC_UP 0x0E #define DA9121_MASK_BUCK_BUCKx_0_CHx_EN BIT(0) /* DA9121_REG_BUCK_BUCK1_1 / DA9xxx_REG_BUCK_BUCK2_1 */ #define DA9121_MASK_BUCK_BUCKx_1_CHx_SR_SHDN 0x70 #define DA9121_MASK_BUCK_BUCKx_1_CHx_SR_STARTUP 0x0E #define DA9121_MASK_BUCK_BUCKx_1_CHx_PD_DIS BIT(0) /* DA9121_REG_BUCK_BUCK1_2 / DA9xxx_REG_BUCK_BUCK2_2 */ #define DA9121_MASK_BUCK_BUCKx_2_CHx_ILIM 0x0F /* DA9121_REG_BUCK_BUCK1_3 / DA9xxx_REG_BUCK_BUCK2_3 */ #define DA9121_MASK_BUCK_BUCKx_3_CHx_VMAX 0xFF /* DA9121_REG_BUCK_BUCK1_4 / DA9xxx_REG_BUCK_BUCK2_4 */ #define DA9121_MASK_BUCK_BUCKx_4_CHx_VSEL BIT(4) #define DA9121_MASK_BUCK_BUCKx_4_CHx_B_MODE 0x0C #define DA9121_MASK_BUCK_BUCKx_4_CHx_A_MODE 0x03 /* DA9121_REG_BUCK_BUCK1_5 / DA9xxx_REG_BUCK_BUCK2_5 */ #define DA9121_MASK_BUCK_BUCKx_5_CHx_A_VOUT 0xFF /* DA9121_REG_BUCK_BUCK1_6 / DA9xxx_REG_BUCK_BUCK2_6 */ #define DA9121_MASK_BUCK_BUCKx_6_CHx_B_VOUT 0xFF /* DA9121_REG_BUCK_BUCK1_7 / DA9xxx_REG_BUCK_BUCK2_7 */ #define DA9xxx_MASK_BUCK_BUCKx_7_CHx_RIPPLE_CANCEL 0x03 /* DA9121_REG_OTP_DEVICE_ID */ #define DA9121_MASK_OTP_DEVICE_ID_DEV_ID 0xFF #define DA9121_DEVICE_ID 0x05 #define DA914x_DEVICE_ID 0x26 /* DA9121_REG_OTP_VARIANT_ID */ #define DA9121_SHIFT_OTP_VARIANT_ID_MRC 4 #define DA9121_MASK_OTP_VARIANT_ID_MRC 0xF0 #define DA9121_SHIFT_OTP_VARIANT_ID_VRC 0 #define DA9121_MASK_OTP_VARIANT_ID_VRC 0x0F #define DA9121_VARIANT_MRC_BASE 0x2 #define DA9121_VARIANT_VRC 0x1 #define DA9220_VARIANT_VRC 0x0 #define DA9122_VARIANT_VRC 0x2 #define DA9217_VARIANT_VRC 0x7 #define DA9130_VARIANT_VRC 0x0 #define DA9131_VARIANT_VRC 0x1 #define DA9132_VARIANT_VRC 0x2 #define DA914x_VARIANT_MRC_BASE 0x0 #define DA9141_VARIANT_VRC 0x1 #define DA9142_VARIANT_VRC 0x2 /* DA9121_REG_OTP_CUSTOMER_ID */ #define DA9121_MASK_OTP_CUSTOMER_ID_CUST_ID 0xFF /* DA9121_REG_OTP_CONFIG_ID */ #define DA9121_MASK_OTP_CONFIG_ID_CONFIG_REV 0xFF #endif /* __DA9121_REGISTERS_H__ */
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with Cregit http://github.com/cregit/cregit
Version 2.0-RC1