[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250923182255.y2uwamgk5qbzngaj@uda0506412>
Date: Tue, 23 Sep 2025 13:22:55 -0500
From: Kendall Willis <k-willis@...com>
To: Markus Schneider-Pargmann <msp@...libre.com>
CC: Nishanth Menon <nm@...com>, Vignesh Raghavendra <vigneshr@...com>,
Tero
Kristo <kristo@...nel.org>, Rob Herring <robh@...nel.org>,
Krzysztof
Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
<linux-arm-kernel@...ts.infradead.org>, <devicetree@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, Vishal Mahaveer <vishalm@...com>,
Kevin
Hilman <khilman@...libre.com>, Dhruva Gole <d-gole@...com>,
Sebin Francis
<sebin.francis@...com>, Akashdeep Kaur <a-kaur@...com>
Subject: Re: [PATCH v2 6/7] arm64: dts: ti: k3-am62a7-sk: Set wakeup-source
system-states
On 11:15-20250812, 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.
nit: s/"IO+DDR"/"I/O Only + DDR"
>
> 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@...libre.com>
>
> - Combine k3-am62a7-sk.dts devicetree nodes
> ---
> arch/arm64/boot/dts/ti/k3-am62a7-sk.dts | 71 +++++++++++++++++++++++++++++++++
> 1 file changed, 71 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
> index bceead5e288e6d78c671baf0afabd1a9aa23fbee..55cab49f26382f08e2cc93d17afc424af8c59caa 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
> +++ b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
> @@ -257,6 +257,10 @@ AM62AX_MCU_IOPAD(0x0030, PIN_OUTPUT, 0) /* (C8) WKUP_UART0_RTSn */
> &wkup_uart0 {
> pinctrl-names = "default";
> pinctrl-0 = <&wkup_uart0_pins_default>;
> + wakeup-source = <&system_io_ddr>,
> + <&system_deep_sleep>,
> + <&system_mcu_only>,
> + <&system_standby>;
> status = "reserved";
> };
>
> @@ -450,6 +454,42 @@ pmic_irq_pins_default: pmic-irq-default-pins {
> AM62AX_MCU_IOPAD(0x000, PIN_INPUT, 7) /* (E11) MCU_GPIO0_0 */
> >;
> };
> +
> + 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 */
> + >;
> + };
AM62AX_MCU_IOPAD should be used for consistency.
Best,
Kendall Willis
> };
>
> &mcu_gpio0 {
> @@ -935,3 +975,34 @@ AM62AX_IOPAD(0x008, PIN_INPUT, 0) /* (J24) OSPI0_DQS */
> >;
> };
> };
> +
> +&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>;
> +};
>
> --
> 2.50.1
>
Powered by blists - more mailing lists