1/* SPDX-License-Identifier: GPL-2.0 */ 2/* 3 * Copyright (c) 2020 MediaTek Inc. 4 */ 5 6#ifndef __MFD_MT6358_REGISTERS_H__ 7#define __MFD_MT6358_REGISTERS_H__ 8 9/* PMIC Registers */ 10#define MT6358_SWCID 0xa 11#define MT6358_TOPSTATUS 0x28 12#define MT6358_TOP_RST_MISC 0x14c 13#define MT6358_MISC_TOP_INT_CON0 0x188 14#define MT6358_MISC_TOP_INT_STATUS0 0x194 15#define MT6358_TOP_INT_STATUS0 0x19e 16#define MT6358_SCK_TOP_INT_CON0 0x52e 17#define MT6358_SCK_TOP_INT_STATUS0 0x53a 18#define MT6358_EOSC_CALI_CON0 0x540 19#define MT6358_EOSC_CALI_CON1 0x542 20#define MT6358_RTC_MIX_CON0 0x544 21#define MT6358_RTC_MIX_CON1 0x546 22#define MT6358_RTC_MIX_CON2 0x548 23#define MT6358_RTC_DSN_ID 0x580 24#define MT6358_RTC_DSN_REV0 0x582 25#define MT6358_RTC_DBI 0x584 26#define MT6358_RTC_DXI 0x586 27#define MT6358_RTC_BBPU 0x588 28#define MT6358_RTC_IRQ_STA 0x58a 29#define MT6358_RTC_IRQ_EN 0x58c 30#define MT6358_RTC_CII_EN 0x58e 31#define MT6358_RTC_AL_MASK 0x590 32#define MT6358_RTC_TC_SEC 0x592 33#define MT6358_RTC_TC_MIN 0x594 34#define MT6358_RTC_TC_HOU 0x596 35#define MT6358_RTC_TC_DOM 0x598 36#define MT6358_RTC_TC_DOW 0x59a 37#define MT6358_RTC_TC_MTH 0x59c 38#define MT6358_RTC_TC_YEA 0x59e 39#define MT6358_RTC_AL_SEC 0x5a0 40#define MT6358_RTC_AL_MIN 0x5a2 41#define MT6358_RTC_AL_HOU 0x5a4 42#define MT6358_RTC_AL_DOM 0x5a6 43#define MT6358_RTC_AL_DOW 0x5a8 44#define MT6358_RTC_AL_MTH 0x5aa 45#define MT6358_RTC_AL_YEA 0x5ac 46#define MT6358_RTC_OSC32CON 0x5ae 47#define MT6358_RTC_POWERKEY1 0x5b0 48#define MT6358_RTC_POWERKEY2 0x5b2 49#define MT6358_RTC_PDN1 0x5b4 50#define MT6358_RTC_PDN2 0x5b6 51#define MT6358_RTC_SPAR0 0x5b8 52#define MT6358_RTC_SPAR1 0x5ba 53#define MT6358_RTC_PROT 0x5bc 54#define MT6358_RTC_DIFF 0x5be 55#define MT6358_RTC_CALI 0x5c0 56#define MT6358_RTC_WRTGR 0x5c2 57#define MT6358_RTC_CON 0x5c4 58#define MT6358_RTC_SEC_CTRL 0x5c6 59#define MT6358_RTC_INT_CNT 0x5c8 60#define MT6358_RTC_SEC_DAT0 0x5ca 61#define MT6358_RTC_SEC_DAT1 0x5cc 62#define MT6358_RTC_SEC_DAT2 0x5ce 63#define MT6358_RTC_SEC_DSN_ID 0x600 64#define MT6358_RTC_SEC_DSN_REV0 0x602 65#define MT6358_RTC_SEC_DBI 0x604 66#define MT6358_RTC_SEC_DXI 0x606 67#define MT6358_RTC_TC_SEC_SEC 0x608 68#define MT6358_RTC_TC_MIN_SEC 0x60a 69#define MT6358_RTC_TC_HOU_SEC 0x60c 70#define MT6358_RTC_TC_DOM_SEC 0x60e 71#define MT6358_RTC_TC_DOW_SEC 0x610 72#define MT6358_RTC_TC_MTH_SEC 0x612 73#define MT6358_RTC_TC_YEA_SEC 0x614 74#define MT6358_RTC_SEC_CK_PDN 0x616 75#define MT6358_RTC_SEC_WRTGR 0x618 76#define MT6358_PSC_TOP_INT_CON0 0x910 77#define MT6358_PSC_TOP_INT_STATUS0 0x91c 78#define MT6358_BM_TOP_INT_CON0 0xc32 79#define MT6358_BM_TOP_INT_CON1 0xc38 80#define MT6358_BM_TOP_INT_STATUS0 0xc4a 81#define MT6358_BM_TOP_INT_STATUS1 0xc4c 82#define MT6358_HK_TOP_INT_CON0 0xf92 83#define MT6358_HK_TOP_INT_STATUS0 0xf9e 84#define MT6358_BUCK_TOP_INT_CON0 0x1318 85#define MT6358_BUCK_TOP_INT_STATUS0 0x1324 86#define MT6358_BUCK_VPROC11_CON0 0x1388 87#define MT6358_BUCK_VPROC11_DBG0 0x139e 88#define MT6358_BUCK_VPROC11_DBG1 0x13a0 89#define MT6358_BUCK_VPROC11_ELR0 0x13a6 90#define MT6358_BUCK_VPROC12_CON0 0x1408 91#define MT6358_BUCK_VPROC12_DBG0 0x141e 92#define MT6358_BUCK_VPROC12_DBG1 0x1420 93#define MT6358_BUCK_VPROC12_ELR0 0x1426 94#define MT6358_BUCK_VCORE_CON0 0x1488 95#define MT6358_BUCK_VCORE_DBG0 0x149e 96#define MT6358_BUCK_VCORE_DBG1 0x14a0 97#define MT6358_BUCK_VCORE_SSHUB_CON0 0x14a4 98#define MT6358_BUCK_VCORE_SSHUB_CON1 0x14a6 99#define MT6358_BUCK_VCORE_SSHUB_ELR0 MT6358_BUCK_VCORE_SSHUB_CON1 100#define MT6358_BUCK_VCORE_SSHUB_DBG1 MT6358_BUCK_VCORE_DBG1 101#define MT6358_BUCK_VCORE_ELR0 0x14aa 102#define MT6358_BUCK_VGPU_CON0 0x1508 103#define MT6358_BUCK_VGPU_DBG0 0x151e 104#define MT6358_BUCK_VGPU_DBG1 0x1520 105#define MT6358_BUCK_VGPU_ELR0 0x1526 106#define MT6358_BUCK_VMODEM_CON0 0x1588 107#define MT6358_BUCK_VMODEM_DBG0 0x159e 108#define MT6358_BUCK_VMODEM_DBG1 0x15a0 109#define MT6358_BUCK_VMODEM_ELR0 0x15a6 110#define MT6358_BUCK_VDRAM1_CON0 0x1608 111#define MT6358_BUCK_VDRAM1_DBG0 0x161e 112#define MT6358_BUCK_VDRAM1_DBG1 0x1620 113#define MT6358_BUCK_VDRAM1_ELR0 0x1626 114#define MT6358_BUCK_VS1_CON0 0x1688 115#define MT6358_BUCK_VS1_DBG0 0x169e 116#define MT6358_BUCK_VS1_DBG1 0x16a0 117#define MT6358_BUCK_VS1_ELR0 0x16ae 118#define MT6358_BUCK_VS2_CON0 0x1708 119#define MT6358_BUCK_VS2_DBG0 0x171e 120#define MT6358_BUCK_VS2_DBG1 0x1720 121#define MT6358_BUCK_VS2_ELR0 0x172e 122#define MT6358_BUCK_VPA_CON0 0x1788 123#define MT6358_BUCK_VPA_CON1 0x178a 124#define MT6358_BUCK_VPA_ELR0 MT6358_BUCK_VPA_CON1 125#define MT6358_BUCK_VPA_DBG0 0x1792 126#define MT6358_BUCK_VPA_DBG1 0x1794 127#define MT6358_VPROC_ANA_CON0 0x180c 128#define MT6358_VCORE_VGPU_ANA_CON0 0x1828 129#define MT6358_VMODEM_ANA_CON0 0x1888 130#define MT6358_VDRAM1_ANA_CON0 0x1896 131#define MT6358_VS1_ANA_CON0 0x18a2 132#define MT6358_VS2_ANA_CON0 0x18ae 133#define MT6358_VPA_ANA_CON0 0x18ba 134#define MT6358_LDO_TOP_INT_CON0 0x1a50 135#define MT6358_LDO_TOP_INT_CON1 0x1a56 136#define MT6358_LDO_TOP_INT_STATUS0 0x1a68 137#define MT6358_LDO_TOP_INT_STATUS1 0x1a6a 138#define MT6358_LDO_VXO22_CON0 0x1a88 139#define MT6358_LDO_VXO22_CON1 0x1a96 140#define MT6358_LDO_VA12_CON0 0x1a9c 141#define MT6358_LDO_VA12_CON1 0x1aaa 142#define MT6358_LDO_VAUX18_CON0 0x1ab0 143#define MT6358_LDO_VAUX18_CON1 0x1abe 144#define MT6358_LDO_VAUD28_CON0 0x1ac4 145#define MT6358_LDO_VAUD28_CON1 0x1ad2 146#define MT6358_LDO_VIO28_CON0 0x1ad8 147#define MT6358_LDO_VIO28_CON1 0x1ae6 148#define MT6358_LDO_VIO18_CON0 0x1aec 149#define MT6358_LDO_VIO18_CON1 0x1afa 150#define MT6358_LDO_VDRAM2_CON0 0x1b08 151#define MT6358_LDO_VDRAM2_CON1 0x1b16 152#define MT6358_LDO_VEMC_CON0 0x1b1c 153#define MT6358_LDO_VEMC_CON1 0x1b2a 154#define MT6358_LDO_VUSB_CON0_0 0x1b30 155#define MT6358_LDO_VUSB_CON1 0x1b40 156#define MT6358_LDO_VSRAM_PROC11_CON0 0x1b46 157#define MT6358_LDO_VSRAM_PROC11_DBG0 0x1b60 158#define MT6358_LDO_VSRAM_PROC11_DBG1 0x1b62 159#define MT6358_LDO_VSRAM_PROC11_TRACKING_CON0 0x1b64 160#define MT6358_LDO_VSRAM_PROC11_TRACKING_CON1 0x1b66 161#define MT6358_LDO_VSRAM_PROC11_TRACKING_CON2 0x1b68 162#define MT6358_LDO_VSRAM_PROC11_TRACKING_CON3 0x1b6a 163#define MT6358_LDO_VSRAM_PROC12_TRACKING_CON0 0x1b6c 164#define MT6358_LDO_VSRAM_PROC12_TRACKING_CON1 0x1b6e 165#define MT6358_LDO_VSRAM_PROC12_TRACKING_CON2 0x1b70 166#define MT6358_LDO_VSRAM_PROC12_TRACKING_CON3 0x1b72 167#define MT6358_LDO_VSRAM_WAKEUP_CON0 0x1b74 168#define MT6358_LDO_GON1_ELR_NUM 0x1b76 169#define MT6358_LDO_VDRAM2_ELR0 0x1b78 170#define MT6358_LDO_VSRAM_PROC12_CON0 0x1b88 171#define MT6358_LDO_VSRAM_PROC12_DBG0 0x1ba2 172#define MT6358_LDO_VSRAM_PROC12_DBG1 0x1ba4 173#define MT6358_LDO_VSRAM_OTHERS_CON0 0x1ba6 174#define MT6358_LDO_VSRAM_OTHERS_DBG0 0x1bc0 175#define MT6358_LDO_VSRAM_OTHERS_DBG1 0x1bc2 176#define MT6358_LDO_VSRAM_OTHERS_SSHUB_CON0 0x1bc4 177#define MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1 0x1bc6 178#define MT6358_LDO_VSRAM_OTHERS_SSHUB_DBG1 MT6358_LDO_VSRAM_OTHERS_DBG1 179#define MT6358_LDO_VSRAM_GPU_CON0 0x1bc8 180#define MT6358_LDO_VSRAM_GPU_DBG0 0x1be2 181#define MT6358_LDO_VSRAM_GPU_DBG1 0x1be4 182#define MT6358_LDO_VSRAM_CON0 0x1bee 183#define MT6358_LDO_VSRAM_CON1 0x1bf0 184#define MT6358_LDO_VSRAM_CON2 0x1bf2 185#define MT6358_LDO_VSRAM_CON3 0x1bf4 186#define MT6358_LDO_VFE28_CON0 0x1c08 187#define MT6358_LDO_VFE28_CON1 0x1c16 188#define MT6358_LDO_VFE28_CON2 0x1c18 189#define MT6358_LDO_VFE28_CON3 0x1c1a 190#define MT6358_LDO_VRF18_CON0 0x1c1c 191#define MT6358_LDO_VRF18_CON1 0x1c2a 192#define MT6358_LDO_VRF18_CON2 0x1c2c 193#define MT6358_LDO_VRF18_CON3 0x1c2e 194#define MT6358_LDO_VRF12_CON0 0x1c30 195#define MT6358_LDO_VRF12_CON1 0x1c3e 196#define MT6358_LDO_VRF12_CON2 0x1c40 197#define MT6358_LDO_VRF12_CON3 0x1c42 198#define MT6358_LDO_VEFUSE_CON0 0x1c44 199#define MT6358_LDO_VEFUSE_CON1 0x1c52 200#define MT6358_LDO_VEFUSE_CON2 0x1c54 201#define MT6358_LDO_VEFUSE_CON3 0x1c56 202#define MT6358_LDO_VCN18_CON0 0x1c58 203#define MT6358_LDO_VCN18_CON1 0x1c66 204#define MT6358_LDO_VCN18_CON2 0x1c68 205#define MT6358_LDO_VCN18_CON3 0x1c6a 206#define MT6358_LDO_VCAMA1_CON0 0x1c6c 207#define MT6358_LDO_VCAMA1_CON1 0x1c7a 208#define MT6358_LDO_VCAMA1_CON2 0x1c7c 209#define MT6358_LDO_VCAMA1_CON3 0x1c7e 210#define MT6358_LDO_VCAMA2_CON0 0x1c88 211#define MT6358_LDO_VCAMA2_CON1 0x1c96 212#define MT6358_LDO_VCAMA2_CON2 0x1c98 213#define MT6358_LDO_VCAMA2_CON3 0x1c9a 214#define MT6358_LDO_VCAMD_CON0 0x1c9c 215#define MT6358_LDO_VCAMD_CON1 0x1caa 216#define MT6358_LDO_VCAMD_CON2 0x1cac 217#define MT6358_LDO_VCAMD_CON3 0x1cae 218#define MT6358_LDO_VCAMIO_CON0 0x1cb0 219#define MT6358_LDO_VCAMIO_CON1 0x1cbe 220#define MT6358_LDO_VCAMIO_CON2 0x1cc0 221#define MT6358_LDO_VCAMIO_CON3 0x1cc2 222#define MT6358_LDO_VMC_CON0 0x1cc4 223#define MT6358_LDO_VMC_CON1 0x1cd2 224#define MT6358_LDO_VMC_CON2 0x1cd4 225#define MT6358_LDO_VMC_CON3 0x1cd6 226#define MT6358_LDO_VMCH_CON0 0x1cd8 227#define MT6358_LDO_VMCH_CON1 0x1ce6 228#define MT6358_LDO_VMCH_CON2 0x1ce8 229#define MT6358_LDO_VMCH_CON3 0x1cea 230#define MT6358_LDO_VIBR_CON0 0x1d08 231#define MT6358_LDO_VIBR_CON1 0x1d16 232#define MT6358_LDO_VIBR_CON2 0x1d18 233#define MT6358_LDO_VIBR_CON3 0x1d1a 234#define MT6358_LDO_VCN33_CON0_0 0x1d1c 235#define MT6358_LDO_VCN33_CON0_1 0x1d2a 236#define MT6358_LDO_VCN33_CON1 0x1d2c 237#define MT6358_LDO_VCN33_BT_CON1 MT6358_LDO_VCN33_CON1 238#define MT6358_LDO_VCN33_WIFI_CON1 MT6358_LDO_VCN33_CON1 239#define MT6358_LDO_VCN33_CON2 0x1d2e 240#define MT6358_LDO_VCN33_CON3 0x1d30 241#define MT6358_LDO_VLDO28_CON0_0 0x1d32 242#define MT6358_LDO_VLDO28_CON0_1 0x1d40 243#define MT6358_LDO_VLDO28_CON1 0x1d42 244#define MT6358_LDO_VLDO28_CON2 0x1d44 245#define MT6358_LDO_VLDO28_CON3 0x1d46 246#define MT6358_LDO_VSIM1_CON0 0x1d48 247#define MT6358_LDO_VSIM1_CON1 0x1d56 248#define MT6358_LDO_VSIM1_CON2 0x1d58 249#define MT6358_LDO_VSIM1_CON3 0x1d5a 250#define MT6358_LDO_VSIM2_CON0 0x1d5c 251#define MT6358_LDO_VSIM2_CON1 0x1d6a 252#define MT6358_LDO_VSIM2_CON2 0x1d6c 253#define MT6358_LDO_VSIM2_CON3 0x1d6e 254#define MT6358_LDO_VCN28_CON0 0x1d88 255#define MT6358_LDO_VCN28_CON1 0x1d96 256#define MT6358_LDO_VCN28_CON2 0x1d98 257#define MT6358_LDO_VCN28_CON3 0x1d9a 258#define MT6358_VRTC28_CON0 0x1d9c 259#define MT6358_LDO_VBIF28_CON0 0x1d9e 260#define MT6358_LDO_VBIF28_CON1 0x1dac 261#define MT6358_LDO_VBIF28_CON2 0x1dae 262#define MT6358_LDO_VBIF28_CON3 0x1db0 263#define MT6358_VCAMA1_ANA_CON0 0x1e08 264#define MT6358_VCAMA2_ANA_CON0 0x1e0c 265#define MT6358_VFE28_ANA_CON0 0x1e10 266#define MT6358_VCN28_ANA_CON0 0x1e14 267#define MT6358_VBIF28_ANA_CON0 0x1e18 268#define MT6358_VAUD28_ANA_CON0 0x1e1c 269#define MT6358_VAUX18_ANA_CON0 0x1e20 270#define MT6358_VXO22_ANA_CON0 0x1e24 271#define MT6358_VCN33_ANA_CON0 0x1e28 272#define MT6358_VSIM1_ANA_CON0 0x1e2c 273#define MT6358_VSIM2_ANA_CON0 0x1e30 274#define MT6358_VUSB_ANA_CON0 0x1e34 275#define MT6358_VEMC_ANA_CON0 0x1e38 276#define MT6358_VLDO28_ANA_CON0 0x1e3c 277#define MT6358_VIO28_ANA_CON0 0x1e40 278#define MT6358_VIBR_ANA_CON0 0x1e44 279#define MT6358_VMCH_ANA_CON0 0x1e48 280#define MT6358_VMC_ANA_CON0 0x1e4c 281#define MT6358_VRF18_ANA_CON0 0x1e88 282#define MT6358_VCN18_ANA_CON0 0x1e8c 283#define MT6358_VCAMIO_ANA_CON0 0x1e90 284#define MT6358_VIO18_ANA_CON0 0x1e94 285#define MT6358_VEFUSE_ANA_CON0 0x1e98 286#define MT6358_VRF12_ANA_CON0 0x1e9c 287#define MT6358_VSRAM_PROC11_ANA_CON0 0x1ea0 288#define MT6358_VSRAM_PROC12_ANA_CON0 0x1ea4 289#define MT6358_VSRAM_OTHERS_ANA_CON0 0x1ea6 290#define MT6358_VSRAM_GPU_ANA_CON0 0x1ea8 291#define MT6358_VDRAM2_ANA_CON0 0x1eaa 292#define MT6358_VCAMD_ANA_CON0 0x1eae 293#define MT6358_VA12_ANA_CON0 0x1eb2 294#define MT6358_AUD_TOP_INT_CON0 0x2228 295#define MT6358_AUD_TOP_INT_STATUS0 0x2234 296 297/* 298 * MT6366 has no VCAM*, but has other regulators in its place. The names 299 * keep the MT6358 prefix for ease of use in the regulator driver. 300 */ 301#define MT6358_LDO_VSRAM_CON5 0x1bf8 302#define MT6358_LDO_VM18_CON0 MT6358_LDO_VCAMA1_CON0 303#define MT6358_LDO_VM18_CON1 MT6358_LDO_VCAMA1_CON1 304#define MT6358_LDO_VM18_CON2 MT6358_LDO_VCAMA1_CON2 305#define MT6358_LDO_VMDDR_CON0 MT6358_LDO_VCAMA2_CON0 306#define MT6358_LDO_VMDDR_CON1 MT6358_LDO_VCAMA2_CON1 307#define MT6358_LDO_VMDDR_CON2 MT6358_LDO_VCAMA2_CON2 308#define MT6358_LDO_VSRAM_CORE_CON0 MT6358_LDO_VCAMD_CON0 309#define MT6358_LDO_VSRAM_CORE_DBG0 0x1cb6 310#define MT6358_LDO_VSRAM_CORE_DBG1 0x1cb8 311#define MT6358_VM18_ANA_CON0 MT6358_VCAMA1_ANA_CON0 312#define MT6358_VMDDR_ANA_CON0 MT6358_VCAMD_ANA_CON0 313 314#endif /* __MFD_MT6358_REGISTERS_H__ */ 315