Skip to contentSkip to conversation

at91: soc for 3.10 #2

GIT PULL Nicolas Ferre 3 participants 8 messages Mar 27, 2013 – Apr 3, 2013

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

Arnd, Olof,

A pull-request for 3.10 that is dedicated to the introduction of Atmel's new Cortex-A5 based product: SAMA5D3.
This tag is built on top of the material already provided that resides on your side in at91/cleanup branch.

Thanks, best regards,

The following changes since commit 9317960fa38ff50ac287904e4c751a169635ecbf:

ARM: at91: renamme rm9200 dt file (2013-03-13 17:28:14 +0100)

are available in the git repository at:

git://github.com/at91linux/linux-at91.git tags/at91-soc

for you to fetch changes up to 471c9e786596c4f028c67c7e9de0703b49cab2a9:

ARM: at91: add defconfig for SAMA5 (2013-03-26 12:18:05 +0100)

----------------------------------------------------------------
Introduction of new Atmel Cortex-A5: SAMA5D3 family.
- Modify AT91 Kconfig to plit ARMv4/5 and ARMv7 arch
- Modify PMC driver (clocks)
- Core SAMA5 support
- Board file, DT files and defconfig

----------------------------------------------------------------
Ludovic Desroches (6):
ARM: at91: change name template in AT91_SOC_START macro
ARM: at91: add AT91_SAM9_TIME entry to select at91sam926x_time.c compilation
ARM: at91: introduce the core type choice to split ARMv4/5 and ARMv7 arch
ARM: at91: introduce SAMA5 support
ARM: at91: dt: add device tree files for SAMA5D3 family
ARM: at91: add defconfig for SAMA5

 arch/arm/boot/dts/Makefile                 |    5 +
 arch/arm/boot/dts/sama5d3.dtsi             | 1031 +++++++++++++++++++++++++++++++++++
 arch/arm/boot/dts/sama5d31ek.dts           |   51 ++
 arch/arm/boot/dts/sama5d33ek.dts           |   44 ++
 arch/arm/boot/dts/sama5d34ek.dts           |   61 +++
 arch/arm/boot/dts/sama5d35ek.dts           |   56 ++
 arch/arm/boot/dts/sama5d3xcm.dtsi          |   91 ++++
 arch/arm/boot/dts/sama5d3xdm.dtsi          |   42 ++
 arch/arm/boot/dts/sama5d3xmb.dtsi          |  166 ++++++
 arch/arm/configs/sama5_defconfig           |  181 ++++++
 arch/arm/mach-at91/Kconfig                 |   59 +-
 arch/arm/mach-at91/Makefile                |    7 +-
 arch/arm/mach-at91/at91rm9200.c            |    2 +-
 arch/arm/mach-at91/at91sam9260.c           |    2 +-
 arch/arm/mach-at91/at91sam9261.c           |    2 +-
 arch/arm/mach-at91/at91sam9263.c           |    2 +-
 arch/arm/mach-at91/at91sam9g45.c           |    2 +-
 arch/arm/mach-at91/at91sam9n12.c           |    2 +-
 arch/arm/mach-at91/at91sam9rl.c            |    2 +-
 arch/arm/mach-at91/at91sam9x5.c            |    2 +-
 arch/arm/mach-at91/board-dt-sama5.c        |   86 +++
 arch/arm/mach-at91/clock.c                 |  109 +++-
 arch/arm/mach-at91/clock.h                 |    2 +
 arch/arm/mach-at91/include/mach/at91_pmc.h |   18 +-
 arch/arm/mach-at91/include/mach/cpu.h      |   20 +
 arch/arm/mach-at91/include/mach/sama5d3.h  |   73 +++
 arch/arm/mach-at91/sama5d3.c               |  377 +++++++++++++
 arch/arm/mach-at91/setup.c                 |   27 +
 arch/arm/mach-at91/soc.h                   |    7 +-
 29 files changed, 2486 insertions(+), 43 deletions(-)
 create mode 100644 arch/arm/boot/dts/sama5d3.dtsi
 create mode 100644 arch/arm/boot/dts/sama5d31ek.dts
 create mode 100644 arch/arm/boot/dts/sama5d33ek.dts
 create mode 100644 arch/arm/boot/dts/sama5d34ek.dts
 create mode 100644 arch/arm/boot/dts/sama5d35ek.dts
 create mode 100644 arch/arm/boot/dts/sama5d3xcm.dtsi
 create mode 100644 arch/arm/boot/dts/sama5d3xdm.dtsi
 create mode 100644 arch/arm/boot/dts/sama5d3xmb.dtsi
 create mode 100644 arch/arm/configs/sama5_defconfig
 create mode 100644 arch/arm/mach-at91/board-dt-sama5.c
 create mode 100644 arch/arm/mach-at91/include/mach/sama5d3.h
 create mode 100644 arch/arm/mach-at91/sama5d3.c
