Message ID | 1457034865-17826-1-git-send-email-rklein@nvidia.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Rhyland, On Thu, Mar 3, 2016 at 11:54 AM, Rhyland Klein <rklein@nvidia.com> wrote: > Add gpio-key nodes for the volumn controls, lid switch, > tablet mode and power button. > > Signed-off-by: Rhyland Klein <rklein@nvidia.com> Reviewed-by: Andrew Bresticker <abrestic@chromium.org> > --- > arch/arm64/boot/dts/nvidia/tegra210-smaug.dts | 43 +++++++++++++++++++++++++++ > 1 file changed, 43 insertions(+) > > diff --git a/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts b/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts > index 750e85c45135..9c0ec3031e98 100644 > --- a/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts > +++ b/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts > @@ -1,5 +1,7 @@ > /dts-v1/; > > +#include <dt-bindings/input/input.h> > + > #include "tegra210.dtsi" > > / { > @@ -76,6 +78,47 @@ > }; > }; > > + gpio-keys { > + compatible = "gpio-keys"; > + gpio-keys,name = "gpio-keys"; > + > + power { > + label = "Power"; > + gpios = <&gpio TEGRA_GPIO(X, 5) GPIO_ACTIVE_LOW>; > + linux,code = <KEY_POWER>; > + debounce-interval = <30>; > + gpio-key,wakeup; > + }; > + > + lid { > + label = "Lid"; > + gpios = <&gpio TEGRA_GPIO(B, 4) GPIO_ACTIVE_LOW>; > + linux,input-type = <5>; /* EV_SW */ > + linux,code = <0>; /* SW_LID */ > + gpio-key,wakeup; > + }; > + > + tablet_mode { > + label = "Tablet Mode"; > + gpios = <&gpio TEGRA_GPIO(Z, 2) GPIO_ACTIVE_HIGH>; > + linux,input-type = <5>; /* EV_SW */ > + linux,code = <1>; /* SW_TABLET_MODE */ > + gpio-key,wakeup; > + }; > + > + volume_down { > + label = "Volume Down"; > + gpios = <&gpio TEGRA_GPIO(X, 7) GPIO_ACTIVE_LOW>; > + linux,code = <KEY_VOLUMEDOWN>; > + }; > + > + volume_up { > + label = "Volume Up"; > + gpios = <&gpio TEGRA_GPIO(M, 4) GPIO_ACTIVE_LOW>; > + linux,code = <KEY_VOLUMEUP>; > + }; > + }; > + > psci { > compatible = "arm,psci-1.0"; > method = "smc"; > -- > 1.9.1 >
On Thu, Mar 03, 2016 at 02:54:25PM -0500, Rhyland Klein wrote: > Add gpio-key nodes for the volumn controls, lid switch, > tablet mode and power button. > > Signed-off-by: Rhyland Klein <rklein@nvidia.com> > --- > arch/arm64/boot/dts/nvidia/tegra210-smaug.dts | 43 +++++++++++++++++++++++++++ > 1 file changed, 43 insertions(+) > > diff --git a/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts b/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts > index 750e85c45135..9c0ec3031e98 100644 > --- a/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts > +++ b/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts > @@ -1,5 +1,7 @@ > /dts-v1/; > > +#include <dt-bindings/input/input.h> > + > #include "tegra210.dtsi" > > / { > @@ -76,6 +78,47 @@ > }; > }; > > + gpio-keys { > + compatible = "gpio-keys"; > + gpio-keys,name = "gpio-keys"; > + > + power { > + label = "Power"; > + gpios = <&gpio TEGRA_GPIO(X, 5) GPIO_ACTIVE_LOW>; > + linux,code = <KEY_POWER>; > + debounce-interval = <30>; > + gpio-key,wakeup; This property was recently deprecated in favour of the standard generic wakeup-source property. > + }; > + > + lid { > + label = "Lid"; > + gpios = <&gpio TEGRA_GPIO(B, 4) GPIO_ACTIVE_LOW>; > + linux,input-type = <5>; /* EV_SW */ > + linux,code = <0>; /* SW_LID */ The dt-bindings/input/input.h header defines the symbolic names for these in upstream versions of the Linux kernel. > + gpio-key,wakeup; > + }; > + > + tablet_mode { > + label = "Tablet Mode"; > + gpios = <&gpio TEGRA_GPIO(Z, 2) GPIO_ACTIVE_HIGH>; > + linux,input-type = <5>; /* EV_SW */ > + linux,code = <1>; /* SW_TABLET_MODE */ Same here. I've made all the above changes when applying, so no need to resend. Thierry
On Thu, Mar 03, 2016 at 02:54:25PM -0500, Rhyland Klein wrote: > diff --git a/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts b/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts [...] > + lid { > + label = "Lid"; > + gpios = <&gpio TEGRA_GPIO(B, 4) GPIO_ACTIVE_LOW>; > + linux,input-type = <5>; /* EV_SW */ > + linux,code = <0>; /* SW_LID */ > + gpio-key,wakeup; > + }; > + > + tablet_mode { > + label = "Tablet Mode"; > + gpios = <&gpio TEGRA_GPIO(Z, 2) GPIO_ACTIVE_HIGH>; > + linux,input-type = <5>; /* EV_SW */ > + linux,code = <1>; /* SW_TABLET_MODE */ > + gpio-key,wakeup; > + }; Is there a way to trigger these on a DVT device? Power and volume controls work fine, but I haven't found a way to test these two. Thierry
On 3/4/2016 3:47 AM, Thierry Reding wrote: > * PGP Signed by an unknown key > > On Thu, Mar 03, 2016 at 02:54:25PM -0500, Rhyland Klein wrote: >> diff --git a/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts b/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts > [...] >> + lid { >> + label = "Lid"; >> + gpios = <&gpio TEGRA_GPIO(B, 4) GPIO_ACTIVE_LOW>; >> + linux,input-type = <5>; /* EV_SW */ >> + linux,code = <0>; /* SW_LID */ >> + gpio-key,wakeup; >> + }; >> + >> + tablet_mode { >> + label = "Tablet Mode"; >> + gpios = <&gpio TEGRA_GPIO(Z, 2) GPIO_ACTIVE_HIGH>; >> + linux,input-type = <5>; /* EV_SW */ >> + linux,code = <1>; /* SW_TABLET_MODE */ >> + gpio-key,wakeup; >> + }; > > Is there a way to trigger these on a DVT device? Power and volume > controls work fine, but I haven't found a way to test these two. First of all, thanks for catching the deprecated property and changes in the input.h. As for testing, both can be triggered with magnets. The lid switch is near the camera on the top of the display. For me, the tablet-mode sensor is around 1/3 up from the bottom (assuming camera is the top) on the back side of the device. Not sure how that would line up for you though... -rhyland
diff --git a/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts b/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts index 750e85c45135..9c0ec3031e98 100644 --- a/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts +++ b/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts @@ -1,5 +1,7 @@ /dts-v1/; +#include <dt-bindings/input/input.h> + #include "tegra210.dtsi" / { @@ -76,6 +78,47 @@ }; }; + gpio-keys { + compatible = "gpio-keys"; + gpio-keys,name = "gpio-keys"; + + power { + label = "Power"; + gpios = <&gpio TEGRA_GPIO(X, 5) GPIO_ACTIVE_LOW>; + linux,code = <KEY_POWER>; + debounce-interval = <30>; + gpio-key,wakeup; + }; + + lid { + label = "Lid"; + gpios = <&gpio TEGRA_GPIO(B, 4) GPIO_ACTIVE_LOW>; + linux,input-type = <5>; /* EV_SW */ + linux,code = <0>; /* SW_LID */ + gpio-key,wakeup; + }; + + tablet_mode { + label = "Tablet Mode"; + gpios = <&gpio TEGRA_GPIO(Z, 2) GPIO_ACTIVE_HIGH>; + linux,input-type = <5>; /* EV_SW */ + linux,code = <1>; /* SW_TABLET_MODE */ + gpio-key,wakeup; + }; + + volume_down { + label = "Volume Down"; + gpios = <&gpio TEGRA_GPIO(X, 7) GPIO_ACTIVE_LOW>; + linux,code = <KEY_VOLUMEDOWN>; + }; + + volume_up { + label = "Volume Up"; + gpios = <&gpio TEGRA_GPIO(M, 4) GPIO_ACTIVE_LOW>; + linux,code = <KEY_VOLUMEUP>; + }; + }; + psci { compatible = "arm,psci-1.0"; method = "smc";
Add gpio-key nodes for the volumn controls, lid switch, tablet mode and power button. Signed-off-by: Rhyland Klein <rklein@nvidia.com> --- arch/arm64/boot/dts/nvidia/tegra210-smaug.dts | 43 +++++++++++++++++++++++++++ 1 file changed, 43 insertions(+)