diff mbox

[v4,1/3] ARM: dts: Add Peach Pit dts entry for Atmel touchpad

Message ID 1410348691-18317-2-git-send-email-javier.martinez@collabora.co.uk (mailing list archive)
State New, archived
Headers show

Commit Message

Javier Martinez Canillas Sept. 10, 2014, 11:31 a.m. UTC
From: Sjoerd Simons <sjoerd.simons@collabora.co.uk>

The Peach Pit board has an Atmel maXTouch trackpad device.
Add the needed Device Tree nodes to support it.

This Device Tree change is based on the Chrome OS 3.8 tree
but adapted to use the mainline Atmel maXTouch DT binding.

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
---

Changes since v3:
 - Use KEY_RESERVED even for not reserved pins with a GPIO not hooked.
   Suggested by Nick Dyer.
 - Add a comment to specify the maXTouch chip version so is more clear.
   Suggested by Nick Dyer.
 - Omit trailing omit KEY_RESERVED after the GPIO pins. Suggested by Nick Dyer.

Changes since v2:
 - Add spaces around '=' on properties. Suggested by Andreas Faerber.

Changes since v1:
 - Change trackpad IRQ pad function from 0x0 (GPIO input) to 0xf (GPIO IRQ).
   suggested by Tomasz Figa.
 - Remove BTN_TOOL_* from "linux,gpio-keymap" property since those are set
   by input mt core if INPUT_MT_POINTER is set. Suggested by Nick Dyer.
 - Use correct values for "linux,gpio-keymap" property. Suggested by Nick Dyer.
 - Remove support for Peach Pi board since it uses a different Atmel touchpad
   that requires an Atmel object protocol  (T100) not supported by the driver.
 - Use IRQ type constants from <dt-bindings/interrupt-controller/irq.h> instead
   of magic numbers. Suggested by Andreas Faerber.

 arch/arm/boot/dts/exynos5420-peach-pit.dts | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

Comments

Dmitry Torokhov Sept. 10, 2014, 10:25 p.m. UTC | #1
On Wed, Sep 10, 2014 at 01:31:29PM +0200, Javier Martinez Canillas wrote:
> From: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
> 
> The Peach Pit board has an Atmel maXTouch trackpad device.
> Add the needed Device Tree nodes to support it.
> 
> This Device Tree change is based on the Chrome OS 3.8 tree
> but adapted to use the mainline Atmel maXTouch DT binding.
> 
> Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
> Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>

Reviewed-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

