diff mbox

[v4,2/5] dt-bindings: input: Add document bindings for mtk-pmic-keys

Message ID 1505635252-27716-3-git-send-email-chen.zhong@mediatek.com (mailing list archive)
State New, archived
Headers show

Commit Message

chen.zhong Sept. 17, 2017, 8 a.m. UTC
This patch adds the device tree binding documentation for the MediaTek
pmic keys found on PMIC MT6397/MT6323.

Signed-off-by: Chen Zhong <chen.zhong@mediatek.com>
---
 .../devicetree/bindings/input/mtk-pmic-keys.txt    |   41 ++++++++++++++++++++
 1 file changed, 41 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/input/mtk-pmic-keys.txt

Comments

Rob Herring Sept. 20, 2017, 8:53 p.m. UTC | #1
On Sun, Sep 17, 2017 at 04:00:49PM +0800, Chen Zhong wrote:
> This patch adds the device tree binding documentation for the MediaTek
> pmic keys found on PMIC MT6397/MT6323.
> 
> Signed-off-by: Chen Zhong <chen.zhong@mediatek.com>
> ---
>  .../devicetree/bindings/input/mtk-pmic-keys.txt    |   41 ++++++++++++++++++++
>  1 file changed, 41 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/input/mtk-pmic-keys.txt
> 
> diff --git a/Documentation/devicetree/bindings/input/mtk-pmic-keys.txt b/Documentation/devicetree/bindings/input/mtk-pmic-keys.txt
> new file mode 100644
> index 0000000..fd48ff7
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/input/mtk-pmic-keys.txt
> @@ -0,0 +1,41 @@
> +MediaTek MT6397/MT6323 PMIC Keys Device Driver
> +
> +There are two key functions provided by MT6397/MT6323 PMIC, pwrkey
> +and homekey. The key functions are defined as the subnode of the function
> +node provided by MT6397/MT6323 PMIC that is being defined as one kind
> +of Muti-Function Device (MFD)
> +
> +For MT6397/MT6323 MFD bindings see:
> +Documentation/devicetree/bindings/mfd/mt6397.txt
> +
> +Required properties:
> +- compatible: "mediatek,mt6397-keys" or "mediatek,mt6323-keys"
> +- linux,keycodes: Specifies the numeric keycode values to
> +	be used for reporting keys presses. The array can
> +	contain up to 2 entries.
> +
> +Optional Properties:
> +- mediatek,wakeup-keys: Specifies each key can be used as a wakeup source
> +	or not. This can be customized depends on board design.

I think this should be a common property if we're going to put into DT. 
Something like "wakeup-scancodes" to be clear the values are the raw 
scancodes. Alternatively, we could list Linux keycodes instead with 
something like "linux,wakeup-keycodes".

> +- wakeup-source: PMIC keys can be used as wakeup sources.

Just "See ../power/wakeup-source.txt" for the description.

> +- mediatek,long-press-mode: Long press key shutdown setting, 1 for
> +	pwrkey only, 2 for pwrkey/homekey together, others for disabled.
> +- debounce-interval: Long press key shutdown debouncing interval time
> +	in seconds. 0/1/2/3 for 8/11/14/5 seconds. If not specified defaults to 0.

This property units should be in milliseconds. However, this doesn't 
sound like debounce filtering time if 5-14 seconds. That sounds like 
forced power off time (i.e. for a hung device). This also should be 
common. I imagine we already have some drivers with similar properties.

Rob
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Dmitry Torokhov Sept. 20, 2017, 9:14 p.m. UTC | #2
On Wed, Sep 20, 2017 at 03:53:01PM -0500, Rob Herring wrote:
> On Sun, Sep 17, 2017 at 04:00:49PM +0800, Chen Zhong wrote:
> > This patch adds the device tree binding documentation for the MediaTek
> > pmic keys found on PMIC MT6397/MT6323.
> > 
> > Signed-off-by: Chen Zhong <chen.zhong@mediatek.com>
> > ---
> >  .../devicetree/bindings/input/mtk-pmic-keys.txt    |   41 ++++++++++++++++++++
> >  1 file changed, 41 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/input/mtk-pmic-keys.txt
> > 
> > diff --git a/Documentation/devicetree/bindings/input/mtk-pmic-keys.txt b/Documentation/devicetree/bindings/input/mtk-pmic-keys.txt
> > new file mode 100644
> > index 0000000..fd48ff7
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/input/mtk-pmic-keys.txt
> > @@ -0,0 +1,41 @@
> > +MediaTek MT6397/MT6323 PMIC Keys Device Driver
> > +
> > +There are two key functions provided by MT6397/MT6323 PMIC, pwrkey
> > +and homekey. The key functions are defined as the subnode of the function
> > +node provided by MT6397/MT6323 PMIC that is being defined as one kind
> > +of Muti-Function Device (MFD)
> > +
> > +For MT6397/MT6323 MFD bindings see:
> > +Documentation/devicetree/bindings/mfd/mt6397.txt
> > +
> > +Required properties:
> > +- compatible: "mediatek,mt6397-keys" or "mediatek,mt6323-keys"
> > +- linux,keycodes: Specifies the numeric keycode values to
> > +	be used for reporting keys presses. The array can
> > +	contain up to 2 entries.
> > +
> > +Optional Properties:
> > +- mediatek,wakeup-keys: Specifies each key can be used as a wakeup source
> > +	or not. This can be customized depends on board design.
> 
> I think this should be a common property if we're going to put into DT. 
> Something like "wakeup-scancodes" to be clear the values are the raw 
> scancodes. Alternatively, we could list Linux keycodes instead with 
> something like "linux,wakeup-keycodes".

Should we go the gpio-keys way and describe keys as sub-nodes, possibly
using address as index?

		mt6397keys: mt6397keys {
			...

			power@0 {
				linux,code = <116>;
				wakeup-source;
			};

			home@1 {
				linux,code = <...>;
			};
		};

Thanks.
chen.zhong Sept. 23, 2017, 6:38 a.m. UTC | #3
On Wed, 2017-09-20 at 15:53 -0500, Rob Herring wrote:
> On Sun, Sep 17, 2017 at 04:00:49PM +0800, Chen Zhong wrote:
> > This patch adds the device tree binding documentation for the MediaTek
> > pmic keys found on PMIC MT6397/MT6323.
> > 
> > Signed-off-by: Chen Zhong <chen.zhong@mediatek.com>
> > ---
> >  .../devicetree/bindings/input/mtk-pmic-keys.txt    |   41 ++++++++++++++++++++
> >  1 file changed, 41 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/input/mtk-pmic-keys.txt
> > 
> > diff --git a/Documentation/devicetree/bindings/input/mtk-pmic-keys.txt b/Documentation/devicetree/bindings/input/mtk-pmic-keys.txt
> > new file mode 100644
> > index 0000000..fd48ff7
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/input/mtk-pmic-keys.txt
> > @@ -0,0 +1,41 @@
> > +MediaTek MT6397/MT6323 PMIC Keys Device Driver
> > +
> > +There are two key functions provided by MT6397/MT6323 PMIC, pwrkey
> > +and homekey. The key functions are defined as the subnode of the function
> > +node provided by MT6397/MT6323 PMIC that is being defined as one kind
> > +of Muti-Function Device (MFD)
> > +
> > +For MT6397/MT6323 MFD bindings see:
> > +Documentation/devicetree/bindings/mfd/mt6397.txt
> > +
> > +Required properties:
> > +- compatible: "mediatek,mt6397-keys" or "mediatek,mt6323-keys"
> > +- linux,keycodes: Specifies the numeric keycode values to
> > +	be used for reporting keys presses. The array can
> > +	contain up to 2 entries.
> > +
> > +Optional Properties:
> > +- mediatek,wakeup-keys: Specifies each key can be used as a wakeup source
> > +	or not. This can be customized depends on board design.
> 
> I think this should be a common property if we're going to put into DT. 
> Something like "wakeup-scancodes" to be clear the values are the raw 
> scancodes. Alternatively, we could list Linux keycodes instead with 
> something like "linux,wakeup-keycodes".
> 
> > +- wakeup-source: PMIC keys can be used as wakeup sources.
> 
> Just "See ../power/wakeup-source.txt" for the description.
> 
> > +- mediatek,long-press-mode: Long press key shutdown setting, 1 for
> > +	pwrkey only, 2 for pwrkey/homekey together, others for disabled.
> > +- debounce-interval: Long press key shutdown debouncing interval time
> > +	in seconds. 0/1/2/3 for 8/11/14/5 seconds. If not specified defaults to 0.
> 
> This property units should be in milliseconds. However, this doesn't 
> sound like debounce filtering time if 5-14 seconds. That sounds like 
> forced power off time (i.e. for a hung device). This also should be 
> common. I imagine we already have some drivers with similar properties.

Hi Rob,

I searched in kernel documents and found a similar usage in
"ti,palmas-pwrbutton.txt"
"- ti,palmas-long-press-seconds: Duration in seconds which the power
  button should be kept pressed for Palmas to power off automatically."

Could I just wrote it like this?
mediatek,long-press-seconds = <0>;

And for the wakeup source part, how about Dmitry's suggestion? 
The whole device node would be:

mt6397keys: mt6397keys {
	compatible = "mediatek,mt6397-keys";
	mediatek,long-press-mode = <1>;
	mediatek,long-press-seconds = <0>;
	
	power@0 {
		linux,code = <116>;
		wakeup-source;
	};

	home@0 {
		linux,code = <114>;
	};
};

Thank you.

> 
> Rob


--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
chen.zhong Sept. 23, 2017, 6:47 a.m. UTC | #4
Sorry for the typo.

On Sat, 2017-09-23 at 14:38 +0800, Chen Zhong wrote:
> On Wed, 2017-09-20 at 15:53 -0500, Rob Herring wrote:
> > On Sun, Sep 17, 2017 at 04:00:49PM +0800, Chen Zhong wrote:
> > > This patch adds the device tree binding documentation for the MediaTek
> > > pmic keys found on PMIC MT6397/MT6323.
> > > 
> > > Signed-off-by: Chen Zhong <chen.zhong@mediatek.com>
> > > ---
> > >  .../devicetree/bindings/input/mtk-pmic-keys.txt    |   41 ++++++++++++++++++++
> > >  1 file changed, 41 insertions(+)
> > >  create mode 100644 Documentation/devicetree/bindings/input/mtk-pmic-keys.txt
> > > 
> > > diff --git a/Documentation/devicetree/bindings/input/mtk-pmic-keys.txt b/Documentation/devicetree/bindings/input/mtk-pmic-keys.txt
> > > new file mode 100644
> > > index 0000000..fd48ff7
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/input/mtk-pmic-keys.txt
> > > @@ -0,0 +1,41 @@
> > > +MediaTek MT6397/MT6323 PMIC Keys Device Driver
> > > +
> > > +There are two key functions provided by MT6397/MT6323 PMIC, pwrkey
> > > +and homekey. The key functions are defined as the subnode of the function
> > > +node provided by MT6397/MT6323 PMIC that is being defined as one kind
> > > +of Muti-Function Device (MFD)
> > > +
> > > +For MT6397/MT6323 MFD bindings see:
> > > +Documentation/devicetree/bindings/mfd/mt6397.txt
> > > +
> > > +Required properties:
> > > +- compatible: "mediatek,mt6397-keys" or "mediatek,mt6323-keys"
> > > +- linux,keycodes: Specifies the numeric keycode values to
> > > +	be used for reporting keys presses. The array can
> > > +	contain up to 2 entries.
> > > +
> > > +Optional Properties:
> > > +- mediatek,wakeup-keys: Specifies each key can be used as a wakeup source
> > > +	or not. This can be customized depends on board design.
> > 
> > I think this should be a common property if we're going to put into DT. 
> > Something like "wakeup-scancodes" to be clear the values are the raw 
> > scancodes. Alternatively, we could list Linux keycodes instead with 
> > something like "linux,wakeup-keycodes".
> > 
> > > +- wakeup-source: PMIC keys can be used as wakeup sources.
> > 
> > Just "See ../power/wakeup-source.txt" for the description.
> > 
> > > +- mediatek,long-press-mode: Long press key shutdown setting, 1 for
> > > +	pwrkey only, 2 for pwrkey/homekey together, others for disabled.
> > > +- debounce-interval: Long press key shutdown debouncing interval time
> > > +	in seconds. 0/1/2/3 for 8/11/14/5 seconds. If not specified defaults to 0.
> > 
> > This property units should be in milliseconds. However, this doesn't 
> > sound like debounce filtering time if 5-14 seconds. That sounds like 
> > forced power off time (i.e. for a hung device). This also should be 
> > common. I imagine we already have some drivers with similar properties.
> 
> Hi Rob,
> 
> I searched in kernel documents and found a similar usage in
> "ti,palmas-pwrbutton.txt"
> "- ti,palmas-long-press-seconds: Duration in seconds which the power
>   button should be kept pressed for Palmas to power off automatically."
> 
> Could I just wrote it like this?
> mediatek,long-press-seconds = <0>;
> 
> And for the wakeup source part, how about Dmitry's suggestion? 
> The whole device node would be:
> 
> mt6397keys: mt6397keys {
> 	compatible = "mediatek,mt6397-keys";
> 	mediatek,long-press-mode = <1>;
> 	mediatek,long-press-seconds = <0>;
> 	
> 	power@0 {
> 		linux,code = <116>;
> 		wakeup-source;
> 	};
> 
> 	home@0 {
should be home@1 {
> 		linux,code = <114>;
> 	};
> };
> 
> Thank you.
> 
> > 
> > Rob
> 


--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Rob Herring Sept. 25, 2017, 4:11 a.m. UTC | #5
On Sat, Sep 23, 2017 at 1:47 AM, Chen Zhong <chen.zhong@mediatek.com> wrote:
> Sorry for the typo.
>
> On Sat, 2017-09-23 at 14:38 +0800, Chen Zhong wrote:
>> On Wed, 2017-09-20 at 15:53 -0500, Rob Herring wrote:
>> > On Sun, Sep 17, 2017 at 04:00:49PM +0800, Chen Zhong wrote:
>> > > This patch adds the device tree binding documentation for the MediaTek
>> > > pmic keys found on PMIC MT6397/MT6323.
>> > >
>> > > Signed-off-by: Chen Zhong <chen.zhong@mediatek.com>
>> > > ---
>> > >  .../devicetree/bindings/input/mtk-pmic-keys.txt    |   41 ++++++++++++++++++++
>> > >  1 file changed, 41 insertions(+)
>> > >  create mode 100644 Documentation/devicetree/bindings/input/mtk-pmic-keys.txt
>> > >
>> > > diff --git a/Documentation/devicetree/bindings/input/mtk-pmic-keys.txt b/Documentation/devicetree/bindings/input/mtk-pmic-keys.txt
>> > > new file mode 100644
>> > > index 0000000..fd48ff7
>> > > --- /dev/null
>> > > +++ b/Documentation/devicetree/bindings/input/mtk-pmic-keys.txt
>> > > @@ -0,0 +1,41 @@
>> > > +MediaTek MT6397/MT6323 PMIC Keys Device Driver
>> > > +
>> > > +There are two key functions provided by MT6397/MT6323 PMIC, pwrkey
>> > > +and homekey. The key functions are defined as the subnode of the function
>> > > +node provided by MT6397/MT6323 PMIC that is being defined as one kind
>> > > +of Muti-Function Device (MFD)
>> > > +
>> > > +For MT6397/MT6323 MFD bindings see:
>> > > +Documentation/devicetree/bindings/mfd/mt6397.txt
>> > > +
>> > > +Required properties:
>> > > +- compatible: "mediatek,mt6397-keys" or "mediatek,mt6323-keys"
>> > > +- linux,keycodes: Specifies the numeric keycode values to
>> > > + be used for reporting keys presses. The array can
>> > > + contain up to 2 entries.
>> > > +
>> > > +Optional Properties:
>> > > +- mediatek,wakeup-keys: Specifies each key can be used as a wakeup source
>> > > + or not. This can be customized depends on board design.
>> >
>> > I think this should be a common property if we're going to put into DT.
>> > Something like "wakeup-scancodes" to be clear the values are the raw
>> > scancodes. Alternatively, we could list Linux keycodes instead with
>> > something like "linux,wakeup-keycodes".
>> >
>> > > +- wakeup-source: PMIC keys can be used as wakeup sources.
>> >
>> > Just "See ../power/wakeup-source.txt" for the description.
>> >
>> > > +- mediatek,long-press-mode: Long press key shutdown setting, 1 for
>> > > + pwrkey only, 2 for pwrkey/homekey together, others for disabled.
>> > > +- debounce-interval: Long press key shutdown debouncing interval time
>> > > + in seconds. 0/1/2/3 for 8/11/14/5 seconds. If not specified defaults to 0.
>> >
>> > This property units should be in milliseconds. However, this doesn't
>> > sound like debounce filtering time if 5-14 seconds. That sounds like
>> > forced power off time (i.e. for a hung device). This also should be
>> > common. I imagine we already have some drivers with similar properties.
>>
>> Hi Rob,
>>
>> I searched in kernel documents and found a similar usage in
>> "ti,palmas-pwrbutton.txt"
>> "- ti,palmas-long-press-seconds: Duration in seconds which the power
>>   button should be kept pressed for Palmas to power off automatically."
>>
>> Could I just wrote it like this?
>> mediatek,long-press-seconds = <0>;

That doesn't really tell what the long press does. How about
"power-off-time-sec"? Surprisingly we don't have a common keyboard
binding doc, so please start one and document it there. Then just
refer to it.

>>
>> And for the wakeup source part, how about Dmitry's suggestion?

It's fine for me.

>> The whole device node would be:
>>
>> mt6397keys: mt6397keys {
>>       compatible = "mediatek,mt6397-keys";
>>       mediatek,long-press-mode = <1>;
>>       mediatek,long-press-seconds = <0>;
>>
>>       power@0 {
>>               linux,code = <116>;

linux,keycodes

Also, you either need a reg property with "0" or drop the unit address.

>>               wakeup-source;
>>       };
>>
>>       home@0 {
> should be home@1 {
>>               linux,code = <114>;
>>       };
>> };
>>
>> Thank you.
>>
>> >
>> > Rob
>>
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
chen.zhong Sept. 25, 2017, 8:14 a.m. UTC | #6
On Sun, 2017-09-24 at 23:11 -0500, Rob Herring wrote:
> On Sat, Sep 23, 2017 at 1:47 AM, Chen Zhong <chen.zhong@mediatek.com> wrote:
> > Sorry for the typo.
> >
> > On Sat, 2017-09-23 at 14:38 +0800, Chen Zhong wrote:
> >> On Wed, 2017-09-20 at 15:53 -0500, Rob Herring wrote:
> >> > On Sun, Sep 17, 2017 at 04:00:49PM +0800, Chen Zhong wrote:
> >> > > This patch adds the device tree binding documentation for the MediaTek
> >> > > pmic keys found on PMIC MT6397/MT6323.
> >> > >
> >> > > Signed-off-by: Chen Zhong <chen.zhong@mediatek.com>
> >> > > ---
> >> > >  .../devicetree/bindings/input/mtk-pmic-keys.txt    |   41 ++++++++++++++++++++
> >> > >  1 file changed, 41 insertions(+)
> >> > >  create mode 100644 Documentation/devicetree/bindings/input/mtk-pmic-keys.txt
> >> > >
> >> > > diff --git a/Documentation/devicetree/bindings/input/mtk-pmic-keys.txt b/Documentation/devicetree/bindings/input/mtk-pmic-keys.txt
> >> > > new file mode 100644
> >> > > index 0000000..fd48ff7
> >> > > --- /dev/null
> >> > > +++ b/Documentation/devicetree/bindings/input/mtk-pmic-keys.txt
> >> > > @@ -0,0 +1,41 @@
> >> > > +MediaTek MT6397/MT6323 PMIC Keys Device Driver
> >> > > +
> >> > > +There are two key functions provided by MT6397/MT6323 PMIC, pwrkey
> >> > > +and homekey. The key functions are defined as the subnode of the function
> >> > > +node provided by MT6397/MT6323 PMIC that is being defined as one kind
> >> > > +of Muti-Function Device (MFD)
> >> > > +
> >> > > +For MT6397/MT6323 MFD bindings see:
> >> > > +Documentation/devicetree/bindings/mfd/mt6397.txt
> >> > > +
> >> > > +Required properties:
> >> > > +- compatible: "mediatek,mt6397-keys" or "mediatek,mt6323-keys"
> >> > > +- linux,keycodes: Specifies the numeric keycode values to
> >> > > + be used for reporting keys presses. The array can
> >> > > + contain up to 2 entries.
> >> > > +
> >> > > +Optional Properties:
> >> > > +- mediatek,wakeup-keys: Specifies each key can be used as a wakeup source
> >> > > + or not. This can be customized depends on board design.
> >> >
> >> > I think this should be a common property if we're going to put into DT.
> >> > Something like "wakeup-scancodes" to be clear the values are the raw
> >> > scancodes. Alternatively, we could list Linux keycodes instead with
> >> > something like "linux,wakeup-keycodes".
> >> >
> >> > > +- wakeup-source: PMIC keys can be used as wakeup sources.
> >> >
> >> > Just "See ../power/wakeup-source.txt" for the description.
> >> >
> >> > > +- mediatek,long-press-mode: Long press key shutdown setting, 1 for
> >> > > + pwrkey only, 2 for pwrkey/homekey together, others for disabled.
> >> > > +- debounce-interval: Long press key shutdown debouncing interval time
> >> > > + in seconds. 0/1/2/3 for 8/11/14/5 seconds. If not specified defaults to 0.
> >> >
> >> > This property units should be in milliseconds. However, this doesn't
> >> > sound like debounce filtering time if 5-14 seconds. That sounds like
> >> > forced power off time (i.e. for a hung device). This also should be
> >> > common. I imagine we already have some drivers with similar properties.
> >>
> >> Hi Rob,
> >>
> >> I searched in kernel documents and found a similar usage in
> >> "ti,palmas-pwrbutton.txt"
> >> "- ti,palmas-long-press-seconds: Duration in seconds which the power
> >>   button should be kept pressed for Palmas to power off automatically."
> >>
> >> Could I just wrote it like this?
> >> mediatek,long-press-seconds = <0>;
> 
> That doesn't really tell what the long press does. How about
> "power-off-time-sec"? Surprisingly we don't have a common keyboard
> binding doc, so please start one and document it there. Then just
> refer to it.
> 

OK, I will add a common document named "keys.txt" and put the long press
property "power-off-time-sec" there as a common property.

> >>
> >> And for the wakeup source part, how about Dmitry's suggestion?
> 
> It's fine for me.
> 
> >> The whole device node would be:
> >>
> >> mt6397keys: mt6397keys {
> >>       compatible = "mediatek,mt6397-keys";
> >>       mediatek,long-press-mode = <1>;
> >>       mediatek,long-press-seconds = <0>;
> >>
> >>       power@0 {
> >>               linux,code = <116>;
> 
> linux,keycodes
> 
> Also, you either need a reg property with "0" or drop the unit address.

There is no need to add reg property here, I'll drop the unit address.

Thank you.
> 
> >>               wakeup-source;
> >>       };
> >>
> >>       home@0 {
> > should be home@1 {
> >>               linux,code = <114>;
> >>       };
> >> };
> >>
> >> Thank you.
> >>
> >> >
> >> > Rob
> >>
> >
> >


--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/input/mtk-pmic-keys.txt b/Documentation/devicetree/bindings/input/mtk-pmic-keys.txt
new file mode 100644
index 0000000..fd48ff7
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/mtk-pmic-keys.txt
@@ -0,0 +1,41 @@ 
+MediaTek MT6397/MT6323 PMIC Keys Device Driver
+
+There are two key functions provided by MT6397/MT6323 PMIC, pwrkey
+and homekey. The key functions are defined as the subnode of the function
+node provided by MT6397/MT6323 PMIC that is being defined as one kind
+of Muti-Function Device (MFD)
+
+For MT6397/MT6323 MFD bindings see:
+Documentation/devicetree/bindings/mfd/mt6397.txt
+
+Required properties:
+- compatible: "mediatek,mt6397-keys" or "mediatek,mt6323-keys"
+- linux,keycodes: Specifies the numeric keycode values to
+	be used for reporting keys presses. The array can
+	contain up to 2 entries.
+
+Optional Properties:
+- mediatek,wakeup-keys: Specifies each key can be used as a wakeup source
+	or not. This can be customized depends on board design.
+- wakeup-source: PMIC keys can be used as wakeup sources.
+- mediatek,long-press-mode: Long press key shutdown setting, 1 for
+	pwrkey only, 2 for pwrkey/homekey together, others for disabled.
+- debounce-interval: Long press key shutdown debouncing interval time
+	in seconds. 0/1/2/3 for 8/11/14/5 seconds. If not specified defaults to 0.
+
+Example:
+
+	pmic: mt6397 {
+		compatible = "mediatek,mt6397";
+
+		...
+
+		mt6397keys: mt6397keys {
+			compatible = "mediatek,mt6397-keys";
+			linux,keycodes = <116>, <114>;
+			mediatek,wakeup-keys = <1>, <0>;
+			wakeup-source;
+			mediatek,long-press-mode = <1>;
+			debounce-interval = <0>;
+		};
+	};