Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Linux/include/linux/mfd/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 5 kB image not shown  

Quelle  stpmic1.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Copyright (C) STMicroelectronics 2018 - All Rights Reserved
 * Author: Philippe Peurichard <philippe.peurichard@st.com>,
 * Pascal Paillet <p.paillet@st.com> for STMicroelectronics.
 */


#ifndef __LINUX_MFD_STPMIC1_H
#define __LINUX_MFD_STPMIC1_H

#define TURN_ON_SR  0x1
#define TURN_OFF_SR  0x2
#define ICC_LDO_TURN_OFF_SR 0x3
#define ICC_BUCK_TURN_OFF_SR 0x4
#define RREQ_STATE_SR  0x5
#define VERSION_SR  0x6

#define MAIN_CR   0x10
#define PADS_PULL_CR  0x11
#define BUCKS_PD_CR  0x12
#define LDO14_PD_CR  0x13
#define LDO56_VREF_PD_CR 0x14
#define VBUS_DET_VIN_CR  0x15
#define PKEY_TURNOFF_CR  0x16
#define BUCKS_MASK_RANK_CR 0x17
#define BUCKS_MASK_RESET_CR 0x18
#define LDOS_MASK_RANK_CR 0x19
#define LDOS_MASK_RESET_CR 0x1A
#define WCHDG_CR  0x1B
#define WCHDG_TIMER_CR  0x1C
#define BUCKS_ICCTO_CR  0x1D
#define LDOS_ICCTO_CR  0x1E

#define BUCK1_ACTIVE_CR  0x20
#define BUCK2_ACTIVE_CR  0x21
#define BUCK3_ACTIVE_CR  0x22
#define BUCK4_ACTIVE_CR  0x23
#define VREF_DDR_ACTIVE_CR 0x24
#define LDO1_ACTIVE_CR  0x25
#define LDO2_ACTIVE_CR  0x26
#define LDO3_ACTIVE_CR  0x27
#define LDO4_ACTIVE_CR  0x28
#define LDO5_ACTIVE_CR  0x29
#define LDO6_ACTIVE_CR  0x2A

#define BUCK1_STDBY_CR  0x30
#define BUCK2_STDBY_CR  0x31
#define BUCK3_STDBY_CR  0x32
#define BUCK4_STDBY_CR  0x33
#define VREF_DDR_STDBY_CR 0x34
#define LDO1_STDBY_CR  0x35
#define LDO2_STDBY_CR  0x36
#define LDO3_STDBY_CR  0x37
#define LDO4_STDBY_CR  0x38
#define LDO5_STDBY_CR  0x39
#define LDO6_STDBY_CR  0x3A

#define BST_SW_CR  0x40

#define INT_PENDING_R1  0x50
#define INT_PENDING_R2  0x51
#define INT_PENDING_R3  0x52
#define INT_PENDING_R4  0x53

#define INT_DBG_LATCH_R1 0x60
#define INT_DBG_LATCH_R2 0x61
#define INT_DBG_LATCH_R3 0x62
#define INT_DBG_LATCH_R4 0x63

#define INT_CLEAR_R1  0x70
#define INT_CLEAR_R2  0x71
#define INT_CLEAR_R3  0x72
#define INT_CLEAR_R4  0x73

#define INT_MASK_R1  0x80
#define INT_MASK_R2  0x81
#define INT_MASK_R3  0x82
#define INT_MASK_R4  0x83

#define INT_SET_MASK_R1  0x90
#define INT_SET_MASK_R2  0x91
#define INT_SET_MASK_R3  0x92
#define INT_SET_MASK_R4  0x93

#define INT_CLEAR_MASK_R1 0xA0
#define INT_CLEAR_MASK_R2 0xA1
#define INT_CLEAR_MASK_R3 0xA2
#define INT_CLEAR_MASK_R4 0xA3

#define INT_SRC_R1  0xB0
#define INT_SRC_R2  0xB1
#define INT_SRC_R3  0xB2
#define INT_SRC_R4  0xB3

#define PMIC_MAX_REGISTER_ADDRESS INT_SRC_R4

#define STPMIC1_PMIC_NUM_IRQ_REGS 4

#define TURN_OFF_SR_ICC_EVENT 0x08

#define LDO_VOLTAGE_MASK  GENMASK(6, 2)
#define BUCK_VOLTAGE_MASK  GENMASK(7, 2)
#define LDO_BUCK_VOLTAGE_SHIFT  2

#define LDO_ENABLE_MASK   BIT(0)
#define BUCK_ENABLE_MASK  BIT(0)

#define BUCK_HPLP_ENABLE_MASK  BIT(1)
#define BUCK_HPLP_SHIFT   1

#define STDBY_ENABLE_MASK  BIT(0)

