[PATCH 5/9] ARM: dts: Add GPMC node for OMAP2, OMAP4 and OMAP5

Javier Martinez Canillas javier at dowhile0.org
Fri Mar 8 20:25:13 EST 2013


On Fri, Mar 8, 2013 at 10:41 PM, Jon Hunter <jon-hunter at ti.com> wrote:
>
> On 03/08/2013 02:25 PM, Javier Martinez Canillas wrote:
>> On Fri, Mar 8, 2013 at 6:27 PM, Jon Hunter <jon-hunter at ti.com> wrote:
>>> Add the device-tree node for GPMC on OMAP2, OMAP4 and OMAP5 devices.
>>>
>>> Signed-off-by: Jon Hunter <jon-hunter at ti.com>
>>> ---
>>>  arch/arm/boot/dts/omap2420.dtsi |   11 +++++++++++
>>>  arch/arm/boot/dts/omap2430.dtsi |   11 +++++++++++
>>>  arch/arm/boot/dts/omap4.dtsi    |   11 +++++++++++
>>>  arch/arm/boot/dts/omap5.dtsi    |   11 +++++++++++
>>>  4 files changed, 44 insertions(+)
>>>
>>> diff --git a/arch/arm/boot/dts/omap2420.dtsi b/arch/arm/boot/dts/omap2420.dtsi
>>> index af65609..d4ce6c2 100644
>>> --- a/arch/arm/boot/dts/omap2420.dtsi
>>> +++ b/arch/arm/boot/dts/omap2420.dtsi
>>> @@ -29,6 +29,17 @@
>>>                         pinctrl-single,function-mask = <0x3f>;
>>>                 };
>>>
>>> +               gpmc: gpmc at 6800a000 {
>>> +                       compatible = "ti,omap2420-gpmc";
>>> +                       reg = <0x6800a000 0x1000>;
>>> +                       #address-cells = <2>;
>>> +                       #size-cells = <1>;
>>> +                       interrupts = <20>;
>>> +                       gpmc,num-cs = <8>;
>>> +                       gpmc,num-waitpins = <4>;
>>> +                       ti,hwmods = "gpmc";
>>> +               };
>>> +
>>>                 mcbsp1: mcbsp at 48074000 {
>>>                         compatible = "ti,omap2420-mcbsp";
>>>                         reg = <0x48074000 0xff>;
>>> diff --git a/arch/arm/boot/dts/omap2430.dtsi b/arch/arm/boot/dts/omap2430.dtsi
>>> index c392445..832f184 100644
>>> --- a/arch/arm/boot/dts/omap2430.dtsi
>>> +++ b/arch/arm/boot/dts/omap2430.dtsi
>>> @@ -29,6 +29,17 @@
>>>                         pinctrl-single,function-mask = <0x3f>;
>>>                 };
>>>
>>> +               gpmc: gpmc at 6e000000 {
>>> +                       compatible = "ti,omap2430-gpmc";
>>> +                       reg = <0x6e000000 0x1000>;
>>> +                       #address-cells = <2>;
>>> +                       #size-cells = <1>;
>>> +                       interrupts = <20>;
>>> +                       gpmc,num-cs = <8>;
>>> +                       gpmc,num-waitpins = <4>;
>>> +                       ti,hwmods = "gpmc";
>>> +               };
>>> +
>>>                 mcbsp1: mcbsp at 48074000 {
>>>                         compatible = "ti,omap2430-mcbsp";
>>>                         reg = <0x48074000 0xff>;
>>> diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi
>>> index 827f6f3..726ef11 100644
>>> --- a/arch/arm/boot/dts/omap4.dtsi
>>> +++ b/arch/arm/boot/dts/omap4.dtsi
>>> @@ -196,6 +196,17 @@
>>>                         #interrupt-cells = <1>;
>>>                 };
>>>
>>> +               gpmc: gpmc at 50000000 {
>>> +                       compatible = "ti,omap4430-gpmc";
>>> +                       reg = <0x50000000 0x1000>;
>>
>> Hi Jon,
>>
>> By looking at the GPMC Register Summary from both the OMAP4460 and OMAP OMAP35x
>> Technical Reference Manuals I see that the GPMC register address space
>> is only 720 bytes length. From base address + 0x0 to base address +
>> 0x02d0.
>>
>> So shouldn't the regs property be <0x50000000 0x2d0> instead?
>>
>> Of course are only a few kilobytes but still I wonder if it makes
>> sense to map them when they are not going to be used.
>
> Yes you are correct. In general, I have been trying to stay some-what
> consistent with what hwmod was doing as this was being auto-generated by
> some hardware design specs and I believe they wanted to eventually get
> to the point where DT files would be auto-generated too for OMAP.
> Furthermore my understanding is that the smallest page that can be
> mapped by the kernel for ARM is 4kB. So if you declare it as 0x2d0 or
> 0x1000 it will map a 4kB page (I could be wrong here).
>
> I don't have any strong feelings here but will do what the consensus
> prefers.
>

Yes, you are right here.

I forget that ioremap() does a page-aligned mapping and since the
minimum page size for ARM is 4KB as you said, there is no difference
between using 0x2d0 and 0x1000. Sorry for the noise.

Reviewed-by: Javier Martinez Canillas <javier.martinez at collabora.co.uk>

> Cheers
> Jon

Best regards,
Javier



More information about the linux-arm-kernel mailing list