• Hans de Goede's avatar
    power: supply: axp288_charger: Fix HP Pavilion x2 10 DMI matching · a0f1ccd9
    Hans de Goede authored
    Commit 9c80662a ("power: supply: axp288_charger: Add special handling
    for HP Pavilion x2 10") added special handling for HP Pavilion x2 10
    models which use the weird combination of a Type-C connector and the
    non Type-C aware AXP288 PMIC.
    
    This special handling was activated by a DMI match a the product-name
    of "HP Pavilion x2 Detachable". Recently I've learned that there are
    also older "HP Pavilion x2 Detachable" models with an AXP288 PMIC +
    a micro-usb connector where we should not activate the special handling
    for the Type-C connectors.
    
    Extend the matching to also match on the DMI board-name and match on the
    2 boards (one Bay Trail based one Cherry Trail based) of which we are
    certain that they use the AXP288 + Type-C connector combination.
    
    Note the DSDT code from these older (AXP288 + micro-USB) models contains
    some AML code (which never runs under Linux) which reads the micro-USB
    connector id-pin and if it is pulled to ground, which would normally mean
    the port is in host mode!, then it sets the input-current-limit to 3A,
    it seems HP is using the micro-USB port as a charging only connector
    and identifies their own 3A capable charger though this hack which is a
    major violation of the USB specs. Note HP also hardcodes a 2A limit
    when the id-pin is not pulled to ground, which is also in violation
    of the specs.
    
    I've no intention to add support for HP's hack to support 3A charging
    on these older models. By making the DMI matches for the Type-C equipped
    models workaround more tighter, these older models will be treated just
    like any other AXP288 + micro-USB equipped device and the input-current
    limit will follow the BC 1.2 spec (using the defacto standard values
    there where the BC 1.2 spec defines a range).
    
    Fixes: 9c80662a ("power: supply: axp288_charger: Add special handling for HP Pavilion x2 10")
    BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1896924Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
    Signed-off-by: default avatarSebastian Reichel <sebastian.reichel@collabora.com>
    a0f1ccd9
axp288_charger.c 25.5 KB