#define BUCKS_PD_CR_REG_MASK GENMASK(7, 0)
#define BUCK_MASK_RANK_REGISTER_MASK GENMASK(3, 0)
#define BUCK_MASK_RESET_REGISTER_MASK GENMASK(3, 0)
#define LDO1234_PULL_DOWN_REGISTER_MASK GENMASK(7, 0)
#define LDO56_VREF_PD_CR_REG_MASK GENMASK(5, 0)
#define LDO_MASK_RANK_REGISTER_MASK GENMASK(5, 0)
#define LDO_MASK_RESET_REGISTER_MASK GENMASK(5, 0)

#define BUCK1_PULL_DOWN_REG  BUCKS_PD_CR
#define BUCK1_PULL_DOWN_MASK  BIT(0)
#define BUCK2_PULL_DOWN_REG  BUCKS_PD_CR
#define BUCK2_PULL_DOWN_MASK  BIT(2)
#define BUCK3_PULL_DOWN_REG  BUCKS_PD_CR
#define BUCK3_PULL_DOWN_MASK  BIT(4)
#define BUCK4_PULL_DOWN_REG  BUCKS_PD_CR
#define BUCK4_PULL_DOWN_MASK  BIT(6)

#define LDO1_PULL_DOWN_REG  LDO14_PD_CR
#define LDO1_PULL_DOWN_MASK  BIT(0)
#define LDO2_PULL_DOWN_REG  LDO14_PD_CR
#define LDO2_PULL_DOWN_MASK  BIT(2)
#define LDO3_PULL_DOWN_REG  LDO14_PD_CR
#define LDO3_PULL_DOWN_MASK  BIT(4)
#define LDO4_PULL_DOWN_REG  LDO14_PD_CR
#define LDO4_PULL_DOWN_MASK  BIT(6)
#define LDO5_PULL_DOWN_REG  LDO56_VREF_PD_CR
#define LDO5_PULL_DOWN_MASK  BIT(0)
#define LDO6_PULL_DOWN_REG  LDO56_VREF_PD_CR
#define LDO6_PULL_DOWN_MASK  BIT(2)
#define VREF_DDR_PULL_DOWN_REG  LDO56_VREF_PD_CR
#define VREF_DDR_PULL_DOWN_MASK  BIT(4)

#define BUCKS_ICCTO_CR_REG_MASK GENMASK(6, 0)
#define LDOS_ICCTO_CR_REG_MASK GENMASK(5, 0)

#define LDO_BYPASS_MASK   BIT(7)

/* Main PMIC Control Register
 * MAIN_CR
 * Address : 0x10
 */

#define OCP_OFF_DBG   BIT(4)
#define PWRCTRL_POLARITY_HIGH  BIT(3)
#define PWRCTRL_ENABLE   BIT(2)
#define RESTART_REQUEST_ENABLE  BIT(1)
#define SOFTWARE_SWITCH_OFF  BIT(0)

/* Main PMIC PADS Control Register
 * PADS_PULL_CR
 * Address : 0x11
 */

#define WAKEUP_DETECTOR_DISABLED BIT(4)
#define PWRCTRL_PD_ACTIVE  BIT(3)
#define PWRCTRL_PU_ACTIVE  BIT(2)
#define WAKEUP_PD_ACTIVE  BIT(1)
#define PONKEY_PU_INACTIVE  BIT(0)

/* Main PMIC VINLOW Control Register
 * VBUS_DET_VIN_CRC DMSC
 * Address : 0x15
 */

#define SWIN_DETECTOR_ENABLED  BIT(7)
#define SWOUT_DETECTOR_ENABLED  BIT(6)
#define VINLOW_ENABLED   BIT(0)
#define VINLOW_CTRL_REG_MASK  GENMASK(7, 0)

/* USB Control Register
 * Address : 0x40
 */

#define BOOST_OVP_DISABLED  BIT(7)
#define VBUS_OTG_DETECTION_DISABLED BIT(6)
#define SW_OUT_DISCHARGE  BIT(5)
#define VBUS_OTG_DISCHARGE  BIT(4)
#define OCP_LIMIT_HIGH   BIT(3)
#define SWIN_SWOUT_ENABLED  BIT(2)
#define USBSW_OTG_SWITCH_ENABLED BIT(1)
#define BOOST_ENABLED   BIT(0)

/* PKEY_TURNOFF_CR
 * Address : 0x16
 */

#define PONKEY_PWR_OFF   BIT(7)
#define PONKEY_CC_FLAG_CLEAR  BIT(6)
#define PONKEY_TURNOFF_TIMER_MASK GENMASK(3, 0)
#define PONKEY_TURNOFF_MASK  GENMASK(7, 0)

/*
 * struct stpmic1 - stpmic1 master device for sub-drivers
 * @dev: master device of the chip (can be used to access platform data)
 * @irq: main IRQ number
 * @regmap_irq_chip_data: irq chip data
 */

struct stpmic1 {
 struct device *dev;
 struct regmap *regmap;
 int irq;
 struct regmap_irq_chip_data *irq_data;
};

#endif /*  __LINUX_MFD_STPMIC1_H */

Messung V0.5
C=92 H=95 G=93

¤ Dauer der Verarbeitung: 0.13 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.