[PATCH v2] ARM: dts: sun8i-h2-plus-bananapi-m2-zero: add poweroff node to DT

Michael Klein michael at fossekall.de
Tue Nov 24 17:31:59 EST 2020


On Tue, Nov 24, 2020 at 03:26:56PM +0100, Maxime Ripard wrote:
>On Tue, Nov 24, 2020 at 02:36:33PM +0100, Michael Klein wrote:
>> Add poweroff node to allow the board to power itself off after shutdown
>> by disabling the SYSTEM and CPUX regulators (U5 resp. U6).  The RST
>> button can be used to restart the board.
>>
>> Signed-off-by: Michael Klein <michael at fossekall.de>
>> ---
>>  arch/arm/boot/dts/sun8i-h2-plus-bananapi-m2-zero.dts | 5 +++++
>>  1 file changed, 5 insertions(+)
>
>You should have a summary of the changes between versions here
>
>> diff --git a/arch/arm/boot/dts/sun8i-h2-plus-bananapi-m2-zero.dts b/arch/arm/boot/dts/sun8i-h2-plus-bananapi-m2-zero.dts
>> index 4c6704e4c57e..ea2fa48a1647 100644
>> --- a/arch/arm/boot/dts/sun8i-h2-plus-bananapi-m2-zero.dts
>> +++ b/arch/arm/boot/dts/sun8i-h2-plus-bananapi-m2-zero.dts
>> @@ -46,6 +46,11 @@ sw4 {
>>  		};
>>  	};
>>
>> +	poweroff {
>> +		compatible = "gpio-poweroff";
>> +		gpios = <&r_pio 0 8 GPIO_ACTIVE_LOW>; /* PL8 */
>> +	};
>> +
>
>Like I said in the previous version, this should really be modelled as a
>regulator instead of just a GPIO

Please excuse my ignorance, do you mean something like this?

        reg_vdd_sys: vdd-sys {
                compatible = "regulator-fixed";
                regulator-name = "vdd-sys";
                regulator-min-microvolt = <1200000>;
                regulator-max-microvolt = <1200000>;
                regulator-always-on;
                regulator-boot-on;
                enable-active-high;
                gpio = <&r_pio 0 8 GPIO_ACTIVE_HIGH>; /* PL8 */
                vin-supply = <&reg_vcc5v0>;
         };

With this, the board still draws 60mA (cheap USB ampere meter) after 
shutdown, presumably because of "regulator-always-on".  Without this 
property the board powers off shortly after booting up.

Michael



More information about the linux-arm-kernel mailing list