[PATCH] ARM: dts: add pinctrl nodes for Exynos5250 SoC

Olof Johansson olof at lixom.net
Fri Apr 26 14:15:23 EDT 2013


Hi,

On Thu, Apr 25, 2013 at 12:38 AM, Thomas Abraham
<thomas.abraham at linaro.org> wrote:
> On 25 April 2013 05:03, Olof Johansson <olof at lixom.net> wrote:
>> On Thu, Dec 13, 2012 at 06:36:18PM +0530, Thomas Abraham wrote:
>>> Add pinctrl device nodes for Exynos5250 SoC.
>>>
>>> Signed-off-by: Thomas Abraham <thomas.abraham at linaro.org>
>>
>> Replying to an old email of a patch that has been merged because it seems
>> horribly broken.
>>
>>
>>> diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi
>>> index 581e57a..eb8d610 100644
>>> --- a/arch/arm/boot/dts/exynos5250.dtsi
>>> +++ b/arch/arm/boot/dts/exynos5250.dtsi
>>> @@ -18,6 +18,7 @@
>>>  */
>>>
>>>  /include/ "skeleton.dtsi"
>>> +/include/ "exynos5250-pinctrl.dtsi"
>>>
>>>  / {
>>>       compatible = "samsung,exynos5250";
>>> @@ -48,6 +49,8 @@
>>>               mshc1 = &dwmmc_1;
>>>               mshc2 = &dwmmc_2;
>>>               mshc3 = &dwmmc_3;
>>> +             pinctrl0 = &pinctrl_0;
>>> +             pinctrl3 = &pinctrl_3;
>>>       };
>>>
>>>       gic:interrupt-controller at 10481000 {
>>> @@ -79,6 +82,24 @@
>>>               interrupts = <0 42 0>;
>>>       };
>>>
>>> +     pinctrl_0: pinctrl at 11400000 {
>>> +             compatible = "samsung,pinctrl-exynos5250";
>>> +             reg = <0x11400000 0x1000>;
>>> +             interrupts = <0 46 0>;
>>> +
>>> +             wakup_eint: wakeup-interrupt-controller {
>>> +                     compatible = "samsung,exynos4210-wakeup-eint";
>>> +                     interrupt-parent = <&gic>;
>>> +                     interrupts = <0 32 0>;
>>> +             };
>>
>> Typo, should be "wakeup_eint". And what happened to #interrupt-cells? And the
>> interrupt map?
>
> Hi Olof,
>
> With the pinctrl driver, there is change in the way the wakeup
> interrupts are handled. Each of the four wakeup banks (GPX0 to GPX3)
> are now individual interrupt controllers (introduced by Tomasz Figa).
> The wakeup interrupts generated by GPX2 and GPX3 are muxed into the <0
> 32 0> interrupt of GIC.
>
> So the interrupts-cells and interrupt map are not required in the
> above node. The label "wakup_eint" can actually to dropped and
> probably the node name "wakeup-interrupt-controller" should be renamed
> to avoid interpreting it as a interrupt controller node.

Yep, I was completely misled by the remaining existence of the
wakup_eint [sic] label. I'll submit a patch to remove those.

Seems that things are working as appropriate with the gpio/pinctrl
binding. It's a little trickier to find out which interrupt specifier
to use since it requires one more lookup in the user manual, but
that's alright.


>> Do you have an example of a tested user or a testcase for this? I'm
>> trying to get interrupts going on these pins, and it's not looking like
>> it's even close to working.
>
> The following is a rudimentary patch with which I have tested wakeup
> interrupts GPX0[0] and GPX3[7] on smdk5250 board. The gpio number in
> the dts file can be changed to test wakeup interrupt on pins other
> than EINT31 (GPX3[7]).

Thanks!

-Olof



More information about the linux-arm-kernel mailing list