* [PATCH 0/7] arm64: dts: ti: k3-am62: Add wakeup-sources for low power modes
@ 2025-04-21 8:14 Markus Schneider-Pargmann
2025-04-21 8:14 ` [PATCH 1/7] arm64: dts: ti: k3-pinctrl: Add WKUP_EN flag Markus Schneider-Pargmann
` (7 more replies)
0 siblings, 8 replies; 13+ messages in thread
From: Markus Schneider-Pargmann @ 2025-04-21 8:14 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-kernel, devicetree, linux-kernel, Vishal Mahaveer,
Kevin Hilman, Dhruva Gole, Sebin Francis, Kendall Willis,
Akashdeep Kaur, Markus Schneider-Pargmann
Hi,
This series adds devicetree changes needed for Partial-IO support
on TI am62, am62a, and am62p SoCs. It defines system states for various
low power modes and configures the wakeup-sources for devices in the CANUART
group. Depending on the SoC and board details, some low power modes may not
be available, so the wakeup-sources are described in the board files.
The series also adds the necessary pinctrl settings required for proper
wakeup functionality.
Partial-IO Overview
------------------
Partial-IO is a low power system state in which nearly everything is
turned off except the pins of the CANUART group (mcu_mcan0, mcu_mcan1,
wkup_uart0 and mcu_uart0). These devices can trigger a wakeup of the system
on pin activity. Note that this does not resume the system as the DDR is
off as well. So this state can be considered a power-off state with wakeup
capabilities.
A documentation can also be found in section 6.2.4 in the TRM:
https://www.ti.com/lit/pdf/spruiv7
Implementation Details
----------------------
The complete Partial-IO feature requires three coordinated series, each handling
a different aspect of the implementation:
1. m_can driver series: Implements device-specific wakeup functionality
for m_can devices, allowing them to be set as wakeup sources.
https://gitlab.baylibre.com/msp8/linux/-/tree/topic/mcan-wakeup-source/v6.15?ref_type=heads
https://lore.kernel.org/r/20250421-topic-mcan-wakeup-source-v6-12-v7-0-1b7b916c9832@baylibre.com
2. This series (devicetree): Defines system states and wakeup sources in the
devicetree for am62, am62a and am62p.
3. TI-SCI firmware series: Implements the firmware interface to enter Partial-IO
mode when appropriate wakeup sources are enabled.
https://gitlab.baylibre.com/msp8/linux/-/tree/topic/tisci-partialio/v6.15?ref_type=heads
Devicetree Bindings
-------------------
This series depends on the dt-schema pull request that adds bindings for
system-idle-states and updates the binding for wakeup-source:
https://github.com/devicetree-org/dt-schema/pull/150
These new bindings allow us to define the system states and reference them
from device wakeup-source properties.
Testing
-------
A test branch is available here that includes all patches required to
test Partial-IO:
https://gitlab.baylibre.com/msp8/linux/-/tree/integration/am62-partialio/v6.15?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
Previous versions
-----------------
- As part of the series "firmware: ti_sci: Partial-IO support"
https://lore.kernel.org/r/20250306-topic-am62-partialio-v6-12-b4-v5-0-f9323d3744a2@baylibre.com
Signed-off-by: Markus Schneider-Pargmann <msp@baylibre.com>
---
Markus Schneider-Pargmann (7):
arm64: dts: ti: k3-pinctrl: Add WKUP_EN flag
arm64: dts: ti: k3-am62: Define possible system states
arm64: dts: ti: k3-am62a: Define possible system states
arm64: dts: ti: k3-am62p: Define possible system states
arm64: dts: ti: k3-am62-lp-sk: Set wakeup-source system-states
arm64: dts: ti: k3-am62a7-sk: Set wakeup-source system-states
arm64: dts: ti: k3-am62p5-sk: Set wakeup-source system-states
arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts | 60 +++++++++++++++++++++++++
arch/arm64/boot/dts/ti/k3-am62.dtsi | 22 +++++++++
arch/arm64/boot/dts/ti/k3-am62a.dtsi | 27 ++++++++++++
arch/arm64/boot/dts/ti/k3-am62a7-sk.dts | 76 ++++++++++++++++++++++++++++++++
arch/arm64/boot/dts/ti/k3-am62p.dtsi | 27 ++++++++++++
arch/arm64/boot/dts/ti/k3-am62p5-sk.dts | 76 ++++++++++++++++++++++++++++++++
arch/arm64/boot/dts/ti/k3-pinctrl.h | 2 +
7 files changed, 290 insertions(+)
---
base-commit: 64e9fdfc89a76fed38d8ddeed72d42ec71957ed9
change-id: 20250415-topic-am62-dt-partialio-v6-15-327dd1ff17da
prerequisite-change-id: 20241009-topic-mcan-wakeup-source-v6-12-8c1d69931bd8:v7
prerequisite-patch-id: 02b7142f56c849c9a3faab2d2871805febd647aa
prerequisite-patch-id: 830b339ea452edd750b04f719da91e721be630cb
prerequisite-patch-id: 56fd0aae20e82eb2dfb48f1b7088d62311a11f05
prerequisite-patch-id: 41f55b96c0428240d74d488e3c788c09842a1753
Best regards,
--
Markus Schneider-Pargmann <msp@baylibre.com>
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 1/7] arm64: dts: ti: k3-pinctrl: Add WKUP_EN flag
2025-04-21 8:14 [PATCH 0/7] arm64: dts: ti: k3-am62: Add wakeup-sources for low power modes Markus Schneider-Pargmann
@ 2025-04-21 8:14 ` Markus Schneider-Pargmann
2025-04-21 8:14 ` [PATCH 2/7] arm64: dts: ti: k3-am62: Define possible system states Markus Schneider-Pargmann
` (6 subsequent siblings)
7 siblings, 0 replies; 13+ messages in thread
From: Markus Schneider-Pargmann @ 2025-04-21 8:14 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-kernel, devicetree, linux-kernel, Vishal Mahaveer,
Kevin Hilman, Dhruva Gole, Sebin Francis, Kendall Willis,
Akashdeep Kaur, Markus Schneider-Pargmann
WKUP_EN is a flag to enable pin wakeup. Any activity will wakeup the SoC
in that case.
Signed-off-by: Markus Schneider-Pargmann <msp@baylibre.com>
---
arch/arm64/boot/dts/ti/k3-pinctrl.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-pinctrl.h b/arch/arm64/boot/dts/ti/k3-pinctrl.h
index cac7cccc111212eba520454396c8cc5c9fcba9b1..79a9f54fa0095c4e3864872bc06ef3d033215b2b 100644
--- a/arch/arm64/boot/dts/ti/k3-pinctrl.h
+++ b/arch/arm64/boot/dts/ti/k3-pinctrl.h
@@ -18,6 +18,7 @@
#define DS_OUT_VAL_SHIFT (26)
#define DS_PULLUD_EN_SHIFT (27)
#define DS_PULLTYPE_SEL_SHIFT (28)
+#define WKUP_EN_SHIFT (29)
#define PULL_DISABLE (1 << PULLUDEN_SHIFT)
#define PULL_ENABLE (0 << PULLUDEN_SHIFT)
@@ -56,6 +57,7 @@
#define PIN_DS_PULLUD_DISABLE (1 << DS_PULLUD_EN_SHIFT)
#define PIN_DS_PULL_DOWN (0 << DS_PULLTYPE_SEL_SHIFT)
#define PIN_DS_PULL_UP (1 << DS_PULLTYPE_SEL_SHIFT)
+#define WKUP_EN (1 << WKUP_EN_SHIFT)
/* Default mux configuration for gpio-ranges to use with pinctrl */
#define PIN_GPIO_RANGE_IOPAD (PIN_INPUT | 7)
--
2.49.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 2/7] arm64: dts: ti: k3-am62: Define possible system states
2025-04-21 8:14 [PATCH 0/7] arm64: dts: ti: k3-am62: Add wakeup-sources for low power modes Markus Schneider-Pargmann
2025-04-21 8:14 ` [PATCH 1/7] arm64: dts: ti: k3-pinctrl: Add WKUP_EN flag Markus Schneider-Pargmann
@ 2025-04-21 8:14 ` Markus Schneider-Pargmann
2025-04-21 8:14 ` [PATCH 3/7] arm64: dts: ti: k3-am62a: " Markus Schneider-Pargmann
` (5 subsequent siblings)
7 siblings, 0 replies; 13+ messages in thread
From: Markus Schneider-Pargmann @ 2025-04-21 8:14 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-kernel, devicetree, linux-kernel, Vishal Mahaveer,
Kevin Hilman, Dhruva Gole, Sebin Francis, Kendall Willis,
Akashdeep Kaur, Markus Schneider-Pargmann
Add the system states that are available on am62 SoCs.
Signed-off-by: Markus Schneider-Pargmann <msp@baylibre.com>
---
arch/arm64/boot/dts/ti/k3-am62.dtsi | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am62.dtsi b/arch/arm64/boot/dts/ti/k3-am62.dtsi
index bfb55ca113239be4367a1cf8edf219187fafa8a0..acc8cbc7e57bc5712ada8b4b225e302ffc368e26 100644
--- a/arch/arm64/boot/dts/ti/k3-am62.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62.dtsi
@@ -46,6 +46,28 @@ pmu: pmu {
interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
};
+ system-idle-states {
+ system_partial_io: system-partial-io {
+ compatible = "system-idle-state";
+ idle-state-name = "Partial-IO";
+ };
+
+ system_deep_sleep: system-deep-sleep {
+ compatible = "system-idle-state";
+ idle-state-name = "DeepSleep";
+ };
+
+ system_mcu_only: system-mcu-only {
+ compatible = "system-idle-state";
+ idle-state-name = "MCU Only";
+ };
+
+ system_standby: system-standby {
+ compatible = "system-idle-state";
+ idle-state-name = "Standby";
+ };
+ };
+
cbass_main: bus@f0000 {
bootph-all;
compatible = "simple-bus";
--
2.49.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 3/7] arm64: dts: ti: k3-am62a: Define possible system states
2025-04-21 8:14 [PATCH 0/7] arm64: dts: ti: k3-am62: Add wakeup-sources for low power modes Markus Schneider-Pargmann
2025-04-21 8:14 ` [PATCH 1/7] arm64: dts: ti: k3-pinctrl: Add WKUP_EN flag Markus Schneider-Pargmann
2025-04-21 8:14 ` [PATCH 2/7] arm64: dts: ti: k3-am62: Define possible system states Markus Schneider-Pargmann
@ 2025-04-21 8:14 ` Markus Schneider-Pargmann
2025-04-21 8:14 ` [PATCH 4/7] arm64: dts: ti: k3-am62p: " Markus Schneider-Pargmann
` (4 subsequent siblings)
7 siblings, 0 replies; 13+ messages in thread
From: Markus Schneider-Pargmann @ 2025-04-21 8:14 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-kernel, devicetree, linux-kernel, Vishal Mahaveer,
Kevin Hilman, Dhruva Gole, Sebin Francis, Kendall Willis,
Akashdeep Kaur, Markus Schneider-Pargmann
Add the system states that are available on am62a SoCs.
Signed-off-by: Markus Schneider-Pargmann <msp@baylibre.com>
---
arch/arm64/boot/dts/ti/k3-am62a.dtsi | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am62a.dtsi b/arch/arm64/boot/dts/ti/k3-am62a.dtsi
index 4d79b3e9486af18b8813a8980a57937669ff6095..0b58ade9561a3076fc89f3b85dbafa969285162f 100644
--- a/arch/arm64/boot/dts/ti/k3-am62a.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62a.dtsi
@@ -46,6 +46,33 @@ pmu: pmu {
interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
};
+ system-idle-states {
+ system_partial_io: system-partial-io {
+ compatible = "system-idle-state";
+ idle-state-name = "Partial-IO";
+ };
+
+ system_io_ddr: system-io-ddr {
+ compatible = "system-idle-state";
+ idle-state-name = "IO+DDR";
+ };
+
+ system_deep_sleep: system-deep-sleep {
+ compatible = "system-idle-state";
+ idle-state-name = "DeepSleep";
+ };
+
+ system_mcu_only: system-mcu-only {
+ compatible = "system-idle-state";
+ idle-state-name = "MCU Only";
+ };
+
+ system_standby: system-standby {
+ compatible = "system-idle-state";
+ idle-state-name = "Standby";
+ };
+ };
+
cbass_main: bus@f0000 {
compatible = "simple-bus";
#address-cells = <2>;
--
2.49.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 4/7] arm64: dts: ti: k3-am62p: Define possible system states
2025-04-21 8:14 [PATCH 0/7] arm64: dts: ti: k3-am62: Add wakeup-sources for low power modes Markus Schneider-Pargmann
` (2 preceding siblings ...)
2025-04-21 8:14 ` [PATCH 3/7] arm64: dts: ti: k3-am62a: " Markus Schneider-Pargmann
@ 2025-04-21 8:14 ` Markus Schneider-Pargmann
2025-04-21 8:14 ` [PATCH 5/7] arm64: dts: ti: k3-am62-lp-sk: Set wakeup-source system-states Markus Schneider-Pargmann
` (3 subsequent siblings)
7 siblings, 0 replies; 13+ messages in thread
From: Markus Schneider-Pargmann @ 2025-04-21 8:14 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-kernel, devicetree, linux-kernel, Vishal Mahaveer,
Kevin Hilman, Dhruva Gole, Sebin Francis, Kendall Willis,
Akashdeep Kaur, Markus Schneider-Pargmann
Add the system states that are available on am62p SoCs.
Signed-off-by: Markus Schneider-Pargmann <msp@baylibre.com>
---
arch/arm64/boot/dts/ti/k3-am62p.dtsi | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am62p.dtsi b/arch/arm64/boot/dts/ti/k3-am62p.dtsi
index 75a15c368c11b068430362fe0b8d2d9ecc052588..64cd070f196fdd2999ddc7bfee3ac9a03f1366b4 100644
--- a/arch/arm64/boot/dts/ti/k3-am62p.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62p.dtsi
@@ -44,6 +44,33 @@ pmu: pmu {
interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
};
+ system-idle-states {
+ system_partial_io: system-partial-io {
+ compatible = "system-idle-state";
+ idle-state-name = "Partial-IO";
+ };
+
+ system_io_ddr: system-io-ddr {
+ compatible = "system-idle-state";
+ idle-state-name = "IO+DDR";
+ };
+
+ system_deep_sleep: system-deep-sleep {
+ compatible = "system-idle-state";
+ idle-state-name = "DeepSleep";
+ };
+
+ system_mcu_only: system-mcu-only {
+ compatible = "system-idle-state";
+ idle-state-name = "MCU Only";
+ };
+
+ system_standby: system-standby {
+ compatible = "system-idle-state";
+ idle-state-name = "Standby";
+ };
+ };
+
cbass_main: bus@f0000 {
compatible = "simple-bus";
#address-cells = <2>;
--
2.49.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 5/7] arm64: dts: ti: k3-am62-lp-sk: Set wakeup-source system-states
2025-04-21 8:14 [PATCH 0/7] arm64: dts: ti: k3-am62: Add wakeup-sources for low power modes Markus Schneider-Pargmann
` (3 preceding siblings ...)
2025-04-21 8:14 ` [PATCH 4/7] arm64: dts: ti: k3-am62p: " Markus Schneider-Pargmann
@ 2025-04-21 8:14 ` Markus Schneider-Pargmann
2025-04-21 8:14 ` [PATCH 6/7] arm64: dts: ti: k3-am62a7-sk: " Markus Schneider-Pargmann
` (2 subsequent siblings)
7 siblings, 0 replies; 13+ messages in thread
From: Markus Schneider-Pargmann @ 2025-04-21 8:14 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-kernel, devicetree, linux-kernel, Vishal Mahaveer,
Kevin Hilman, Dhruva Gole, Sebin Francis, Kendall Willis,
Akashdeep Kaur, Markus Schneider-Pargmann
The CANUART pins of mcu_mcan0, mcu_mcan1, mcu_uart0 and wkup_uart0 are
powered during Partial-IO and IO+DDR and are capable of waking up the
system in these states. Specify the states in which these units can do a
wakeup on this board.
Note that the UARTs are not capable of wakeup in Partial-IO because of
of a UART mux on the board not being powered during Partial-IO. As
IO+DDR is not supported on am62, the UARTs are not added in this patch.
Add pincontrol definitions for mcu_mcan0 and mcu_mcan1 for wakeup from
Partial-IO. Add these as wakeup pinctrl entries for both devices.
Signed-off-by: Markus Schneider-Pargmann <msp@baylibre.com>
---
arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts | 60 ++++++++++++++++++++++++++++++++
1 file changed, 60 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts b/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts
index 8e9fc00a6b3c7459a360f9e1d6bbb60e68c460ab..f19e53efabf30fc333e3a7d9832296140642fdf3 100644
--- a/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts
@@ -232,3 +232,63 @@ &tlv320aic3106 {
&gpmc0 {
ranges = <0 0 0x00 0x51000000 0x01000000>; /* CS0 space. Min partition = 16MB */
};
+
+&mcu_mcan0 {
+ pinctrl-names = "default", "wakeup";
+ pinctrl-0 = <&mcu_mcan0_tx_pins_default>, <&mcu_mcan0_rx_pins_default>;
+ pinctrl-1 = <&mcu_mcan0_tx_pins_default>, <&mcu_mcan0_rx_pins_wakeup>;
+ wakeup-source = <&system_partial_io>,
+ <&system_deep_sleep>,
+ <&system_mcu_only>,
+ <&system_standby>;
+ status = "okay";
+};
+
+&mcu_mcan1 {
+ pinctrl-names = "default", "wakeup";
+ pinctrl-0 = <&mcu_mcan1_tx_pins_default>, <&mcu_mcan1_rx_pins_default>;
+ pinctrl-1 = <&mcu_mcan1_tx_pins_default>, <&mcu_mcan1_rx_pins_wakeup>;
+ wakeup-source = <&system_partial_io>,
+ <&system_deep_sleep>,
+ <&system_mcu_only>,
+ <&system_standby>;
+ status = "okay";
+};
+
+&mcu_pmx0 {
+ mcu_mcan0_tx_pins_default: mcu-mcan0-tx-default-pins {
+ pinctrl-single,pins = <
+ AM62X_IOPAD(0x034, PIN_OUTPUT, 0) /* (D6) MCU_MCAN0_TX */
+ >;
+ };
+
+ mcu_mcan0_rx_pins_default: mcu-mcan0-rx-default-pins {
+ pinctrl-single,pins = <
+ AM62X_IOPAD(0x038, PIN_INPUT, 0) /* (B3) MCU_MCAN0_RX */
+ >;
+ };
+
+ mcu_mcan0_rx_pins_wakeup: mcu-mcan0-rx-wakeup-pins {
+ pinctrl-single,pins = <
+ AM62X_IOPAD(0x038, PIN_INPUT | WKUP_EN, 0) /* (B3) MCU_MCAN0_RX */
+ >;
+ };
+
+ mcu_mcan1_tx_pins_default: mcu-mcan1-tx-default-pins {
+ pinctrl-single,pins = <
+ AM62X_IOPAD(0x03c, PIN_OUTPUT, 0) /* (E5) MCU_MCAN1_TX */
+ >;
+ };
+
+ mcu_mcan1_rx_pins_default: mcu-mcan1-rx-default-pins {
+ pinctrl-single,pins = <
+ AM62X_IOPAD(0x040, PIN_INPUT, 0) /* (D4) MCU_MCAN1_RX */
+ >;
+ };
+
+ mcu_mcan1_rx_pins_wakeup: mcu-mcan1-rx-wakeup-pins {
+ pinctrl-single,pins = <
+ AM62X_IOPAD(0x040, PIN_INPUT | WKUP_EN, 0) /* (D4) MCU_MCAN1_RX */
+ >;
+ };
+};
--
2.49.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 6/7] arm64: dts: ti: k3-am62a7-sk: Set wakeup-source system-states
2025-04-21 8:14 [PATCH 0/7] arm64: dts: ti: k3-am62: Add wakeup-sources for low power modes Markus Schneider-Pargmann
` (4 preceding siblings ...)
2025-04-21 8:14 ` [PATCH 5/7] arm64: dts: ti: k3-am62-lp-sk: Set wakeup-source system-states Markus Schneider-Pargmann
@ 2025-04-21 8:14 ` Markus Schneider-Pargmann
2025-05-07 16:56 ` Kendall Willis
2025-04-21 8:14 ` [PATCH 7/7] arm64: dts: ti: k3-am62p5-sk: " Markus Schneider-Pargmann
2025-04-21 15:07 ` [PATCH 0/7] arm64: dts: ti: k3-am62: Add wakeup-sources for low power modes Rob Herring (Arm)
7 siblings, 1 reply; 13+ messages in thread
From: Markus Schneider-Pargmann @ 2025-04-21 8:14 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-kernel, devicetree, linux-kernel, Vishal Mahaveer,
Kevin Hilman, Dhruva Gole, Sebin Francis, Kendall Willis,
Akashdeep Kaur, Markus Schneider-Pargmann
The CANUART pins of mcu_mcan0, mcu_mcan1, mcu_uart0 and wkup_uart0 are
powered during Partial-IO and IO+DDR and are capable of waking up the
system in these states. Specify the states in which these units can do a
wakeup on this board.
Note that the UARTs are not capable of wakeup in Partial-IO because of
of a UART mux on the board not being powered during Partial-IO.
Add pincontrol definitions for mcu_mcan0 and mcu_mcan1 for wakeup from
Partial-IO. Add these as wakeup pinctrl entries for both devices.
Signed-off-by: Markus Schneider-Pargmann <msp@baylibre.com>
---
arch/arm64/boot/dts/ti/k3-am62a7-sk.dts | 76 +++++++++++++++++++++++++++++++++
1 file changed, 76 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
index 1c9d95696c839a51b607839abb9429a8de6fa620..724d9a6f3c575fe35496fdd9e17d6d8e33869f92 100644
--- a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
@@ -741,3 +741,79 @@ dpi1_out: endpoint {
};
};
};
+
+&mcu_mcan0 {
+ pinctrl-names = "default", "wakeup";
+ pinctrl-0 = <&mcu_mcan0_tx_pins_default>, <&mcu_mcan0_rx_pins_default>;
+ pinctrl-1 = <&mcu_mcan0_tx_pins_default>, <&mcu_mcan0_rx_pins_wakeup>;
+ wakeup-source = <&system_partial_io>,
+ <&system_io_ddr>,
+ <&system_deep_sleep>,
+ <&system_mcu_only>,
+ <&system_standby>;
+ status = "okay";
+};
+
+&mcu_mcan1 {
+ pinctrl-names = "default", "wakeup";
+ pinctrl-0 = <&mcu_mcan1_tx_pins_default>, <&mcu_mcan1_rx_pins_default>;
+ pinctrl-1 = <&mcu_mcan1_tx_pins_default>, <&mcu_mcan1_rx_pins_wakeup>;
+ wakeup-source = <&system_partial_io>,
+ <&system_io_ddr>,
+ <&system_deep_sleep>,
+ <&system_mcu_only>,
+ <&system_standby>;
+ status = "okay";
+};
+
+&mcu_uart0 {
+ wakeup-source = <&system_io_ddr>,
+ <&system_deep_sleep>,
+ <&system_mcu_only>,
+ <&system_standby>;
+};
+
+&wkup_uart0 {
+ wakeup-source = <&system_io_ddr>,
+ <&system_deep_sleep>,
+ <&system_mcu_only>,
+ <&system_standby>;
+};
+
+&mcu_pmx0 {
+ mcu_mcan0_tx_pins_default: mcu-mcan0-tx-default-pins {
+ pinctrl-single,pins = <
+ AM62X_IOPAD(0x034, PIN_OUTPUT, 0) /* (D6) MCU_MCAN0_TX */
+ >;
+ };
+
+ mcu_mcan0_rx_pins_default: mcu-mcan0-rx-default-pins {
+ pinctrl-single,pins = <
+ AM62X_IOPAD(0x038, PIN_INPUT, 0) /* (B3) MCU_MCAN0_RX */
+ >;
+ };
+
+ mcu_mcan0_rx_pins_wakeup: mcu-mcan0-rx-wakeup-pins {
+ pinctrl-single,pins = <
+ AM62X_IOPAD(0x038, PIN_INPUT | WKUP_EN, 0) /* (B3) MCU_MCAN0_RX */
+ >;
+ };
+
+ mcu_mcan1_tx_pins_default: mcu-mcan1-tx-default-pins {
+ pinctrl-single,pins = <
+ AM62X_IOPAD(0x03c, PIN_OUTPUT, 0) /* (E5) MCU_MCAN1_TX */
+ >;
+ };
+
+ mcu_mcan1_rx_pins_default: mcu-mcan1-rx-default-pins {
+ pinctrl-single,pins = <
+ AM62X_IOPAD(0x040, PIN_INPUT, 0) /* (D4) MCU_MCAN1_RX */
+ >;
+ };
+
+ mcu_mcan1_rx_pins_wakeup: mcu-mcan1-rx-wakeup-pins {
+ pinctrl-single,pins = <
+ AM62X_IOPAD(0x040, PIN_INPUT | WKUP_EN, 0) /* (D4) MCU_MCAN1_RX */
+ >;
+ };
+};
--
2.49.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 7/7] arm64: dts: ti: k3-am62p5-sk: Set wakeup-source system-states
2025-04-21 8:14 [PATCH 0/7] arm64: dts: ti: k3-am62: Add wakeup-sources for low power modes Markus Schneider-Pargmann
` (5 preceding siblings ...)
2025-04-21 8:14 ` [PATCH 6/7] arm64: dts: ti: k3-am62a7-sk: " Markus Schneider-Pargmann
@ 2025-04-21 8:14 ` Markus Schneider-Pargmann
2025-05-07 17:00 ` Kendall Willis
2025-04-21 15:07 ` [PATCH 0/7] arm64: dts: ti: k3-am62: Add wakeup-sources for low power modes Rob Herring (Arm)
7 siblings, 1 reply; 13+ messages in thread
From: Markus Schneider-Pargmann @ 2025-04-21 8:14 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-kernel, devicetree, linux-kernel, Vishal Mahaveer,
Kevin Hilman, Dhruva Gole, Sebin Francis, Kendall Willis,
Akashdeep Kaur, Markus Schneider-Pargmann
The CANUART pins of mcu_mcan0, mcu_mcan1, mcu_uart0 and wkup_uart0 are
powered during Partial-IO and IO+DDR and are capable of waking up the
system in these states. Specify the states in which these units can do a
wakeup on this board.
Note that the UARTs are not capable of wakeup in Partial-IO because of
of a UART mux on the board not being powered during Partial-IO.
Add pincontrol definitions for mcu_mcan0 and mcu_mcan1 for wakeup from
Partial-IO. Add these as wakeup pinctrl entries for both devices.
Signed-off-by: Markus Schneider-Pargmann <msp@baylibre.com>
---
arch/arm64/boot/dts/ti/k3-am62p5-sk.dts | 76 +++++++++++++++++++++++++++++++++
1 file changed, 76 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts b/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
index d29f524600af017af607e2cb6122d3a581575ffc..35b950e444353c416e33344dfff42e2edeab3aba 100644
--- a/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
@@ -683,3 +683,79 @@ &mcu_gpio0 {
&mcu_gpio_intr {
status = "reserved";
};
+
+&mcu_mcan0 {
+ pinctrl-names = "default", "wakeup";
+ pinctrl-0 = <&mcu_mcan0_tx_pins_default>, <&mcu_mcan0_rx_pins_default>;
+ pinctrl-1 = <&mcu_mcan0_tx_pins_default>, <&mcu_mcan0_rx_pins_wakeup>;
+ wakeup-source = <&system_partial_io>,
+ <&system_io_ddr>,
+ <&system_deep_sleep>,
+ <&system_mcu_only>,
+ <&system_standby>;
+ status = "okay";
+};
+
+&mcu_mcan1 {
+ pinctrl-names = "default", "wakeup";
+ pinctrl-0 = <&mcu_mcan1_tx_pins_default>, <&mcu_mcan1_rx_pins_default>;
+ pinctrl-1 = <&mcu_mcan1_tx_pins_default>, <&mcu_mcan1_rx_pins_wakeup>;
+ wakeup-source = <&system_partial_io>,
+ <&system_io_ddr>,
+ <&system_deep_sleep>,
+ <&system_mcu_only>,
+ <&system_standby>;
+ status = "okay";
+};
+
+&mcu_uart0 {
+ wakeup-source = <&system_io_ddr>,
+ <&system_deep_sleep>,
+ <&system_mcu_only>,
+ <&system_standby>;
+};
+
+&wkup_uart0 {
+ wakeup-source = <&system_io_ddr>,
+ <&system_deep_sleep>,
+ <&system_mcu_only>,
+ <&system_standby>;
+};
+
+&mcu_pmx0 {
+ mcu_mcan0_tx_pins_default: mcu-mcan0-tx-default-pins {
+ pinctrl-single,pins = <
+ AM62X_IOPAD(0x034, PIN_OUTPUT, 0) /* (D6) MCU_MCAN0_TX */
+ >;
+ };
+
+ mcu_mcan0_rx_pins_default: mcu-mcan0-rx-default-pins {
+ pinctrl-single,pins = <
+ AM62X_IOPAD(0x038, PIN_INPUT, 0) /* (B3) MCU_MCAN0_RX */
+ >;
+ };
+
+ mcu_mcan0_rx_pins_wakeup: mcu-mcan0-rx-wakeup-pins {
+ pinctrl-single,pins = <
+ AM62X_IOPAD(0x038, PIN_INPUT | WKUP_EN, 0) /* (B3) MCU_MCAN0_RX */
+ >;
+ };
+
+ mcu_mcan1_tx_pins_default: mcu-mcan1-tx-default-pins {
+ pinctrl-single,pins = <
+ AM62X_IOPAD(0x03c, PIN_OUTPUT, 0) /* (E5) MCU_MCAN1_TX */
+ >;
+ };
+
+ mcu_mcan1_rx_pins_default: mcu-mcan1-rx-default-pins {
+ pinctrl-single,pins = <
+ AM62X_IOPAD(0x040, PIN_INPUT, 0) /* (D4) MCU_MCAN1_RX */
+ >;
+ };
+
+ mcu_mcan1_rx_pins_wakeup: mcu-mcan1-rx-wakeup-pins {
+ pinctrl-single,pins = <
+ AM62X_IOPAD(0x040, PIN_INPUT | WKUP_EN, 0) /* (D4) MCU_MCAN1_RX */
+ >;
+ };
+};
--
2.49.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH 0/7] arm64: dts: ti: k3-am62: Add wakeup-sources for low power modes
2025-04-21 8:14 [PATCH 0/7] arm64: dts: ti: k3-am62: Add wakeup-sources for low power modes Markus Schneider-Pargmann
` (6 preceding siblings ...)
2025-04-21 8:14 ` [PATCH 7/7] arm64: dts: ti: k3-am62p5-sk: " Markus Schneider-Pargmann
@ 2025-04-21 15:07 ` Rob Herring (Arm)
2025-04-23 9:07 ` Markus Schneider-Pargmann
7 siblings, 1 reply; 13+ messages in thread
From: Rob Herring (Arm) @ 2025-04-21 15:07 UTC (permalink / raw)
To: Markus Schneider-Pargmann
Cc: Vignesh Raghavendra, Krzysztof Kozlowski, Tero Kristo,
Conor Dooley, devicetree, linux-kernel, Sebin Francis,
Nishanth Menon, Kendall Willis, Dhruva Gole, Kevin Hilman,
Vishal Mahaveer, linux-arm-kernel, Akashdeep Kaur
On Mon, 21 Apr 2025 10:14:18 +0200, Markus Schneider-Pargmann wrote:
> Hi,
>
> This series adds devicetree changes needed for Partial-IO support
> on TI am62, am62a, and am62p SoCs. It defines system states for various
> low power modes and configures the wakeup-sources for devices in the CANUART
> group. Depending on the SoC and board details, some low power modes may not
> be available, so the wakeup-sources are described in the board files.
> The series also adds the necessary pinctrl settings required for proper
> wakeup functionality.
>
> Partial-IO Overview
> ------------------
> Partial-IO is a low power system state in which nearly everything is
> turned off except the pins of the CANUART group (mcu_mcan0, mcu_mcan1,
> wkup_uart0 and mcu_uart0). These devices can trigger a wakeup of the system
> on pin activity. Note that this does not resume the system as the DDR is
> off as well. So this state can be considered a power-off state with wakeup
> capabilities.
>
> A documentation can also be found in section 6.2.4 in the TRM:
> https://www.ti.com/lit/pdf/spruiv7
>
> Implementation Details
> ----------------------
> The complete Partial-IO feature requires three coordinated series, each handling
> a different aspect of the implementation:
>
> 1. m_can driver series: Implements device-specific wakeup functionality
> for m_can devices, allowing them to be set as wakeup sources.
> https://gitlab.baylibre.com/msp8/linux/-/tree/topic/mcan-wakeup-source/v6.15?ref_type=heads
> https://lore.kernel.org/r/20250421-topic-mcan-wakeup-source-v6-12-v7-0-1b7b916c9832@baylibre.com
>
> 2. This series (devicetree): Defines system states and wakeup sources in the
> devicetree for am62, am62a and am62p.
>
> 3. TI-SCI firmware series: Implements the firmware interface to enter Partial-IO
> mode when appropriate wakeup sources are enabled.
> https://gitlab.baylibre.com/msp8/linux/-/tree/topic/tisci-partialio/v6.15?ref_type=heads
>
> Devicetree Bindings
> -------------------
> This series depends on the dt-schema pull request that adds bindings for
> system-idle-states and updates the binding for wakeup-source:
> https://github.com/devicetree-org/dt-schema/pull/150
>
> These new bindings allow us to define the system states and reference them
> from device wakeup-source properties.
>
> Testing
> -------
> A test branch is available here that includes all patches required to
> test Partial-IO:
>
> https://gitlab.baylibre.com/msp8/linux/-/tree/integration/am62-partialio/v6.15?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
>
> Previous versions
> -----------------
> - As part of the series "firmware: ti_sci: Partial-IO support"
> https://lore.kernel.org/r/20250306-topic-am62-partialio-v6-12-b4-v5-0-f9323d3744a2@baylibre.com
>
> Signed-off-by: Markus Schneider-Pargmann <msp@baylibre.com>
> ---
> Markus Schneider-Pargmann (7):
> arm64: dts: ti: k3-pinctrl: Add WKUP_EN flag
> arm64: dts: ti: k3-am62: Define possible system states
> arm64: dts: ti: k3-am62a: Define possible system states
> arm64: dts: ti: k3-am62p: Define possible system states
> arm64: dts: ti: k3-am62-lp-sk: Set wakeup-source system-states
> arm64: dts: ti: k3-am62a7-sk: Set wakeup-source system-states
> arm64: dts: ti: k3-am62p5-sk: Set wakeup-source system-states
>
> arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts | 60 +++++++++++++++++++++++++
> arch/arm64/boot/dts/ti/k3-am62.dtsi | 22 +++++++++
> arch/arm64/boot/dts/ti/k3-am62a.dtsi | 27 ++++++++++++
> arch/arm64/boot/dts/ti/k3-am62a7-sk.dts | 76 ++++++++++++++++++++++++++++++++
> arch/arm64/boot/dts/ti/k3-am62p.dtsi | 27 ++++++++++++
> arch/arm64/boot/dts/ti/k3-am62p5-sk.dts | 76 ++++++++++++++++++++++++++++++++
> arch/arm64/boot/dts/ti/k3-pinctrl.h | 2 +
> 7 files changed, 290 insertions(+)
> ---
> base-commit: 64e9fdfc89a76fed38d8ddeed72d42ec71957ed9
> change-id: 20250415-topic-am62-dt-partialio-v6-15-327dd1ff17da
> prerequisite-change-id: 20241009-topic-mcan-wakeup-source-v6-12-8c1d69931bd8:v7
> prerequisite-patch-id: 02b7142f56c849c9a3faab2d2871805febd647aa
> prerequisite-patch-id: 830b339ea452edd750b04f719da91e721be630cb
> prerequisite-patch-id: 56fd0aae20e82eb2dfb48f1b7088d62311a11f05
> prerequisite-patch-id: 41f55b96c0428240d74d488e3c788c09842a1753
>
> Best regards,
> --
> Markus Schneider-Pargmann <msp@baylibre.com>
>
>
>
My bot found new DTB warnings on the .dts files added or changed in this
series.
Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.
If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:
pip3 install dtschema --upgrade
This patch series was applied (using b4) to base:
Base: using specified base-commit 64e9fdfc89a76fed38d8ddeed72d42ec71957ed9
Deps: looking for dependencies matching 11 patch-ids
Deps: Applying prerequisite patch: [PATCH v7 1/4] dt-bindings: can: m_can: Add wakeup properties
Deps: Applying prerequisite patch: [PATCH v7 2/4] can: m_can: Map WoL to device_set_wakeup_enable
Deps: Applying prerequisite patch: [PATCH v7 3/4] can: m_can: Return ERR_PTR on error in allocation
Deps: Applying prerequisite patch: [PATCH v7 4/4] can: m_can: Support pinctrl wakeup state
Deps: Applying prerequisite patch: [PATCH 1/7] arm64: dts: ti: k3-pinctrl: Add WKUP_EN flag
Deps: Applying prerequisite patch: [PATCH 2/7] arm64: dts: ti: k3-am62: Define possible system states
Deps: Applying prerequisite patch: [PATCH 3/7] arm64: dts: ti: k3-am62a: Define possible system states
Deps: Applying prerequisite patch: [PATCH 4/7] arm64: dts: ti: k3-am62p: Define possible system states
Deps: Applying prerequisite patch: [PATCH 5/7] arm64: dts: ti: k3-am62-lp-sk: Set wakeup-source system-states
Deps: Applying prerequisite patch: [PATCH 6/7] arm64: dts: ti: k3-am62a7-sk: Set wakeup-source system-states
Deps: Applying prerequisite patch: [PATCH 7/7] arm64: dts: ti: k3-am62p5-sk: Set wakeup-source system-states
If this is not the correct base, please add 'base-commit' tag
(or use b4 which does this automatically)
New warnings running 'make CHECK_DTBS=y for arch/arm64/boot/dts/ti/' for 20250421-topic-am62-dt-partialio-v6-15-v1-0-6ced30aafddb@baylibre.com:
arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-dahlia.dtb: /system-idle-states/system-partial-io: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-mallow.dtb: /system-idle-states/system-partial-io: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-dahlia.dtb: /system-idle-states/system-deep-sleep: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-mallow.dtb: /system-idle-states/system-deep-sleep: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-dev.dtb: /system-idle-states/system-partial-io: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-dahlia.dtb: /system-idle-states/system-mcu-only: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-mallow.dtb: /system-idle-states/system-mcu-only: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-dev.dtb: /system-idle-states/system-deep-sleep: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-ivy.dtb: /system-idle-states/system-partial-io: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-dahlia.dtb: /system-idle-states/system-standby: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-mallow.dtb: /system-idle-states/system-standby: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-dev.dtb: /system-idle-states/system-mcu-only: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-ivy.dtb: /system-idle-states/system-deep-sleep: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-dev.dtb: /system-idle-states/system-standby: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-ivy.dtb: /system-idle-states/system-mcu-only: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-ivy.dtb: /system-idle-states/system-standby: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-dahlia.dtb: /system-idle-states/system-partial-io: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-beagleplay.dtb: /system-idle-states/system-partial-io: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-dahlia.dtb: /system-idle-states/system-deep-sleep: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-beagleplay.dtb: /system-idle-states/system-deep-sleep: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-dahlia.dtb: /system-idle-states/system-mcu-only: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-beagleplay.dtb: /system-idle-states/system-mcu-only: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-dahlia.dtb: /system-idle-states/system-standby: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-beagleplay.dtb: /system-idle-states/system-standby: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am62p5-sk.dtb: /system-idle-states/system-partial-io: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am62p5-sk.dtb: /system-idle-states/system-io-ddr: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-yavia.dtb: /system-idle-states/system-partial-io: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am62p5-sk.dtb: /system-idle-states/system-deep-sleep: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-yavia.dtb: /system-idle-states/system-deep-sleep: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am62p5-sk.dtb: /system-idle-states/system-mcu-only: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-yavia.dtb: /system-idle-states/system-mcu-only: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am62p5-sk.dtb: /system-idle-states/system-standby: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-yavia.dtb: /system-idle-states/system-standby: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am62p5-sk.dtb: serial@4a00000 (ti,am64-uart): wakeup-source: [[4, 5, 6, 7]] is not of type 'boolean'
from schema $id: http://devicetree.org/schemas/wakeup-source.yaml#
arch/arm64/boot/dts/ti/k3-am62p5-sk.dtb: can@4e08000 (bosch,m_can): wakeup-source: [[14, 4, 5, 6, 7]] is not of type 'boolean'
from schema $id: http://devicetree.org/schemas/wakeup-source.yaml#
arch/arm64/boot/dts/ti/k3-am62p5-sk.dtb: can@4e18000 (bosch,m_can): wakeup-source: [[14, 4, 5, 6, 7]] is not of type 'boolean'
from schema $id: http://devicetree.org/schemas/wakeup-source.yaml#
arch/arm64/boot/dts/ti/k3-am62p5-sk.dtb: serial@0 (ti,am64-uart): wakeup-source: [[4, 5, 6, 7]] is not of type 'boolean'
from schema $id: http://devicetree.org/schemas/wakeup-source.yaml#
arch/arm64/boot/dts/ti/k3-am62a7-sk.dtb: /system-idle-states/system-partial-io: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am62a7-sk.dtb: /system-idle-states/system-io-ddr: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am62a7-sk.dtb: /system-idle-states/system-deep-sleep: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am62a7-sk.dtb: /system-idle-states/system-mcu-only: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am62a7-sk.dtb: /system-idle-states/system-standby: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am62a7-sk.dtb: serial@4a00000 (ti,am64-uart): wakeup-source: [[4, 5, 6, 7]] is not of type 'boolean'
from schema $id: http://devicetree.org/schemas/wakeup-source.yaml#
arch/arm64/boot/dts/ti/k3-am62a7-sk.dtb: can@4e08000 (bosch,m_can): wakeup-source: [[13, 4, 5, 6, 7]] is not of type 'boolean'
from schema $id: http://devicetree.org/schemas/wakeup-source.yaml#
arch/arm64/boot/dts/ti/k3-am62a7-sk.dtb: can@4e18000 (bosch,m_can): wakeup-source: [[13, 4, 5, 6, 7]] is not of type 'boolean'
from schema $id: http://devicetree.org/schemas/wakeup-source.yaml#
arch/arm64/boot/dts/ti/k3-am62a7-sk.dtb: serial@0 (ti,am64-uart): wakeup-source: [[4, 5, 6, 7]] is not of type 'boolean'
from schema $id: http://devicetree.org/schemas/wakeup-source.yaml#
arch/arm64/boot/dts/ti/k3-am62a7-phyboard-lyra-rdk.dtb: /system-idle-states/system-partial-io: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am62a7-phyboard-lyra-rdk.dtb: /system-idle-states/system-io-ddr: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am62a7-phyboard-lyra-rdk.dtb: /system-idle-states/system-deep-sleep: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am62a7-phyboard-lyra-rdk.dtb: /system-idle-states/system-mcu-only: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am62a7-phyboard-lyra-rdk.dtb: /system-idle-states/system-standby: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-dev.dtb: /system-idle-states/system-partial-io: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-dev.dtb: /system-idle-states/system-deep-sleep: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-dev.dtb: /system-idle-states/system-mcu-only: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-dev.dtb: /system-idle-states/system-standby: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am62-lp-sk.dtb: /system-idle-states/system-partial-io: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am62-lp-sk.dtb: /system-idle-states/system-deep-sleep: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am62-lp-sk.dtb: /system-idle-states/system-mcu-only: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am62-lp-sk.dtb: /system-idle-states/system-standby: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am62-lp-sk.dtb: can@4e08000 (bosch,m_can): wakeup-source: [[9, 10, 11, 12]] is not of type 'boolean'
from schema $id: http://devicetree.org/schemas/wakeup-source.yaml#
arch/arm64/boot/dts/ti/k3-am62-lp-sk.dtb: can@4e18000 (bosch,m_can): wakeup-source: [[9, 10, 11, 12]] is not of type 'boolean'
from schema $id: http://devicetree.org/schemas/wakeup-source.yaml#
arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-yavia.dtb: /system-idle-states/system-partial-io: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-yavia.dtb: /system-idle-states/system-deep-sleep: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-yavia.dtb: /system-idle-states/system-mcu-only: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-yavia.dtb: /system-idle-states/system-standby: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-phyboard-lyra-rdk.dtb: /system-idle-states/system-partial-io: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-phyboard-lyra-rdk.dtb: /system-idle-states/system-deep-sleep: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-phyboard-lyra-rdk.dtb: /system-idle-states/system-mcu-only: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-phyboard-lyra-rdk.dtb: /system-idle-states/system-standby: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-mallow.dtb: /system-idle-states/system-partial-io: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-mallow.dtb: /system-idle-states/system-deep-sleep: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-mallow.dtb: /system-idle-states/system-mcu-only: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-mallow.dtb: /system-idle-states/system-standby: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-ivy.dtb: /system-idle-states/system-partial-io: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-ivy.dtb: /system-idle-states/system-deep-sleep: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-ivy.dtb: /system-idle-states/system-mcu-only: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-ivy.dtb: /system-idle-states/system-standby: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-sk.dtb: /system-idle-states/system-partial-io: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-sk.dtb: /system-idle-states/system-deep-sleep: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-sk.dtb: /system-idle-states/system-mcu-only: failed to match any schema with compatible: ['system-idle-state']
arch/arm64/boot/dts/ti/k3-am625-sk.dtb: /system-idle-states/system-standby: failed to match any schema with compatible: ['system-idle-state']
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 0/7] arm64: dts: ti: k3-am62: Add wakeup-sources for low power modes
2025-04-21 15:07 ` [PATCH 0/7] arm64: dts: ti: k3-am62: Add wakeup-sources for low power modes Rob Herring (Arm)
@ 2025-04-23 9:07 ` Markus Schneider-Pargmann
0 siblings, 0 replies; 13+ messages in thread
From: Markus Schneider-Pargmann @ 2025-04-23 9:07 UTC (permalink / raw)
To: Rob Herring (Arm)
Cc: Vignesh Raghavendra, Krzysztof Kozlowski, Tero Kristo,
Conor Dooley, devicetree, linux-kernel, Sebin Francis,
Nishanth Menon, Kendall Willis, Dhruva Gole, Kevin Hilman,
Vishal Mahaveer, linux-arm-kernel, Akashdeep Kaur
[-- Attachment #1: Type: text/plain, Size: 20519 bytes --]
Hi,
On Mon Apr 21, 2025 at 5:07 PM CEST, Rob Herring (Arm) wrote:
>
> On Mon, 21 Apr 2025 10:14:18 +0200, Markus Schneider-Pargmann wrote:
>> Hi,
>>
>> This series adds devicetree changes needed for Partial-IO support
>> on TI am62, am62a, and am62p SoCs. It defines system states for various
>> low power modes and configures the wakeup-sources for devices in the CANUART
>> group. Depending on the SoC and board details, some low power modes may not
>> be available, so the wakeup-sources are described in the board files.
>> The series also adds the necessary pinctrl settings required for proper
>> wakeup functionality.
>>
>> Partial-IO Overview
>> ------------------
>> Partial-IO is a low power system state in which nearly everything is
>> turned off except the pins of the CANUART group (mcu_mcan0, mcu_mcan1,
>> wkup_uart0 and mcu_uart0). These devices can trigger a wakeup of the system
>> on pin activity. Note that this does not resume the system as the DDR is
>> off as well. So this state can be considered a power-off state with wakeup
>> capabilities.
>>
>> A documentation can also be found in section 6.2.4 in the TRM:
>> https://www.ti.com/lit/pdf/spruiv7
>>
>> Implementation Details
>> ----------------------
>> The complete Partial-IO feature requires three coordinated series, each handling
>> a different aspect of the implementation:
>>
>> 1. m_can driver series: Implements device-specific wakeup functionality
>> for m_can devices, allowing them to be set as wakeup sources.
>> https://gitlab.baylibre.com/msp8/linux/-/tree/topic/mcan-wakeup-source/v6.15?ref_type=heads
>> https://lore.kernel.org/r/20250421-topic-mcan-wakeup-source-v6-12-v7-0-1b7b916c9832@baylibre.com
>>
>> 2. This series (devicetree): Defines system states and wakeup sources in the
>> devicetree for am62, am62a and am62p.
>>
>> 3. TI-SCI firmware series: Implements the firmware interface to enter Partial-IO
>> mode when appropriate wakeup sources are enabled.
>> https://gitlab.baylibre.com/msp8/linux/-/tree/topic/tisci-partialio/v6.15?ref_type=heads
>>
>> Devicetree Bindings
>> -------------------
>> This series depends on the dt-schema pull request that adds bindings for
>> system-idle-states and updates the binding for wakeup-source:
>> https://github.com/devicetree-org/dt-schema/pull/150
>>
>> These new bindings allow us to define the system states and reference them
>> from device wakeup-source properties.
>>
>> Testing
>> -------
>> A test branch is available here that includes all patches required to
>> test Partial-IO:
>>
>> https://gitlab.baylibre.com/msp8/linux/-/tree/integration/am62-partialio/v6.15?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
>>
>> Previous versions
>> -----------------
>> - As part of the series "firmware: ti_sci: Partial-IO support"
>> https://lore.kernel.org/r/20250306-topic-am62-partialio-v6-12-b4-v5-0-f9323d3744a2@baylibre.com
>>
>> Signed-off-by: Markus Schneider-Pargmann <msp@baylibre.com>
>> ---
>> Markus Schneider-Pargmann (7):
>> arm64: dts: ti: k3-pinctrl: Add WKUP_EN flag
>> arm64: dts: ti: k3-am62: Define possible system states
>> arm64: dts: ti: k3-am62a: Define possible system states
>> arm64: dts: ti: k3-am62p: Define possible system states
>> arm64: dts: ti: k3-am62-lp-sk: Set wakeup-source system-states
>> arm64: dts: ti: k3-am62a7-sk: Set wakeup-source system-states
>> arm64: dts: ti: k3-am62p5-sk: Set wakeup-source system-states
>>
>> arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts | 60 +++++++++++++++++++++++++
>> arch/arm64/boot/dts/ti/k3-am62.dtsi | 22 +++++++++
>> arch/arm64/boot/dts/ti/k3-am62a.dtsi | 27 ++++++++++++
>> arch/arm64/boot/dts/ti/k3-am62a7-sk.dts | 76 ++++++++++++++++++++++++++++++++
>> arch/arm64/boot/dts/ti/k3-am62p.dtsi | 27 ++++++++++++
>> arch/arm64/boot/dts/ti/k3-am62p5-sk.dts | 76 ++++++++++++++++++++++++++++++++
>> arch/arm64/boot/dts/ti/k3-pinctrl.h | 2 +
>> 7 files changed, 290 insertions(+)
>> ---
>> base-commit: 64e9fdfc89a76fed38d8ddeed72d42ec71957ed9
>> change-id: 20250415-topic-am62-dt-partialio-v6-15-327dd1ff17da
>> prerequisite-change-id: 20241009-topic-mcan-wakeup-source-v6-12-8c1d69931bd8:v7
>> prerequisite-patch-id: 02b7142f56c849c9a3faab2d2871805febd647aa
>> prerequisite-patch-id: 830b339ea452edd750b04f719da91e721be630cb
>> prerequisite-patch-id: 56fd0aae20e82eb2dfb48f1b7088d62311a11f05
>> prerequisite-patch-id: 41f55b96c0428240d74d488e3c788c09842a1753
>>
>> Best regards,
>> --
>> Markus Schneider-Pargmann <msp@baylibre.com>
>>
>>
>>
>
>
> My bot found new DTB warnings on the .dts files added or changed in this
> series.
>
> Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
> are fixed by another series. Ultimately, it is up to the platform
> maintainer whether these warnings are acceptable or not. No need to reply
> unless the platform maintainer has comments.
>
> If you already ran DT checks and didn't see these error(s), then
> make sure dt-schema is up to date:
>
> pip3 install dtschema --upgrade
>
Yes, these issues are expected as long as the github PR on the dt-schema is not merged.
https://github.com/devicetree-org/dt-schema/pull/150
Best
Markus
>
> This patch series was applied (using b4) to base:
> Base: using specified base-commit 64e9fdfc89a76fed38d8ddeed72d42ec71957ed9
> Deps: looking for dependencies matching 11 patch-ids
> Deps: Applying prerequisite patch: [PATCH v7 1/4] dt-bindings: can: m_can: Add wakeup properties
> Deps: Applying prerequisite patch: [PATCH v7 2/4] can: m_can: Map WoL to device_set_wakeup_enable
> Deps: Applying prerequisite patch: [PATCH v7 3/4] can: m_can: Return ERR_PTR on error in allocation
> Deps: Applying prerequisite patch: [PATCH v7 4/4] can: m_can: Support pinctrl wakeup state
> Deps: Applying prerequisite patch: [PATCH 1/7] arm64: dts: ti: k3-pinctrl: Add WKUP_EN flag
> Deps: Applying prerequisite patch: [PATCH 2/7] arm64: dts: ti: k3-am62: Define possible system states
> Deps: Applying prerequisite patch: [PATCH 3/7] arm64: dts: ti: k3-am62a: Define possible system states
> Deps: Applying prerequisite patch: [PATCH 4/7] arm64: dts: ti: k3-am62p: Define possible system states
> Deps: Applying prerequisite patch: [PATCH 5/7] arm64: dts: ti: k3-am62-lp-sk: Set wakeup-source system-states
> Deps: Applying prerequisite patch: [PATCH 6/7] arm64: dts: ti: k3-am62a7-sk: Set wakeup-source system-states
> Deps: Applying prerequisite patch: [PATCH 7/7] arm64: dts: ti: k3-am62p5-sk: Set wakeup-source system-states
>
> If this is not the correct base, please add 'base-commit' tag
> (or use b4 which does this automatically)
>
> New warnings running 'make CHECK_DTBS=y for arch/arm64/boot/dts/ti/' for 20250421-topic-am62-dt-partialio-v6-15-v1-0-6ced30aafddb@baylibre.com:
>
> arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-dahlia.dtb: /system-idle-states/system-partial-io: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-mallow.dtb: /system-idle-states/system-partial-io: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-dahlia.dtb: /system-idle-states/system-deep-sleep: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-mallow.dtb: /system-idle-states/system-deep-sleep: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-dev.dtb: /system-idle-states/system-partial-io: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-dahlia.dtb: /system-idle-states/system-mcu-only: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-mallow.dtb: /system-idle-states/system-mcu-only: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-dev.dtb: /system-idle-states/system-deep-sleep: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-ivy.dtb: /system-idle-states/system-partial-io: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-dahlia.dtb: /system-idle-states/system-standby: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-mallow.dtb: /system-idle-states/system-standby: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-dev.dtb: /system-idle-states/system-mcu-only: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-ivy.dtb: /system-idle-states/system-deep-sleep: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-dev.dtb: /system-idle-states/system-standby: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-ivy.dtb: /system-idle-states/system-mcu-only: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-ivy.dtb: /system-idle-states/system-standby: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-dahlia.dtb: /system-idle-states/system-partial-io: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-beagleplay.dtb: /system-idle-states/system-partial-io: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-dahlia.dtb: /system-idle-states/system-deep-sleep: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-beagleplay.dtb: /system-idle-states/system-deep-sleep: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-dahlia.dtb: /system-idle-states/system-mcu-only: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-beagleplay.dtb: /system-idle-states/system-mcu-only: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-dahlia.dtb: /system-idle-states/system-standby: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-beagleplay.dtb: /system-idle-states/system-standby: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am62p5-sk.dtb: /system-idle-states/system-partial-io: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am62p5-sk.dtb: /system-idle-states/system-io-ddr: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-yavia.dtb: /system-idle-states/system-partial-io: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am62p5-sk.dtb: /system-idle-states/system-deep-sleep: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-yavia.dtb: /system-idle-states/system-deep-sleep: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am62p5-sk.dtb: /system-idle-states/system-mcu-only: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-yavia.dtb: /system-idle-states/system-mcu-only: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am62p5-sk.dtb: /system-idle-states/system-standby: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-yavia.dtb: /system-idle-states/system-standby: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am62p5-sk.dtb: serial@4a00000 (ti,am64-uart): wakeup-source: [[4, 5, 6, 7]] is not of type 'boolean'
> from schema $id: http://devicetree.org/schemas/wakeup-source.yaml#
> arch/arm64/boot/dts/ti/k3-am62p5-sk.dtb: can@4e08000 (bosch,m_can): wakeup-source: [[14, 4, 5, 6, 7]] is not of type 'boolean'
> from schema $id: http://devicetree.org/schemas/wakeup-source.yaml#
> arch/arm64/boot/dts/ti/k3-am62p5-sk.dtb: can@4e18000 (bosch,m_can): wakeup-source: [[14, 4, 5, 6, 7]] is not of type 'boolean'
> from schema $id: http://devicetree.org/schemas/wakeup-source.yaml#
> arch/arm64/boot/dts/ti/k3-am62p5-sk.dtb: serial@0 (ti,am64-uart): wakeup-source: [[4, 5, 6, 7]] is not of type 'boolean'
> from schema $id: http://devicetree.org/schemas/wakeup-source.yaml#
> arch/arm64/boot/dts/ti/k3-am62a7-sk.dtb: /system-idle-states/system-partial-io: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am62a7-sk.dtb: /system-idle-states/system-io-ddr: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am62a7-sk.dtb: /system-idle-states/system-deep-sleep: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am62a7-sk.dtb: /system-idle-states/system-mcu-only: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am62a7-sk.dtb: /system-idle-states/system-standby: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am62a7-sk.dtb: serial@4a00000 (ti,am64-uart): wakeup-source: [[4, 5, 6, 7]] is not of type 'boolean'
> from schema $id: http://devicetree.org/schemas/wakeup-source.yaml#
> arch/arm64/boot/dts/ti/k3-am62a7-sk.dtb: can@4e08000 (bosch,m_can): wakeup-source: [[13, 4, 5, 6, 7]] is not of type 'boolean'
> from schema $id: http://devicetree.org/schemas/wakeup-source.yaml#
> arch/arm64/boot/dts/ti/k3-am62a7-sk.dtb: can@4e18000 (bosch,m_can): wakeup-source: [[13, 4, 5, 6, 7]] is not of type 'boolean'
> from schema $id: http://devicetree.org/schemas/wakeup-source.yaml#
> arch/arm64/boot/dts/ti/k3-am62a7-sk.dtb: serial@0 (ti,am64-uart): wakeup-source: [[4, 5, 6, 7]] is not of type 'boolean'
> from schema $id: http://devicetree.org/schemas/wakeup-source.yaml#
> arch/arm64/boot/dts/ti/k3-am62a7-phyboard-lyra-rdk.dtb: /system-idle-states/system-partial-io: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am62a7-phyboard-lyra-rdk.dtb: /system-idle-states/system-io-ddr: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am62a7-phyboard-lyra-rdk.dtb: /system-idle-states/system-deep-sleep: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am62a7-phyboard-lyra-rdk.dtb: /system-idle-states/system-mcu-only: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am62a7-phyboard-lyra-rdk.dtb: /system-idle-states/system-standby: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-dev.dtb: /system-idle-states/system-partial-io: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-dev.dtb: /system-idle-states/system-deep-sleep: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-dev.dtb: /system-idle-states/system-mcu-only: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-dev.dtb: /system-idle-states/system-standby: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am62-lp-sk.dtb: /system-idle-states/system-partial-io: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am62-lp-sk.dtb: /system-idle-states/system-deep-sleep: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am62-lp-sk.dtb: /system-idle-states/system-mcu-only: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am62-lp-sk.dtb: /system-idle-states/system-standby: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am62-lp-sk.dtb: can@4e08000 (bosch,m_can): wakeup-source: [[9, 10, 11, 12]] is not of type 'boolean'
> from schema $id: http://devicetree.org/schemas/wakeup-source.yaml#
> arch/arm64/boot/dts/ti/k3-am62-lp-sk.dtb: can@4e18000 (bosch,m_can): wakeup-source: [[9, 10, 11, 12]] is not of type 'boolean'
> from schema $id: http://devicetree.org/schemas/wakeup-source.yaml#
> arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-yavia.dtb: /system-idle-states/system-partial-io: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-yavia.dtb: /system-idle-states/system-deep-sleep: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-yavia.dtb: /system-idle-states/system-mcu-only: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-yavia.dtb: /system-idle-states/system-standby: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-phyboard-lyra-rdk.dtb: /system-idle-states/system-partial-io: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-phyboard-lyra-rdk.dtb: /system-idle-states/system-deep-sleep: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-phyboard-lyra-rdk.dtb: /system-idle-states/system-mcu-only: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-phyboard-lyra-rdk.dtb: /system-idle-states/system-standby: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-mallow.dtb: /system-idle-states/system-partial-io: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-mallow.dtb: /system-idle-states/system-deep-sleep: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-mallow.dtb: /system-idle-states/system-mcu-only: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-mallow.dtb: /system-idle-states/system-standby: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-ivy.dtb: /system-idle-states/system-partial-io: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-ivy.dtb: /system-idle-states/system-deep-sleep: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-ivy.dtb: /system-idle-states/system-mcu-only: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-ivy.dtb: /system-idle-states/system-standby: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-sk.dtb: /system-idle-states/system-partial-io: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-sk.dtb: /system-idle-states/system-deep-sleep: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-sk.dtb: /system-idle-states/system-mcu-only: failed to match any schema with compatible: ['system-idle-state']
> arch/arm64/boot/dts/ti/k3-am625-sk.dtb: /system-idle-states/system-standby: failed to match any schema with compatible: ['system-idle-state']
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 252 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 6/7] arm64: dts: ti: k3-am62a7-sk: Set wakeup-source system-states
2025-04-21 8:14 ` [PATCH 6/7] arm64: dts: ti: k3-am62a7-sk: " Markus Schneider-Pargmann
@ 2025-05-07 16:56 ` Kendall Willis
2025-05-09 7:31 ` Markus Schneider-Pargmann
0 siblings, 1 reply; 13+ messages in thread
From: Kendall Willis @ 2025-05-07 16:56 UTC (permalink / raw)
To: Markus Schneider-Pargmann, Nishanth Menon, Vignesh Raghavendra,
Tero Kristo, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-kernel, devicetree, linux-kernel, Vishal Mahaveer,
Kevin Hilman, Dhruva Gole, Sebin Francis, Akashdeep Kaur
On 4/21/25 03:14, Markus Schneider-Pargmann wrote:
> The CANUART pins of mcu_mcan0, mcu_mcan1, mcu_uart0 and wkup_uart0 are
> powered during Partial-IO and IO+DDR and are capable of waking up the
> system in these states. Specify the states in which these units can do a
> wakeup on this board.
>
> Note that the UARTs are not capable of wakeup in Partial-IO because of
> of a UART mux on the board not being powered during Partial-IO.
>
> Add pincontrol definitions for mcu_mcan0 and mcu_mcan1 for wakeup from
> Partial-IO. Add these as wakeup pinctrl entries for both devices.
>
> Signed-off-by: Markus Schneider-Pargmann <msp@baylibre.com>
> ---
> arch/arm64/boot/dts/ti/k3-am62a7-sk.dts | 76 +++++++++++++++++++++++++++++++++
> 1 file changed, 76 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
> index 1c9d95696c839a51b607839abb9429a8de6fa620..724d9a6f3c575fe35496fdd9e17d6d8e33869f92 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
> +++ b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
> @@ -741,3 +741,79 @@ dpi1_out: endpoint {
> };
> };
> };
> +
> +&mcu_mcan0 {
> + pinctrl-names = "default", "wakeup";
> + pinctrl-0 = <&mcu_mcan0_tx_pins_default>, <&mcu_mcan0_rx_pins_default>;
> + pinctrl-1 = <&mcu_mcan0_tx_pins_default>, <&mcu_mcan0_rx_pins_wakeup>;
> + wakeup-source = <&system_partial_io>,
> + <&system_io_ddr>,
> + <&system_deep_sleep>,
> + <&system_mcu_only>,
> + <&system_standby>;
> + status = "okay";
> +};
> +
> +&mcu_mcan1 {
> + pinctrl-names = "default", "wakeup";
> + pinctrl-0 = <&mcu_mcan1_tx_pins_default>, <&mcu_mcan1_rx_pins_default>;
> + pinctrl-1 = <&mcu_mcan1_tx_pins_default>, <&mcu_mcan1_rx_pins_wakeup>;
> + wakeup-source = <&system_partial_io>,
> + <&system_io_ddr>,
> + <&system_deep_sleep>,
> + <&system_mcu_only>,
> + <&system_standby>;
> + status = "okay";
> +};
> +
> +&mcu_uart0 {
> + wakeup-source = <&system_io_ddr>,
> + <&system_deep_sleep>,
> + <&system_mcu_only>,
> + <&system_standby>;
> +};
> +
> +&wkup_uart0 {
> + wakeup-source = <&system_io_ddr>,
> + <&system_deep_sleep>,
> + <&system_mcu_only>,
> + <&system_standby>;
> +};
Hi Markus,
I noticed wkup_uart0 is already referenced earlier in the dts. Could the
wakeup-source property be added into the first reference?
> +
> +&mcu_pmx0 {
Same thing with mcu_pmx0. Is there a reason for separating it from when
it was referenced originally?
> + mcu_mcan0_tx_pins_default: mcu-mcan0-tx-default-pins {
> + pinctrl-single,pins = <
> + AM62X_IOPAD(0x034, PIN_OUTPUT, 0) /* (D6) MCU_MCAN0_TX */
> + >;
> + };
> +
> + mcu_mcan0_rx_pins_default: mcu-mcan0-rx-default-pins {
> + pinctrl-single,pins = <
> + AM62X_IOPAD(0x038, PIN_INPUT, 0) /* (B3) MCU_MCAN0_RX */
> + >;
> + };
> +
> + mcu_mcan0_rx_pins_wakeup: mcu-mcan0-rx-wakeup-pins {
> + pinctrl-single,pins = <
> + AM62X_IOPAD(0x038, PIN_INPUT | WKUP_EN, 0) /* (B3) MCU_MCAN0_RX */
> + >;
> + };
> +
> + mcu_mcan1_tx_pins_default: mcu-mcan1-tx-default-pins {
> + pinctrl-single,pins = <
> + AM62X_IOPAD(0x03c, PIN_OUTPUT, 0) /* (E5) MCU_MCAN1_TX */
> + >;
> + };
> +
> + mcu_mcan1_rx_pins_default: mcu-mcan1-rx-default-pins {
> + pinctrl-single,pins = <
> + AM62X_IOPAD(0x040, PIN_INPUT, 0) /* (D4) MCU_MCAN1_RX */
> + >;
> + };
> +
> + mcu_mcan1_rx_pins_wakeup: mcu-mcan1-rx-wakeup-pins {
> + pinctrl-single,pins = <
> + AM62X_IOPAD(0x040, PIN_INPUT | WKUP_EN, 0) /* (D4) MCU_MCAN1_RX */
> + >;
> + };
> +};Additionally, this patch does not apply cleanly to linux-next and needs
to be fixed and rebased.
Best,
Kendall Willis
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 7/7] arm64: dts: ti: k3-am62p5-sk: Set wakeup-source system-states
2025-04-21 8:14 ` [PATCH 7/7] arm64: dts: ti: k3-am62p5-sk: " Markus Schneider-Pargmann
@ 2025-05-07 17:00 ` Kendall Willis
0 siblings, 0 replies; 13+ messages in thread
From: Kendall Willis @ 2025-05-07 17:00 UTC (permalink / raw)
To: Markus Schneider-Pargmann, Nishanth Menon, Vignesh Raghavendra,
Tero Kristo, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-kernel, devicetree, linux-kernel, Vishal Mahaveer,
Kevin Hilman, Dhruva Gole, Sebin Francis, Akashdeep Kaur
On 4/21/25 03:14, Markus Schneider-Pargmann wrote:
> The CANUART pins of mcu_mcan0, mcu_mcan1, mcu_uart0 and wkup_uart0 are
> powered during Partial-IO and IO+DDR and are capable of waking up the
> system in these states. Specify the states in which these units can do a
> wakeup on this board.
>
> Note that the UARTs are not capable of wakeup in Partial-IO because of
> of a UART mux on the board not being powered during Partial-IO.
>
> Add pincontrol definitions for mcu_mcan0 and mcu_mcan1 for wakeup from
> Partial-IO. Add these as wakeup pinctrl entries for both devices.
>
> Signed-off-by: Markus Schneider-Pargmann <msp@baylibre.com>
> ---
> arch/arm64/boot/dts/ti/k3-am62p5-sk.dts | 76 +++++++++++++++++++++++++++++++++
> 1 file changed, 76 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts b/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
> index d29f524600af017af607e2cb6122d3a581575ffc..35b950e444353c416e33344dfff42e2edeab3aba 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
> +++ b/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
> @@ -683,3 +683,79 @@ &mcu_gpio0 {
> &mcu_gpio_intr {
> status = "reserved";
> };
> +
> +&mcu_mcan0 {
> + pinctrl-names = "default", "wakeup";
> + pinctrl-0 = <&mcu_mcan0_tx_pins_default>, <&mcu_mcan0_rx_pins_default>;
> + pinctrl-1 = <&mcu_mcan0_tx_pins_default>, <&mcu_mcan0_rx_pins_wakeup>;
> + wakeup-source = <&system_partial_io>,
> + <&system_io_ddr>,
> + <&system_deep_sleep>,
> + <&system_mcu_only>,
> + <&system_standby>;
> + status = "okay";
> +};
> +
> +&mcu_mcan1 {
> + pinctrl-names = "default", "wakeup";
> + pinctrl-0 = <&mcu_mcan1_tx_pins_default>, <&mcu_mcan1_rx_pins_default>;
> + pinctrl-1 = <&mcu_mcan1_tx_pins_default>, <&mcu_mcan1_rx_pins_wakeup>;
> + wakeup-source = <&system_partial_io>,
> + <&system_io_ddr>,
> + <&system_deep_sleep>,
> + <&system_mcu_only>,
> + <&system_standby>;
> + status = "okay";
> +};
> +
> +&mcu_uart0 {
> + wakeup-source = <&system_io_ddr>,
> + <&system_deep_sleep>,
> + <&system_mcu_only>,
> + <&system_standby>;
> +};
> +
> +&wkup_uart0 {
> + wakeup-source = <&system_io_ddr>,
> + <&system_deep_sleep>,
> + <&system_mcu_only>,
> + <&system_standby>;
> +};
> +
> +&mcu_pmx0 {
> + mcu_mcan0_tx_pins_default: mcu-mcan0-tx-default-pins {
> + pinctrl-single,pins = <
> + AM62X_IOPAD(0x034, PIN_OUTPUT, 0) /* (D6) MCU_MCAN0_TX */
> + >;
> + };
> +
> + mcu_mcan0_rx_pins_default: mcu-mcan0-rx-default-pins {
> + pinctrl-single,pins = <
> + AM62X_IOPAD(0x038, PIN_INPUT, 0) /* (B3) MCU_MCAN0_RX */
> + >;
> + };
> +
> + mcu_mcan0_rx_pins_wakeup: mcu-mcan0-rx-wakeup-pins {
> + pinctrl-single,pins = <
> + AM62X_IOPAD(0x038, PIN_INPUT | WKUP_EN, 0) /* (B3) MCU_MCAN0_RX */
> + >;
> + };
> +
> + mcu_mcan1_tx_pins_default: mcu-mcan1-tx-default-pins {
> + pinctrl-single,pins = <
> + AM62X_IOPAD(0x03c, PIN_OUTPUT, 0) /* (E5) MCU_MCAN1_TX */
> + >;
> + };
> +
> + mcu_mcan1_rx_pins_default: mcu-mcan1-rx-default-pins {
> + pinctrl-single,pins = <
> + AM62X_IOPAD(0x040, PIN_INPUT, 0) /* (D4) MCU_MCAN1_RX */
> + >;
> + };
> +
> + mcu_mcan1_rx_pins_wakeup: mcu-mcan1-rx-wakeup-pins {
> + pinctrl-single,pins = <
> + AM62X_IOPAD(0x040, PIN_INPUT | WKUP_EN, 0) /* (D4) MCU_MCAN1_RX */
> + >;
> + };
> +};
>
Hi Markus,
I have the same concerns with this patch as I did with the previous
patch (arm64: dts: ti: k3-am62a7-sk: Set wakeup-source system-states).
Both the wkup_uart and mcu_pmx0 have already been referenced early in
the dts and could be consolidated. This patch also does not apply
cleanly to linux-next.
Best,
Kendall Willis
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 6/7] arm64: dts: ti: k3-am62a7-sk: Set wakeup-source system-states
2025-05-07 16:56 ` Kendall Willis
@ 2025-05-09 7:31 ` Markus Schneider-Pargmann
0 siblings, 0 replies; 13+ messages in thread
From: Markus Schneider-Pargmann @ 2025-05-09 7:31 UTC (permalink / raw)
To: Kendall Willis, Nishanth Menon, Vignesh Raghavendra, Tero Kristo,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-kernel, devicetree, linux-kernel, Vishal Mahaveer,
Kevin Hilman, Dhruva Gole, Sebin Francis, Akashdeep Kaur
[-- Attachment #1: Type: text/plain, Size: 3996 bytes --]
On Wed May 7, 2025 at 6:56 PM CEST, Kendall Willis wrote:
> On 4/21/25 03:14, Markus Schneider-Pargmann wrote:
>> The CANUART pins of mcu_mcan0, mcu_mcan1, mcu_uart0 and wkup_uart0 are
>> powered during Partial-IO and IO+DDR and are capable of waking up the
>> system in these states. Specify the states in which these units can do a
>> wakeup on this board.
>>
>> Note that the UARTs are not capable of wakeup in Partial-IO because of
>> of a UART mux on the board not being powered during Partial-IO.
>>
>> Add pincontrol definitions for mcu_mcan0 and mcu_mcan1 for wakeup from
>> Partial-IO. Add these as wakeup pinctrl entries for both devices.
>>
>> Signed-off-by: Markus Schneider-Pargmann <msp@baylibre.com>
>> ---
>> arch/arm64/boot/dts/ti/k3-am62a7-sk.dts | 76 +++++++++++++++++++++++++++++++++
>> 1 file changed, 76 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
>> index 1c9d95696c839a51b607839abb9429a8de6fa620..724d9a6f3c575fe35496fdd9e17d6d8e33869f92 100644
>> --- a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
>> +++ b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
>> @@ -741,3 +741,79 @@ dpi1_out: endpoint {
>> };
>> };
>> };
>> +
>> +&mcu_mcan0 {
>> + pinctrl-names = "default", "wakeup";
>> + pinctrl-0 = <&mcu_mcan0_tx_pins_default>, <&mcu_mcan0_rx_pins_default>;
>> + pinctrl-1 = <&mcu_mcan0_tx_pins_default>, <&mcu_mcan0_rx_pins_wakeup>;
>> + wakeup-source = <&system_partial_io>,
>> + <&system_io_ddr>,
>> + <&system_deep_sleep>,
>> + <&system_mcu_only>,
>> + <&system_standby>;
>> + status = "okay";
>> +};
>> +
>> +&mcu_mcan1 {
>> + pinctrl-names = "default", "wakeup";
>> + pinctrl-0 = <&mcu_mcan1_tx_pins_default>, <&mcu_mcan1_rx_pins_default>;
>> + pinctrl-1 = <&mcu_mcan1_tx_pins_default>, <&mcu_mcan1_rx_pins_wakeup>;
>> + wakeup-source = <&system_partial_io>,
>> + <&system_io_ddr>,
>> + <&system_deep_sleep>,
>> + <&system_mcu_only>,
>> + <&system_standby>;
>> + status = "okay";
>> +};
>> +
>> +&mcu_uart0 {
>> + wakeup-source = <&system_io_ddr>,
>> + <&system_deep_sleep>,
>> + <&system_mcu_only>,
>> + <&system_standby>;
>> +};
>> +
>> +&wkup_uart0 {
>> + wakeup-source = <&system_io_ddr>,
>> + <&system_deep_sleep>,
>> + <&system_mcu_only>,
>> + <&system_standby>;
>> +};
> Hi Markus,
>
> I noticed wkup_uart0 is already referenced earlier in the dts. Could the
> wakeup-source property be added into the first reference?
>> +
>> +&mcu_pmx0 {
> Same thing with mcu_pmx0. Is there a reason for separating it from when
> it was referenced originally?
>> + mcu_mcan0_tx_pins_default: mcu-mcan0-tx-default-pins {
>> + pinctrl-single,pins = <
>> + AM62X_IOPAD(0x034, PIN_OUTPUT, 0) /* (D6) MCU_MCAN0_TX */
>> + >;
>> + };
>> +
>> + mcu_mcan0_rx_pins_default: mcu-mcan0-rx-default-pins {
>> + pinctrl-single,pins = <
>> + AM62X_IOPAD(0x038, PIN_INPUT, 0) /* (B3) MCU_MCAN0_RX */
>> + >;
>> + };
>> +
>> + mcu_mcan0_rx_pins_wakeup: mcu-mcan0-rx-wakeup-pins {
>> + pinctrl-single,pins = <
>> + AM62X_IOPAD(0x038, PIN_INPUT | WKUP_EN, 0) /* (B3) MCU_MCAN0_RX */
>> + >;
>> + };
>> +
>> + mcu_mcan1_tx_pins_default: mcu-mcan1-tx-default-pins {
>> + pinctrl-single,pins = <
>> + AM62X_IOPAD(0x03c, PIN_OUTPUT, 0) /* (E5) MCU_MCAN1_TX */
>> + >;
>> + };
>> +
>> + mcu_mcan1_rx_pins_default: mcu-mcan1-rx-default-pins {
>> + pinctrl-single,pins = <
>> + AM62X_IOPAD(0x040, PIN_INPUT, 0) /* (D4) MCU_MCAN1_RX */
>> + >;
>> + };
>> +
>> + mcu_mcan1_rx_pins_wakeup: mcu-mcan1-rx-wakeup-pins {
>> + pinctrl-single,pins = <
>> + AM62X_IOPAD(0x040, PIN_INPUT | WKUP_EN, 0) /* (D4) MCU_MCAN1_RX */
>> + >;
>> + };
>> +};Additionally, this patch does not apply cleanly to linux-next and needs
> to be fixed and rebased.
Thank you, I will fix your points and rebase once the dt-schema
idle-state-name question is resolved.
Best
Markus
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 252 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2025-05-09 7:35 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-21 8:14 [PATCH 0/7] arm64: dts: ti: k3-am62: Add wakeup-sources for low power modes Markus Schneider-Pargmann
2025-04-21 8:14 ` [PATCH 1/7] arm64: dts: ti: k3-pinctrl: Add WKUP_EN flag Markus Schneider-Pargmann
2025-04-21 8:14 ` [PATCH 2/7] arm64: dts: ti: k3-am62: Define possible system states Markus Schneider-Pargmann
2025-04-21 8:14 ` [PATCH 3/7] arm64: dts: ti: k3-am62a: " Markus Schneider-Pargmann
2025-04-21 8:14 ` [PATCH 4/7] arm64: dts: ti: k3-am62p: " Markus Schneider-Pargmann
2025-04-21 8:14 ` [PATCH 5/7] arm64: dts: ti: k3-am62-lp-sk: Set wakeup-source system-states Markus Schneider-Pargmann
2025-04-21 8:14 ` [PATCH 6/7] arm64: dts: ti: k3-am62a7-sk: " Markus Schneider-Pargmann
2025-05-07 16:56 ` Kendall Willis
2025-05-09 7:31 ` Markus Schneider-Pargmann
2025-04-21 8:14 ` [PATCH 7/7] arm64: dts: ti: k3-am62p5-sk: " Markus Schneider-Pargmann
2025-05-07 17:00 ` Kendall Willis
2025-04-21 15:07 ` [PATCH 0/7] arm64: dts: ti: k3-am62: Add wakeup-sources for low power modes Rob Herring (Arm)
2025-04-23 9:07 ` Markus Schneider-Pargmann
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).