Unclear behaviour of ON_OFF pin on PicoCore

  • Hello again,


    The PicoCore SoMs have a pin called ON_OFF on J2-48.

    In the Hardware documentation of the PicoCoreMX6UL100 for example, in chapter 8 it says:

    Quote

    CPU On/Off control pin, can be used with an external button
    Active high – 10k pull-down

    I also noticed that in chapter 3.1 "B2B connectors" it says the voltage for this pin is 3.3V, the same entry in the documentation for PicoCoreMX8MM the voltage is 1.8V.
    Are these voltages actually different for MX6UL100 and MX8MM?

    We connected an external button to this pin, which connects the signal to GND when pressed, just like it is done on the PicoCoreBBDSI.

    But pressing the button did nothing.

    We then tried it on the PicoCoreBBDSI. We removed R69 and added R70 as described in the documentation.

    But pressing T12 also did nothing.


    Now to my main question(s):


    What is supposed to happen when the signal ON_OFF (J2-48) is low?


    What is the use-case for this pin? Is it supposed to act like a power button on a laptop?


    Is this signal connected to the i.MX MPU and does it need any configuration in SW (e.g. devicetree)?
    I did not find any references in the device tree files for the picocore boards.


    Unfortunately I didn't find any further documentation on this.


    Thank you and best regards,

    Stefan

  • We do not promote the ONOFF button because it is not tested on all boards and may not be supported in the default configuration of the software. As stated in the baseboard documentation, the function is only tested on the PicoCoreMX8MM and PicoCoreMX8MP.


    The button is supposed to work like the power button of a PC. A short press is shutting down the system gracefully and a long press of 5 seconds is shutting down the system unconditionally. When it is off, pressing the button a short while, should repower the system.


    The short press simply issues a key event, typically KEY_POWER, that can be handled by software. See node snvs-powerkey (label snvs_pwrkey) in imx6ul.dtsi. The long press simply shuts down the system and cannot be handled by software. This means a quick test if the button works at all would be a long press of 5 seconds. If the board shuts down, the button actually works.


    Yocto (or more precisely, systemd) can handle the short press automatically but needs a modification in /etc/systemd/logind.conf.


    Code
    1. HandlePowerKey=poweroff
    2. #HandlePowerKey=ignore


    The button itself is handled by a pin of the SoC located in the SNVS section. This means it also refers to the voltage level of this section. And yes, this is different on different F&S boards. On i.MX6UL, this is 3.3V, on i.MX8MM, this is 1.8V. As the button typically simply connects to ground (active low), this should not be a problem. However it can also be configured to be active high, and from the internal pull-down on the PicoCoreMX6UL100, I would assume that it is supposed to be configured in this way here. Then the button should connect to the SNVS voltage, but I'm not sure if this is available on the baseboard at all. Really strange.


    I believe that this was never fully tested on PicoCoreMX6UL100 and I cannot guarantee that it fully works. Especially also the "ON" part of the button.


    Your F&S Support Team

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.