Signature · 1 line
Nicolas Ferre
#1 lore raw
Quoted 6 lines · Nicolas Ferre

----------------------------------------------------------------
Introduction of new Atmel Cortex-A5: SAMA5D3 family.
- Modify AT91 Kconfig to plit ARMv4/5 and ARMv7 arch
- Modify PMC driver (clocks)
- Core SAMA5 support
- Board file, DT files and defconfig

Looks really good. Olof said he'd take over merging tomorrow, so I'll leave it for him.

Quoted 8 lines

----------------------------------------------------------------
Ludovic Desroches (6):
ARM: at91: change name template in AT91_SOC_START macro
ARM: at91: add AT91_SAM9_TIME entry to select at91sam926x_time.c compilation
ARM: at91: introduce the core type choice to split ARMv4/5 and ARMv7 arch
ARM: at91: introduce SAMA5 support
ARM: at91: dt: add device tree files for SAMA5D3 family
ARM: at91: add defconfig for SAMA5

There is one obvious change that would be nice to include here, can you add this on top (either Nicolas or Olof)?

8<---------
Subject: ARM: at91: make ATAGS support conditional on CONFIG_ATAGS

We have the global CONFIG_ATAGS symbol that is used to determine whether ATAGS based boot is possible or not. Since we are splitting out the legacy boards from the main Kconfig on at91, we can use that symbol to easily hide the old options.

arch/arm/mach-at91/Kconfig +2 -1
index 0280238..119a0a4 100644
@@ -137,8 +137,9 @@ config SOC_AT91SAM9N12
 	  Select this if you are using Atmel's AT91SAM9N12 SoC.
 
 # ----------------------------------------------------------
-
+if ATAGS
 source arch/arm/mach-at91/Kconfig.non_dt
+endif
 endif # SOC_SAM_V4_V5
 
 comment "Generic Board Type"
author Acked-by
#2 lore raw

On 03/27/2013 08:01 PM, Arnd Bergmann :

Quoted 21 lines · Nicolas Ferre
Quoted 7 lines

----------------------------------------------------------------
Introduction of new Atmel Cortex-A5: SAMA5D3 family.
- Modify AT91 Kconfig to plit ARMv4/5 and ARMv7 arch
- Modify PMC driver (clocks)
- Core SAMA5 support
- Board file, DT files and defconfig

Looks really good. Olof said he'd take over merging tomorrow, so I'll leave it for him.

Quoted 8 lines

----------------------------------------------------------------
Ludovic Desroches (6):
ARM: at91: change name template in AT91_SOC_START macro
ARM: at91: add AT91_SAM9_TIME entry to select at91sam926x_time.c compilation
ARM: at91: introduce the core type choice to split ARMv4/5 and ARMv7 arch
ARM: at91: introduce SAMA5 support
ARM: at91: dt: add device tree files for SAMA5D3 family
ARM: at91: add defconfig for SAMA5

Quoted 2 lines

There is one obvious change that would be nice to include here, can you add this on top (either Nicolas or Olof)?

Yes, I include it in a v2 pull-request now.

Olof, can you please take this new one with Arnd's patch included?

Quoted 9 lines

8<---------
Subject: ARM: at91: make ATAGS support conditional on CONFIG_ATAGS

We have the global CONFIG_ATAGS symbol that is used to determine whether ATAGS based boot is possible or not. Since we are splitting out the legacy boards from the main Kconfig on at91, we can use that symbol to easily hide the old options.

Thanks, a lot, bye,

Quoted 16 lines
arch/arm/mach-at91/Kconfig +2 -1
index 0280238..119a0a4 100644
@@ -137,8 +137,9 @@ config SOC_AT91SAM9N12
 	  Select this if you are using Atmel's AT91SAM9N12 SoC.
 
 # ----------------------------------------------------------
-
+if ATAGS
 source arch/arm/mach-at91/Kconfig.non_dt
+endif
 endif # SOC_SAM_V4_V5
 
 comment "Generic Board Type"
Signature · 1 line
Nicolas Ferre
#3 lore raw
In reply to Arnd Bergmann
Quoted 39 lines · Arnd Bergmann
Quoted 6 lines · Nicolas Ferre

----------------------------------------------------------------
Introduction of new Atmel Cortex-A5: SAMA5D3 family.
- Modify AT91 Kconfig to plit ARMv4/5 and ARMv7 arch
- Modify PMC driver (clocks)
- Core SAMA5 support
- Board file, DT files and defconfig

