All of lore.kernel.org
 help / color / mirror / Atom feed
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


  parent reply	other threads:[~2021-10-30 18:28 UTC|newest]

Thread overview: 37+ 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  6:35   ` kernel test robot
2021-10-31 11:08   ` kernel test robot
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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.