From: Hans de Goede <hdegoede@redhat.com>
To: Mark Gross <markgross@kernel.org>,
Andy Shevchenko <andy@infradead.org>,
Wolfram Sang <wsa@the-dreams.de>,
Sebastian Reichel <sre@kernel.org>,
MyungJoo Ham <myungjoo.ham@samsung.com>,
Chanwoo Choi <cw00.choi@samsung.com>,
Ard Biesheuvel <ardb@kernel.org>
Cc: Hans de Goede <hdegoede@redhat.com>,
Yauhen Kharuzhy <jekhor@gmail.com>,
Tsuchiya Yuto <kitakar@gmail.com>,
platform-driver-x86@vger.kernel.org, linux-i2c@vger.kernel.org,
linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-efi@vger.kernel.org
Subject: [PATCH 02/13] platform/x86: dmi_device_properties: Add setup info for boards with a CHT Whiskey Cove PMIC
Date: Sat, 30 Oct 2021 20:28:02 +0200 [thread overview]
Message-ID: <20211030182813.116672-3-hdegoede@redhat.com> (raw)
In-Reply-To: <20211030182813.116672-1-hdegoede@redhat.com>
Add a new "intel,cht-wc-setup" string property to the "INT34D3:00"
i2c_client for the Whiskey Cove PMIC found on several Cherry Trail
based devices. At least 3 setups are known:
1. The WC PMIC is connected to a TI BQ24292i charger, paired with
a Maxim MAX17047 fuelgauge + a FUSB302 USB Type-C Controller +
a PI3USB30532 USB switch, for a fully functional Type-C port
2. The WC PMIC is connected to a TI BQ25890 charger, paired with
a TI BQ27520 fuelgauge, for a USB-2 only Type-C port without PD
3. The WC PMIC is connected to a TI BQ25890 charger, paired with
a TI BQ27542 fuelgauge, for a micro-USB port
Which setup is in use cannot be determined reliably from the ACPI tables
and various drivers (extcon-intel-cht-wc.c, i2c-cht-wc.c, ...) need
to know which setup they are dealing with.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
drivers/platform/x86/dmi_device_properties.c | 46 ++++++++++++++++++++
1 file changed, 46 insertions(+)
diff --git a/drivers/platform/x86/dmi_device_properties.c b/drivers/platform/x86/dmi_device_properties.c
index 1bcd14a0bc78..bd973afbde5f 100644
--- a/drivers/platform/x86/dmi_device_properties.c
+++ b/drivers/platform/x86/dmi_device_properties.c
@@ -387,6 +387,16 @@ static const struct ts_dmi_data gp_electronic_t701_data = {
.properties = gp_electronic_t701_props,
};
+static const struct property_entry gpd_win_pocket_props[] = {
+ PROPERTY_ENTRY_STRING("intel,cht-wc-setup", "bq24292i,max17047,fusb302,pi3usb30532"),
+ { }
+};
+
+static const struct ts_dmi_data gpd_win_pocket_data = {
+ .acpi_name = "INT34D3:00",
+ .properties = gpd_win_pocket_props,
+};
+
static const struct property_entry irbis_tw90_props[] = {
PROPERTY_ENTRY_U32("touchscreen-size-x", 1720),
PROPERTY_ENTRY_U32("touchscreen-size-y", 1138),
@@ -978,6 +988,16 @@ static const struct ts_dmi_data vinga_twizzle_j116_data = {
.properties = vinga_twizzle_j116_props,
};
+static const struct property_entry xiaomi_mi_pad2_props[] = {
+ PROPERTY_ENTRY_STRING("intel,cht-wc-setup", "bq25890,bq27520"),
+ { }
+};
+
+static const struct ts_dmi_data xiaomi_mi_pad2_data = {
+ .acpi_name = "INT34D3:00",
+ .properties = xiaomi_mi_pad2_props,
+};
+
/* NOTE: Please keep this table sorted alphabetically */
const struct dmi_system_id dmi_device_properties[] = {
{
@@ -1166,6 +1186,24 @@ const struct dmi_system_id dmi_device_properties[] = {
DMI_MATCH(DMI_BIOS_VERSION, "itWORKS.G.WI71C.JGBMRB"),
},
},
+ {
+ /* GPD win / GPD pocket mini laptops */
+ .driver_data = (void *)&gpd_win_pocket_data,
+ /*
+ * Note this may not seem like a very unique match, but in the
+ * 24000+ DMI decode dumps from linux-hardware.org only 42 have
+ * a board_vendor value of "AMI Corporation" and of those 42
+ * only 1 (the GPD win/pocket entry) has a board_name of
+ * "Default string". Also few devices have both board_ and
+ * product_name not set.
+ */
+ .matches = {
+ DMI_MATCH(DMI_BOARD_VENDOR, "AMI Corporation"),
+ DMI_MATCH(DMI_BOARD_NAME, "Default string"),
+ DMI_MATCH(DMI_BOARD_SERIAL, "Default string"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "Default string"),
+ },
+ },
{
/* Irbis TW90 */
.driver_data = (void *)&irbis_tw90_data,
@@ -1578,6 +1616,14 @@ const struct dmi_system_id dmi_device_properties[] = {
DMI_MATCH(DMI_PRODUCT_NAME, "TW700")
},
},
+ {
+ /* Xiaomi Mi Pad 2 */
+ .driver_data = (void *)&xiaomi_mi_pad2_data,
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "Xiaomi Inc"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "Mipad2"),
+ },
+ },
{
/* Yours Y8W81, same case and touchscreen as Chuwi Vi8 */
.driver_data = (void *)&chuwi_vi8_data,
--
2.31.1
next prev parent reply other threads:[~2021-10-30 18:28 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-30 18:28 [PATCH 00/13] power-suppy/i2c/extcon: Add support for cht-wc PMIC without USB-PD support Hans de Goede
2021-10-30 18:28 ` [PATCH 01/13] platform/x86: Rename touchscreen_dmi to dmi_device_properties Hans de Goede
2021-10-30 19:07 ` Randy Dunlap
2021-10-30 18:28 ` Hans de Goede [this message]
2021-10-30 21:56 ` [PATCH 02/13] platform/x86: dmi_device_properties: Add setup info for boards with a CHT Whiskey Cove PMIC Andy Shevchenko
2021-11-08 15:48 ` Hans de Goede
2021-10-30 18:28 ` [PATCH 03/13] power: supply: bq25890: Fix race causing oops at boot Hans de Goede
2021-11-02 16:28 ` Sebastian Reichel
2021-10-30 18:28 ` [PATCH 04/13] power: supply: bq25890: Fix initial setting of the F_CONV_RATE field Hans de Goede
2021-11-02 16:29 ` Sebastian Reichel
2021-10-30 18:28 ` [PATCH 05/13] power: supply: bq25890: Add a bq25890_rw_init_data() helper Hans de Goede
2021-10-30 18:28 ` [PATCH 06/13] power: supply: bq25890: Add support for skipping initialization Hans de Goede
2021-10-30 22:07 ` Andy Shevchenko
2021-11-08 15:57 ` Hans de Goede
2021-10-30 18:28 ` [PATCH 07/13] power: supply: bq25890: Enable charging on boards where we skip reset Hans de Goede
2021-11-07 18:32 ` Yauhen Kharuzhy
2021-10-30 18:28 ` [PATCH 08/13] power: supply: bq25890: Drop dev->platform_data == NULL check Hans de Goede
2021-10-30 18:28 ` [PATCH 09/13] power: supply: bq25890: Add bq25890_set_otg_cfg() helper Hans de Goede
2021-10-30 22:10 ` Andy Shevchenko
2021-11-08 15:59 ` Hans de Goede
2021-11-07 18:49 ` Yauhen Kharuzhy
2021-11-07 19:47 ` Hans de Goede
2021-10-30 18:28 ` [PATCH 10/13] power: supply: bq25890: Add support for registering the Vbus boost converter as a regulator Hans de Goede
2021-10-30 22:13 ` Andy Shevchenko
2021-11-08 16:06 ` Hans de Goede
2021-10-30 18:28 ` [PATCH 11/13] i2c: cht-wc: Add support for devices using a bq25890 charger Hans de Goede
2021-10-31 17:58 ` Wolfram Sang
2021-11-08 16:03 ` Hans de Goede
2021-11-07 19:07 ` Yauhen Kharuzhy
2021-11-07 19:35 ` Yauhen Kharuzhy
2021-11-07 19:51 ` Hans de Goede
2021-10-30 18:28 ` [PATCH 12/13] extcon: intel-cht-wc: Check new "intel,cht-wc-setup" device-property Hans de Goede
2021-10-30 18:28 ` [PATCH 13/13] extcon: intel-cht-wc: Add support for devices with an USB-micro-B connector Hans de Goede
2021-10-31 12:52 ` Andy Shevchenko
2021-11-08 15:44 ` Hans de Goede
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211030182813.116672-3-hdegoede@redhat.com \
--to=hdegoede@redhat.com \
--cc=andy@infradead.org \
--cc=ardb@kernel.org \
--cc=cw00.choi@samsung.com \
--cc=jekhor@gmail.com \
--cc=kitakar@gmail.com \
--cc=linux-efi@vger.kernel.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=markgross@kernel.org \
--cc=myungjoo.ham@samsung.com \
--cc=platform-driver-x86@vger.kernel.org \
--cc=sre@kernel.org \
--cc=wsa@the-dreams.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).