linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/9] Apple Mac System Management Controller
@ 2025-05-03 10:06 Sven Peter via B4 Relay
  2025-05-03 10:06 ` [PATCH v4 1/9] dt-bindings: gpio: Add Apple Mac SMC GPIO block Sven Peter via B4 Relay
                   ` (9 more replies)
  0 siblings, 10 replies; 27+ messages in thread
From: Sven Peter via B4 Relay @ 2025-05-03 10:06 UTC (permalink / raw)
  To: Sven Peter, Janne Grunau, Alyssa Rosenzweig, Neal Gompa,
	Hector Martin, Linus Walleij, Bartosz Golaszewski, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Sebastian Reichel, Lee Jones,
	Marc Zyngier, Russell King (Oracle)
  Cc: asahi, linux-arm-kernel, linux-gpio, devicetree, linux-kernel,
	linux-pm, Krzysztof Kozlowski

Hi,

It's been quite a while (end of 2022) since the last version of this
series was sent by Russel. I'd like to pick this up again and get SMC
upstream.

I've taken the last version from the ML and worked in the review
comments and some other changed:

  - Added documentation for all functions and structs
  - Fixed dt-bindings and re-ordered commits so that the mfd one comes
    last and can include the gpio subdevice
  - Added the reset driver and corresponding bindings
  - Reworked the atomic mode inside SMC since the previous implementation
    called mutex_lock from atomic context
  - Removed the backend split for now which lead to a quite intense discussion
    for the previous versions which hadn't been solved as far as I could tell
    from the old threads.
    It's also been 2+ years and I haven't heard of any backend implementation
    for T2 or even older macs. It's also unclear to me which sub-devices
    are actually useful there because at least GPIO and shutdown/reboot
    from this series will not work as-is there.
    I'd rather have this initial version which only supports M1+ macs upstream
    and then iterate there if any other backend is developed.
    I'll gladly help to re-introduce backend support if it's ever required.

Dependencies:
The code and dt-bindings themselves apply cleanly to 6.15-rc1 but
the device tree changes require the already merged SPMI controller
and SPMI NVMEM series which will be part of 6.16.
The series is also using the printf format specifiers which will
land in 6.16 via the drm-misc tree.
A tree with all dependencies for testing is available at
https://github.com/AsahiLinux/linux/commits/sven/smc-v4/.

Merging:
The dt-binding patches all depend on each other such that they all
should probably go together with the mfd device itself.
The following commits also depend on mfd due to the new header file and
will either have to go through the mfd tree as well or we'll need an
immutable branch there.
I'll take the device tree updates through our tree which also has the
previous device tree updates these depend on.

v3: https://lore.kernel.org/asahi/Y2qEpgIdpRTzTQbN@shell.armlinux.org.uk/
v2: https://lore.kernel.org/asahi/YxdInl2qzQWM+3bs@shell.armlinux.org.uk/
v1: https://lore.kernel.org/asahi/YxC5eZjGgd8xguDr@shell.armlinux.org.uk/

Best,

Sven

---
Hector Martin (5):
      gpio: Add new gpio-macsmc driver for Apple Macs
      power: reset: macsmc-reboot: Add driver for rebooting via Apple SMC
      arm64: dts: apple: t8103: Add SMC node
      arm64: dts: apple: t8112: Add SMC node
      arm64: dts: apple: t600x: Add SMC node

Russell King (Oracle) (2):
      dt-bindings: gpio: Add Apple Mac SMC GPIO block
      dt-bindings: mfd: Add Apple Mac System Management Controller

