[PATCH 19/20] ARM: Exynos5: Add combiner, wakeup interrupt controller and ethernet nodes
Olof Johansson
olof at lixom.net
Sat May 19 02:23:43 EDT 2012
On Fri, May 18, 2012 at 11:11 PM, Grant Likely
<grant.likely at secretlab.ca> wrote:
> On Wed, 2 May 2012 10:57:11 -0700, Olof Johansson <olof at lixom.net> wrote:
>> Hi,
>>
>> [adding devicetree-discuss]
>>
>> On Mon, Apr 30, 2012 at 12:14 PM, Thomas Abraham
>> <thomas.abraham at linaro.org> wrote:
>> > And interrupt combiner, external interrupt wakeup interrupt controller
>> > and smsc9215 lan controller nodes.
>> >
>> > Signed-off-by: Thomas Abraham <thomas.abraham at linaro.org>
>> > ---
>> > arch/arm/boot/dts/exynos5250-smdk5250.dts | 11 ++++++
>> > arch/arm/boot/dts/exynos5250.dtsi | 55 +++++++++++++++++++++++++++++
>> > 2 files changed, 66 insertions(+), 0 deletions(-)
>> >
>> > diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts
>> > index bcc4b89..dbc4bdb 100644
>> > --- a/arch/arm/boot/dts/exynos5250-smdk5250.dts
>> > +++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts
>> > @@ -24,6 +24,17 @@
>> > bootargs = "root=/dev/ram0 rw ramdisk=8192 console=ttySAC1,115200";
>> > };
>> >
>> > + lan9215 at 0x05000000 {
>> > + compatible = "smsc,lan9215", "smsc,lan9115";
>> > + reg = <0x05000000 0x20000>;
>> > + interrupts = <5 0>;
>> > + interrupt-parent = <&wakeup_eint>;
>> > + phy-mode = "mii";
>> > + smsc,irq-push-pull;
>> > + smsc,force-internal-phy;
>> > + local-mac-address = [00 80 00 23 45 67];
>> > + };
>> > +
>>
>> since the 911x sits on a chipselect bus, you should instead add that
>> bus to the dtsi and define this on that bus.
>>
>> Something like this in the dtsi:
>>
>> sromc-bus {
>> #address-cells = <2>;
>> #size-cells = <1>;
>> ranges = < 0 0 0x04000000 0x20000
>> 1 0 0x05000000 0x20000
>> 2 0 0x06000000 0x20000
>> 3 0 0x07000000 0x20000>;
>> };
>>
>> and in the dts:
>>
>> sromc-bus {
>> lan9215 at 1,0 {
>> compatible = "smsc,lan9215", "smsc,lan9115";
>> reg = <1 0 0x20000>;
>> interrupts = <5 0>;
>> interrupt-parent = <&wakeup_eint>;
>> phy-mode = "mii";
>> smsc,irq-push-pull;
>> smsc,force-internal-phy;
>> local-mac-address = [00 80 00 23 45 67];
>> };
>> };
>>
>>
>> (You might be able to do just fine with one address cell, I'm not 100%
>> sure why Grant's example uses two, but I used the same above for
>> consistency).
>
> Because otherwise there is no way to describe an offset from the base
> of the chipselect base value, and the core code will try to apply the
> size to the cs part of the address specifier. (so in the example
> above the address range described by:
>
> reg = <1 0x20000>;
>
> would mean cs values 1 to 0x20001; which is definitely wrong.
Ah yes, that makes perfect sense. I can't seem to create an account to
update the 'Device_Tree_Usage' page on the devicetree.org wiki, but
it'd probably not be a bad idea to include the above for explanation
there.
-Olof
More information about the linux-arm-kernel
mailing list