* [PATCH v2 resend 0/3] mfd: intel_soc_pmic_chtwc + cell drivers Lenovo Yoga Tab 3 YT3-X90F support
@ 2023-01-26 15:38 Hans de Goede
2023-01-26 15:38 ` [PATCH v2 resend 1/3] mfd: intel_soc_pmic_chtwc: Add Lenovo Yoga Tab 3 X90F to intel_cht_wc_models Hans de Goede
` (3 more replies)
0 siblings, 4 replies; 8+ messages in thread
From: Hans de Goede @ 2023-01-26 15:38 UTC (permalink / raw)
To: Wolfram Sang, Lee Jones, MyungJoo Ham, Chanwoo Choi
Cc: Hans de Goede, linux-i2c, linux-kernel
Hi Lee, et. al.
Here is a resend of my patch series to add support for
the Lenovo Yoga Tab 3 YT3-X90F tablet to the intel_soc_pmic_chtwc
driver + 2 of the drivers for instantiated mfd-cells.
This is unmodified from the previous version except for
having acks from the i2c, resp. extcon subsys maintainers
for routing the entire series through the MFD tree.
Still I have marked this as v2, to distuingish this from the resend
of patches 2-3 yesterday, which I did because I was under the wrong
impression that patch 1/3 was already merged.
Regards,
Hans
Hans de Goede (3):
mfd: intel_soc_pmic_chtwc: Add Lenovo Yoga Tab 3 X90F to
intel_cht_wc_models
i2c: cht-wc: Add charger-chip info for the Lenovo Yoga Tab 3 YT3-X90F
extcon: intel-cht-wc: Add support for Lenovo Yoga Tab 3 Pro YT3-X90F
drivers/extcon/extcon-intel-cht-wc.c | 1 +
drivers/i2c/busses/i2c-cht-wc.c | 46 ++++++++++++++++++++++++++++
drivers/mfd/intel_soc_pmic_chtwc.c | 8 +++++
include/linux/mfd/intel_soc_pmic.h | 1 +
4 files changed, 56 insertions(+)
--
2.39.0
^ permalink raw reply [flat|nested] 8+ messages in thread* [PATCH v2 resend 1/3] mfd: intel_soc_pmic_chtwc: Add Lenovo Yoga Tab 3 X90F to intel_cht_wc_models 2023-01-26 15:38 [PATCH v2 resend 0/3] mfd: intel_soc_pmic_chtwc + cell drivers Lenovo Yoga Tab 3 YT3-X90F support Hans de Goede @ 2023-01-26 15:38 ` Hans de Goede 2023-02-04 13:04 ` Lee Jones 2023-01-26 15:38 ` [PATCH v2 resend 2/3] i2c: cht-wc: Add charger-chip info for the Lenovo Yoga Tab 3 YT3-X90F Hans de Goede ` (2 subsequent siblings) 3 siblings, 1 reply; 8+ messages in thread From: Hans de Goede @ 2023-01-26 15:38 UTC (permalink / raw) To: Wolfram Sang, Lee Jones, MyungJoo Ham, Chanwoo Choi Cc: Hans de Goede, linux-i2c, linux-kernel The drivers for various CHT Whiskey Cove PMIC child-devices need to know the model, since they have model specific behavior. The DMI match table for this is shared between the child-device-drivers inside the MFD driver. Add the Lenovo Yoga Tab 3 X90F, which is a previously unknown tablet model with a CHT Whiskey Cove PMIC, to the intel_cht_wc_models enum and to the DMI match table. Signed-off-by: Hans de Goede <hdegoede@redhat.com> --- drivers/mfd/intel_soc_pmic_chtwc.c | 8 ++++++++ include/linux/mfd/intel_soc_pmic.h | 1 + 2 files changed, 9 insertions(+) diff --git a/drivers/mfd/intel_soc_pmic_chtwc.c b/drivers/mfd/intel_soc_pmic_chtwc.c index 9216f0d34206..d53dae255490 100644 --- a/drivers/mfd/intel_soc_pmic_chtwc.c +++ b/drivers/mfd/intel_soc_pmic_chtwc.c @@ -165,6 +165,14 @@ static const struct dmi_system_id cht_wc_model_dmi_ids[] = { /* Non exact match to match all versions */ DMI_MATCH(DMI_PRODUCT_NAME, "Lenovo YB1-X9"), }, + }, { + /* Lenovo Yoga Tab 3 Pro YT3-X90F */ + .driver_data = (void *)(long)INTEL_CHT_WC_LENOVO_YT3_X90, + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Intel Corporation"), + DMI_MATCH(DMI_PRODUCT_NAME, "CHERRYVIEW D1 PLATFORM"), + DMI_MATCH(DMI_PRODUCT_VERSION, "Blade3-10A-001"), + }, }, { } }; diff --git a/include/linux/mfd/intel_soc_pmic.h b/include/linux/mfd/intel_soc_pmic.h index 945bde1fe55c..9ba2c1a8d836 100644 --- a/include/linux/mfd/intel_soc_pmic.h +++ b/include/linux/mfd/intel_soc_pmic.h @@ -18,6 +18,7 @@ enum intel_cht_wc_models { INTEL_CHT_WC_GPD_WIN_POCKET, INTEL_CHT_WC_XIAOMI_MIPAD2, INTEL_CHT_WC_LENOVO_YOGABOOK1, + INTEL_CHT_WC_LENOVO_YT3_X90, }; /** -- 2.39.0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v2 resend 1/3] mfd: intel_soc_pmic_chtwc: Add Lenovo Yoga Tab 3 X90F to intel_cht_wc_models 2023-01-26 15:38 ` [PATCH v2 resend 1/3] mfd: intel_soc_pmic_chtwc: Add Lenovo Yoga Tab 3 X90F to intel_cht_wc_models Hans de Goede @ 2023-02-04 13:04 ` Lee Jones 0 siblings, 0 replies; 8+ messages in thread From: Lee Jones @ 2023-02-04 13:04 UTC (permalink / raw) To: Hans de Goede Cc: Wolfram Sang, MyungJoo Ham, Chanwoo Choi, linux-i2c, linux-kernel On Thu, 26 Jan 2023, Hans de Goede wrote: > The drivers for various CHT Whiskey Cove PMIC child-devices need to know > the model, since they have model specific behavior. The DMI match table > for this is shared between the child-device-drivers inside the MFD driver. > > Add the Lenovo Yoga Tab 3 X90F, which is a previously unknown tablet > model with a CHT Whiskey Cove PMIC, to the intel_cht_wc_models enum and > to the DMI match table. > > Signed-off-by: Hans de Goede <hdegoede@redhat.com> > --- > drivers/mfd/intel_soc_pmic_chtwc.c | 8 ++++++++ > include/linux/mfd/intel_soc_pmic.h | 1 + > 2 files changed, 9 insertions(+) Applied, thanks -- Lee Jones [李琼斯] ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 resend 2/3] i2c: cht-wc: Add charger-chip info for the Lenovo Yoga Tab 3 YT3-X90F 2023-01-26 15:38 [PATCH v2 resend 0/3] mfd: intel_soc_pmic_chtwc + cell drivers Lenovo Yoga Tab 3 YT3-X90F support Hans de Goede 2023-01-26 15:38 ` [PATCH v2 resend 1/3] mfd: intel_soc_pmic_chtwc: Add Lenovo Yoga Tab 3 X90F to intel_cht_wc_models Hans de Goede @ 2023-01-26 15:38 ` Hans de Goede 2023-02-04 13:05 ` Lee Jones 2023-01-26 15:38 ` [PATCH v2 resend 3/3] extcon: intel-cht-wc: Add support for Lenovo Yoga Tab 3 Pro YT3-X90F Hans de Goede 2023-02-04 13:19 ` [GIT PULL] Immutable branch between MFD, Extcon and I2C due for the v6.3 merge window Lee Jones 3 siblings, 1 reply; 8+ messages in thread From: Hans de Goede @ 2023-01-26 15:38 UTC (permalink / raw) To: Wolfram Sang, Lee Jones, MyungJoo Ham, Chanwoo Choi Cc: Hans de Goede, linux-i2c, linux-kernel On x86 devices with a CHT Whiskey Cove PMIC the driver for the I2C bus coming from the PMIC is responsible for instantiating the i2c_client for the charger chip. Add the necessary i2c_board_info for this. Acked-by: Wolfram Sang <wsa@kernel.org> Signed-off-by: Hans de Goede <hdegoede@redhat.com> --- drivers/i2c/busses/i2c-cht-wc.c | 46 +++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/drivers/i2c/busses/i2c-cht-wc.c b/drivers/i2c/busses/i2c-cht-wc.c index 190abdc46dd3..2b2c3d090089 100644 --- a/drivers/i2c/busses/i2c-cht-wc.c +++ b/drivers/i2c/busses/i2c-cht-wc.c @@ -380,6 +380,49 @@ static struct i2c_board_info lenovo_yogabook1_board_info = { .platform_data = &bq2589x_pdata, }; +/********** Lenovo Yogabook YT3-X90F charger settings **********/ +static const char * const lenovo_yt3_bq25892_1_suppliers[] = { "cht_wcove_pwrsrc" }; + +/* + * bq25892 charger settings for the round li-ion cells in the hinge, + * this is the main / biggest battery. + */ +static const struct property_entry lenovo_yt3_bq25892_1_props[] = { + PROPERTY_ENTRY_STRING_ARRAY("supplied-from", lenovo_yt3_bq25892_1_suppliers), + PROPERTY_ENTRY_STRING("linux,secondary-charger-name", "bq25890-charger-0"), + PROPERTY_ENTRY_U32("linux,iinlim-percentage", 60), + PROPERTY_ENTRY_U32("linux,pump-express-vbus-max", 12000000), + PROPERTY_ENTRY_BOOL("linux,skip-reset"), + /* + * The firmware sets everything to the defaults, leading to a low(ish) + * charge-current and battery-voltage of 2048mA resp 4.2V. Use the + * Android values instead of "linux,read-back-settings" to fix this. + */ + PROPERTY_ENTRY_U32("ti,charge-current", 3072000), + PROPERTY_ENTRY_U32("ti,battery-regulation-voltage", 4352000), + PROPERTY_ENTRY_U32("ti,termination-current", 128000), + PROPERTY_ENTRY_U32("ti,precharge-current", 128000), + PROPERTY_ENTRY_U32("ti,minimum-sys-voltage", 3700000), + PROPERTY_ENTRY_BOOL("ti,use-ilim-pin"), + /* Set 5V boost current-limit to 1.2A (MAX/POR values are 2.45A/1.4A) */ + PROPERTY_ENTRY_U32("ti,boost-voltage", 4998000), + PROPERTY_ENTRY_U32("ti,boost-max-current", 1200000), + { } +}; + +static const struct software_node lenovo_yt3_bq25892_1_node = { + .properties = lenovo_yt3_bq25892_1_props, +}; + +/* bq25892 charger for the round li-ion cells in the hinge */ +static struct i2c_board_info lenovo_yoga_tab3_board_info = { + .type = "bq25892", + .addr = 0x6b, + .dev_name = "bq25892_1", + .swnode = &lenovo_yt3_bq25892_1_node, + .platform_data = &bq2589x_pdata, +}; + static int cht_wc_i2c_adap_i2c_probe(struct platform_device *pdev) { struct intel_soc_pmic *pmic = dev_get_drvdata(pdev->dev.parent); @@ -459,6 +502,9 @@ static int cht_wc_i2c_adap_i2c_probe(struct platform_device *pdev) case INTEL_CHT_WC_LENOVO_YOGABOOK1: board_info = &lenovo_yogabook1_board_info; break; + case INTEL_CHT_WC_LENOVO_YT3_X90: + board_info = &lenovo_yoga_tab3_board_info; + break; default: dev_warn(&pdev->dev, "Unknown model, not instantiating charger device\n"); break; -- 2.39.0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v2 resend 2/3] i2c: cht-wc: Add charger-chip info for the Lenovo Yoga Tab 3 YT3-X90F 2023-01-26 15:38 ` [PATCH v2 resend 2/3] i2c: cht-wc: Add charger-chip info for the Lenovo Yoga Tab 3 YT3-X90F Hans de Goede @ 2023-02-04 13:05 ` Lee Jones 0 siblings, 0 replies; 8+ messages in thread From: Lee Jones @ 2023-02-04 13:05 UTC (permalink / raw) To: Hans de Goede Cc: Wolfram Sang, MyungJoo Ham, Chanwoo Choi, linux-i2c, linux-kernel On Thu, 26 Jan 2023, Hans de Goede wrote: > On x86 devices with a CHT Whiskey Cove PMIC the driver for > the I2C bus coming from the PMIC is responsible for instantiating > the i2c_client for the charger chip. > > Add the necessary i2c_board_info for this. > > Acked-by: Wolfram Sang <wsa@kernel.org> > Signed-off-by: Hans de Goede <hdegoede@redhat.com> > --- > drivers/i2c/busses/i2c-cht-wc.c | 46 +++++++++++++++++++++++++++++++++ > 1 file changed, 46 insertions(+) Applied, thanks -- Lee Jones [李琼斯] ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 resend 3/3] extcon: intel-cht-wc: Add support for Lenovo Yoga Tab 3 Pro YT3-X90F 2023-01-26 15:38 [PATCH v2 resend 0/3] mfd: intel_soc_pmic_chtwc + cell drivers Lenovo Yoga Tab 3 YT3-X90F support Hans de Goede 2023-01-26 15:38 ` [PATCH v2 resend 1/3] mfd: intel_soc_pmic_chtwc: Add Lenovo Yoga Tab 3 X90F to intel_cht_wc_models Hans de Goede 2023-01-26 15:38 ` [PATCH v2 resend 2/3] i2c: cht-wc: Add charger-chip info for the Lenovo Yoga Tab 3 YT3-X90F Hans de Goede @ 2023-01-26 15:38 ` Hans de Goede 2023-02-04 13:06 ` Lee Jones 2023-02-04 13:19 ` [GIT PULL] Immutable branch between MFD, Extcon and I2C due for the v6.3 merge window Lee Jones 3 siblings, 1 reply; 8+ messages in thread From: Hans de Goede @ 2023-01-26 15:38 UTC (permalink / raw) To: Wolfram Sang, Lee Jones, MyungJoo Ham, Chanwoo Choi Cc: Hans de Goede, linux-i2c, linux-kernel The Lenovo Yoga Tab 3 Pro YT3-X90F needs the same handling as the Lenovo Yogabook models. That is it needs the extcon code to: 1. Control the Vbus regulator and USB-role-switch for the micro-USB port's host/device mode switching. 2. Register a power_supply device so that the charger-chip driver can see what sort of charger (SDP/CDP/DCP) is connected. Acked-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> --- drivers/extcon/extcon-intel-cht-wc.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/extcon/extcon-intel-cht-wc.c b/drivers/extcon/extcon-intel-cht-wc.c index 89a6449e3f4a..2c55f06ba699 100644 --- a/drivers/extcon/extcon-intel-cht-wc.c +++ b/drivers/extcon/extcon-intel-cht-wc.c @@ -537,6 +537,7 @@ static int cht_wc_extcon_probe(struct platform_device *pdev) cht_wc_extcon_set_5v_boost(ext, false); break; case INTEL_CHT_WC_LENOVO_YOGABOOK1: + case INTEL_CHT_WC_LENOVO_YT3_X90: /* Do this first, as it may very well return -EPROBE_DEFER. */ ret = cht_wc_extcon_get_role_sw_and_regulator(ext); if (ret) -- 2.39.0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v2 resend 3/3] extcon: intel-cht-wc: Add support for Lenovo Yoga Tab 3 Pro YT3-X90F 2023-01-26 15:38 ` [PATCH v2 resend 3/3] extcon: intel-cht-wc: Add support for Lenovo Yoga Tab 3 Pro YT3-X90F Hans de Goede @ 2023-02-04 13:06 ` Lee Jones 0 siblings, 0 replies; 8+ messages in thread From: Lee Jones @ 2023-02-04 13:06 UTC (permalink / raw) To: Hans de Goede Cc: Wolfram Sang, MyungJoo Ham, Chanwoo Choi, linux-i2c, linux-kernel On Thu, 26 Jan 2023, Hans de Goede wrote: > The Lenovo Yoga Tab 3 Pro YT3-X90F needs the same handling as > the Lenovo Yogabook models. That is it needs the extcon code to: > > 1. Control the Vbus regulator and USB-role-switch for the micro-USB > port's host/device mode switching. > 2. Register a power_supply device so that the charger-chip driver can > see what sort of charger (SDP/CDP/DCP) is connected. > > Acked-by: Chanwoo Choi <cw00.choi@samsung.com> > Signed-off-by: Hans de Goede <hdegoede@redhat.com> > --- > drivers/extcon/extcon-intel-cht-wc.c | 1 + > 1 file changed, 1 insertion(+) Applied, thanks -- Lee Jones [李琼斯] ^ permalink raw reply [flat|nested] 8+ messages in thread
* [GIT PULL] Immutable branch between MFD, Extcon and I2C due for the v6.3 merge window 2023-01-26 15:38 [PATCH v2 resend 0/3] mfd: intel_soc_pmic_chtwc + cell drivers Lenovo Yoga Tab 3 YT3-X90F support Hans de Goede ` (2 preceding siblings ...) 2023-01-26 15:38 ` [PATCH v2 resend 3/3] extcon: intel-cht-wc: Add support for Lenovo Yoga Tab 3 Pro YT3-X90F Hans de Goede @ 2023-02-04 13:19 ` Lee Jones 3 siblings, 0 replies; 8+ messages in thread From: Lee Jones @ 2023-02-04 13:19 UTC (permalink / raw) To: Hans de Goede Cc: Wolfram Sang, MyungJoo Ham, Chanwoo Choi, linux-i2c, linux-kernel Enjoy! The following changes since commit 1b929c02afd37871d5afb9d498426f83432e71c2: Linux 6.2-rc1 (2022-12-25 13:41:39 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git tags/ib-mfd-extcon-i2c-v6.3 for you to fetch changes up to 783422d00d7d8f7725dc781fcd3cfcaae13595e5: extcon: intel-cht-wc: Add support for Lenovo Yoga Tab 3 Pro YT3-X90F (2023-02-04 13:05:42 +0000) ---------------------------------------------------------------- Immutable branch between MFD, Extcon and I2C due for the v6.3 merge window ---------------------------------------------------------------- Hans de Goede (3): mfd: intel_soc_pmic_chtwc: Add Lenovo Yoga Tab 3 X90F to intel_cht_wc_models i2c: cht-wc: Add charger-chip info for the Lenovo Yoga Tab 3 YT3-X90F extcon: intel-cht-wc: Add support for Lenovo Yoga Tab 3 Pro YT3-X90F drivers/extcon/extcon-intel-cht-wc.c | 1 + drivers/i2c/busses/i2c-cht-wc.c | 46 ++++++++++++++++++++++++++++++++++++ drivers/mfd/intel_soc_pmic_chtwc.c | 8 +++++++ include/linux/mfd/intel_soc_pmic.h | 1 + 4 files changed, 56 insertions(+) -- Lee Jones [李琼斯] ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2023-02-04 13:19 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-01-26 15:38 [PATCH v2 resend 0/3] mfd: intel_soc_pmic_chtwc + cell drivers Lenovo Yoga Tab 3 YT3-X90F support Hans de Goede 2023-01-26 15:38 ` [PATCH v2 resend 1/3] mfd: intel_soc_pmic_chtwc: Add Lenovo Yoga Tab 3 X90F to intel_cht_wc_models Hans de Goede 2023-02-04 13:04 ` Lee Jones 2023-01-26 15:38 ` [PATCH v2 resend 2/3] i2c: cht-wc: Add charger-chip info for the Lenovo Yoga Tab 3 YT3-X90F Hans de Goede 2023-02-04 13:05 ` Lee Jones 2023-01-26 15:38 ` [PATCH v2 resend 3/3] extcon: intel-cht-wc: Add support for Lenovo Yoga Tab 3 Pro YT3-X90F Hans de Goede 2023-02-04 13:06 ` Lee Jones 2023-02-04 13:19 ` [GIT PULL] Immutable branch between MFD, Extcon and I2C due for the v6.3 merge window Lee Jones
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.