// SPDX-License-Identifier: GPL-2.0 /* * Power-source driver for Bay Trail Crystal Cove PMIC * * Copyright (c) 2023 Hans de Goede <hdegoede@redhat.com> * * Based on intel_crystalcove_pwrsrc.c from Android kernel sources, which is: * Copyright (C) 2013 Intel Corporation
*/
staticconstchar * const pwrsrc_pwrsrc_info[] = { /* bit 0 */ "USB", /* bit 1 */ "DC in", /* bit 2 */ "Battery",
NULL,
};
staticconstchar * const pwrsrc_resetsrc0_info[] = { /* bit 0 */ "SOC reporting a thermal event", /* bit 1 */ "critical PMIC temperature", /* bit 2 */ "critical system temperature", /* bit 3 */ "critical battery temperature", /* bit 4 */ "VSYS under voltage", /* bit 5 */ "VSYS over voltage", /* bit 6 */ "battery removal",
NULL,
};
staticconstchar * const pwrsrc_resetsrc1_info[] = { /* bit 0 */ "VCRIT threshold", /* bit 1 */ "BATID reporting battery removal", /* bit 2 */ "user pressing the power button",
NULL,
};
staticconstchar * const pwrsrc_wakesrc_info[] = { /* bit 0 */ "user pressing the power button", /* bit 1 */ "a battery insertion", /* bit 2 */ "a USB charger insertion", /* bit 3 */ "an adapter insertion",
NULL,
};
data = devm_kzalloc(dev, sizeof(*data), GFP_KERNEL); if (!data) return -ENOMEM;
data->regmap = pmic->regmap;
/* * Read + clear resetsrc0/1 and wakesrc now, so that they get * cleared even if the debugfs interface is never used. * * Properly clearing the wakesrc is important, leaving bit 0 of it * set turns reboot into poweroff on some tablets.
*/
ret = crc_pwrsrc_read_and_clear(data, CRYSTALCOVE_RESETSRC0_REG, &data->resetsrc0); if (ret) return ret;
ret = crc_pwrsrc_read_and_clear(data, CRYSTALCOVE_RESETSRC1_REG, &data->resetsrc1); if (ret) return ret;
ret = crc_pwrsrc_read_and_clear(data, CRYSTALCOVE_WAKESRC_REG, &data->wakesrc); if (ret) return ret;
if (device_property_read_bool(dev->parent, "linux,register-pwrsrc-power_supply")) { struct power_supply_config psy_cfg = { .drv_data = data };
irq = platform_get_irq(pdev, 0); if (irq < 0) return irq;
MODULE_ALIAS("platform:crystal_cove_pwrsrc");
MODULE_AUTHOR("Hans de Goede ");
MODULE_DESCRIPTION("Power-source driver for Bay Trail Crystal Cove PMIC");
MODULE_LICENSE("GPL");
Messung V0.5
¤ Dauer der Verarbeitung: 0.13 Sekunden
(vorverarbeitet)
¤
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.