Looks really good. Olof said he'd take over merging tomorrow, so I'll leave it for him.

Quoted 8 lines

----------------------------------------------------------------
Ludovic Desroches (6):
ARM: at91: change name template in AT91_SOC_START macro
ARM: at91: add AT91_SAM9_TIME entry to select at91sam926x_time.c compilation
ARM: at91: introduce the core type choice to split ARMv4/5 and ARMv7 arch
ARM: at91: introduce SAMA5 support
ARM: at91: dt: add device tree files for SAMA5D3 family
ARM: at91: add defconfig for SAMA5

There is one obvious change that would be nice to include here, can you add this on top (either Nicolas or Olof)?

8<---------
Subject: ARM: at91: make ATAGS support conditional on CONFIG_ATAGS

We have the global CONFIG_ATAGS symbol that is used to determine whether ATAGS based boot is possible or not. Since we are splitting out the legacy boards from the main Kconfig on at91, we can use that symbol to easily hide the old options.

arch/arm/mach-at91/Kconfig +0 -0
index 0280238..119a0a4 100644

arch/arm/mach-at91/Kconfig config SOC_AT91SAM9N12 · line 145

Quoted 10 lines
arch/arm/mach-at91/Kconfig +2 -1
@@ -137,8 +137,9 @@ config SOC_AT91SAM9N12
          Select this if you are using Atmel's AT91SAM9N12 SoC.
 
 # ----------------------------------------------------------
-
+if ATAGS
 source arch/arm/mach-at91/Kconfig.non_dt
+endif
 endif # SOC_SAM_V4_V5
 
 comment "Generic Board Type"

Actually, it's not that simple. With this patch, I get:

arch/arm/Kconfig:1841:error: recursive dependency detected! arch/arm/Kconfig:1841: symbol USE_OF is selected by MACH_AT91RM9200_DT arch/arm/mach-at91/Kconfig:147: symbol MACH_AT91RM9200_DT depends on SOC_AT91RM9200
arch/arm/mach-at91/Kconfig:74: symbol SOC_AT91RM9200 is selected by ARCH_AT91RM9200
arch/arm/mach-at91/Kconfig.non_dt:12: symbol ARCH_AT91RM9200 is part
of choice <choice>
arch/arm/mach-at91/Kconfig.non_dt:6: choice <choice> contains symbol <choice>
arch/arm/mach-at91/Kconfig.non_dt:6: choice <choice> contains symbol ATAGS
arch/arm/Kconfig:1850: symbol ATAGS depends on USE_OF

Also, USE_OF isn't set at that point (it's controlled by the next section), so it can't be used as a replacement.

Also, isn't it a bit backwards in the first place to first set ATAGS vs no-ATAGS, and then get to choose what hardware you want to build for?

I'll take off the last patch from the branch and re-merge it (since I hadn't pushed it out yet), the above can be sorted out separately.

-Olof

#4 lore raw

On 04/03/2013 02:26 AM, Olof Johansson :

Quoted 65 lines · Arnd Bergmann
Quoted 39 lines · Nicolas Ferre
Quoted 7 lines

----------------------------------------------------------------
Introduction of new Atmel Cortex-A5: SAMA5D3 family.
- Modify AT91 Kconfig to plit ARMv4/5 and ARMv7 arch
- Modify PMC driver (clocks)
- Core SAMA5 support
- Board file, DT files and defconfig

Looks really good. Olof said he'd take over merging tomorrow, so I'll leave it for him.

Quoted 8 lines

----------------------------------------------------------------
Ludovic Desroches (6):
ARM: at91: change name template in AT91_SOC_START macro
ARM: at91: add AT91_SAM9_TIME entry to select at91sam926x_time.c compilation
ARM: at91: introduce the core type choice to split ARMv4/5 and ARMv7 arch
ARM: at91: introduce SAMA5 support
ARM: at91: dt: add device tree files for SAMA5D3 family
ARM: at91: add defconfig for SAMA5

There is one obvious change that would be nice to include here, can you add this on top (either Nicolas or Olof)?

8<---------
Subject: ARM: at91: make ATAGS support conditional on CONFIG_ATAGS

We have the global CONFIG_ATAGS symbol that is used to determine whether ATAGS based boot is possible or not. Since we are splitting out the legacy boards from the main Kconfig on at91, we can use that symbol to easily hide the old options.

arch/arm/mach-at91/Kconfig +0 -0
index 0280238..119a0a4 100644

arch/arm/mach-at91/Kconfig config SOC_AT91SAM9N12 · line 145

