1*83d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */ 2854dfbf9SFelix Brack /* 3854dfbf9SFelix Brack * Copyright (C) EETS GmbH, 2017, Felix Brack <f.brack@eets.ch> 4854dfbf9SFelix Brack */ 5854dfbf9SFelix Brack 6854dfbf9SFelix Brack #ifndef __TPS65910_PMIC_H_ 7854dfbf9SFelix Brack #define __TPS65910_PMIC_H_ 8854dfbf9SFelix Brack 9854dfbf9SFelix Brack #define TPS65910_I2C_SEL_MASK (0x1 << 4) 10854dfbf9SFelix Brack #define TPS65910_VDD_SR_MASK (0x1 << 7) 11854dfbf9SFelix Brack #define TPS65910_GAIN_SEL_MASK (0x3 << 6) 12854dfbf9SFelix Brack #define TPS65910_VDD_SEL_MASK 0x7f 13854dfbf9SFelix Brack #define TPS65910_VDD_SEL_MIN 3 14854dfbf9SFelix Brack #define TPS65910_VDD_SEL_MAX 75 15854dfbf9SFelix Brack #define TPS65910_SEL_MASK (0x3 << 2) 16854dfbf9SFelix Brack #define TPS65910_SUPPLY_STATE_MASK 0x3 17854dfbf9SFelix Brack #define TPS65910_SUPPLY_STATE_OFF 0x0 18854dfbf9SFelix Brack #define TPS65910_SUPPLY_STATE_ON 0x1 19854dfbf9SFelix Brack 20854dfbf9SFelix Brack /* i2c registers */ 21854dfbf9SFelix Brack enum { 22854dfbf9SFelix Brack TPS65910_REG_RTC_SEC = 0x00, 23854dfbf9SFelix Brack TPS65910_REG_RTC_MIN, 24854dfbf9SFelix Brack TPS65910_REG_RTC_HOUR, 25854dfbf9SFelix Brack TPS65910_REG_RTC_DAY, 26854dfbf9SFelix Brack TPS65910_REG_RTC_MONTH, 27854dfbf9SFelix Brack TPS65910_REG_RTC_YEAR, 28854dfbf9SFelix Brack TPS65910_REG_RTC_WEEK, 29854dfbf9SFelix Brack TPS65910_REG_RTC_ALARM_SEC = 0x08, 30854dfbf9SFelix Brack TPS65910_REG_RTC_ALARM_MIN, 31854dfbf9SFelix Brack TPS65910_REG_RTC_ALARM_HOUR, 32854dfbf9SFelix Brack TPS65910_REG_RTC_ALARM_DAY, 33854dfbf9SFelix Brack TPS65910_REG_RTC_ALARM_MONTH, 34854dfbf9SFelix Brack TPS65910_REG_RTC_ALARM_YEAR, 35854dfbf9SFelix Brack TPS65910_REG_RTC_CTRL = 0x10, 36854dfbf9SFelix Brack TPS65910_REG_RTC_STAT, 37854dfbf9SFelix Brack TPS65910_REG_RTC_INT, 38854dfbf9SFelix Brack TPS65910_REG_RTC_COMP_LSB, 39854dfbf9SFelix Brack TPS65910_REG_RTC_COMP_MSB, 40854dfbf9SFelix Brack TPS65910_REG_RTC_RESISTOR_PRG, 41854dfbf9SFelix Brack TPS65910_REG_RTC_RESET_STAT, 42854dfbf9SFelix Brack TPS65910_REG_BACKUP1, 43854dfbf9SFelix Brack TPS65910_REG_BACKUP2, 44854dfbf9SFelix Brack TPS65910_REG_BACKUP3, 45854dfbf9SFelix Brack TPS65910_REG_BACKUP4, 46854dfbf9SFelix Brack TPS65910_REG_BACKUP5, 47854dfbf9SFelix Brack TPS65910_REG_PUADEN, 48854dfbf9SFelix Brack TPS65910_REG_REF, 49854dfbf9SFelix Brack TPS65910_REG_VRTC, 50854dfbf9SFelix Brack TPS65910_REG_VIO = 0x20, 51854dfbf9SFelix Brack TPS65910_REG_VDD1, 52854dfbf9SFelix Brack TPS65910_REG_VDD1_VAL, 53854dfbf9SFelix Brack TPS65910_REG_VDD1_VAL_SR, 54854dfbf9SFelix Brack TPS65910_REG_VDD2, 55854dfbf9SFelix Brack TPS65910_REG_VDD2_VAL, 56854dfbf9SFelix Brack TPS65910_REG_VDD2_VAL_SR, 57854dfbf9SFelix Brack TPS65910_REG_VDD3, 58854dfbf9SFelix Brack TPS65910_REG_VDIG1 = 0x30, 59854dfbf9SFelix Brack TPS65910_REG_VDIG2, 60854dfbf9SFelix Brack TPS65910_REG_VAUX1, 61854dfbf9SFelix Brack TPS65910_REG_VAUX2, 62854dfbf9SFelix Brack TPS65910_REG_VAUX33, 63854dfbf9SFelix Brack TPS65910_REG_VMMC, 64854dfbf9SFelix Brack TPS65910_REG_VPLL, 65854dfbf9SFelix Brack TPS65910_REG_VDAC, 66854dfbf9SFelix Brack TPS65910_REG_THERM, 67854dfbf9SFelix Brack TPS65910_REG_BATTERY_BACKUP_CHARGE, 68854dfbf9SFelix Brack TPS65910_REG_DCDC_CTRL = 0x3e, 69854dfbf9SFelix Brack TPS65910_REG_DEVICE_CTRL, 70854dfbf9SFelix Brack TPS65910_REG_DEVICE_CTRL2, 71854dfbf9SFelix Brack TPS65910_REG_SLEEP_KEEP_LDO_ON, 72854dfbf9SFelix Brack TPS65910_REG_SLEEP_KEEP_RES_ON, 73854dfbf9SFelix Brack TPS65910_REG_SLEEP_SET_LDO_OFF, 74854dfbf9SFelix Brack TPS65910_REG_SLEEP_SET_RES_OFF, 75854dfbf9SFelix Brack TPS65910_REG_EN1_LDO_ASS, 76854dfbf9SFelix Brack TPS65910_REG_EM1_SMPS_ASS, 77854dfbf9SFelix Brack TPS65910_REG_EN2_LDO_ASS, 78854dfbf9SFelix Brack TPS65910_REG_EM2_SMPS_ASS, 79854dfbf9SFelix Brack TPS65910_REG_INT_STAT = 0x50, 80854dfbf9SFelix Brack TPS65910_REG_INT_MASK, 81854dfbf9SFelix Brack TPS65910_REG_INT_STAT2, 82854dfbf9SFelix Brack TPS65910_REG_INT_MASK2, 83854dfbf9SFelix Brack TPS65910_REG_GPIO = 0x60, 84854dfbf9SFelix Brack TPS65910_REG_JTAGREVNUM = 0x80, 85854dfbf9SFelix Brack TPS65910_NUM_REGS 86854dfbf9SFelix Brack }; 87854dfbf9SFelix Brack 88854dfbf9SFelix Brack /* chip supplies */ 89854dfbf9SFelix Brack enum { 90854dfbf9SFelix Brack TPS65910_SUPPLY_VCCIO = 0x00, 91854dfbf9SFelix Brack TPS65910_SUPPLY_VCC1, 92854dfbf9SFelix Brack TPS65910_SUPPLY_VCC2, 93854dfbf9SFelix Brack TPS65910_SUPPLY_VCC3, 94854dfbf9SFelix Brack TPS65910_SUPPLY_VCC4, 95854dfbf9SFelix Brack TPS65910_SUPPLY_VCC5, 96854dfbf9SFelix Brack TPS65910_SUPPLY_VCC6, 97854dfbf9SFelix Brack TPS65910_SUPPLY_VCC7, 98854dfbf9SFelix Brack TPS65910_NUM_SUPPLIES 99854dfbf9SFelix Brack }; 100854dfbf9SFelix Brack 101854dfbf9SFelix Brack /* regulator unit numbers */ 102854dfbf9SFelix Brack enum { 103854dfbf9SFelix Brack TPS65910_UNIT_VRTC = 0x00, 104854dfbf9SFelix Brack TPS65910_UNIT_VIO, 105854dfbf9SFelix Brack TPS65910_UNIT_VDD1, 106854dfbf9SFelix Brack TPS65910_UNIT_VDD2, 107854dfbf9SFelix Brack TPS65910_UNIT_VDD3, 108854dfbf9SFelix Brack TPS65910_UNIT_VDIG1, 109854dfbf9SFelix Brack TPS65910_UNIT_VDIG2, 110854dfbf9SFelix Brack TPS65910_UNIT_VPLL, 111854dfbf9SFelix Brack TPS65910_UNIT_VDAC, 112854dfbf9SFelix Brack TPS65910_UNIT_VAUX1, 113854dfbf9SFelix Brack TPS65910_UNIT_VAUX2, 114854dfbf9SFelix Brack TPS65910_UNIT_VAUX33, 115854dfbf9SFelix Brack TPS65910_UNIT_VMMC, 116854dfbf9SFelix Brack }; 117854dfbf9SFelix Brack 118854dfbf9SFelix Brack /* platform data */ 119854dfbf9SFelix Brack struct tps65910_regulator_pdata { 120854dfbf9SFelix Brack u32 supply; /* regulator supply voltage in uV */ 121854dfbf9SFelix Brack uint unit; /* unit-address according to DT */ 122854dfbf9SFelix Brack }; 123854dfbf9SFelix Brack 124854dfbf9SFelix Brack /* driver names */ 125854dfbf9SFelix Brack #define TPS65910_BUCK_DRIVER "tps65910_buck" 126854dfbf9SFelix Brack #define TPS65910_BOOST_DRIVER "tps65910_boost" 127854dfbf9SFelix Brack #define TPS65910_LDO_DRIVER "tps65910_ldo" 128854dfbf9SFelix Brack 129854dfbf9SFelix Brack #endif /* __TPS65910_PMIC_H_ */ 130