Sven Peter (2):
      dt-bindings: power: reboot: Add Apple Mac SMC Reboot Controller
      mfd: Add Apple Silicon System Management Controller

 .../devicetree/bindings/gpio/apple,smc-gpio.yaml   |  37 ++
 .../devicetree/bindings/mfd/apple,smc.yaml         |  71 +++
 .../bindings/power/reset/apple,smc-reboot.yaml     |  52 ++
 MAINTAINERS                                        |   7 +
 arch/arm64/boot/dts/apple/t600x-die0.dtsi          |  35 ++
 arch/arm64/boot/dts/apple/t8103.dtsi               |  35 ++
 arch/arm64/boot/dts/apple/t8112.dtsi               |  35 ++
 drivers/gpio/Kconfig                               |  10 +
 drivers/gpio/Makefile                              |   1 +
 drivers/gpio/gpio-macsmc.c                         | 246 ++++++++
 drivers/mfd/Kconfig                                |  15 +
 drivers/mfd/Makefile                               |   1 +
 drivers/mfd/macsmc.c                               | 657 +++++++++++++++++++++
 drivers/power/reset/Kconfig                        |  11 +
 drivers/power/reset/Makefile                       |   1 +
 drivers/power/reset/macsmc-reboot.c                | 362 ++++++++++++
 include/linux/mfd/macsmc.h                         | 337 +++++++++++
 17 files changed, 1913 insertions(+)
---
base-commit: 8b7e6734e2231a549a23943678ee3452bd19a1fe
change-id: 20250304-smc-6-15-f0ed619e31d4

Best regards,
-- 
Sven Peter <sven@svenpeter.dev>




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

end of thread, other threads:[~2025-05-09 20:25 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-03 10:06 [PATCH v4 0/9] Apple Mac System Management Controller Sven Peter via B4 Relay
2025-05-03 10:06 ` [PATCH v4 1/9] dt-bindings: gpio: Add Apple Mac SMC GPIO block Sven Peter via B4 Relay
2025-05-05  9:05   ` Linus Walleij
2025-05-09 13:12   ` Alyssa Rosenzweig
2025-05-03 10:06 ` [PATCH v4 2/9] dt-bindings: power: reboot: Add Apple Mac SMC Reboot Controller Sven Peter via B4 Relay
2025-05-09 13:11   ` Alyssa Rosenzweig
2025-05-03 10:06 ` [PATCH v4 3/9] dt-bindings: mfd: Add Apple Mac System Management Controller Sven Peter via B4 Relay
2025-05-09 13:12   ` Alyssa Rosenzweig
2025-05-03 10:06 ` [PATCH v4 4/9] mfd: Add Apple Silicon " Sven Peter via B4 Relay
2025-05-09 13:09   ` Alyssa Rosenzweig
2025-05-09 13:51   ` Lee Jones
2025-05-09 16:04     ` Sven Peter
2025-05-03 10:06 ` [PATCH v4 5/9] gpio: Add new gpio-macsmc driver for Apple Macs Sven Peter via B4 Relay
2025-05-06  8:07   ` Bartosz Golaszewski
2025-05-06 10:16     ` Sven Peter
2025-05-09 13:10   ` Alyssa Rosenzweig
2025-05-03 10:06 ` [PATCH v4 6/9] power: reset: macsmc-reboot: Add driver for rebooting via Apple SMC Sven Peter via B4 Relay
2025-05-09 13:05   ` Alyssa Rosenzweig
2025-05-09 16:13     ` Sven Peter
2025-05-09 16:21       ` Alyssa Rosenzweig
2025-05-03 10:06 ` [PATCH v4 7/9] arm64: dts: apple: t8103: Add SMC node Sven Peter via B4 Relay
2025-05-09 13:14   ` Alyssa Rosenzweig
2025-05-03 10:06 ` [PATCH v4 8/9] arm64: dts: apple: t8112: " Sven Peter via B4 Relay
2025-05-09 13:13   ` Alyssa Rosenzweig
2025-05-03 10:06 ` [PATCH v4 9/9] arm64: dts: apple: t600x: " Sven Peter via B4 Relay
2025-05-09 13:13   ` Alyssa Rosenzweig
2025-05-09 13:15 ` [PATCH v4 0/9] Apple Mac System Management Controller Alyssa Rosenzweig

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).