at master 1.8 kB view raw
1/* SPDX-License-Identifier: GPL-2.0+ */ 2// s2dos05.h 3// 4// Copyright (c) 2016 Samsung Electronics Co., Ltd 5// http://www.samsung.com 6// Copyright (C) 2024 Dzmitry Sankouski <dsankouski@gmail.com> 7 8#ifndef __LINUX_S2DOS05_H 9#define __LINUX_S2DOS05_H 10 11// S2DOS05 registers 12// Slave Addr : 0xC0 13enum S2DOS05_reg { 14 S2DOS05_REG_DEV_ID, 15 S2DOS05_REG_TOPSYS_STAT, 16 S2DOS05_REG_STAT, 17 S2DOS05_REG_EN, 18 S2DOS05_REG_LDO1_CFG, 19 S2DOS05_REG_LDO2_CFG, 20 S2DOS05_REG_LDO3_CFG, 21 S2DOS05_REG_LDO4_CFG, 22 S2DOS05_REG_BUCK_CFG, 23 S2DOS05_REG_BUCK_VOUT, 24 S2DOS05_REG_IRQ_MASK = 0x0D, 25 S2DOS05_REG_SSD_TSD = 0x0E, 26 S2DOS05_REG_OCL = 0x10, 27 S2DOS05_REG_IRQ = 0x11 28}; 29 30// S2DOS05 regulator ids 31enum S2DOS05_regulators { 32 S2DOS05_LDO1, 33 S2DOS05_LDO2, 34 S2DOS05_LDO3, 35 S2DOS05_LDO4, 36 S2DOS05_BUCK1, 37 S2DOS05_REG_MAX, 38}; 39 40#define S2DOS05_IRQ_PWRMT_MASK BIT(5) 41#define S2DOS05_IRQ_TSD_MASK BIT(4) 42#define S2DOS05_IRQ_SSD_MASK BIT(3) 43#define S2DOS05_IRQ_SCP_MASK BIT(2) 44#define S2DOS05_IRQ_UVLO_MASK BIT(1) 45#define S2DOS05_IRQ_OCD_MASK BIT(0) 46 47#define S2DOS05_BUCK_MIN1 506250 48#define S2DOS05_LDO_MIN1 1500000 49#define S2DOS05_LDO_MIN2 2700000 50#define S2DOS05_BUCK_STEP1 6250 51#define S2DOS05_LDO_STEP1 25000 52#define S2DOS05_LDO_VSEL_MASK 0x7F 53#define S2DOS05_LDO_FD_MASK 0x80 54#define S2DOS05_BUCK_VSEL_MASK 0xFF 55#define S2DOS05_BUCK_FD_MASK 0x08 56 57#define S2DOS05_ENABLE_MASK_L1 BIT(0) 58#define S2DOS05_ENABLE_MASK_L2 BIT(1) 59#define S2DOS05_ENABLE_MASK_L3 BIT(2) 60#define S2DOS05_ENABLE_MASK_L4 BIT(3) 61#define S2DOS05_ENABLE_MASK_B1 BIT(4) 62 63#define S2DOS05_RAMP_DELAY 12000 64 65#define S2DOS05_ENABLE_TIME_LDO 50 66#define S2DOS05_ENABLE_TIME_BUCK 350 67 68#define S2DOS05_LDO_N_VOLTAGES (S2DOS05_LDO_VSEL_MASK + 1) 69#define S2DOS05_BUCK_N_VOLTAGES (S2DOS05_BUCK_VSEL_MASK + 1) 70 71#define S2DOS05_REGULATOR_MAX (S2DOS05_REG_MAX) 72 73#endif // __LINUX_S2DOS05_H