Quoted 10 lines
arch/arm/mach-at91/Kconfig +2 -1
@@ -137,8 +137,9 @@ config SOC_AT91SAM9N12
          Select this if you are using Atmel's AT91SAM9N12 SoC.
 
 # ----------------------------------------------------------
-
+if ATAGS
 source arch/arm/mach-at91/Kconfig.non_dt
+endif
 endif # SOC_SAM_V4_V5
 
 comment "Generic Board Type"

Actually, it's not that simple. With this patch, I get:

arch/arm/Kconfig:1841:error: recursive dependency detected! arch/arm/Kconfig:1841: symbol USE_OF is selected by MACH_AT91RM9200_DT arch/arm/mach-at91/Kconfig:147: symbol MACH_AT91RM9200_DT depends on SOC_AT91RM9200
arch/arm/mach-at91/Kconfig:74: symbol SOC_AT91RM9200 is selected by ARCH_AT91RM9200
arch/arm/mach-at91/Kconfig.non_dt:12: symbol ARCH_AT91RM9200 is part
of choice <choice>
arch/arm/mach-at91/Kconfig.non_dt:6: choice <choice> contains symbol <choice>
arch/arm/mach-at91/Kconfig.non_dt:6: choice <choice> contains symbol ATAGS
arch/arm/Kconfig:1850: symbol ATAGS depends on USE_OF

Quoted 6 lines

Also, USE_OF isn't set at that point (it's controlled by the next section), so it can't be used as a replacement.

Also, isn't it a bit backwards in the first place to first set ATAGS vs no-ATAGS, and then get to choose what hardware you want to build for?

True, I was thinking it was a common pattern.

Quoted 2 lines

I'll take off the last patch from the branch and re-merge it (since I hadn't pushed it out yet), the above can be sorted out separately.

Thanks Olof for taking care about this! We will come back on this later or simply decide that it is not worth it / not logical...

Best regards,

Signature · 1 line
Nicolas Ferre
#5 lore raw
Quoted 8 lines · Nicolas Ferre
Quoted 6 lines

Also, USE_OF isn't set at that point (it's controlled by the next section), so it can't be used as a replacement.

Also, isn't it a bit backwards in the first place to first set ATAGS vs no-ATAGS, and then get to choose what hardware you want to build for?

True, I was thinking it was a common pattern.

It's not common yet, but I want to get to the point where we can globally disable ATAGS support for multiplatform kernels and get only DT-enabled ones. There is no easy rule for when to select or depend on a global feature, but there are a number of cases where I think 'depends on' makes more sense in the long run.

Another example is CPU architecture level. Traditionally every board selects CPU_v6 or CPU_v7, but in ARCH_MULTIPLATFORM, I created a filter that lets you enable only one of them, and then pick all the platforms that have the respective CPU, which is much easier than having to know which platforms might be ARMv6 if you want to build e.g. a kernel with THUMB2 support but as many boards enabled as possible.

Arnd

#6 lore raw
In reply to Nicolas Ferre

Arnd, Olof,

A pull-request for 3.10 that is dedicated to the introduction of Atmel's new Cortex-A5 based product: SAMA5D3.
This tag is built on top of the material already provided that resides on your side in at91/cleanup branch.
The second revision of this pull-request includes a patch from Arnd to modify The AT91 Kconfig.

Thanks, best regards,

The following changes since commit 9317960fa38ff50ac287904e4c751a169635ecbf:

ARM: at91: renamme rm9200 dt file (2013-03-13 17:28:14 +0100)

are available in the git repository at:

git://github.com/at91linux/linux-at91.git tags/at91-soc

for you to fetch changes up to abac0fd0f6dad6fa01ac8fdfccc796233d0fea30:

ARM: at91: make ATAGS support conditional on CONFIG_ATAGS (2013-03-28 09:51:39 +0100)

----------------------------------------------------------------
Introduction of new Atmel Cortex-A5: SAMA5D3 family.
- Modify AT91 Kconfig to plit ARMv4/5 and ARMv7 arch
- Modify PMC driver (clocks)
- Core SAMA5 support
- Board file, DT files and defconfig
Add a condition on CONFIG_ATAGS for legacy boards

----------------------------------------------------------------
Arnd Bergmann (1):
ARM: at91: make ATAGS support conditional on CONFIG_ATAGS

