Re: [PATCH] ARM: dts: Add atmel trackpad node to 5250 cros

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Tomasz,

On Thu, Apr 24, 2014 at 9:57 AM, Tomasz Figa <t.figa@xxxxxxxxxxx> wrote:
> Hi Arun,
>
>
> On 14.04.2014 08:35, Arun Kumar K wrote:
>>
>> The newer versions of exynos5250 based Snow boards have
>> atmel trackpad. Updating relevant nodes for the same.
>>
>> Signed-off-by: Arun Kumar K <arun.kk@xxxxxxxxxxx>
>> ---
>>   arch/arm/boot/dts/exynos5250-cros-common.dtsi |   24
>> ++++++++++++++++++++++++
>>   1 file changed, 24 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/exynos5250-cros-common.dtsi
>> b/arch/arm/boot/dts/exynos5250-cros-common.dtsi
>> index 2c1560d..658f086 100644
>> --- a/arch/arm/boot/dts/exynos5250-cros-common.dtsi
>> +++ b/arch/arm/boot/dts/exynos5250-cros-common.dtsi
>> @@ -28,6 +28,13 @@
>>                         samsung,pin-pud = <0>;
>>                 };
>>
>> +               trackpad_irq: trackpad-irq {
>> +                       samsung,pins = "gpx1-2";
>> +                       samsung,pin-function = <0>;
>> +                       samsung,pin-pud = <0>;
>> +                       samsung,pin-drv = <0>;
>> +               };
>> +
>>                 max77686_irq: max77686-irq {
>>                         samsung,pins = "gpx3-2";
>>                         samsung,pin-function = <0>;
>> @@ -191,6 +198,9 @@
>>                 samsung,i2c-sda-delay = <100>;
>>                 samsung,i2c-max-bus-freq = <378000>;
>>
>> +               pinctrl-names = "default";
>> +               pinctrl-0 = <&i2c1_bus &trackpad_irq>;
>
>
> Please add &trackpad_irq to trackpad node instead. Pinctrl properties of i2c
> node should contain only i2c-related pins.

This was a workaround for a limitation of the i2c subsystem which need
to be fixed before atmel support can land upstream.

The problem is that there are two sources for the trackpad on this
hardware.  They are pin compatible, so some boards may have one
trackpad and other (mostly newer) boards may have the other.

The i2c bus is probable, so the theory is that you can just specify
both of trackpads and one will fail to be found.  The problem (at
least on 3.8) was that the pinctrl subsystem held onto the pins.  :(


I just tried now to see if I could reproduce this on ToT.  ...and it
turns out that the atmel_mxt_ts doesn't support device tree upstream.
Right at the top of mxt_probe I see:

if (!pdata)
  return -EINVAL;

I actually find a patch (from you!) that adds some device tree support
at <https://patchwork.kernel.org/patch/2393631/>.  ...though
interestingly enough our current tree somehow gets by without
specifying all of those properties.  +Benson may be able to give more
details?


Until atmel device tree support lands, though, I think this patch is stalled.

>> +                       reg = <0x25>;
>> +                       compatible = "atmel,atmel_mxt_tp";
>> +                       interrupts = <2 0>;
>> +                       interrupt-parent = <&gpx1>;
>> +                       wakeup-source;
>> +               };
>
>
> Hmm, why are there 3 different nodes here? Could you explain what one by one
> for what hardware they are?

cyapa: the Cypress trackpad that shipped with original exynos5250-snow

atmel: some newer exynos5250-snow ship with this

atmel-bootloader: appears to be a hack to get around the fact that you
can only specify one i2c address through the device tree.  I'm told
that sometimes this device shows up at a different address.  On x86
machines with this they use "i2c_new_probed_device" which allows you
to pass in a list of addresses, it seems.  I'm not sure how this
should really translate to the device tree.


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




[Index of Archives]     [Linux SoC Development]     [Linux Rockchip Development]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Linux SCSI]     [Yosemite News]

  Powered by Linux