mirror of
https://gitee.com/bianbu-linux/linux-6.6
synced 2025-07-14 00:55:17 -04:00
Based on 1 normalized pattern(s): 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 extracted by the scancode license scanner the SPDX license identifier GPL-2.0-or-later has been chosen to replace the boilerplate/reference in 3029 file(s). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Allison Randal <allison@lohutok.net> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190527070032.746973796@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
109 lines
2.3 KiB
C
109 lines
2.3 KiB
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
/*
|
|
* Platform configuration options for DA9063
|
|
*
|
|
* Copyright 2012 Dialog Semiconductor Ltd.
|
|
*
|
|
* Author: Michal Hajduk, Dialog Semiconductor
|
|
* Author: Krystian Garbaciak, Dialog Semiconductor
|
|
*/
|
|
|
|
#ifndef __MFD_DA9063_PDATA_H__
|
|
#define __MFD_DA9063_PDATA_H__
|
|
|
|
#include <linux/regulator/machine.h>
|
|
|
|
/*
|
|
* Regulator configuration
|
|
*/
|
|
/* DA9063 and DA9063L regulator IDs */
|
|
enum {
|
|
/* BUCKs */
|
|
DA9063_ID_BCORE1,
|
|
DA9063_ID_BCORE2,
|
|
DA9063_ID_BPRO,
|
|
DA9063_ID_BMEM,
|
|
DA9063_ID_BIO,
|
|
DA9063_ID_BPERI,
|
|
|
|
/* BCORE1 and BCORE2 in merged mode */
|
|
DA9063_ID_BCORES_MERGED,
|
|
/* BMEM and BIO in merged mode */
|
|
DA9063_ID_BMEM_BIO_MERGED,
|
|
/* When two BUCKs are merged, they cannot be reused separately */
|
|
|
|
/* LDOs on both DA9063 and DA9063L */
|
|
DA9063_ID_LDO3,
|
|
DA9063_ID_LDO7,
|
|
DA9063_ID_LDO8,
|
|
DA9063_ID_LDO9,
|
|
DA9063_ID_LDO11,
|
|
|
|
/* DA9063-only LDOs */
|
|
DA9063_ID_LDO1,
|
|
DA9063_ID_LDO2,
|
|
DA9063_ID_LDO4,
|
|
DA9063_ID_LDO5,
|
|
DA9063_ID_LDO6,
|
|
DA9063_ID_LDO10,
|
|
};
|
|
|
|
/* Regulators platform data */
|
|
struct da9063_regulator_data {
|
|
int id;
|
|
struct regulator_init_data *initdata;
|
|
};
|
|
|
|
struct da9063_regulators_pdata {
|
|
unsigned n_regulators;
|
|
struct da9063_regulator_data *regulator_data;
|
|
};
|
|
|
|
|
|
/*
|
|
* RGB LED configuration
|
|
*/
|
|
/* LED IDs for flags in struct led_info. */
|
|
enum {
|
|
DA9063_GPIO11_LED,
|
|
DA9063_GPIO14_LED,
|
|
DA9063_GPIO15_LED,
|
|
|
|
DA9063_LED_NUM
|
|
};
|
|
#define DA9063_LED_ID_MASK 0x3
|
|
|
|
/* LED polarity for flags in struct led_info. */
|
|
#define DA9063_LED_HIGH_LEVEL_ACTIVE 0x0
|
|
#define DA9063_LED_LOW_LEVEL_ACTIVE 0x4
|
|
|
|
|
|
/*
|
|
* General PMIC configuration
|
|
*/
|
|
/* HWMON ADC channels configuration */
|
|
#define DA9063_FLG_FORCE_IN0_MANUAL_MODE 0x0010
|
|
#define DA9063_FLG_FORCE_IN0_AUTO_MODE 0x0020
|
|
#define DA9063_FLG_FORCE_IN1_MANUAL_MODE 0x0040
|
|
#define DA9063_FLG_FORCE_IN1_AUTO_MODE 0x0080
|
|
#define DA9063_FLG_FORCE_IN2_MANUAL_MODE 0x0100
|
|
#define DA9063_FLG_FORCE_IN2_AUTO_MODE 0x0200
|
|
#define DA9063_FLG_FORCE_IN3_MANUAL_MODE 0x0400
|
|
#define DA9063_FLG_FORCE_IN3_AUTO_MODE 0x0800
|
|
|
|
/* Disable register caching. */
|
|
#define DA9063_FLG_NO_CACHE 0x0008
|
|
|
|
struct da9063;
|
|
|
|
/* DA9063 platform data */
|
|
struct da9063_pdata {
|
|
int (*init)(struct da9063 *da9063);
|
|
int irq_base;
|
|
bool key_power;
|
|
unsigned flags;
|
|
struct da9063_regulators_pdata *regulators_pdata;
|
|
struct led_platform_data *leds_pdata;
|
|
};
|
|
|
|
#endif /* __MFD_DA9063_PDATA_H__ */
|