Skip to content

mfd: macsmc: register the T6050 reboot and RTC cells where the device tree has them - #888

Closed
funkzy wants to merge 1 commit into
aurora-silicon:t6050/smcfrom
funkzy:pr/t6050-smc-reboot-rtc
Closed

funkzy wants to merge 1 commit into
aurora-silicon:t6050/smcfrom
funkzy:pr/t6050-smc-reboot-rtc

Conversation

@funkzy

@funkzy funkzy commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

Summary

#479's T6050 profile registers the input, power and hwmon cells only. That fits the APIF guest. A T6050 kernel that
owns the machine (the M5 Ultra Mac Studio, J775D, with Linux on the hardware) then has no SMC restart or power-off
and no RTC: poweroff halted Linux and left the machine on. This registers macsmc-reboot and macsmc-rtc on
T6050 too, but only where the device tree has their child node, the rule the pcIO outputs and the second GPIO bank
already follow.

What it changes

  • The T6050 profile's optional cells (pcIO outputs, the second GPIO bank, reboot, RTC) become one table and one
    helper: a cell is registered when its child node exists.
  • A T6050 device tree without reboot or rtc children (the guest's) registers exactly what it did.
  • Other SMCs are unchanged: the same cells in the same order. The registration-failure messages now name the cell.

Testing (J775D, M5 Ultra)

The kernel: our J775D series (integration/aurora's lineage, as on the Studio every day) with this PR's code and
that of the other T6050 PRs sent with it in place of the series' own forms, booted once on 2026-11-02 and restarted
through the SMC at the end. The same code is in the series kernel the machine boots by default.

  • Both new cells bound beside the input, power and hwmon cells: "macsmc-reboot: Handling reboot and poweroff
    requests via SMC", "macsmc-rtc: registered as rtc0", and the system clock set from it at 1.22 s.
  • rtc0 read 22:42:07 against the system's 22:42:08 UTC, 100 s after boot.
  • The reboot at the end went through the SMC ("Preparing for reboot (rest)", "Preparing SMC for atomic mode",
    "Issuing restart (phra)"), and the machine came back on its default kernel.
  • No panic, BUG, Oops, WARNING or SError line.
  • Builds on mfd: macsmc: Support T6050 power and pcIO consumers #479: 0 errors, 0 warnings in the kernel. checkpatch --strict: clean.

Not tested

  • The guest with this commit (its DT has neither child, so nothing changes for it by construction).
  • poweroff on this branch's own build: it turns the Studio off, and the Studio is remote. The same code (this
    commit's patch, on our series with mfd: macsmc: Support T6050 power and pcIO consumers #479) powered the Studio off once on 2026-11-02: ping stopped 4 s after
    systemctl poweroff and stayed down until the power button was pressed, and the RTC kept time through the off
    state.

Dependencies

#479 (t6050/smc). The J775D DT with the reboot and rtc children comes with the J775D board.

For dj

Is #479 the right place for this, or would you rather take it after #479 reaches aurora-wip?

The T6050 profile registers input, power and hwmon only, so a T6050
kernel that owns the machine (J775D, booted on the hardware) had no SMC
restart or power-off and no RTC: poweroff halted Linux and left the
machine on.

macsmc-reboot and macsmc-rtc join the T6050 profile as cells registered
only where the device tree has their child node, the rule the pcIO
outputs and the second GPIO bank already follow; those blocks become
one table and one helper. A T6050 device tree without reboot or rtc
children (an APIF guest's) registers exactly what it did. Other SMCs are
unchanged: the same cells in the same order. The registration-failure
messages now name the cell.

Signed-off-by: Jeff Queisser <funkzy@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@funkzy

funkzy commented Nov 3, 2026

Copy link
Copy Markdown
Contributor Author

Closing: carried in funkzy/j775d in aurora-silicon/linux-aurora, the consolidated M5 Ultra branch dj merges in one go.

@funkzy funkzy closed this Nov 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant