All of lore.kernel.org
 help / color / mirror / Atom feed
From: b.brezillon@overkiz.com (boris brezillon)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] ARM: at91/dt: split sam9x5 peripheral definitions
Date: Thu, 08 Aug 2013 17:52:44 +0200	[thread overview]
Message-ID: <5203BECC.6090407@overkiz.com> (raw)
In-Reply-To: <5203B7DA.8030706@overkiz.com>

On 08/08/2013 17:23, boris brezillon wrote:
> Hello Jean-Christophe,
>
> On 08/08/2013 16:07, Jean-Christophe PLAGNIOL-VILLARD wrote:
>> On 12:14 Wed 07 Aug     , Boris BREZILLON wrote:
>>> This patch splits the sam9x5 peripheral definitions into:
>>> - a common base for all sam9x5 SoCs (at91sam9x5.dtsi)
>>> - several optional peripheral definitions which will be included by 
>>> specific
>>>    sam9x5 SoCs (at91sam9x5_'periph name'.dtsi)
>>>
>>> This provides a better representation of the real hardware (drop 
>>> unneeded
>>> dt nodes) and avoids future peripheral id conflict (lcdc and isi 
>>> both use
>>> peripheral id 25).
>> I really don't like this
>>
>> the mapping is soc specific (here familly) so I does not see any 
>> advantage
>> except move files so NO for me
> Let me explain in detail why I did that.
>
> This separation was part of the "at91 common clk" series and was here 
> to avoid the
> definition of unavailable clocks or definition of clocks with the same 
> id (which may result
> in bad clk registration).
> If we keep all the definitions in one .dtsi file (even the one which 
> are not really available),
> I may need to add a new property to each peripheral (and system) clk 
> node to specify the
> availabilty of the clock (something similar to 'status="disabled"' in 
> device nodes).
>
> As explained to Thomas, I thought device tree was here to give a real 
> description of the
> hardware parts (in case of sam9x5.dtsi the description of the common 
> parts of sam9x5 SoC
> family).
> If you define peripherals that are not present in a SoC (lets say 
> macb0 for sam9g15) you break
> this rule.
>
> I'm not telling I have the right approach here, I'm just trying to 
> understand what should be done and
> what should not.
>
> Finally, I'd like to point that the memory footprint of the dtb file 
> generated after this patch has been
> applied is bit smaller (even if it won't make a real difference):
>
> with this patch:
>
> 15937 arch/arm/boot/dts/at91-ariag25.dtb
> 15860 arch/arm/boot/dts/at91sam9g15ek.dtb
> 16905 arch/arm/boot/dts/at91sam9g25ek.dtb
> 16473 arch/arm/boot/dts/at91sam9g35ek.dtb
> 17341 arch/arm/boot/dts/at91sam9x25ek.dtb
This one is bigger because usart3 periph node was not defined in 
sam9x5.dtsi and is defined
in sam9x5_usart3.dtsi.
>
> 16473 arch/arm/boot/dts/at91sam9x35ek.dtb
>
> without this patch:
>
> 16077 arch/arm/boot/dts/at91-ariag25.dtb
> 16824 arch/arm/boot/dts/at91sam9g15ek.dtb
> 16849 arch/arm/boot/dts/at91sam9g25ek.dtb
> 16849 arch/arm/boot/dts/at91sam9g35ek.dtb
> 15017 arch/arm/boot/dts/at91sam9m10g45ek.dtb
sam9m10g45ek is not part of the sam9x5 family
>
> 17145 arch/arm/boot/dts/at91sam9x25ek.dtb
> 16849 arch/arm/boot/dts/at91sam9x35ek.dtb
>
> Best Regards,
>
> Boris
>
>> Best Regards,
>> J.
>>> Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
>>> ---
>>>   arch/arm/boot/dts/at91sam9g25.dtsi       |    2 +
>>>   arch/arm/boot/dts/at91sam9g35.dtsi       |    1 +
>>>   arch/arm/boot/dts/at91sam9x25.dtsi       |   24 ++---------
>>>   arch/arm/boot/dts/at91sam9x35.dtsi       |    1 +
>>>   arch/arm/boot/dts/at91sam9x5.dtsi        |   67 
>>> ------------------------------
>>>   arch/arm/boot/dts/at91sam9x5_macb0.dtsi  |   56 
>>> +++++++++++++++++++++++++
>>>   arch/arm/boot/dts/at91sam9x5_macb1.dtsi  |   44 ++++++++++++++++++++
>>>   arch/arm/boot/dts/at91sam9x5_usart3.dtsi |   51 
>>> +++++++++++++++++++++++
>>>   8 files changed, 158 insertions(+), 88 deletions(-)
>>>   create mode 100644 arch/arm/boot/dts/at91sam9x5_macb0.dtsi
>>>   create mode 100644 arch/arm/boot/dts/at91sam9x5_macb1.dtsi
>>>   create mode 100644 arch/arm/boot/dts/at91sam9x5_usart3.dtsi
>>>
>>> diff --git a/arch/arm/boot/dts/at91sam9g25.dtsi 
>>> b/arch/arm/boot/dts/at91sam9g25.dtsi
>>> index b4ec6fe..17b8799 100644
>>> --- a/arch/arm/boot/dts/at91sam9g25.dtsi
>>> +++ b/arch/arm/boot/dts/at91sam9g25.dtsi
>>> @@ -7,6 +7,8 @@
>>>    */
>>>     #include "at91sam9x5.dtsi"
>>> +#include "at91sam9x5_usart3.dtsi"
>>> +#include "at91sam9x5_macb0.dtsi"
>>>     / {
>>>       model = "Atmel AT91SAM9G25 SoC";
>>> diff --git a/arch/arm/boot/dts/at91sam9g35.dtsi 
>>> b/arch/arm/boot/dts/at91sam9g35.dtsi
>>> index bebf9f5..e35c2fc 100644
>>> --- a/arch/arm/boot/dts/at91sam9g35.dtsi
>>> +++ b/arch/arm/boot/dts/at91sam9g35.dtsi
>>> @@ -7,6 +7,7 @@
>>>    */
>>>     #include "at91sam9x5.dtsi"
>>> +#include "at91sam9x5_macb0.dtsi"
>>>     / {
>>>       model = "Atmel AT91SAM9G35 SoC";
>>> diff --git a/arch/arm/boot/dts/at91sam9x25.dtsi 
>>> b/arch/arm/boot/dts/at91sam9x25.dtsi
>>> index 49e94ab..c255421 100644
>>> --- a/arch/arm/boot/dts/at91sam9x25.dtsi
>>> +++ b/arch/arm/boot/dts/at91sam9x25.dtsi
>>> @@ -7,6 +7,9 @@
>>>    */
>>>     #include "at91sam9x5.dtsi"
>>> +#include "at91sam9x5_usart3.dtsi"
>>> +#include "at91sam9x5_macb0.dtsi"
>>> +#include "at91sam9x5_macb1.dtsi"
>>>     / {
>>>       model = "Atmel AT91SAM9X25 SoC";
>>> @@ -22,27 +25,6 @@
>>>                          0x80000000 0xfffd0000 0xb83fffff  /* pioC */
>>>                          0x003fffff 0x003f8000 0x00000000  /* pioD */
>>>                         >;
>>> -
>>> -                macb1 {
>>> -                    pinctrl_macb1_rmii: macb1_rmii-0 {
>>> -                        atmel,pins =
>>> -                            <AT91_PIOC 16 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC16 periph B */
>>> -                             AT91_PIOC 18 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC18 periph B */
>>> -                             AT91_PIOC 19 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC19 periph B */
>>> -                             AT91_PIOC 20 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC20 periph B */
>>> -                             AT91_PIOC 21 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC21 periph B */
>>> -                             AT91_PIOC 27 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC27 periph B */
>>> -                             AT91_PIOC 28 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC28 periph B */
>>> -                             AT91_PIOC 29 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC29 periph B */
>>> -                             AT91_PIOC 30 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC30 periph B */
>>> -                             AT91_PIOC 31 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE>;    /* PC31 periph B */
>>> -                    };
>>> -                };
>>> -            };
>>> -
>>> -            macb1: ethernet at f8030000 {
>>> -                pinctrl-names = "default";
>>> -                pinctrl-0 = <&pinctrl_macb1_rmii>;
>>>               };
>>>           };
>>>       };
>>> diff --git a/arch/arm/boot/dts/at91sam9x35.dtsi 
>>> b/arch/arm/boot/dts/at91sam9x35.dtsi
>>> index 1a3d525..8eac66c 100644
>>> --- a/arch/arm/boot/dts/at91sam9x35.dtsi
>>> +++ b/arch/arm/boot/dts/at91sam9x35.dtsi
>>> @@ -7,6 +7,7 @@
>>>    */
>>>     #include "at91sam9x5.dtsi"
>>> +#include "at91sam9x5_macb0.dtsi"
>>>     / {
>>>       model = "Atmel AT91SAM9X35 SoC";
>>> diff --git a/arch/arm/boot/dts/at91sam9x5.dtsi 
>>> b/arch/arm/boot/dts/at91sam9x5.dtsi
>>> index 57d45f5..05f4c74 100644
>>> --- a/arch/arm/boot/dts/at91sam9x5.dtsi
>>> +++ b/arch/arm/boot/dts/at91sam9x5.dtsi
>>> @@ -206,29 +206,6 @@
>>>                       };
>>>                   };
>>>   -                usart3 {
>>> -                    pinctrl_usart3: usart3-0 {
>>> -                        atmel,pins =
>>> -                            <AT91_PIOC 22 AT91_PERIPH_B 
>>> AT91_PINCTRL_PULL_UP    /* PC22 periph B with pullup */
>>> -                             AT91_PIOC 23 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE>;    /* PC23 periph B */
>>> -                    };
>>> -
>>> -                    pinctrl_usart3_rts: usart3_rts-0 {
>>> -                        atmel,pins =
>>> -                            <AT91_PIOC 24 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE>;    /* PC24 periph B */
>>> -                    };
>>> -
>>> -                    pinctrl_usart3_cts: usart3_cts-0 {
>>> -                        atmel,pins =
>>> -                            <AT91_PIOC 25 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE>;    /* PC25 periph B */
>>> -                    };
>>> -
>>> -                    pinctrl_usart3_sck: usart3_sck-0 {
>>> -                        atmel,pins =
>>> -                            <AT91_PIOC 26 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE>;    /* PC26 periph B */
>>> -                    };
>>> -                };
>>> -
>>>                   uart0 {
>>>                       pinctrl_uart0: uart0-0 {
>>>                           atmel,pins =
>>> @@ -277,34 +254,6 @@
>>>                       };
>>>                   };
>>>   -                macb0 {
>>> -                    pinctrl_macb0_rmii: macb0_rmii-0 {
>>> -                        atmel,pins =
>>> -                            <AT91_PIOB 0 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB0 periph A */
>>> -                             AT91_PIOB 1 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB1 periph A */
>>> -                             AT91_PIOB 2 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB2 periph A */
>>> -                             AT91_PIOB 3 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB3 periph A */
>>> -                             AT91_PIOB 4 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB4 periph A */
>>> -                             AT91_PIOB 5 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB5 periph A */
>>> -                             AT91_PIOB 6 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB6 periph A */
>>> -                             AT91_PIOB 7 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB7 periph A */
>>> -                             AT91_PIOB 9 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB9 periph A */
>>> -                             AT91_PIOB 10 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE>;    /* PB10 periph A */
>>> -                    };
>>> -
>>> -                    pinctrl_macb0_rmii_mii: macb0_rmii_mii-0 {
>>> -                        atmel,pins =
>>> -                            <AT91_PIOB 8 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB8 periph A */
>>> -                             AT91_PIOB 11 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB11 periph A */
>>> -                             AT91_PIOB 12 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB12 periph A */
>>> -                             AT91_PIOB 13 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB13 periph A */
>>> -                             AT91_PIOB 14 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB14 periph A */
>>> -                             AT91_PIOB 15 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB15 periph A */
>>> -                             AT91_PIOB 16 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB16 periph A */
>>> -                             AT91_PIOB 17 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE>;    /* PB17 periph A */
>>> -                    };
>>> -                };
>>> -
>>>                   mmc0 {
>>>                       pinctrl_mmc0_slot0_clk_cmd_dat0: 
>>> mmc0_slot0_clk_cmd_dat0-0 {
>>>                           atmel,pins =
>>> @@ -605,22 +554,6 @@
>>>                   status = "disabled";
>>>               };
>>>   -            macb0: ethernet at f802c000 {
>>> -                compatible = "cdns,at32ap7000-macb", "cdns,macb";
>>> -                reg = <0xf802c000 0x100>;
>>> -                interrupts = <24 IRQ_TYPE_LEVEL_HIGH 3>;
>>> -                pinctrl-names = "default";
>>> -                pinctrl-0 = <&pinctrl_macb0_rmii>;
>>> -                status = "disabled";
>>> -            };
>>> -
>>> -            macb1: ethernet at f8030000 {
>>> -                compatible = "cdns,at32ap7000-macb", "cdns,macb";
>>> -                reg = <0xf8030000 0x100>;
>>> -                interrupts = <27 IRQ_TYPE_LEVEL_HIGH 3>;
>>> -                status = "disabled";
>>> -            };
>>> -
>>>               i2c0: i2c at f8010000 {
>>>                   compatible = "atmel,at91sam9x5-i2c";
>>>                   reg = <0xf8010000 0x100>;
>>> diff --git a/arch/arm/boot/dts/at91sam9x5_macb0.dtsi 
>>> b/arch/arm/boot/dts/at91sam9x5_macb0.dtsi
>>> new file mode 100644
>>> index 0000000..55731ff
>>> --- /dev/null
>>> +++ b/arch/arm/boot/dts/at91sam9x5_macb0.dtsi
>>> @@ -0,0 +1,56 @@
>>> +/*
>>> + * at91sam9x5_macb0.dtsi - Device Tree Include file for AT91SAM9x5 
>>> SoC with 1
>>> + * Ethernet interface.
>>> + *
>>> + * Copyright (C) 2013 Boris BREZILLON <b.brezillon@overkiz.com>
>>> + *
>>> + * Licensed under GPLv2.
>>> + */
>>> +
>>> +#include <dt-bindings/pinctrl/at91.h>
>>> +#include <dt-bindings/interrupt-controller/irq.h>
>>> +
>>> +/ {
>>> +    ahb {
>>> +        apb {
>>> +            pinctrl at fffff400 {
>>> +                macb0 {
>>> +                    pinctrl_macb0_rmii: macb0_rmii-0 {
>>> +                        atmel,pins =
>>> +                            <AT91_PIOB 0 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB0 periph A */
>>> +                             AT91_PIOB 1 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB1 periph A */
>>> +                             AT91_PIOB 2 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB2 periph A */
>>> +                             AT91_PIOB 3 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB3 periph A */
>>> +                             AT91_PIOB 4 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB4 periph A */
>>> +                             AT91_PIOB 5 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB5 periph A */
>>> +                             AT91_PIOB 6 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB6 periph A */
>>> +                             AT91_PIOB 7 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB7 periph A */
>>> +                             AT91_PIOB 9 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB9 periph A */
>>> +                             AT91_PIOB 10 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE>;    /* PB10 periph A */
>>> +                    };
>>> +
>>> +                    pinctrl_macb0_rmii_mii: macb0_rmii_mii-0 {
>>> +                        atmel,pins =
>>> +                            <AT91_PIOB 8 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB8 periph A */
>>> +                             AT91_PIOB 11 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB11 periph A */
>>> +                             AT91_PIOB 12 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB12 periph A */
>>> +                             AT91_PIOB 13 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB13 periph A */
>>> +                             AT91_PIOB 14 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB14 periph A */
>>> +                             AT91_PIOB 15 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB15 periph A */
>>> +                             AT91_PIOB 16 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB16 periph A */
>>> +                             AT91_PIOB 17 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE>;    /* PB17 periph A */
>>> +                    };
>>> +                };
>>> +            };
>>> +
>>> +            macb0: ethernet at f802c000 {
>>> +                compatible = "cdns,at32ap7000-macb", "cdns,macb";
>>> +                reg = <0xf802c000 0x100>;
>>> +                interrupts = <24 IRQ_TYPE_LEVEL_HIGH 3>;
>>> +                pinctrl-names = "default";
>>> +                pinctrl-0 = <&pinctrl_macb0_rmii>;
>>> +                status = "disabled";
>>> +            };
>>> +        };
>>> +    };
>>> +};
>>> diff --git a/arch/arm/boot/dts/at91sam9x5_macb1.dtsi 
>>> b/arch/arm/boot/dts/at91sam9x5_macb1.dtsi
>>> new file mode 100644
>>> index 0000000..77425a6
>>> --- /dev/null
>>> +++ b/arch/arm/boot/dts/at91sam9x5_macb1.dtsi
>>> @@ -0,0 +1,44 @@
>>> +/*
>>> + * at91sam9x5_macb1.dtsi - Device Tree Include file for AT91SAM9x5 
>>> SoC with 2
>>> + * Ethernet interfaces.
>>> + *
>>> + * Copyright (C) 2013 Boris BREZILLON <b.brezillon@overkiz.com>
>>> + *
>>> + * Licensed under GPLv2.
>>> + */
>>> +
>>> +#include <dt-bindings/pinctrl/at91.h>
>>> +#include <dt-bindings/interrupt-controller/irq.h>
>>> +
>>> +/ {
>>> +    ahb {
>>> +        apb {
>>> +            pinctrl at fffff400 {
>>> +                macb1 {
>>> +                    pinctrl_macb1_rmii: macb1_rmii-0 {
>>> +                        atmel,pins =
>>> +                            <AT91_PIOC 16 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC16 periph B */
>>> +                             AT91_PIOC 18 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC18 periph B */
>>> +                             AT91_PIOC 19 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC19 periph B */
>>> +                             AT91_PIOC 20 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC20 periph B */
>>> +                             AT91_PIOC 21 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC21 periph B */
>>> +                             AT91_PIOC 27 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC27 periph B */
>>> +                             AT91_PIOC 28 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC28 periph B */
>>> +                             AT91_PIOC 29 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC29 periph B */
>>> +                             AT91_PIOC 30 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC30 periph B */
>>> +                             AT91_PIOC 31 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE>;    /* PC31 periph B */
>>> +                    };
>>> +                };
>>> +            };
>>> +
>>> +            macb1: ethernet at f8030000 {
>>> +                compatible = "cdns,at32ap7000-macb", "cdns,macb";
>>> +                reg = <0xf8030000 0x100>;
>>> +                interrupts = <27 IRQ_TYPE_LEVEL_HIGH 3>;
>>> +                pinctrl-names = "default";
>>> +                pinctrl-0 = <&pinctrl_macb1_rmii>;
>>> +                status = "disabled";
>>> +            };
>>> +        };
>>> +    };
>>> +};
>>> diff --git a/arch/arm/boot/dts/at91sam9x5_usart3.dtsi 
>>> b/arch/arm/boot/dts/at91sam9x5_usart3.dtsi
>>> new file mode 100644
>>> index 0000000..5589579
>>> --- /dev/null
>>> +++ b/arch/arm/boot/dts/at91sam9x5_usart3.dtsi
>>> @@ -0,0 +1,51 @@
>>> +/*
>>> + * at91sam9x5_lcdc.dtsi - Device Tree Include file for AT91SAM9x5 
>>> SoC with
>>> + * 4 USART.
>>> + *
>>> + * Copyright (C) 2013 Boris BREZILLON <b.brezillon@overkiz.com>
>>> + *
>>> + * Licensed under GPLv2.
>>> + */
>>> +
>>> +#include <dt-bindings/pinctrl/at91.h>
>>> +#include <dt-bindings/interrupt-controller/irq.h>
>>> +
>>> +/ {
>>> +    ahb {
>>> +        apb {
>>> +            pinctrl at fffff400 {
>>> +                usart3 {
>>> +                    pinctrl_usart3: usart3-0 {
>>> +                        atmel,pins =
>>> +                            <AT91_PIOC 22 AT91_PERIPH_B 
>>> AT91_PINCTRL_PULL_UP    /* PC22 periph B with pullup */
>>> +                             AT91_PIOC 23 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE>;        /* PC23 periph B */
>>> +                    };
>>> +
>>> +                    pinctrl_usart3_rts: usart3_rts-0 {
>>> +                        atmel,pins =
>>> +                            <AT91_PIOC 24 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE>;        /* PC24 periph B */
>>> +                    };
>>> +
>>> +                    pinctrl_usart3_cts: usart3_cts-0 {
>>> +                        atmel,pins =
>>> +                            <AT91_PIOC 25 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE>;        /* PC25 periph B */
>>> +                    };
>>> +
>>> +                    pinctrl_usart3_sck: usart3_sck-0 {
>>> +                        atmel,pins =
>>> +                            <AT91_PIOC 26 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE>;        /* PC26 periph B */
>>> +                    };
>>> +                };
>>> +            };
>>> +
>>> +            usart3: serial at f8028000 {
>>> +                compatible = "atmel,at91sam9260-usart";
>>> +                reg = <0xf8028000 0x200>;
>>> +                interrupts = <8 IRQ_TYPE_LEVEL_HIGH 5>;
>>> +                pinctrl-names = "default";
>>> +                pinctrl-0 = <&pinctrl_usart3>;
>>> +                status = "disabled";
>>> +            };
>>> +        };
>>> +    };
>>> +};
>>> -- 
>>> 1.7.9.5
>>>
>

WARNING: multiple messages have this Message-ID (diff)
From: boris brezillon <b.brezillon@overkiz.com>
To: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Cc: Russell King <linux@arm.linux.org.uk>,
	Nicolas Ferre <nicolas.ferre@atmel.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	Ludovic Desroches <ludovic.desroches@atmel.com>,
	Richard Genoud <richard.genoud@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH] ARM: at91/dt: split sam9x5 peripheral definitions
Date: Thu, 08 Aug 2013 17:52:44 +0200	[thread overview]
Message-ID: <5203BECC.6090407@overkiz.com> (raw)
In-Reply-To: <5203B7DA.8030706@overkiz.com>

On 08/08/2013 17:23, boris brezillon wrote:
> Hello Jean-Christophe,
>
> On 08/08/2013 16:07, Jean-Christophe PLAGNIOL-VILLARD wrote:
>> On 12:14 Wed 07 Aug     , Boris BREZILLON wrote:
>>> This patch splits the sam9x5 peripheral definitions into:
>>> - a common base for all sam9x5 SoCs (at91sam9x5.dtsi)
>>> - several optional peripheral definitions which will be included by 
>>> specific
>>>    sam9x5 SoCs (at91sam9x5_'periph name'.dtsi)
>>>
>>> This provides a better representation of the real hardware (drop 
>>> unneeded
>>> dt nodes) and avoids future peripheral id conflict (lcdc and isi 
>>> both use
>>> peripheral id 25).
>> I really don't like this
>>
>> the mapping is soc specific (here familly) so I does not see any 
>> advantage
>> except move files so NO for me
> Let me explain in detail why I did that.
>
> This separation was part of the "at91 common clk" series and was here 
> to avoid the
> definition of unavailable clocks or definition of clocks with the same 
> id (which may result
> in bad clk registration).
> If we keep all the definitions in one .dtsi file (even the one which 
> are not really available),
> I may need to add a new property to each peripheral (and system) clk 
> node to specify the
> availabilty of the clock (something similar to 'status="disabled"' in 
> device nodes).
>
> As explained to Thomas, I thought device tree was here to give a real 
> description of the
> hardware parts (in case of sam9x5.dtsi the description of the common 
> parts of sam9x5 SoC
> family).
> If you define peripherals that are not present in a SoC (lets say 
> macb0 for sam9g15) you break
> this rule.
>
> I'm not telling I have the right approach here, I'm just trying to 
> understand what should be done and
> what should not.
>
> Finally, I'd like to point that the memory footprint of the dtb file 
> generated after this patch has been
> applied is bit smaller (even if it won't make a real difference):
>
> with this patch:
>
> 15937 arch/arm/boot/dts/at91-ariag25.dtb
> 15860 arch/arm/boot/dts/at91sam9g15ek.dtb
> 16905 arch/arm/boot/dts/at91sam9g25ek.dtb
> 16473 arch/arm/boot/dts/at91sam9g35ek.dtb
> 17341 arch/arm/boot/dts/at91sam9x25ek.dtb
This one is bigger because usart3 periph node was not defined in 
sam9x5.dtsi and is defined
in sam9x5_usart3.dtsi.
>
> 16473 arch/arm/boot/dts/at91sam9x35ek.dtb
>
> without this patch:
>
> 16077 arch/arm/boot/dts/at91-ariag25.dtb
> 16824 arch/arm/boot/dts/at91sam9g15ek.dtb
> 16849 arch/arm/boot/dts/at91sam9g25ek.dtb
> 16849 arch/arm/boot/dts/at91sam9g35ek.dtb
> 15017 arch/arm/boot/dts/at91sam9m10g45ek.dtb
sam9m10g45ek is not part of the sam9x5 family
>
> 17145 arch/arm/boot/dts/at91sam9x25ek.dtb
> 16849 arch/arm/boot/dts/at91sam9x35ek.dtb
>
> Best Regards,
>
> Boris
>
>> Best Regards,
>> J.
>>> Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
>>> ---
>>>   arch/arm/boot/dts/at91sam9g25.dtsi       |    2 +
>>>   arch/arm/boot/dts/at91sam9g35.dtsi       |    1 +
>>>   arch/arm/boot/dts/at91sam9x25.dtsi       |   24 ++---------
>>>   arch/arm/boot/dts/at91sam9x35.dtsi       |    1 +
>>>   arch/arm/boot/dts/at91sam9x5.dtsi        |   67 
>>> ------------------------------
>>>   arch/arm/boot/dts/at91sam9x5_macb0.dtsi  |   56 
>>> +++++++++++++++++++++++++
>>>   arch/arm/boot/dts/at91sam9x5_macb1.dtsi  |   44 ++++++++++++++++++++
>>>   arch/arm/boot/dts/at91sam9x5_usart3.dtsi |   51 
>>> +++++++++++++++++++++++
>>>   8 files changed, 158 insertions(+), 88 deletions(-)
>>>   create mode 100644 arch/arm/boot/dts/at91sam9x5_macb0.dtsi
>>>   create mode 100644 arch/arm/boot/dts/at91sam9x5_macb1.dtsi
>>>   create mode 100644 arch/arm/boot/dts/at91sam9x5_usart3.dtsi
>>>
>>> diff --git a/arch/arm/boot/dts/at91sam9g25.dtsi 
>>> b/arch/arm/boot/dts/at91sam9g25.dtsi
>>> index b4ec6fe..17b8799 100644
>>> --- a/arch/arm/boot/dts/at91sam9g25.dtsi
>>> +++ b/arch/arm/boot/dts/at91sam9g25.dtsi
>>> @@ -7,6 +7,8 @@
>>>    */
>>>     #include "at91sam9x5.dtsi"
>>> +#include "at91sam9x5_usart3.dtsi"
>>> +#include "at91sam9x5_macb0.dtsi"
>>>     / {
>>>       model = "Atmel AT91SAM9G25 SoC";
>>> diff --git a/arch/arm/boot/dts/at91sam9g35.dtsi 
>>> b/arch/arm/boot/dts/at91sam9g35.dtsi
>>> index bebf9f5..e35c2fc 100644
>>> --- a/arch/arm/boot/dts/at91sam9g35.dtsi
>>> +++ b/arch/arm/boot/dts/at91sam9g35.dtsi
>>> @@ -7,6 +7,7 @@
>>>    */
>>>     #include "at91sam9x5.dtsi"
>>> +#include "at91sam9x5_macb0.dtsi"
>>>     / {
>>>       model = "Atmel AT91SAM9G35 SoC";
>>> diff --git a/arch/arm/boot/dts/at91sam9x25.dtsi 
>>> b/arch/arm/boot/dts/at91sam9x25.dtsi
>>> index 49e94ab..c255421 100644
>>> --- a/arch/arm/boot/dts/at91sam9x25.dtsi
>>> +++ b/arch/arm/boot/dts/at91sam9x25.dtsi
>>> @@ -7,6 +7,9 @@
>>>    */
>>>     #include "at91sam9x5.dtsi"
>>> +#include "at91sam9x5_usart3.dtsi"
>>> +#include "at91sam9x5_macb0.dtsi"
>>> +#include "at91sam9x5_macb1.dtsi"
>>>     / {
>>>       model = "Atmel AT91SAM9X25 SoC";
>>> @@ -22,27 +25,6 @@
>>>                          0x80000000 0xfffd0000 0xb83fffff  /* pioC */
>>>                          0x003fffff 0x003f8000 0x00000000  /* pioD */
>>>                         >;
>>> -
>>> -                macb1 {
>>> -                    pinctrl_macb1_rmii: macb1_rmii-0 {
>>> -                        atmel,pins =
>>> -                            <AT91_PIOC 16 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC16 periph B */
>>> -                             AT91_PIOC 18 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC18 periph B */
>>> -                             AT91_PIOC 19 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC19 periph B */
>>> -                             AT91_PIOC 20 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC20 periph B */
>>> -                             AT91_PIOC 21 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC21 periph B */
>>> -                             AT91_PIOC 27 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC27 periph B */
>>> -                             AT91_PIOC 28 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC28 periph B */
>>> -                             AT91_PIOC 29 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC29 periph B */
>>> -                             AT91_PIOC 30 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC30 periph B */
>>> -                             AT91_PIOC 31 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE>;    /* PC31 periph B */
>>> -                    };
>>> -                };
>>> -            };
>>> -
>>> -            macb1: ethernet@f8030000 {
>>> -                pinctrl-names = "default";
>>> -                pinctrl-0 = <&pinctrl_macb1_rmii>;
>>>               };
>>>           };
>>>       };
>>> diff --git a/arch/arm/boot/dts/at91sam9x35.dtsi 
>>> b/arch/arm/boot/dts/at91sam9x35.dtsi
>>> index 1a3d525..8eac66c 100644
>>> --- a/arch/arm/boot/dts/at91sam9x35.dtsi
>>> +++ b/arch/arm/boot/dts/at91sam9x35.dtsi
>>> @@ -7,6 +7,7 @@
>>>    */
>>>     #include "at91sam9x5.dtsi"
>>> +#include "at91sam9x5_macb0.dtsi"
>>>     / {
>>>       model = "Atmel AT91SAM9X35 SoC";
>>> diff --git a/arch/arm/boot/dts/at91sam9x5.dtsi 
>>> b/arch/arm/boot/dts/at91sam9x5.dtsi
>>> index 57d45f5..05f4c74 100644
>>> --- a/arch/arm/boot/dts/at91sam9x5.dtsi
>>> +++ b/arch/arm/boot/dts/at91sam9x5.dtsi
>>> @@ -206,29 +206,6 @@
>>>                       };
>>>                   };
>>>   -                usart3 {
>>> -                    pinctrl_usart3: usart3-0 {
>>> -                        atmel,pins =
>>> -                            <AT91_PIOC 22 AT91_PERIPH_B 
>>> AT91_PINCTRL_PULL_UP    /* PC22 periph B with pullup */
>>> -                             AT91_PIOC 23 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE>;    /* PC23 periph B */
>>> -                    };
>>> -
>>> -                    pinctrl_usart3_rts: usart3_rts-0 {
>>> -                        atmel,pins =
>>> -                            <AT91_PIOC 24 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE>;    /* PC24 periph B */
>>> -                    };
>>> -
>>> -                    pinctrl_usart3_cts: usart3_cts-0 {
>>> -                        atmel,pins =
>>> -                            <AT91_PIOC 25 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE>;    /* PC25 periph B */
>>> -                    };
>>> -
>>> -                    pinctrl_usart3_sck: usart3_sck-0 {
>>> -                        atmel,pins =
>>> -                            <AT91_PIOC 26 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE>;    /* PC26 periph B */
>>> -                    };
>>> -                };
>>> -
>>>                   uart0 {
>>>                       pinctrl_uart0: uart0-0 {
>>>                           atmel,pins =
>>> @@ -277,34 +254,6 @@
>>>                       };
>>>                   };
>>>   -                macb0 {
>>> -                    pinctrl_macb0_rmii: macb0_rmii-0 {
>>> -                        atmel,pins =
>>> -                            <AT91_PIOB 0 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB0 periph A */
>>> -                             AT91_PIOB 1 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB1 periph A */
>>> -                             AT91_PIOB 2 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB2 periph A */
>>> -                             AT91_PIOB 3 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB3 periph A */
>>> -                             AT91_PIOB 4 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB4 periph A */
>>> -                             AT91_PIOB 5 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB5 periph A */
>>> -                             AT91_PIOB 6 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB6 periph A */
>>> -                             AT91_PIOB 7 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB7 periph A */
>>> -                             AT91_PIOB 9 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB9 periph A */
>>> -                             AT91_PIOB 10 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE>;    /* PB10 periph A */
>>> -                    };
>>> -
>>> -                    pinctrl_macb0_rmii_mii: macb0_rmii_mii-0 {
>>> -                        atmel,pins =
>>> -                            <AT91_PIOB 8 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB8 periph A */
>>> -                             AT91_PIOB 11 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB11 periph A */
>>> -                             AT91_PIOB 12 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB12 periph A */
>>> -                             AT91_PIOB 13 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB13 periph A */
>>> -                             AT91_PIOB 14 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB14 periph A */
>>> -                             AT91_PIOB 15 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB15 periph A */
>>> -                             AT91_PIOB 16 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB16 periph A */
>>> -                             AT91_PIOB 17 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE>;    /* PB17 periph A */
>>> -                    };
>>> -                };
>>> -
>>>                   mmc0 {
>>>                       pinctrl_mmc0_slot0_clk_cmd_dat0: 
>>> mmc0_slot0_clk_cmd_dat0-0 {
>>>                           atmel,pins =
>>> @@ -605,22 +554,6 @@
>>>                   status = "disabled";
>>>               };
>>>   -            macb0: ethernet@f802c000 {
>>> -                compatible = "cdns,at32ap7000-macb", "cdns,macb";
>>> -                reg = <0xf802c000 0x100>;
>>> -                interrupts = <24 IRQ_TYPE_LEVEL_HIGH 3>;
>>> -                pinctrl-names = "default";
>>> -                pinctrl-0 = <&pinctrl_macb0_rmii>;
>>> -                status = "disabled";
>>> -            };
>>> -
>>> -            macb1: ethernet@f8030000 {
>>> -                compatible = "cdns,at32ap7000-macb", "cdns,macb";
>>> -                reg = <0xf8030000 0x100>;
>>> -                interrupts = <27 IRQ_TYPE_LEVEL_HIGH 3>;
>>> -                status = "disabled";
>>> -            };
>>> -
>>>               i2c0: i2c@f8010000 {
>>>                   compatible = "atmel,at91sam9x5-i2c";
>>>                   reg = <0xf8010000 0x100>;
>>> diff --git a/arch/arm/boot/dts/at91sam9x5_macb0.dtsi 
>>> b/arch/arm/boot/dts/at91sam9x5_macb0.dtsi
>>> new file mode 100644
>>> index 0000000..55731ff
>>> --- /dev/null
>>> +++ b/arch/arm/boot/dts/at91sam9x5_macb0.dtsi
>>> @@ -0,0 +1,56 @@
>>> +/*
>>> + * at91sam9x5_macb0.dtsi - Device Tree Include file for AT91SAM9x5 
>>> SoC with 1
>>> + * Ethernet interface.
>>> + *
>>> + * Copyright (C) 2013 Boris BREZILLON <b.brezillon@overkiz.com>
>>> + *
>>> + * Licensed under GPLv2.
>>> + */
>>> +
>>> +#include <dt-bindings/pinctrl/at91.h>
>>> +#include <dt-bindings/interrupt-controller/irq.h>
>>> +
>>> +/ {
>>> +    ahb {
>>> +        apb {
>>> +            pinctrl@fffff400 {
>>> +                macb0 {
>>> +                    pinctrl_macb0_rmii: macb0_rmii-0 {
>>> +                        atmel,pins =
>>> +                            <AT91_PIOB 0 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB0 periph A */
>>> +                             AT91_PIOB 1 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB1 periph A */
>>> +                             AT91_PIOB 2 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB2 periph A */
>>> +                             AT91_PIOB 3 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB3 periph A */
>>> +                             AT91_PIOB 4 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB4 periph A */
>>> +                             AT91_PIOB 5 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB5 periph A */
>>> +                             AT91_PIOB 6 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB6 periph A */
>>> +                             AT91_PIOB 7 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB7 periph A */
>>> +                             AT91_PIOB 9 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB9 periph A */
>>> +                             AT91_PIOB 10 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE>;    /* PB10 periph A */
>>> +                    };
>>> +
>>> +                    pinctrl_macb0_rmii_mii: macb0_rmii_mii-0 {
>>> +                        atmel,pins =
>>> +                            <AT91_PIOB 8 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB8 periph A */
>>> +                             AT91_PIOB 11 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB11 periph A */
>>> +                             AT91_PIOB 12 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB12 periph A */
>>> +                             AT91_PIOB 13 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB13 periph A */
>>> +                             AT91_PIOB 14 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB14 periph A */
>>> +                             AT91_PIOB 15 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB15 periph A */
>>> +                             AT91_PIOB 16 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE    /* PB16 periph A */
>>> +                             AT91_PIOB 17 AT91_PERIPH_A 
>>> AT91_PINCTRL_NONE>;    /* PB17 periph A */
>>> +                    };
>>> +                };
>>> +            };
>>> +
>>> +            macb0: ethernet@f802c000 {
>>> +                compatible = "cdns,at32ap7000-macb", "cdns,macb";
>>> +                reg = <0xf802c000 0x100>;
>>> +                interrupts = <24 IRQ_TYPE_LEVEL_HIGH 3>;
>>> +                pinctrl-names = "default";
>>> +                pinctrl-0 = <&pinctrl_macb0_rmii>;
>>> +                status = "disabled";
>>> +            };
>>> +        };
>>> +    };
>>> +};
>>> diff --git a/arch/arm/boot/dts/at91sam9x5_macb1.dtsi 
>>> b/arch/arm/boot/dts/at91sam9x5_macb1.dtsi
>>> new file mode 100644
>>> index 0000000..77425a6
>>> --- /dev/null
>>> +++ b/arch/arm/boot/dts/at91sam9x5_macb1.dtsi
>>> @@ -0,0 +1,44 @@
>>> +/*
>>> + * at91sam9x5_macb1.dtsi - Device Tree Include file for AT91SAM9x5 
>>> SoC with 2
>>> + * Ethernet interfaces.
>>> + *
>>> + * Copyright (C) 2013 Boris BREZILLON <b.brezillon@overkiz.com>
>>> + *
>>> + * Licensed under GPLv2.
>>> + */
>>> +
>>> +#include <dt-bindings/pinctrl/at91.h>
>>> +#include <dt-bindings/interrupt-controller/irq.h>
>>> +
>>> +/ {
>>> +    ahb {
>>> +        apb {
>>> +            pinctrl@fffff400 {
>>> +                macb1 {
>>> +                    pinctrl_macb1_rmii: macb1_rmii-0 {
>>> +                        atmel,pins =
>>> +                            <AT91_PIOC 16 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC16 periph B */
>>> +                             AT91_PIOC 18 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC18 periph B */
>>> +                             AT91_PIOC 19 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC19 periph B */
>>> +                             AT91_PIOC 20 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC20 periph B */
>>> +                             AT91_PIOC 21 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC21 periph B */
>>> +                             AT91_PIOC 27 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC27 periph B */
>>> +                             AT91_PIOC 28 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC28 periph B */
>>> +                             AT91_PIOC 29 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC29 periph B */
>>> +                             AT91_PIOC 30 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE    /* PC30 periph B */
>>> +                             AT91_PIOC 31 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE>;    /* PC31 periph B */
>>> +                    };
>>> +                };
>>> +            };
>>> +
>>> +            macb1: ethernet@f8030000 {
>>> +                compatible = "cdns,at32ap7000-macb", "cdns,macb";
>>> +                reg = <0xf8030000 0x100>;
>>> +                interrupts = <27 IRQ_TYPE_LEVEL_HIGH 3>;
>>> +                pinctrl-names = "default";
>>> +                pinctrl-0 = <&pinctrl_macb1_rmii>;
>>> +                status = "disabled";
>>> +            };
>>> +        };
>>> +    };
>>> +};
>>> diff --git a/arch/arm/boot/dts/at91sam9x5_usart3.dtsi 
>>> b/arch/arm/boot/dts/at91sam9x5_usart3.dtsi
>>> new file mode 100644
>>> index 0000000..5589579
>>> --- /dev/null
>>> +++ b/arch/arm/boot/dts/at91sam9x5_usart3.dtsi
>>> @@ -0,0 +1,51 @@
>>> +/*
>>> + * at91sam9x5_lcdc.dtsi - Device Tree Include file for AT91SAM9x5 
>>> SoC with
>>> + * 4 USART.
>>> + *
>>> + * Copyright (C) 2013 Boris BREZILLON <b.brezillon@overkiz.com>
>>> + *
>>> + * Licensed under GPLv2.
>>> + */
>>> +
>>> +#include <dt-bindings/pinctrl/at91.h>
>>> +#include <dt-bindings/interrupt-controller/irq.h>
>>> +
>>> +/ {
>>> +    ahb {
>>> +        apb {
>>> +            pinctrl@fffff400 {
>>> +                usart3 {
>>> +                    pinctrl_usart3: usart3-0 {
>>> +                        atmel,pins =
>>> +                            <AT91_PIOC 22 AT91_PERIPH_B 
>>> AT91_PINCTRL_PULL_UP    /* PC22 periph B with pullup */
>>> +                             AT91_PIOC 23 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE>;        /* PC23 periph B */
>>> +                    };
>>> +
>>> +                    pinctrl_usart3_rts: usart3_rts-0 {
>>> +                        atmel,pins =
>>> +                            <AT91_PIOC 24 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE>;        /* PC24 periph B */
>>> +                    };
>>> +
>>> +                    pinctrl_usart3_cts: usart3_cts-0 {
>>> +                        atmel,pins =
>>> +                            <AT91_PIOC 25 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE>;        /* PC25 periph B */
>>> +                    };
>>> +
>>> +                    pinctrl_usart3_sck: usart3_sck-0 {
>>> +                        atmel,pins =
>>> +                            <AT91_PIOC 26 AT91_PERIPH_B 
>>> AT91_PINCTRL_NONE>;        /* PC26 periph B */
>>> +                    };
>>> +                };
>>> +            };
>>> +
>>> +            usart3: serial@f8028000 {
>>> +                compatible = "atmel,at91sam9260-usart";
>>> +                reg = <0xf8028000 0x200>;
>>> +                interrupts = <8 IRQ_TYPE_LEVEL_HIGH 5>;
>>> +                pinctrl-names = "default";
>>> +                pinctrl-0 = <&pinctrl_usart3>;
>>> +                status = "disabled";
>>> +            };
>>> +        };
>>> +    };
>>> +};
>>> -- 
>>> 1.7.9.5
>>>
>


  reply	other threads:[~2013-08-08 15:52 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-07 10:14 [PATCH] ARM: at91/dt: split sam9x5 peripheral definitions Boris BREZILLON
2013-08-07 10:14 ` Boris BREZILLON
2013-08-07 10:38 ` Richard Genoud
2013-08-07 10:38   ` Richard Genoud
2013-08-07 10:55   ` boris brezillon
2013-08-07 10:55     ` boris brezillon
2013-08-07 10:59     ` Richard Genoud
2013-08-07 10:59       ` Richard Genoud
2013-08-07 16:08 ` Thomas Petazzoni
2013-08-07 16:08   ` Thomas Petazzoni
2013-08-07 17:28   ` boris brezillon
2013-08-07 17:28     ` boris brezillon
2013-08-08 14:07 ` Jean-Christophe PLAGNIOL-VILLARD
2013-08-08 14:07   ` Jean-Christophe PLAGNIOL-VILLARD
2013-08-08 15:23   ` boris brezillon
2013-08-08 15:23     ` boris brezillon
2013-08-08 15:52     ` boris brezillon [this message]
2013-08-08 15:52       ` boris brezillon
2013-08-19 16:23     ` Nicolas Ferre
2013-08-19 16:23       ` Nicolas Ferre
2013-08-19 22:37       ` Mike Turquette
2013-08-19 22:37         ` Mike Turquette
2013-08-20  6:00         ` b.brezillon at overkiz.com
2013-08-20  6:00           ` b.brezillon
2013-08-20 22:36           ` Mike Turquette

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5203BECC.6090407@overkiz.com \
    --to=b.brezillon@overkiz.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.