Thread (34 messages) 34 messages, 4 authors, 2024-09-28

Re: [PATCH v2 3/6] arm64: dts: ti: k3-pinctrl: Add WKUP_EN flag

From: Markus Schneider-Pargmann <msp@baylibre.com>
Date: 2024-07-30 12:32:07
Also in: linux-devicetree, lkml

Hi Nishanth,

On Tue, Jul 30, 2024 at 07:09:58AM GMT, Nishanth Menon wrote:
On 10:00-20240729, Markus Schneider-Pargmann wrote:
quoted
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 | 3 +++
 1 file changed, 3 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-pinctrl.h b/arch/arm64/boot/dts/ti/k3-pinctrl.h
index 22b8d73cfd32..dd4d53e8420a 100644
--- a/arch/arm64/boot/dts/ti/k3-pinctrl.h
+++ b/arch/arm64/boot/dts/ti/k3-pinctrl.h
@@ -12,6 +12,7 @@
 #define PULLTYPESEL_SHIFT	(17)
 #define RXACTIVE_SHIFT		(18)
 #define DEBOUNCE_SHIFT		(11)
+#define WKUP_EN_SHIFT		(29)
 
 #define PULL_DISABLE		(1 << PULLUDEN_SHIFT)
 #define PULL_ENABLE		(0 << PULLUDEN_SHIFT)
@@ -38,6 +39,8 @@
 #define PIN_DEBOUNCE_CONF5	(5 << DEBOUNCE_SHIFT)
 #define PIN_DEBOUNCE_CONF6	(6 << DEBOUNCE_SHIFT)
 
+#define WKUP_EN			(1 << WKUP_EN_SHIFT)
+
Are we using this?
Yes, this needs to be used in pinctrl for the relevant pins. The users
are not part of this series, as it will probably be in devicetree
overlays or maybe future board files.

This is an example configuration for mcu_mcan0 that is required to
enable support for wakeup from Partial-IO:

  &mcu_pmx0 {
    mcu_mcan0_tx_pins_default: mcu-mcan0-tx-pins-default {
      pinctrl-single,pins = <
        AM62X_IOPAD(0x034, PIN_OUTPUT, 0) /* (D6) MCU_MCAN0_TX */
      >;
    };

    mcu_mcan0_rx_pins_default: mcu-mcan0-rx-pins-default {
      pinctrl-single,pins = <
        AM62X_IOPAD(0x038, PIN_INPUT, 0) /* (B3) MCU_MCAN0_RX */
      >;
    };

    mcu_mcan0_rx_pins_wakeup: mcu-mcan0-rx-pins-wakeup {
      pinctrl-single,pins = <
        AM62X_IOPAD(0x038, PIN_INPUT | WKUP_EN, 0) /* (B3) MCU_MCAN0_RX */
      >;
    };
  };

  &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>;
    status = "okay";
  };

Best
Markus
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help