All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/9] platform/x86: int3472: Add handshake pin support
@ 2025-04-16 12:40 Hans de Goede
  2025-04-16 12:40 ` [PATCH v3 1/9] platform/x86: int3472: Add skl_int3472_register_clock() helper Hans de Goede
                   ` (8 more replies)
  0 siblings, 9 replies; 15+ messages in thread
From: Hans de Goede @ 2025-04-16 12:40 UTC (permalink / raw)
  To: Ilpo Järvinen, Andy Shevchenko
  Cc: Hans de Goede, Dan Scally, Alan Stern, Sakari Ailus, Hao Yao,
	Bingbu Cao, Duane, platform-driver-x86, linux-media

Hi All,

New Intel Meteor Lake based laptops with IPU6 cameras have a new type 0x12
pin defined in the INT3472 sensor companion device which describes
the sensor's GPIOs.

This pin is primarily used on designs with a Lattice FPGA chip which is
capable of running the sensor independently of the main CPU for features
like presence detection. This pin needs to be driven high to make the FPGA
run the power-on sequence of the sensor. After driving the pin high
the FPGA "firmware" needs 25ms to comlpete the power-on sequence.

This series implements support for this by modelling the handshake GPIO
as a GPIO driven 'dvdd' regulator with an enable-time of 25 ms, also see:

https://lore.kernel.org/platform-driver-x86/59f672c3-6d87-4ec7-9b7f-f44fe2cce934@redhat.com/

Patch   1   Is an unrelated cleanup which I had lying around
Patches 2-8 Prepare + Implement the handshake GPIO
Patch   9   Is a small patch adding some extra debugging to GPIO remapping

Changes in v3:
- Add Andy's Reviewed-by to a few more patches
- Some comment & commit-message tweaks
- Add comment explaining value of 12 in GPIO_REGULATOR_SUPPLY_MAP_COUNT
- Add a comment to int3472/common.h explaining where the 2 ms comes from
- s/n_regulators/n_regulator_gpios/

Changes in v2:
- Add Andy's Reviewed-by to patches 1-3
- Address Andy's review remarks on patch 5
- Add 2 Tested-by tags to patch 8/9

This series applies on top of Torvald's latest master, for testing with
6.14 this patch needs to be cherry-picked first:
https://web.git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/commit/?id=81b251c66bdfe263fb5e7a16838512ddaeed77df

Regards,

Hans


Hans de Goede (9):
  platform/x86: int3472: Add skl_int3472_register_clock() helper
  platform/x86: int3472: Stop setting a supply-name for GPIO regulators
  platform/x86: int3472: Drop unused gpio field from struct
    int3472_gpio_regulator
  platform/x86: int3472: Rework AVDD second sensor quirk handling
  platform/x86: int3472: Make regulator supply name configurable
  platform/x86: int3472: Avoid GPIO regulator spikes
  platform/x86: int3472: Prepare for registering more than 1 GPIO
    regulator
  platform/x86: int3472: Add handshake pin support
  platform/x86: int3472: Debug log when remapping pins

 drivers/platform/x86/intel/int3472/Makefile   |   3 +-
 .../x86/intel/int3472/clk_and_regulator.c     | 164 ++++++------------
 drivers/platform/x86/intel/int3472/common.h   |  57 ++++--
 drivers/platform/x86/intel/int3472/discrete.c |  39 ++++-
 .../x86/intel/int3472/discrete_quirks.c       |  22 +++
 5 files changed, 154 insertions(+), 131 deletions(-)
 create mode 100644 drivers/platform/x86/intel/int3472/discrete_quirks.c

-- 
2.49.0


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2025-04-17 10:56 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-16 12:40 [PATCH v3 0/9] platform/x86: int3472: Add handshake pin support Hans de Goede
2025-04-16 12:40 ` [PATCH v3 1/9] platform/x86: int3472: Add skl_int3472_register_clock() helper Hans de Goede
2025-04-16 12:40 ` [PATCH v3 2/9] platform/x86: int3472: Stop setting a supply-name for GPIO regulators Hans de Goede
2025-04-16 12:40 ` [PATCH v3 3/9] platform/x86: int3472: Drop unused gpio field from struct int3472_gpio_regulator Hans de Goede
2025-04-16 12:40 ` [PATCH v3 4/9] platform/x86: int3472: Rework AVDD second sensor quirk handling Hans de Goede
2025-04-16 12:40 ` [PATCH v3 5/9] platform/x86: int3472: Make regulator supply name configurable Hans de Goede
2025-04-16 18:13   ` Andy Shevchenko
2025-04-17  9:52     ` Hans de Goede
2025-04-16 12:40 ` [PATCH v3 6/9] platform/x86: int3472: Avoid GPIO regulator spikes Hans de Goede
2025-04-16 12:40 ` [PATCH v3 7/9] platform/x86: int3472: Prepare for registering more than 1 GPIO regulator Hans de Goede
2025-04-16 18:14   ` Andy Shevchenko
2025-04-16 12:40 ` [PATCH v3 8/9] platform/x86: int3472: Add handshake pin support Hans de Goede
2025-04-16 18:16   ` Andy Shevchenko
2025-04-17 10:56     ` Hans de Goede
2025-04-16 12:40 ` [PATCH v3 9/9] platform/x86: int3472: Debug log when remapping pins Hans de Goede

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.