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 2 kB image not shown  

Quelle  rohm-generic.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0-or-later */
/* Copyright (C) 2018 ROHM Semiconductors */

#ifndef __LINUX_MFD_ROHM_H__
#define __LINUX_MFD_ROHM_H__

#include <linux/regmap.h>
#include <linux/regulator/driver.h>

enum rohm_chip_type {
 ROHM_CHIP_TYPE_BD9571,
 ROHM_CHIP_TYPE_BD9573,
 ROHM_CHIP_TYPE_BD9574,
 ROHM_CHIP_TYPE_BD9576,
 ROHM_CHIP_TYPE_BD71815,
 ROHM_CHIP_TYPE_BD71828,
 ROHM_CHIP_TYPE_BD71837,
 ROHM_CHIP_TYPE_BD71847,
 ROHM_CHIP_TYPE_BD96801,
 ROHM_CHIP_TYPE_BD96802,
 ROHM_CHIP_TYPE_BD96805,
 ROHM_CHIP_TYPE_BD96806,
 ROHM_CHIP_TYPE_AMOUNT
};

struct rohm_regmap_dev {
 struct device *dev;
 struct regmap *regmap;
};

#define ROHM_DVS_LEVEL_RUN  BIT(0)
#define ROHM_DVS_LEVEL_IDLE  BIT(1)
#define ROHM_DVS_LEVEL_SUSPEND  BIT(2)
#define ROHM_DVS_LEVEL_LPSR  BIT(3)
#define ROHM_DVS_LEVEL_SNVS  BIT(4)
#define ROHM_DVS_LEVEL_VALID_AMOUNT 5
#define ROHM_DVS_LEVEL_UNKNOWN  0

/**
 * struct rohm_dvs_config - dynamic voltage scaling register descriptions
 *
 * @level_map: bitmap representing supported run-levels for this
 * regulator
 * @run_reg: register address for regulator config at 'run' state
 * @run_mask: value mask for regulator voltages at 'run' state
 * @run_on_mask: enable mask for regulator at 'run' state
 * @idle_reg: register address for regulator config at 'idle' state
 * @idle_mask: value mask for regulator voltages at 'idle' state
 * @idle_on_mask: enable mask for regulator at 'idle' state
 * @suspend_reg: register address for regulator config at 'suspend' state
 * @suspend_mask: value mask for regulator voltages at 'suspend' state
 * @suspend_on_mask: enable mask for regulator at 'suspend' state
 * @lpsr_reg: register address for regulator config at 'lpsr' state
 * @lpsr_mask: value mask for regulator voltages at 'lpsr' state
 * @lpsr_on_mask: enable mask for regulator at 'lpsr' state
 *
 * Description of ROHM PMICs voltage configuration registers for different
 * system states. This is used to correctly configure the PMIC at startup
 * based on values read from DT.
 */

struct rohm_dvs_config {
 uint64_t level_map;
 unsigned int run_reg;
 unsigned int run_mask;
 unsigned int run_on_mask;
 unsigned int idle_reg;
 unsigned int idle_mask;
 unsigned int idle_on_mask;
 unsigned int suspend_reg;
 unsigned int suspend_mask;
 unsigned int suspend_on_mask;
 unsigned int lpsr_reg;
 unsigned int lpsr_mask;
 unsigned int lpsr_on_mask;
 unsigned int snvs_reg;
 unsigned int snvs_mask;
 unsigned int snvs_on_mask;
};

#if IS_ENABLED(CONFIG_REGULATOR_ROHM)
int rohm_regulator_set_dvs_levels(const struct rohm_dvs_config *dvs,
      struct device_node *np,
      const struct regulator_desc *desc,
      struct regmap *regmap);

int rohm_regulator_set_voltage_sel_restricted(struct regulator_dev *rdev,
           unsigned int sel);
#endif

#endif

Messung V0.5
C=97 H=100 G=98

¤ Dauer der Verarbeitung: 0.3 Sekunden  ¤

*© 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.