mirror of
https://github.com/Qortal/Brooklyn.git
synced 2025-02-12 02:05:54 +00:00
* 0day explit mitigation * Memory corruption prevention * Privilege escalation prevention * Buffer over flow prevention * File System corruption defense * Thread escape prevention This may very well be the most intensive inclusion to BrooklynR. This will not be part of an x86 suite nor it will be released as tool kit. The security core toolkit will remain part of kernel base.
147 lines
3.4 KiB
C
147 lines
3.4 KiB
C
/*
|
|
* s2mps14.h
|
|
*
|
|
* Copyright (c) 2014 Samsung Electronics Co., Ltd
|
|
* http://www.samsung.com
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify it
|
|
* under the terms of the GNU General Public License as published by the
|
|
* Free Software Foundation; either version 2 of the License, or (at your
|
|
* option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
*/
|
|
|
|
#ifndef __LINUX_MFD_S2MPS14_H
|
|
#define __LINUX_MFD_S2MPS14_H
|
|
|
|
/* S2MPS14 registers */
|
|
enum s2mps14_reg {
|
|
S2MPS14_REG_ID,
|
|
S2MPS14_REG_INT1,
|
|
S2MPS14_REG_INT2,
|
|
S2MPS14_REG_INT3,
|
|
S2MPS14_REG_INT1M,
|
|
S2MPS14_REG_INT2M,
|
|
S2MPS14_REG_INT3M,
|
|
S2MPS14_REG_ST1,
|
|
S2MPS14_REG_ST2,
|
|
S2MPS14_REG_PWRONSRC,
|
|
S2MPS14_REG_OFFSRC,
|
|
S2MPS14_REG_BU_CHG,
|
|
S2MPS14_REG_RTCCTRL,
|
|
S2MPS14_REG_CTRL1,
|
|
S2MPS14_REG_CTRL2,
|
|
S2MPS14_REG_RSVD1,
|
|
S2MPS14_REG_RSVD2,
|
|
S2MPS14_REG_RSVD3,
|
|
S2MPS14_REG_RSVD4,
|
|
S2MPS14_REG_RSVD5,
|
|
S2MPS14_REG_RSVD6,
|
|
S2MPS14_REG_CTRL3,
|
|
S2MPS14_REG_RSVD7,
|
|
S2MPS14_REG_RSVD8,
|
|
S2MPS14_REG_WRSTBI,
|
|
S2MPS14_REG_B1CTRL1,
|
|
S2MPS14_REG_B1CTRL2,
|
|
S2MPS14_REG_B2CTRL1,
|
|
S2MPS14_REG_B2CTRL2,
|
|
S2MPS14_REG_B3CTRL1,
|
|
S2MPS14_REG_B3CTRL2,
|
|
S2MPS14_REG_B4CTRL1,
|
|
S2MPS14_REG_B4CTRL2,
|
|
S2MPS14_REG_B5CTRL1,
|
|
S2MPS14_REG_B5CTRL2,
|
|
S2MPS14_REG_L1CTRL,
|
|
S2MPS14_REG_L2CTRL,
|
|
S2MPS14_REG_L3CTRL,
|
|
S2MPS14_REG_L4CTRL,
|
|
S2MPS14_REG_L5CTRL,
|
|
S2MPS14_REG_L6CTRL,
|
|
S2MPS14_REG_L7CTRL,
|
|
S2MPS14_REG_L8CTRL,
|
|
S2MPS14_REG_L9CTRL,
|
|
S2MPS14_REG_L10CTRL,
|
|
S2MPS14_REG_L11CTRL,
|
|
S2MPS14_REG_L12CTRL,
|
|
S2MPS14_REG_L13CTRL,
|
|
S2MPS14_REG_L14CTRL,
|
|
S2MPS14_REG_L15CTRL,
|
|
S2MPS14_REG_L16CTRL,
|
|
S2MPS14_REG_L17CTRL,
|
|
S2MPS14_REG_L18CTRL,
|
|
S2MPS14_REG_L19CTRL,
|
|
S2MPS14_REG_L20CTRL,
|
|
S2MPS14_REG_L21CTRL,
|
|
S2MPS14_REG_L22CTRL,
|
|
S2MPS14_REG_L23CTRL,
|
|
S2MPS14_REG_L24CTRL,
|
|
S2MPS14_REG_L25CTRL,
|
|
S2MPS14_REG_LDODSCH1,
|
|
S2MPS14_REG_LDODSCH2,
|
|
S2MPS14_REG_LDODSCH3,
|
|
};
|
|
|
|
/* S2MPS14 regulator ids */
|
|
enum s2mps14_regulators {
|
|
S2MPS14_LDO1,
|
|
S2MPS14_LDO2,
|
|
S2MPS14_LDO3,
|
|
S2MPS14_LDO4,
|
|
S2MPS14_LDO5,
|
|
S2MPS14_LDO6,
|
|
S2MPS14_LDO7,
|
|
S2MPS14_LDO8,
|
|
S2MPS14_LDO9,
|
|
S2MPS14_LDO10,
|
|
S2MPS14_LDO11,
|
|
S2MPS14_LDO12,
|
|
S2MPS14_LDO13,
|
|
S2MPS14_LDO14,
|
|
S2MPS14_LDO15,
|
|
S2MPS14_LDO16,
|
|
S2MPS14_LDO17,
|
|
S2MPS14_LDO18,
|
|
S2MPS14_LDO19,
|
|
S2MPS14_LDO20,
|
|
S2MPS14_LDO21,
|
|
S2MPS14_LDO22,
|
|
S2MPS14_LDO23,
|
|
S2MPS14_LDO24,
|
|
S2MPS14_LDO25,
|
|
S2MPS14_BUCK1,
|
|
S2MPS14_BUCK2,
|
|
S2MPS14_BUCK3,
|
|
S2MPS14_BUCK4,
|
|
S2MPS14_BUCK5,
|
|
|
|
S2MPS14_REGULATOR_MAX,
|
|
};
|
|
|
|
/* Regulator constraints for BUCKx */
|
|
#define S2MPS14_BUCK1235_START_SEL 0x20
|
|
#define S2MPS14_BUCK4_START_SEL 0x40
|
|
/*
|
|
* Default ramp delay in uv/us. Datasheet says that ramp delay can be
|
|
* controlled however it does not specify which register is used for that.
|
|
* Let's assume that default value will be set.
|
|
*/
|
|
#define S2MPS14_BUCK_RAMP_DELAY 12500
|
|
|
|
#define S2MPS14_LDO_VSEL_MASK 0x3F
|
|
#define S2MPS14_BUCK_VSEL_MASK 0xFF
|
|
#define S2MPS14_ENABLE_MASK (0x03 << S2MPS14_ENABLE_SHIFT)
|
|
#define S2MPS14_ENABLE_SHIFT 6
|
|
/* On/Off controlled by PWREN */
|
|
#define S2MPS14_ENABLE_SUSPEND (0x01 << S2MPS14_ENABLE_SHIFT)
|
|
/* On/Off controlled by LDO10EN or EMMCEN */
|
|
#define S2MPS14_ENABLE_EXT_CONTROL (0x00 << S2MPS14_ENABLE_SHIFT)
|
|
#define S2MPS14_LDO_N_VOLTAGES (S2MPS14_LDO_VSEL_MASK + 1)
|
|
#define S2MPS14_BUCK_N_VOLTAGES (S2MPS14_BUCK_VSEL_MASK + 1)
|
|
|
|
#endif /* __LINUX_MFD_S2MPS14_H */
|