Ludovic Desroches (6):
ARM: at91: change name template in AT91_SOC_START macro
ARM: at91: add AT91_SAM9_TIME entry to select at91sam926x_time.c compilation
ARM: at91: introduce the core type choice to split ARMv4/5 and ARMv7 arch
ARM: at91: introduce SAMA5 support
ARM: at91: dt: add device tree files for SAMA5D3 family
ARM: at91: add defconfig for SAMA5

 arch/arm/boot/dts/Makefile                 |    5 +
 arch/arm/boot/dts/sama5d3.dtsi             | 1031 ++++++++++++++++++++++++++++
 arch/arm/boot/dts/sama5d31ek.dts           |   51 ++
 arch/arm/boot/dts/sama5d33ek.dts           |   44 ++
 arch/arm/boot/dts/sama5d34ek.dts           |   61 ++
 arch/arm/boot/dts/sama5d35ek.dts           |   56 ++
 arch/arm/boot/dts/sama5d3xcm.dtsi          |   91 +++
 arch/arm/boot/dts/sama5d3xdm.dtsi          |   42 ++
 arch/arm/boot/dts/sama5d3xmb.dtsi          |  166 +++++
 arch/arm/configs/sama5_defconfig           |  181 +++++
 arch/arm/mach-at91/Kconfig                 |   62 +-
 arch/arm/mach-at91/Makefile                |    7 +-
 arch/arm/mach-at91/at91rm9200.c            |    2 +-
 arch/arm/mach-at91/at91sam9260.c           |    2 +-
 arch/arm/mach-at91/at91sam9261.c           |    2 +-
 arch/arm/mach-at91/at91sam9263.c           |    2 +-
 arch/arm/mach-at91/at91sam9g45.c           |    2 +-
 arch/arm/mach-at91/at91sam9n12.c           |    2 +-
 arch/arm/mach-at91/at91sam9rl.c            |    2 +-
 arch/arm/mach-at91/at91sam9x5.c            |    2 +-
 arch/arm/mach-at91/board-dt-sama5.c        |   86 +++
 arch/arm/mach-at91/clock.c                 |  109 ++-
 arch/arm/mach-at91/clock.h                 |    2 +
 arch/arm/mach-at91/include/mach/at91_pmc.h |   18 +-
 arch/arm/mach-at91/include/mach/cpu.h      |   20 +
 arch/arm/mach-at91/include/mach/sama5d3.h  |   73 ++
 arch/arm/mach-at91/sama5d3.c               |  377 ++++++++++
 arch/arm/mach-at91/setup.c                 |   27 +
 arch/arm/mach-at91/soc.h                   |    7 +-
 29 files changed, 2488 insertions(+), 44 deletions(-)
 create mode 100644 arch/arm/boot/dts/sama5d3.dtsi
 create mode 100644 arch/arm/boot/dts/sama5d31ek.dts
 create mode 100644 arch/arm/boot/dts/sama5d33ek.dts
 create mode 100644 arch/arm/boot/dts/sama5d34ek.dts
 create mode 100644 arch/arm/boot/dts/sama5d35ek.dts
 create mode 100644 arch/arm/boot/dts/sama5d3xcm.dtsi
 create mode 100644 arch/arm/boot/dts/sama5d3xdm.dtsi
 create mode 100644 arch/arm/boot/dts/sama5d3xmb.dtsi
 create mode 100644 arch/arm/configs/sama5_defconfig
 create mode 100644 arch/arm/mach-at91/board-dt-sama5.c
 create mode 100644 arch/arm/mach-at91/include/mach/sama5d3.h
 create mode 100644 arch/arm/mach-at91/sama5d3.c
#7 lore raw
Quoted 23 lines · Nicolas Ferre

Arnd, Olof,

A pull-request for 3.10 that is dedicated to the introduction of Atmel's new Cortex-A5 based product: SAMA5D3.
This tag is built on top of the material already provided that resides on your side in at91/cleanup branch.
The second revision of this pull-request includes a patch from Arnd to modify The AT91 Kconfig.

Thanks, best regards,

The following changes since commit 9317960fa38ff50ac287904e4c751a169635ecbf:

ARM: at91: renamme rm9200 dt file (2013-03-13 17:28:14 +0100)

are available in the git repository at:

git://github.com/at91linux/linux-at91.git tags/at91-soc

for you to fetch changes up to abac0fd0f6dad6fa01ac8fdfccc796233d0fea30:

ARM: at91: make ATAGS support conditional on CONFIG_ATAGS (2013-03-28 09:51:39 +0100)

Quoted 7 lines

----------------------------------------------------------------
Introduction of new Atmel Cortex-A5: SAMA5D3 family.
- Modify AT91 Kconfig to plit ARMv4/5 and ARMv7 arch
- Modify PMC driver (clocks)
- Core SAMA5 support
- Board file, DT files and defconfig
Add a condition on CONFIG_ATAGS for legacy boards

Pulled, thanks!

-Olof