14549e789STom Rini /* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause */ 25d0c74e6SPatrick Delaunay /* 35d0c74e6SPatrick Delaunay * Copyright (C) 2018, STMicroelectronics - All Rights Reserved 45d0c74e6SPatrick Delaunay */ 55d0c74e6SPatrick Delaunay 65d0c74e6SPatrick Delaunay #ifndef __PMIC_STPMU1_H_ 75d0c74e6SPatrick Delaunay #define __PMIC_STPMU1_H_ 85d0c74e6SPatrick Delaunay 95d0c74e6SPatrick Delaunay #define STPMU1_MASK_RESET_BUCK 0x18 105d0c74e6SPatrick Delaunay #define STPMU1_BUCKX_CTRL_REG(buck) (0x20 + (buck)) 115d0c74e6SPatrick Delaunay #define STPMU1_VREF_CTRL_REG 0x24 125d0c74e6SPatrick Delaunay #define STPMU1_LDOX_CTRL_REG(ldo) (0x25 + (ldo)) 135d0c74e6SPatrick Delaunay #define STPMU1_USB_CTRL_REG 0x40 145d0c74e6SPatrick Delaunay #define STPMU1_NVM_USER_STATUS_REG 0xb8 155d0c74e6SPatrick Delaunay #define STPMU1_NVM_USER_CONTROL_REG 0xb9 165d0c74e6SPatrick Delaunay 175d0c74e6SPatrick Delaunay #define STPMU1_MASK_RESET_BUCK3 BIT(2) 185d0c74e6SPatrick Delaunay 195d0c74e6SPatrick Delaunay #define STPMU1_BUCK_EN BIT(0) 205d0c74e6SPatrick Delaunay #define STPMU1_BUCK_MODE BIT(1) 215d0c74e6SPatrick Delaunay #define STPMU1_BUCK_OUTPUT_MASK GENMASK(7, 2) 225d0c74e6SPatrick Delaunay #define STPMU1_BUCK_OUTPUT_SHIFT 2 235d0c74e6SPatrick Delaunay #define STPMU1_BUCK2_1200000V (24 << STPMU1_BUCK_OUTPUT_SHIFT) 245d0c74e6SPatrick Delaunay #define STPMU1_BUCK2_1350000V (30 << STPMU1_BUCK_OUTPUT_SHIFT) 255d0c74e6SPatrick Delaunay #define STPMU1_BUCK3_1800000V (39 << STPMU1_BUCK_OUTPUT_SHIFT) 265d0c74e6SPatrick Delaunay 275d0c74e6SPatrick Delaunay #define STPMU1_VREF_EN BIT(0) 285d0c74e6SPatrick Delaunay 295d0c74e6SPatrick Delaunay #define STPMU1_LDO_EN BIT(0) 305d0c74e6SPatrick Delaunay #define STPMU1_LDO12356_OUTPUT_MASK GENMASK(6, 2) 315d0c74e6SPatrick Delaunay #define STPMU1_LDO12356_OUTPUT_SHIFT 2 325d0c74e6SPatrick Delaunay #define STPMU1_LDO3_MODE BIT(7) 335d0c74e6SPatrick Delaunay #define STPMU1_LDO3_DDR_SEL 31 345d0c74e6SPatrick Delaunay #define STPMU1_LDO3_1800000 (9 << STPMU1_LDO12356_OUTPUT_SHIFT) 355d0c74e6SPatrick Delaunay #define STPMU1_LDO4_UV 3300000 365d0c74e6SPatrick Delaunay 375d0c74e6SPatrick Delaunay #define STPMU1_USB_BOOST_EN BIT(0) 385d0c74e6SPatrick Delaunay #define STPMU1_USB_PWR_SW_EN GENMASK(2, 1) 395d0c74e6SPatrick Delaunay 405d0c74e6SPatrick Delaunay #define STPMU1_NVM_USER_CONTROL_PROGRAM BIT(0) 415d0c74e6SPatrick Delaunay #define STPMU1_NVM_USER_CONTROL_READ BIT(1) 425d0c74e6SPatrick Delaunay 435d0c74e6SPatrick Delaunay #define STPMU1_NVM_USER_STATUS_BUSY BIT(0) 445d0c74e6SPatrick Delaunay #define STPMU1_NVM_USER_STATUS_ERROR BIT(1) 455d0c74e6SPatrick Delaunay 465d0c74e6SPatrick Delaunay #define STPMU1_DEFAULT_START_UP_DELAY_MS 1 47*844f9bf1SChristophe Kerello #define STPMU1_DEFAULT_STOP_DELAY_MS 5 485d0c74e6SPatrick Delaunay #define STPMU1_USB_BOOST_START_UP_DELAY_MS 10 495d0c74e6SPatrick Delaunay 505d0c74e6SPatrick Delaunay enum { 515d0c74e6SPatrick Delaunay STPMU1_BUCK1, 525d0c74e6SPatrick Delaunay STPMU1_BUCK2, 535d0c74e6SPatrick Delaunay STPMU1_BUCK3, 545d0c74e6SPatrick Delaunay STPMU1_BUCK4, 555d0c74e6SPatrick Delaunay STPMU1_MAX_BUCK, 565d0c74e6SPatrick Delaunay }; 575d0c74e6SPatrick Delaunay 585d0c74e6SPatrick Delaunay enum { 595d0c74e6SPatrick Delaunay STPMU1_BUCK_MODE_HP, 605d0c74e6SPatrick Delaunay STPMU1_BUCK_MODE_LP, 615d0c74e6SPatrick Delaunay }; 625d0c74e6SPatrick Delaunay 635d0c74e6SPatrick Delaunay enum { 645d0c74e6SPatrick Delaunay STPMU1_LDO1, 655d0c74e6SPatrick Delaunay STPMU1_LDO2, 665d0c74e6SPatrick Delaunay STPMU1_LDO3, 675d0c74e6SPatrick Delaunay STPMU1_LDO4, 685d0c74e6SPatrick Delaunay STPMU1_LDO5, 695d0c74e6SPatrick Delaunay STPMU1_LDO6, 705d0c74e6SPatrick Delaunay STPMU1_MAX_LDO, 715d0c74e6SPatrick Delaunay }; 725d0c74e6SPatrick Delaunay 735d0c74e6SPatrick Delaunay enum { 745d0c74e6SPatrick Delaunay STPMU1_LDO_MODE_NORMAL, 755d0c74e6SPatrick Delaunay STPMU1_LDO_MODE_BYPASS, 765d0c74e6SPatrick Delaunay STPMU1_LDO_MODE_SINK_SOURCE, 775d0c74e6SPatrick Delaunay }; 785d0c74e6SPatrick Delaunay 795d0c74e6SPatrick Delaunay enum { 805d0c74e6SPatrick Delaunay STPMU1_PWR_SW1, 815d0c74e6SPatrick Delaunay STPMU1_PWR_SW2, 825d0c74e6SPatrick Delaunay STPMU1_MAX_PWR_SW, 835d0c74e6SPatrick Delaunay }; 845d0c74e6SPatrick Delaunay 855d0c74e6SPatrick Delaunay #endif 86