> ---
> 
> Changes since v3:
>  - Use KEY_RESERVED even for not reserved pins with a GPIO not hooked.
>    Suggested by Nick Dyer.
>  - Add a comment to specify the maXTouch chip version so is more clear.
>    Suggested by Nick Dyer.
>  - Omit trailing omit KEY_RESERVED after the GPIO pins. Suggested by Nick Dyer.
> 
> Changes since v2:
>  - Add spaces around '=' on properties. Suggested by Andreas Faerber.
> 
> Changes since v1:
>  - Change trackpad IRQ pad function from 0x0 (GPIO input) to 0xf (GPIO IRQ).
>    suggested by Tomasz Figa.
>  - Remove BTN_TOOL_* from "linux,gpio-keymap" property since those are set
>    by input mt core if INPUT_MT_POINTER is set. Suggested by Nick Dyer.
>  - Use correct values for "linux,gpio-keymap" property. Suggested by Nick Dyer.
>  - Remove support for Peach Pi board since it uses a different Atmel touchpad
>    that requires an Atmel object protocol  (T100) not supported by the driver.
>  - Use IRQ type constants from <dt-bindings/interrupt-controller/irq.h> instead
>    of magic numbers. Suggested by Andreas Faerber.
> 
>  arch/arm/boot/dts/exynos5420-peach-pit.dts | 29 +++++++++++++++++++++++++++++
>  1 file changed, 29 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/exynos5420-peach-pit.dts b/arch/arm/boot/dts/exynos5420-peach-pit.dts
> index f247709..ad56d4c 100644
> --- a/arch/arm/boot/dts/exynos5420-peach-pit.dts
> +++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts
> @@ -507,6 +507,28 @@
>  	};
>  };
>  
> +&hsi2c_8 {
> +	status = "okay";
> +	clock-frequency = <333000>;
> +
> +	/* Atmel mXT336S */
> +	trackpad@4b {
> +		compatible = "atmel,maxtouch";
> +		reg = <0x4b>;
> +		interrupt-parent = <&gpx1>;
> +		interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
> +		wakeup-source;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&trackpad_irq>;
> +		linux,gpio-keymap = <KEY_RESERVED
> +				     KEY_RESERVED
> +				     KEY_RESERVED	/* GPIO0 */
> +				     KEY_RESERVED	/* GPIO1 */
> +				     KEY_RESERVED	/* GPIO2 */
> +				     BTN_LEFT>; 	/* GPIO3 */

Seems like a single space sneaked between the semicolon and the tab.
Maybe whoever applies could squash it.

Thanks.
Javier Martinez Canillas Sept. 11, 2014, 9:44 a.m. UTC | #2
Hello Dmitry,

On 09/11/2014 12:25 AM, Dmitry Torokhov wrote:
>>  
>> +&hsi2c_8 {
>> +	status = "okay";
>> +	clock-frequency = <333000>;
>> +
>> +	/* Atmel mXT336S */
>> +	trackpad@4b {
>> +		compatible = "atmel,maxtouch";
>> +		reg = <0x4b>;
>> +		interrupt-parent = <&gpx1>;
>> +		interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
>> +		wakeup-source;
>> +		pinctrl-names = "default";
>> +		pinctrl-0 = <&trackpad_irq>;
>> +		linux,gpio-keymap = <KEY_RESERVED
>> +				     KEY_RESERVED
>> +				     KEY_RESERVED	/* GPIO0 */
>> +				     KEY_RESERVED	/* GPIO1 */
>> +				     KEY_RESERVED	/* GPIO2 */
>> +				     BTN_LEFT>; 	/* GPIO3 */
> 
> Seems like a single space sneaked between the semicolon and the tab.
> Maybe whoever applies could squash it.
> 

Right, I set c-default-style to "linux" on Emacs but seems it gets confused
sometimes when editing Device Tree source files. Sorry about that.

Best regards,
Javier
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Kim Kukjin Sept. 13, 2014, 4:36 p.m. UTC | #3
On 09/11/14 18:44, Javier Martinez Canillas wrote:
> Hello Dmitry,
>
Hi,

> On 09/11/2014 12:25 AM, Dmitry Torokhov wrote:
>>>
>>> +&hsi2c_8 {
>>> +	status = "okay";
>>> +	clock-frequency =<333000>;
>>> +
>>> +	/* Atmel mXT336S */
>>> +	trackpad@4b {
>>> +		compatible = "atmel,maxtouch";
>>> +		reg =<0x4b>;
>>> +		interrupt-parent =<&gpx1>;
>>> +		interrupts =<1 IRQ_TYPE_EDGE_FALLING>;
>>> +		wakeup-source;
>>> +		pinctrl-names = "default";
>>> +		pinctrl-0 =<&trackpad_irq>;
>>> +		linux,gpio-keymap =<KEY_RESERVED
>>> +				     KEY_RESERVED
>>> +				     KEY_RESERVED	/* GPIO0 */
>>> +				     KEY_RESERVED	/* GPIO1 */
>>> +				     KEY_RESERVED	/* GPIO2 */
>>> +				     BTN_LEFT>; 	/* GPIO3 */
>>
>> Seems like a single space sneaked between the semicolon and the tab.
>> Maybe whoever applies could squash it.
>>
>
> Right, I set c-default-style to "linux" on Emacs but seems it gets confused
> sometimes when editing Device Tree source files. Sorry about that.
>
Applied this whole series with fixing a white space Dmitry commented.

Note, I will handle all of exynos_defconfig changes separately.

Thanks,
Kukjin
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" 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/arch/arm/boot/dts/exynos5420-peach-pit.dts b/arch/arm/boot/dts/exynos5420-peach-pit.dts
index f247709..ad56d4c 100644
--- a/arch/arm/boot/dts/exynos5420-peach-pit.dts
+++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts
@@ -507,6 +507,28 @@ 
 	};
 };
 
+&hsi2c_8 {
+	status = "okay";
+	clock-frequency = <333000>;
+
+	/* Atmel mXT336S */
+	trackpad@4b {
+		compatible = "atmel,maxtouch";
+		reg = <0x4b>;
+		interrupt-parent = <&gpx1>;
+		interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
+		wakeup-source;
+		pinctrl-names = "default";
+		pinctrl-0 = <&trackpad_irq>;
+		linux,gpio-keymap = <KEY_RESERVED
+				     KEY_RESERVED
+				     KEY_RESERVED	/* GPIO0 */
+				     KEY_RESERVED	/* GPIO1 */
+				     KEY_RESERVED	/* GPIO2 */
+				     BTN_LEFT>; 	/* GPIO3 */
+	};
+};
+
 &hsi2c_9 {
 	status = "okay";
 	clock-frequency = <400000>;
@@ -591,6 +613,13 @@ 
 		samsung,pin-drv = <0>;
 	};
 
+	trackpad_irq: trackpad-irq {
+		samsung,pins = "gpx1-1";
+		samsung,pin-function = <0xf>;
+		samsung,pin-pud = <0>;
+		samsung,pin-drv = <0>;
+	};
+
 	power_key_irq: power-key-irq {
 		samsung,pins = "gpx1-2";
 		samsung,pin-function = <0>;