]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
arm64: dts: ti: k3-am62d2-evm: Set wakeup-source system-states
authorKendall Willis <k-willis@ti.com>
Thu, 12 Feb 2026 20:07:16 +0000 (14:07 -0600)
committerVignesh Raghavendra <vigneshr@ti.com>
Tue, 10 Mar 2026 09:40:02 +0000 (15:10 +0530)
The CANUART pins of mcu_mcan0, mcu_mcan1, mcu_uart0 and wkup_uart0 are
powered during Partial-IO and I/O Only + 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: Kendall Willis <k-willis@ti.com>
Reviewed-by: Dhruva Gole <d-gole@ti.com>
Link: https://patch.msgid.link/20260212-am62d-can-wkup-dts-v1-1-d2de17e1f303@ti.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
arch/arm64/boot/dts/ti/k3-am62d2-evm.dts

index a5d5dc0a7bec8c3a5dfa63e984ae398af3ede7c0..1ee851a646c053b5d6706f885c68058f4c4374b6 100644 (file)
 &mcu_pmx0 {
        status = "okay";
 
+       mcu_mcan0_tx_pins_default: mcu-mcan0-tx-default-pins {
+               pinctrl-single,pins = <
+                       AM62DX_MCU_IOPAD(0x0034, PIN_OUTPUT, 0) /* (C7) MCU_MCAN0_TX */
+               >;
+       };
+
+       mcu_mcan0_rx_pins_default: mcu-mcan0-rx-default-pins {
+               pinctrl-single,pins = <
+                       AM62DX_MCU_IOPAD(0x0038, PIN_INPUT, 0) /* (E8) MCU_MCAN0_RX */
+               >;
+       };
+
+       mcu_mcan0_rx_pins_wakeup: mcu-mcan0-rx-wakeup-pins {
+               pinctrl-single,pins = <
+                       AM62DX_MCU_IOPAD(0x0038, PIN_INPUT | PIN_WKUP_EN, 0) /* (E8) MCU_MCAN0_RX */
+               >;
+       };
+
+       mcu_mcan1_tx_pins_default: mcu-mcan1-tx-default-pins {
+               pinctrl-single,pins = <
+                       AM62DX_MCU_IOPAD(0x003c, PIN_OUTPUT, 0) /* (D7) MCU_MCAN1_TX */
+               >;
+       };
+
+       mcu_mcan1_rx_pins_default: mcu-mcan1-rx-default-pins {
+               pinctrl-single,pins = <
+                       AM62DX_MCU_IOPAD(0x0040, PIN_INPUT, 0) /* (B9) MCU_MCAN1_RX */
+               >;
+       };
+
+       mcu_mcan1_rx_pins_wakeup: mcu-mcan1-rx-wakeup-pins {
+               pinctrl-single,pins = <
+                       AM62DX_MCU_IOPAD(0x040, PIN_INPUT | PIN_WKUP_EN, 0) /* (B9) MCU_MCAN1_RX */
+               >;
+       };
+
        pmic_irq_pins_default: pmic-irq-default-pins {
                pinctrl-single,pins = <
                        AM62DX_IOPAD(0x01f4, PIN_INPUT, 7) /* (F17) EXTINTn.GPIO1_31 */
 &wkup_uart0 {
        pinctrl-names = "default";
        pinctrl-0 = <&wkup_uart0_pins_default>;
+       wakeup-source = <&system_io_ddr>,
+                       <&system_deep_sleep>,
+                       <&system_mcu_only>,
+                       <&system_standby>;
        bootph-all;
        status = "reserved";
 };
        firmware-name = "am62d-c71_0-fw";
 };
 
+&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>;
+};
+
+&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>;
+};
+
+&mcu_uart0 {
+       wakeup-source = <&system_io_ddr>,
+                       <&system_deep_sleep>,
+                       <&system_mcu_only>,
+                       <&system_standby>;
+};
+
 #include "k3-am62a-ti-ipc-firmware.dtsi"