All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Schneider-Pargmann <msp@baylibre.com>
To: Nishanth Menon <nm@ti.com>, Tero Kristo <kristo@kernel.org>,
	Santosh Shilimkar <ssantosh@kernel.org>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Vignesh Raghavendra <vigneshr@ti.com>
Cc: Vibhore Vardhan <vibhore@ti.com>,
	Kevin Hilman <khilman@baylibre.com>, Dhruva Gole <d-gole@ti.com>,
	linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Markus Schneider-Pargmann <msp@baylibre.com>
Subject: [PATCH 0/6] firmware: ti_sci: Partial-IO support
Date: Thu, 23 May 2024 10:02:19 +0200	[thread overview]
Message-ID: <20240523080225.1288617-1-msp@baylibre.com> (raw)

Hi,

Partial-IO is a poweroff SoC state with a few pingroups active for
wakeup. This state can be entered by sending a TI_SCI PREPARE_SLEEP
message.

The message is sent on poweroff if one of the potential wakeup sources
for this power state are wakeup enabled. A list of potential wakeup
sources for the specific SoC is described in the devicetree. The wakeup
sources can be individually enabled/disabled by the user in the running
system.

The series is based on Andrew Davis accepted patches:
  [PATCH 0/4] Unconditionally register TI-SCI reset handler
  https://lore.kernel.org/lkml/20240326223730.54639-1-afd@ti.com/

This series is part of a bigger topic to support Partial-IO on am62,
am62a and am62p. Partial-IO is a poweroff state in which some pins are
able to wakeup the SoC. In detail MCU m_can and two serial port pins can
trigger the wakeup.

These two other series are relevant for the support of Partial-IO:

 - serial: 8250: omap: Add am62 wakeup support
 - can: m_can: Add am62 wakeup support

A test branch is available here that includes all patches required to test
Partial-IO:

https://gitlab.baylibre.com/msp8/linux/-/tree/integration/am62-lp-sk-partialio/v6.9?ref_type=heads

After enabling Wake-on-LAN the system can be powered off and will enter
the Partial-IO state in which it can be woken up by activity on the
specific pins:
    ethtool -s can0 wol p
    ethtool -s can1 wol p
    poweroff

I tested these patches on am62-lp-sk.

Best,
Markus

Markus Schneider-Pargmann (5):
  dt-bindings: ti, sci: Add property for partial-io-wakeup-sources
  firmware: ti_sci: Partial-IO support
  arm64: dts: ti: k3-pinctrl: Add WKUP_EN flag
  arm64: dts: ti: k3-am62: Add partial-io wakeup sources
  arm64: dts: ti: k3-am62a: Add partial-io wakeup sources

Vibhore Vardhan (1):
  arm64: dts: ti: k3-am62p: Add partial-io wakeup sources

 .../bindings/arm/keystone/ti,sci.yaml         |   6 +
 arch/arm64/boot/dts/ti/k3-am62.dtsi           |   4 +
 arch/arm64/boot/dts/ti/k3-am62a.dtsi          |   4 +
 arch/arm64/boot/dts/ti/k3-am62p.dtsi          |   4 +
 arch/arm64/boot/dts/ti/k3-pinctrl.h           |   3 +
 drivers/firmware/ti_sci.c                     | 135 +++++++++++++++++-
 drivers/firmware/ti_sci.h                     |  31 ++++
 7 files changed, 186 insertions(+), 1 deletion(-)

-- 
2.43.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Markus Schneider-Pargmann <msp@baylibre.com>
To: Nishanth Menon <nm@ti.com>, Tero Kristo <kristo@kernel.org>,
	Santosh Shilimkar <ssantosh@kernel.org>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Vignesh Raghavendra <vigneshr@ti.com>
Cc: Vibhore Vardhan <vibhore@ti.com>,
	Kevin Hilman <khilman@baylibre.com>, Dhruva Gole <d-gole@ti.com>,
	linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Markus Schneider-Pargmann <msp@baylibre.com>
Subject: [PATCH 0/6] firmware: ti_sci: Partial-IO support
Date: Thu, 23 May 2024 10:02:19 +0200	[thread overview]
Message-ID: <20240523080225.1288617-1-msp@baylibre.com> (raw)

Hi,

Partial-IO is a poweroff SoC state with a few pingroups active for
wakeup. This state can be entered by sending a TI_SCI PREPARE_SLEEP
message.

The message is sent on poweroff if one of the potential wakeup sources
for this power state are wakeup enabled. A list of potential wakeup
sources for the specific SoC is described in the devicetree. The wakeup
sources can be individually enabled/disabled by the user in the running
system.

The series is based on Andrew Davis accepted patches:
  [PATCH 0/4] Unconditionally register TI-SCI reset handler
  https://lore.kernel.org/lkml/20240326223730.54639-1-afd@ti.com/

