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