[PATCH v2] arm: boot: dts: am437x-idk: add gpio-based power key

Tony Lindgren tony at atomide.com
Wed Jan 7 16:12:31 PST 2015


* Felipe Balbi <balbi at ti.com> [141226 12:56]:
> AM437x IDK board has a User Switch which we can
> program to whatever we want. Because this board
> doesn't have a PMIC which can give us power button
> presses, let's use this user switch as a gpio-keys
> power button.
> 
> Signed-off-by: Felipe Balbi <balbi at ti.com>

Applying into omap-for-v3.20/dt thanks.

Tony

> ---
> 
> Changes since v1:
> 	- Add explicit pinctrl data.
> 	  (note that ball reset state is already MUX_MODE7, and even
> 	   though it was already working before, as can be seen from
> 	   v1's boot logs, it's best that we cope with possibly broken
> 	   bootloaders)
> 
> depends on [1]. Boot logs at [2]. Note that this can rather easily
> be folded into the original patch if so desired.
> 
> [1] http://marc.info/?l=linux-omap&m=141928747902983&w=2
> [2] http://hastebin.com/qezicehunu
> 
>  arch/arm/boot/dts/am437x-idk-evm.dts | 24 ++++++++++++++++++++++++
>  1 file changed, 24 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/am437x-idk-evm.dts b/arch/arm/boot/dts/am437x-idk-evm.dts
> index b52dd0a..f9a17e2 100644
> --- a/arch/arm/boot/dts/am437x-idk-evm.dts
> +++ b/arch/arm/boot/dts/am437x-idk-evm.dts
> @@ -96,9 +96,29 @@
>  		regulator-boot-on;
>  		vin-supply = <&v1_5dreg>;
>  	};
> +
> +	gpio_keys: gpio_keys {
> +		compatible = "gpio-keys";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&gpio_keys_pins_default>;
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		switch at 0 {
> +			label = "power-button";
> +			linux,code = <KEY_POWER>;
> +			gpios = <&gpio4 2 GPIO_ACTIVE_LOW>;
> +		};
> +	};
>  };
>  
>  &am43xx_pinmux {
> +	gpio_keys_pins_default: gpio_keys_pins_default {
> +		pinctrl-single,pins = <
> +			0x1b8 (PIN_INPUT | MUX_MODE7)	/* cam0_field.gpio4_2 */
> +		>;
> +	};
> +
>  	i2c0_pins_default: i2c0_pins_default {
>  		pinctrl-single,pins = <
>  			0x188 (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_sda.i2c0_sda */
> @@ -282,6 +302,10 @@
>  	status = "okay";
>  };
>  
> +&gpio4 {
> +	status = "okay";
> +};
> +
>  &gpio5 {
>  	status = "okay";
>  };
> -- 
> 2.2.0
> 



More information about the linux-arm-kernel mailing list