This series is part of a bigger topic to support Partial-IO on am62,
am62a and am62p. Partial-IO is a poweroff state in which some pins are
able to wakeup the SoC. In detail MCU m_can and two serial port pins can
trigger the wakeup.

These two other series are relevant for the support of Partial-IO:

 - serial: 8250: omap: Add am62 wakeup support
 - can: m_can: Add am62 wakeup support

A test branch is available here that includes all patches required to test
Partial-IO:

https://gitlab.baylibre.com/msp8/linux/-/tree/integration/am62-lp-sk-partialio/v6.9?ref_type=heads

After enabling Wake-on-LAN the system can be powered off and will enter
the Partial-IO state in which it can be woken up by activity on the
specific pins:
    ethtool -s can0 wol p
    ethtool -s can1 wol p
    poweroff

I tested these patches on am62-lp-sk.

Best,
Markus

Markus Schneider-Pargmann (5):
  dt-bindings: ti, sci: Add property for partial-io-wakeup-sources
  firmware: ti_sci: Partial-IO support
  arm64: dts: ti: k3-pinctrl: Add WKUP_EN flag
  arm64: dts: ti: k3-am62: Add partial-io wakeup sources
  arm64: dts: ti: k3-am62a: Add partial-io wakeup sources

Vibhore Vardhan (1):
  arm64: dts: ti: k3-am62p: Add partial-io wakeup sources

 .../bindings/arm/keystone/ti,sci.yaml         |   6 +
 arch/arm64/boot/dts/ti/k3-am62.dtsi           |   4 +
 arch/arm64/boot/dts/ti/k3-am62a.dtsi          |   4 +
 arch/arm64/boot/dts/ti/k3-am62p.dtsi          |   4 +
 arch/arm64/boot/dts/ti/k3-pinctrl.h           |   3 +
 drivers/firmware/ti_sci.c                     | 135 +++++++++++++++++-
 drivers/firmware/ti_sci.h                     |  31 ++++
 7 files changed, 186 insertions(+), 1 deletion(-)

-- 
2.43.0


             reply	other threads:[~2024-05-23  8:02 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-23  8:02 Markus Schneider-Pargmann [this message]
2024-05-23  8:02 ` [PATCH 0/6] firmware: ti_sci: Partial-IO support Markus Schneider-Pargmann
2024-05-23  8:02 ` [PATCH 1/6] dt-bindings: ti, sci: Add property for partial-io-wakeup-sources Markus Schneider-Pargmann
2024-05-23  8:02   ` Markus Schneider-Pargmann
2024-05-24  0:43   ` Nishanth Menon
2024-05-24  0:43     ` Nishanth Menon
2024-05-27 19:07   ` Krzysztof Kozlowski
2024-05-27 19:07     ` Krzysztof Kozlowski
2024-05-23  8:02 ` [PATCH 2/6] firmware: ti_sci: Partial-IO support Markus Schneider-Pargmann
2024-05-23  8:02   ` Markus Schneider-Pargmann
2024-05-24  5:46   ` Nishanth Menon
2024-05-24  5:46     ` Nishanth Menon
2024-05-23  8:02 ` [PATCH 3/6] arm64: dts: ti: k3-pinctrl: Add WKUP_EN flag Markus Schneider-Pargmann
2024-05-23  8:02   ` Markus Schneider-Pargmann
2024-05-24  5:58   ` Nishanth Menon
2024-05-24  5:58     ` Nishanth Menon
2024-05-23  8:02 ` [PATCH 4/6] arm64: dts: ti: k3-am62: Add partial-io wakeup sources Markus Schneider-Pargmann
2024-05-23  8:02   ` Markus Schneider-Pargmann
2024-05-23  8:02 ` [PATCH 5/6] arm64: dts: ti: k3-am62a: " Markus Schneider-Pargmann
2024-05-23  8:02   ` Markus Schneider-Pargmann
2024-05-23  8:02 ` [PATCH 6/6] arm64: dts: ti: k3-am62p: " Markus Schneider-Pargmann
2024-05-23  8:02   ` Markus Schneider-Pargmann
2024-05-24  5:54   ` Nishanth Menon
2024-05-24  5:54     ` Nishanth Menon
2024-05-27  8:48     ` Dhruva Gole
2024-05-27  8:48       ` Dhruva Gole
2024-05-24  5:53 ` [PATCH 0/6] firmware: ti_sci: Partial-IO support Nishanth Menon
2024-05-24  5:53   ` Nishanth Menon

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=20240523080225.1288617-1-msp@baylibre.com \
    --to=msp@baylibre.com \
    --cc=conor+dt@kernel.org \
    --cc=d-gole@ti.com \
    --cc=devicetree@vger.kernel.org \
    --cc=khilman@baylibre.com \
    --cc=kristo@kernel.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nm@ti.com \
    --cc=robh@kernel.org \
    --cc=ssantosh@kernel.org \
    --cc=vibhore@ti.com \
    --cc=vigneshr@ti.com \
    /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.