ARM: PRIMA2: some patches prepared to support new SiRF SoCs
Subsystems (2)
cover ARM: PRIMA2: some patches prepared to support new SiRF SoCs
From: Barry Song <[email protected]>
we will support SiRFmarco and SiRFpolo SMP SoCs, this series is making mach-prima2 common for all of them.
Barry Song (3):
ARM: PRIMA2: use DT_MACHINE_START and convert to generic board
ARM: PRIMA2: make mach-prima2 common for all SiRF series SoC
ARM: SIRF: make sirf irqchip driver selectable since new SoCs will
have GIC
arch/arm/Kconfig | 10 +++++-----
arch/arm/Makefile | 2 +-
arch/arm/mach-sirf/Kconfig | 20 ++++++++++++++++++++
arch/arm/{mach-prima2 => mach-sirf}/Makefile | 4 ++--
arch/arm/{mach-prima2 => mach-sirf}/Makefile.boot | 0
.../prima2.c => mach-sirf/board-generic.c} | 10 ++++++----
arch/arm/{mach-prima2 => mach-sirf}/common.h | 0
.../include/mach/clkdev.h | 0
.../include/mach/debug-macro.S | 0
.../include/mach/entry-macro.S | 0
.../{mach-prima2 => mach-sirf}/include/mach/gpio.h | 0
.../include/mach/hardware.h | 0
.../{mach-prima2 => mach-sirf}/include/mach/irqs.h | 0
.../{mach-prima2 => mach-sirf}/include/mach/map.h | 0
.../include/mach/timex.h | 0
.../{mach-prima2 => mach-sirf}/include/mach/uart.h | 0
.../include/mach/uncompress.h | 0
arch/arm/{mach-prima2 => mach-sirf}/irq.c | 0
arch/arm/{mach-prima2 => mach-sirf}/l2x0.c | 0
arch/arm/{mach-prima2 => mach-sirf}/lluart.c | 0
arch/arm/{mach-prima2 => mach-sirf}/pm.c | 0
arch/arm/{mach-prima2 => mach-sirf}/pm.h | 0
arch/arm/{mach-prima2 => mach-sirf}/rstc.c | 0
arch/arm/{mach-prima2 => mach-sirf}/rtciobrg.c | 0
arch/arm/{mach-prima2 => mach-sirf}/sleep.S | 0
arch/arm/{mach-prima2 => mach-sirf}/timer.c | 0
26 files changed, 34 insertions(+), 12 deletions(-)
create mode 100644 arch/arm/mach-sirf/Kconfig
rename arch/arm/{mach-prima2 => mach-sirf}/Makefile (73%)
rename arch/arm/{mach-prima2 => mach-sirf}/Makefile.boot (100%)
rename arch/arm/{mach-prima2/prima2.c => mach-sirf/board-generic.c} (81%)
rename arch/arm/{mach-prima2 => mach-sirf}/common.h (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/include/mach/clkdev.h (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/include/mach/debug-macro.S (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/include/mach/entry-macro.S (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/include/mach/gpio.h (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/include/mach/hardware.h (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/include/mach/irqs.h (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/include/mach/map.h (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/include/mach/timex.h (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/include/mach/uart.h (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/include/mach/uncompress.h (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/irq.c (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/l2x0.c (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/lluart.c (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/pm.c (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/pm.h (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/rstc.c (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/rtciobrg.c (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/sleep.S (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/timer.c (100%)Member of the CSR plc group of companies. CSR plc registered in England and Wales, registered number 4187346, registered office Churchill House, Cambridge Business Park, Cowley Road, Cambridge, CB4 0WZ, United Kingdom More information can be found at www.csr.com. Follow CSR on Twitter at http://twitter.com/CSR_PLC and read our blog at www.csr.com/blog
PATCH 1/3 ARM: PRIMA2: use DT_MACHINE_START and convert to generic board
From: Barry Song <[email protected]>
we will have SiRFMarco and SiRFPolo, all of them will be in the generic board.
---
arch/arm/mach-prima2/Makefile | 2 +-
arch/arm/mach-prima2/{prima2.c => board-generic.c} | 10 ++++++----
2 files changed, 7 insertions(+), 5 deletions(-)
rename arch/arm/mach-prima2/{prima2.c => board-generic.c} (81%)arch/arm/mach-prima2/Makefile +1 -1
@@ -1,7 +1,7 @@ obj-y := timer.o obj-y += irq.o obj-y += rstc.o -obj-y += prima2.o +obj-y += board-generic.o obj-y += rtciobrg.o obj-$(CONFIG_DEBUG_LL) += lluart.o obj-$(CONFIG_CACHE_L2X0) += l2x0.o
arch/arm/mach-prima2/board-generic.c renamed from arch/arm/mach-prima2/prima2.c +6 -4
@@ -30,12 +30,13 @@ void __init sirfsoc_init_late(void)sirfsoc_pm_init (); } -static const char *prima2cb_dt_match[]__initdata = { -"sirf,prima2-cb" , +#ifdef CONFIG_ARCH_PRIMA2 +static const char *prima2_dt_match[]__initdata = { +"sirf,prima2" ,NULL }; -MACHINE_START (PRIMA2_EVB ,"prima2cb" ) +DT_MACHINE_START (PRIMA2_DT ,"Generic PRIMA2 (Flattened Device Tree)" )/* Maintainer: Barry Song <[email protected]> */ .atag_offset = 0x100, .map_io = sirfsoc_map_lluart,
@@ -44,6 +45,7 @@ MACHINE_START(PRIMA2_EVB, "prima2cb") .dma_zone_size = SZ_256M, .init_machine = sirfsoc_mach_init, .init_late = sirfsoc_init_late, - .dt_compat = prima2cb_dt_match, + .dt_compat = prima2_dt_match, .restart = sirfsoc_restart, MACHINE_END +#endif
Signature · 6 lines
1.7.0.4 Member of the CSR plc group of companies. CSR plc registered in England and Wales, registered number 4187346, registered office Churchill House, Cambridge Business Park, Cowley Road, Cambridge, CB4 0WZ, United Kingdom More information can be found at www.csr.com. Follow CSR on Twitter at http://twitter.com/CSR_PLC and read our blog at www.csr.com/blog
PATCH 1/3 ARM: PRIMA2: use DT_MACHINE_START and convert to generic board
Quoted 11 lines · Barry Song
From: Barry Song <[email protected]>
we will have SiRFMarco and SiRFPolo, all of them will be in the generic board.
Signed-off-by Barry Song <[email protected]>--- arch/arm/mach-prima2/Makefile | 2 +- arch/arm/mach-prima2/{prima2.c => board-generic.c} | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) rename arch/arm/mach-prima2/{prima2.c => board-generic.c} (81%)
I would prefer not to have a board-* file in there, because it's not specific to a board. If you want to get rid of the prima2 name in it, you can call it common.c.
Quoted 25 lines
arch/arm/mach-prima2/board-generic.c renamed from arch/arm/mach-prima2/prima2.c +4
-3@@ -30,12 +30,13 @@ void __init sirfsoc_init_late(void)sirfsoc_pm_init (); } -static const char *prima2cb_dt_match[]__initdata = { -"sirf,prima2-cb" , +#ifdef CONFIG_ARCH_PRIMA2 +static const char *prima2_dt_match[]__initdata = { +"sirf,prima2" ,NULL }; -MACHINE_START (PRIMA2_EVB ,"prima2cb" ) +DT_MACHINE_START (PRIMA2_DT ,"Generic PRIMA2 (Flattened Device Tree)" )/* Maintainer: Barry Song <[email protected]> */ .atag_offset = 0x100, .map_io = sirfsoc_map_lluart,
arch/arm/mach-prima2/board-generic.c MACHINE_START(PRIMA2_EVB, "prima2cb") · line 51
Quoted 8 lines
arch/arm/mach-prima2/board-generic.c renamed from arch/arm/mach-prima2/prima2.c +2
-1@@ -44,6 +45,7 @@ MACHINE_START(PRIMA2_EVB, "prima2cb") .dma_zone_size = SZ_256M, .init_machine = sirfsoc_mach_init, .init_late = sirfsoc_init_late, - .dt_compat = prima2cb_dt_match, + .dt_compat = prima2_dt_match, .restart = sirfsoc_restart, MACHINE_END +#endif
I suppose this never really worked before then?
Arnd
PATCH 1/3 ARM: PRIMA2: use DT_MACHINE_START and convert to generic board
2012/8/21 Arnd Bergmann <[email protected]>:
Quoted 13 lines · Barry Song
Quoted 11 lines
From: Barry Song <[email protected]>
we will have SiRFMarco and SiRFPolo, all of them will be in the generic board.
Signed-off-by Barry Song <[email protected]>--- arch/arm/mach-prima2/Makefile | 2 +- arch/arm/mach-prima2/{prima2.c => board-generic.c} | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) rename arch/arm/mach-prima2/{prima2.c => board-generic.c} (81%)
Quoted 3 lines
I would prefer not to have a board-* file in there, because it's not specific to a board. If you want to get rid of the prima2 name in it, you can call it
common.c.
that is fine to me. i rename to board-generic.c just because omap and some others did like that.
and i'll add marco and polo DT_MACHINE_START to this file too.
Quoted 20 lines
Quoted 20 lines
arch/arm/mach-prima2/board-generic.c renamed from arch/arm/mach-prima2/prima2.c +3
-2@@ -30,12 +30,13 @@ void __init sirfsoc_init_late(void)sirfsoc_pm_init (); } -static const char *prima2cb_dt_match[]__initdata = { -"sirf,prima2-cb" , +#ifdef CONFIG_ARCH_PRIMA2 +static const char *prima2_dt_match[]__initdata = { +"sirf,prima2" ,NULL };
Quoted 16 lines
Quoted 6 lines
arch/arm/mach-prima2/board-generic.c renamed from arch/arm/mach-prima2/prima2.c +1
-1-MACHINE_START (PRIMA2_EVB ,"prima2cb" ) +DT_MACHINE_START (PRIMA2_DT ,"Generic PRIMA2 (Flattened Device Tree)" )/* Maintainer: Barry Song <[email protected]> */ .atag_offset = 0x100, .map_io = sirfsoc_map_lluart,arch/arm/mach-prima2/board-generic.c MACHINE_START(PRIMA2_EVB, "prima2cb") · line 51
Quoted 8 lines
arch/arm/mach-prima2/board-generic.c renamed from arch/arm/mach-prima2/prima2.c +2
-1@@ -44,6 +45,7 @@ MACHINE_START(PRIMA2_EVB, "prima2cb") .dma_zone_size = SZ_256M, .init_machine = sirfsoc_mach_init, .init_late = sirfsoc_init_late, - .dt_compat = prima2cb_dt_match, + .dt_compat = prima2_dt_match, .restart = sirfsoc_restart, MACHINE_END +#endif I suppose this never really worked before then?
i am not sure what you mean, but this does work and i tested and found prima2 can boot normally.
Quoted 2 lines
Arnd
-barry
PATCH 1/3 ARM: PRIMA2: use DT_MACHINE_START and convert to generic board
Quoted 10 lines · Barry Song
2012/8/21 Arnd Bergmann <[email protected]>:
Quoted 5 lines · Barry Song
I would prefer not to have a board-* file in there, because it's not specific to a board. If you want to get rid of the prima2 name in it, you can call it
common.c.that is fine to me. i rename to
board-generic.cjust because omap and some others did like that.
and i'll add marco and poloDT_MACHINE_STARTto this file too.
Ok. For the older platforms that have a lot of non-DT board files, it makes sense to have a separate board-generic.c file.
Quoted 36 lines
Quoted 19 lines
Quoted 19 lines
arch/arm/mach-prima2/board-generic.c renamed from arch/arm/mach-prima2/prima2.c +3
-2@@ -30,12 +30,13 @@ void __init sirfsoc_init_late(void)sirfsoc_pm_init (); } -static const char *prima2cb_dt_match[]__initdata = { -"sirf,prima2-cb" , +#ifdef CONFIG_ARCH_PRIMA2 +static const char *prima2_dt_match[]__initdata = { +"sirf,prima2" ,NULL };Quoted 16 lines
Quoted 6 lines
arch/arm/mach-prima2/board-generic.c renamed from arch/arm/mach-prima2/prima2.c +1
-1-MACHINE_START (PRIMA2_EVB ,"prima2cb" ) +DT_MACHINE_START (PRIMA2_DT ,"Generic PRIMA2 (Flattened Device Tree)" )/* Maintainer: Barry Song <[email protected]> */ .atag_offset = 0x100, .map_io = sirfsoc_map_lluart,arch/arm/mach-prima2/board-generic.c MACHINE_START(PRIMA2_EVB, "prima2cb") · line 51
Quoted 8 lines
arch/arm/mach-prima2/board-generic.c renamed from arch/arm/mach-prima2/prima2.c +2
-1@@ -44,6 +45,7 @@ MACHINE_START(PRIMA2_EVB, "prima2cb") .dma_zone_size = SZ_256M, .init_machine = sirfsoc_mach_init, .init_late = sirfsoc_init_late, - .dt_compat = prima2cb_dt_match, + .dt_compat = prima2_dt_match, .restart = sirfsoc_restart, MACHINE_END +#endif I suppose this never really worked before then?
Quoted 2 lines
i am not sure what you mean, but this does work and i tested and found prima2 can boot normally.
I mean the old version, not the new one. If you use MACHINE_START, you cannot access the device tree data from the boot loader, which means that none of the device drivers find their devices.
I also just noticed that you ahve both the .atag_offset and the .dt_compat field set here, which is a bit strange as the dt_compat field was previously unused. Now, the .atag_offset field is unused, so you should remove that.
Arnd
PATCH 1/3 ARM: PRIMA2: use DT_MACHINE_START and convert to generic board
Hi Arnd,
Thanks.
2012/8/21 Arnd Bergmann <[email protected]>:
Quoted 8 lines · Barry Song
Quoted 7 lines
2012/8/21 Arnd Bergmann <[email protected]>:
Quoted 5 lines · Barry Song
I would prefer not to have a board-* file in there, because it's not specific to a board. If you want to get rid of the prima2 name in it, you can call it
common.c.
Quoted 6 lines
Quoted 3 lines
that is fine to me. i rename to
board-generic.cjust because omap and some others did like that.
and i'll add marco and poloDT_MACHINE_STARTto this file too.Ok. For the older platforms that have a lot of non-DT board files, it makes sense to have a separate
board-generic.cfile.
ok. then renaming to common.c is better for this full-DT platform.
Quoted 37 lines
Quoted 37 lines
Quoted 36 lines
Quoted 26 lines
arch/arm/mach-prima2/board-generic.c renamed from arch/arm/mach-prima2/prima2.c +4
-3@@ -30,12 +30,13 @@ void __init sirfsoc_init_late(void)sirfsoc_pm_init (); } -static const char *prima2cb_dt_match[]__initdata = { -"sirf,prima2-cb" , +#ifdef CONFIG_ARCH_PRIMA2 +static const char *prima2_dt_match[]__initdata = { +"sirf,prima2" ,NULL }; -MACHINE_START (PRIMA2_EVB ,"prima2cb" ) +DT_MACHINE_START (PRIMA2_DT ,"Generic PRIMA2 (Flattened Device Tree)" )/* Maintainer: Barry Song <[email protected]> */ .atag_offset = 0x100, .map_io = sirfsoc_map_lluart,arch/arm/mach-prima2/board-generic.c MACHINE_START(PRIMA2_EVB, "prima2cb") · line 51
Quoted 8 lines
arch/arm/mach-prima2/board-generic.c renamed from arch/arm/mach-prima2/prima2.c +2
-1@@ -44,6 +45,7 @@ MACHINE_START(PRIMA2_EVB, "prima2cb") .dma_zone_size = SZ_256M, .init_machine = sirfsoc_mach_init, .init_late = sirfsoc_init_late, - .dt_compat = prima2cb_dt_match, + .dt_compat = prima2_dt_match, .restart = sirfsoc_restart, MACHINE_END +#endif I suppose this never really worked before then?
Quoted 6 lines
Quoted 2 lines
i am not sure what you mean, but this does work and i tested and found prima2 can boot normally.
I mean the old version, not the new one. If you use
MACHINE_START, you cannot access the device tree data from the boot loader, which means that none of the device drivers find their devices.
sorry i didn't get you.
DT is read to 0x3608000 by bootloader, and bootm has param "bootm 0x02008000 - 0x3608000" as:
bootcmd=mmc read 0 0x3608000 0x3780 0x80;mmc read 0 0x02008000 0x1800 0x1800;fdt addr 0x3608000;
fdt resize;bootm 0x02008000 - 0x3608000
kernel has been always able to read DT data from bootloader.
Quoted 5 lines
I also just noticed that you ahve both the .atag_offset and the .dt_compat field set here, which is a bit strange as the
dt_compatfield was previously unused. Now, the .atag_offset field is unused, so you should remove that.
i'll remove .atag_offset field then.
Quoted 1 line
Arnd
-barry
PATCH 1/3 ARM: PRIMA2: use DT_MACHINE_START and convert to generic board
Quoted 6 lines · Barry Song
Quoted 3 lines
I mean the old version, not the new one. If you use
MACHINE_START, you cannot access the device tree data from the boot loader, which means that none of the device drivers find their devices.sorry i didn't get you.
Quoted 8 lines
DT is read to
0x3608000by bootloader, and bootm has param "bootm0x02008000-0x3608000" as:bootcmd=mmc read 0
0x36080000x37800x80;mmc read 00x020080000x18000x1800;fdt addr0x3608000;
fdt resize;bootm0x02008000-0x3608000kernel has been always able to read DT data from bootloader.
Ah, right. I had to read the initialition code again, my incorrect assumption was that we could not use a machine_desc that is declared with MACHINE_START() together with a flattened device tree.
Arnd
PATCH 2/3 ARM: PRIMA2: make mach-prima2 common for all SiRF series SoC
In reply to Barry SongFrom: Barry Song <[email protected]>
We will have SiRF Marco and Polo, so rename the dir to mach-sirf and add Kconfig menu
---
arch/arm/Kconfig | 10 +++++-----
arch/arm/Makefile | 2 +-
arch/arm/mach-sirf/Kconfig | 16 ++++++++++++++++
arch/arm/{mach-prima2 => mach-sirf}/Makefile | 0
arch/arm/{mach-prima2 => mach-sirf}/Makefile.boot | 0
.../arm/{mach-prima2 => mach-sirf}/board-generic.c | 0
arch/arm/{mach-prima2 => mach-sirf}/common.h | 0
.../include/mach/clkdev.h | 0
.../include/mach/debug-macro.S | 0
.../include/mach/entry-macro.S | 0
.../{mach-prima2 => mach-sirf}/include/mach/gpio.h | 0
.../include/mach/hardware.h | 0
.../{mach-prima2 => mach-sirf}/include/mach/irqs.h | 0
.../{mach-prima2 => mach-sirf}/include/mach/map.h | 0
.../include/mach/timex.h | 0
.../{mach-prima2 => mach-sirf}/include/mach/uart.h | 0
.../include/mach/uncompress.h | 0
arch/arm/{mach-prima2 => mach-sirf}/irq.c | 0
arch/arm/{mach-prima2 => mach-sirf}/l2x0.c | 0
arch/arm/{mach-prima2 => mach-sirf}/lluart.c | 0
arch/arm/{mach-prima2 => mach-sirf}/pm.c | 0
arch/arm/{mach-prima2 => mach-sirf}/pm.h | 0
arch/arm/{mach-prima2 => mach-sirf}/rstc.c | 0
arch/arm/{mach-prima2 => mach-sirf}/rtciobrg.c | 0
arch/arm/{mach-prima2 => mach-sirf}/sleep.S | 0
arch/arm/{mach-prima2 => mach-sirf}/timer.c | 0
26 files changed, 22 insertions(+), 6 deletions(-)
create mode 100644 arch/arm/mach-sirf/Kconfig
rename arch/arm/{mach-prima2 => mach-sirf}/Makefile (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/Makefile.boot (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/board-generic.c (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/common.h (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/include/mach/clkdev.h (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/include/mach/debug-macro.S (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/include/mach/entry-macro.S (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/include/mach/gpio.h (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/include/mach/hardware.h (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/include/mach/irqs.h (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/include/mach/map.h (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/include/mach/timex.h (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/include/mach/uart.h (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/include/mach/uncompress.h (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/irq.c (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/l2x0.c (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/lluart.c (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/pm.c (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/pm.h (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/rstc.c (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/rtciobrg.c (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/sleep.S (100%)
rename arch/arm/{mach-prima2 => mach-sirf}/timer.c (100%)arch/arm/Kconfig +5 -5
@@ -407,9 +407,8 @@ config ARCH_GEMINI help Support for the Cortina Systems Gemini family SoCs -config ARCH_PRIMA2 - bool "CSR SiRFSoC PRIMA2 ARM Cortex A9 Platform" - select CPU_V7 +config ARCH_SIRF + bool "CSR SiRF" select NO_IOPORT select ARCH_REQUIRE_GPIOLIB select GENERIC_CLOCKEVENTS
@@ -419,9 +418,8 @@ config ARCH_PRIMA2 select PINCTRL select PINCTRL_SIRF select USE_OF - select ZONE_DMA help - Support for CSR SiRFSoC ARM Cortex A9 Platform + Support for CSR SiRFprimaII/Marco/Polo platforms config ARCH_EBSA110 bool "EBSA-110"
@@ -1118,6 +1116,8 @@ source "arch/arm/mach-exynos/Kconfig" source "arch/arm/mach-shmobile/Kconfig" +source "arch/arm/mach-sirf/Kconfig" + source "arch/arm/mach-tegra/Kconfig" source "arch/arm/mach-u300/Kconfig"
arch/arm/Makefile +1 -1
@@ -168,7 +168,7 @@ machine-$(CONFIG_ARCH_OMAP2PLUS) := omap2 machine-$(CONFIG_ARCH_ORION5X) := orion5x machine-$(CONFIG_ARCH_PICOXCELL) := picoxcell machine-$(CONFIG_ARCH_PNX4008) := pnx4008 -machine-$(CONFIG_ARCH_PRIMA2) := prima2 +machine-$(CONFIG_ARCH_SIRF) := sirf machine-$(CONFIG_ARCH_PXA) := pxa machine-$(CONFIG_ARCH_REALVIEW) := realview machine-$(CONFIG_ARCH_RPC) := rpc
arch/arm/mach-sirf/Kconfig new file +16 -0
@@ -0,0 +1,16 @@ +if ARCH_SIRF + +choice + prompt "Qualcomm SiRF SoC Type" + default ARCH_PRIMA2 + +config ARCH_PRIMA2 + bool "CSR SiRFSoC PRIMA2 ARM Cortex A9 Platform" + select CPU_V7 + select ZONE_DMA + help + Support for CSR SiRFSoC ARM Cortex A9 Platform + +endchoice + +endif
arch/arm/mach-sirf/Makefile renamed from arch/arm/mach-prima2/Makefile +0 -0
arch/arm/mach-sirf/Makefile.boot renamed from arch/arm/mach-prima2/Makefile.boot +0 -0
arch/arm/mach-sirf/board-generic.c renamed from arch/arm/mach-prima2/board-generic.c +0 -0
arch/arm/mach-sirf/common.h renamed from arch/arm/mach-prima2/common.h +0 -0
arch/arm/mach-sirf/include/mach/clkdev.h renamed from arch/arm/mach-prima2/include/mach/clkdev.h +0 -0
arch/arm/mach-sirf/include/mach/debug-macro.S renamed from arch/arm/mach-prima2/include/mach/debug-macro.S +0 -0
arch/arm/mach-sirf/include/mach/entry-macro.S renamed from arch/arm/mach-prima2/include/mach/entry-macro.S +0 -0
arch/arm/mach-sirf/include/mach/gpio.h renamed from arch/arm/mach-prima2/include/mach/gpio.h +0 -0
arch/arm/mach-sirf/include/mach/hardware.h renamed from arch/arm/mach-prima2/include/mach/hardware.h +0 -0
arch/arm/mach-sirf/include/mach/irqs.h renamed from arch/arm/mach-prima2/include/mach/irqs.h +0 -0
arch/arm/mach-sirf/include/mach/map.h renamed from arch/arm/mach-prima2/include/mach/map.h +0 -0
arch/arm/mach-sirf/include/mach/timex.h renamed from arch/arm/mach-prima2/include/mach/timex.h +0 -0
arch/arm/mach-sirf/include/mach/uart.h renamed from arch/arm/mach-prima2/include/mach/uart.h +0 -0
arch/arm/mach-sirf/include/mach/uncompress.h renamed from arch/arm/mach-prima2/include/mach/uncompress.h +0 -0
arch/arm/mach-sirf/irq.c renamed from arch/arm/mach-prima2/irq.c +0 -0
arch/arm/mach-sirf/l2x0.c renamed from arch/arm/mach-prima2/l2x0.c +0 -0
arch/arm/mach-sirf/lluart.c renamed from arch/arm/mach-prima2/lluart.c +0 -0
arch/arm/mach-sirf/pm.c renamed from arch/arm/mach-prima2/pm.c +0 -0
arch/arm/mach-sirf/pm.h renamed from arch/arm/mach-prima2/pm.h +0 -0
arch/arm/mach-sirf/rstc.c renamed from arch/arm/mach-prima2/rstc.c +0 -0
arch/arm/mach-sirf/rtciobrg.c renamed from arch/arm/mach-prima2/rtciobrg.c +0 -0
arch/arm/mach-sirf/sleep.S renamed from arch/arm/mach-prima2/sleep.S +0 -0
arch/arm/mach-sirf/timer.c renamed from arch/arm/mach-prima2/timer.c +0 -0
Signature · 6 lines
1.7.0.4 Member of the CSR plc group of companies. CSR plc registered in England and Wales, registered number 4187346, registered office Churchill House, Cambridge Business Park, Cowley Road, Cambridge, CB4 0WZ, United Kingdom More information can be found at www.csr.com. Follow CSR on Twitter at http://twitter.com/CSR_PLC and read our blog at www.csr.com/blog
PATCH 2/3 ARM: PRIMA2: make mach-prima2 common for all SiRF series SoC
Quoted 6 lines · Barry Song
From: Barry Song <[email protected]>
We will have SiRF Marco and Polo, so rename the dir to mach-sirf and add
KconfigmenuSigned-off-by Baohua Song <[email protected]>
Quoted 15 lines
---
arch/arm/Kconfig | 10 +++++-----
arch/arm/Makefile | 2 +-
arch/arm/mach-sirf/Kconfig | 16 ++++++++++++++++
arch/arm/{mach-prima2 => mach-sirf}/Makefile | 0
arch/arm/{mach-prima2 => mach-sirf}/Makefile.boot | 0
.../arm/{mach-prima2 => mach-sirf}/board-generic.c | 0
arch/arm/{mach-prima2 => mach-sirf}/common.h | 0
.../include/mach/clkdev.h | 0
.../include/mach/debug-macro.S | 0
.../include/mach/entry-macro.S | 0
.../{mach-prima2 => mach-sirf}/include/mach/gpio.h | 0
.../include/mach/hardware.h | 0
.../{mach-prima2 => mach-sirf}/include/mach/irqs.h | 0
.../{mach-prima2 => mach-sirf}/include/mach/map.h | 0I'm not sure if we should rename all of these right now. I've been thinking about moving all of recent and simple ARMv7 based platforms (socfpga, zynq, prima2, ...) into a single directory, where they would basically end up being one file per platform. We should discuss this at the ARM mini summit, and I can let you know the outcome of it. I don't object on the rename in principle, but it might end up causing extra churn.
arch/arm/mach-sirf/Kconfig line 5
Quoted 5 lines
arch/arm/mach-sirf/Kconfig new file +5
-0+if ARCH_SIRF + +choice + prompt "Qualcomm SiRF SoC Type" + default ARCH_PRIMA2
I'm curious about this: I did read that Samsung acquired CSR, and you list the chips as Qualcomm. What's the story here?
arch/arm/mach-sirf/Kconfig line 14
Quoted 8 lines
arch/arm/mach-sirf/Kconfig new file +8
-0+config ARCH_PRIMA2 + bool "CSR SiRFSoC PRIMA2 ARM Cortex A9 Platform" + select CPU_V7 + select ZONE_DMA + help + Support for CSR SiRFSoC ARM Cortex A9 Platform + +endchoice
Is this still needed? When you add other SoC type here, would you build kernels that are for just one of them in practice? If they are completely generic anyway, you can skip the submenu.
Arnd
PATCH 2/3 ARM: PRIMA2: make mach-prima2 common for all SiRF series SoC
2012/8/21 Arnd Bergmann <[email protected]>:
Quoted 23 lines · Barry Song
Quoted 6 lines
From: Barry Song <[email protected]>
We will have SiRF Marco and Polo, so rename the dir to mach-sirf and add
KconfigmenuSigned-off-by Baohua Song <[email protected]>Quoted 15 lines
--- arch/arm/Kconfig | 10 +++++----- arch/arm/Makefile | 2 +- arch/arm/mach-sirf/Kconfig | 16 ++++++++++++++++ arch/arm/{mach-prima2 => mach-sirf}/Makefile | 0 arch/arm/{mach-prima2 => mach-sirf}/Makefile.boot | 0 .../arm/{mach-prima2 => mach-sirf}/board-generic.c | 0 arch/arm/{mach-prima2 => mach-sirf}/common.h | 0 .../include/mach/clkdev.h | 0 .../include/mach/debug-macro.S | 0 .../include/mach/entry-macro.S | 0 .../{mach-prima2 => mach-sirf}/include/mach/gpio.h | 0 .../include/mach/hardware.h | 0 .../{mach-prima2 => mach-sirf}/include/mach/irqs.h | 0 .../{mach-prima2 => mach-sirf}/include/mach/map.h | 0
Quoted 6 lines
I'm not sure if we should rename all of these right now. I've been thinking about moving all of recent and simple ARMv7 based platforms (socfpga, zynq, prima2, ...) into a single directory, where they would basically end up being one file per platform. We should discuss this at the ARM mini summit, and I can let you know the outcome of it. I don't object on the rename in principle, but it might end up causing extra churn.
ok. i will follow the output of ARM mini summit.
Quoted 9 lines
arch/arm/mach-sirf/Kconfig line 5
Quoted 6 lines
arch/arm/mach-sirf/Kconfig new file +5
-0+if ARCH_SIRF + +choice + prompt "Qualcomm SiRF SoC Type" + default ARCH_PRIMA2I'm curious about this: I did read that Samsung acquired CSR, and you list the chips as Qualcomm. What's the story here?
sorry. this is typo.
prompt "Qualcomm SiRF SoC Type"
->
prompt "CSR SiRF SoC Type"
Quoted 14 lines
arch/arm/mach-sirf/Kconfig line 14
Quoted 9 lines
arch/arm/mach-sirf/Kconfig new file +8
-0+config ARCH_PRIMA2 + bool "CSR SiRFSoC PRIMA2 ARM Cortex A9 Platform" + select CPU_V7 + select ZONE_DMA + help + Support for CSR SiRFSoC ARM Cortex A9 Platform + +endchoiceIs this still needed? When you add other SoC type here, would you build kernels that are for just one of them in practice? If they are completely generic anyway, you can skip the submenu.
for the moment, that is needed just because the DEBUG UART base address is difficult for different SoC. debug-macro.S is very early, it depends on the SIRFSOC_UART1_PA_BASE.
/* UART-1: used as serial debug port */
#ifdef CONFIG_ARCH_PRIMA2
#define SIRFSOC_UART1_PA_BASE 0xb0060000
#elif defined(CONFIG_ARCH_MARCO)
#define SIRFSOC_UART1_PA_BASE 0xcc060000
#endif
otherwise, PRIMA2 and MARCO can co-exist.
i think i can find some ways to set the rp dynamically according to chip type.
.macro addruart, rp, rv, tmp
ldr \rp, =SIRFSOC_UART1_PA_BASE @ physical
ldr \rv, =SIRFSOC_UART1_VA_BASE @ virtual.endm
Quoted 2 lines
Arnd
-barry
PATCH 2/3 ARM: PRIMA2: make mach-prima2 common for all SiRF series SoC
Quoted 11 lines · Barry Song
for the moment, that is needed just because the DEBUG UART base address is difficult for different SoC.
debug-macro.Sis very early, it depends on theSIRFSOC_UART1_PA_BASE./* UART-1: used as serial debug port */
#ifdefCONFIG_ARCH_PRIMA2
#defineSIRFSOC_UART1_PA_BASE0xb0060000
#elifdefined(CONFIG_ARCH_MARCO)
#defineSIRFSOC_UART1_PA_BASE0xcc060000
#endif
otherwise, PRIMA2 and MARCO can co-exist.
Ok, I see.
Quoted 5 lines
i think i can find some ways to set the rp dynamically according to chip type.
.macro addruart, rp, rv, tmp ldr \rp, =SIRFSOC_UART1_PA_BASE @ physical ldr \rv, =SIRFSOC_UART1_VA_BASE @ virtual.endm
The most common way to do this is to have multiple entries in arch/arm/Kconfig.debug in the "Kernel low-level debugging port" menu. For production kernels, you would just leave out DEBUG_LL while for debugging you have to pick one UART.
Arnd
PATCH 2/3 ARM: PRIMA2: make mach-prima2 common for all SiRF series SoC
Hi Arnd,
2012/8/21 Arnd Bergmann <[email protected]>:
Quoted 21 lines · Barry Song
Quoted 11 lines
for the moment, that is needed just because the DEBUG UART base address is difficult for different SoC.
debug-macro.Sis very early, it depends on theSIRFSOC_UART1_PA_BASE./* UART-1: used as serial debug port */
#ifdefCONFIG_ARCH_PRIMA2
#defineSIRFSOC_UART1_PA_BASE0xb0060000
#elifdefined(CONFIG_ARCH_MARCO)
#defineSIRFSOC_UART1_PA_BASE0xcc060000
#endif
otherwise, PRIMA2 and MARCO can co-exist.Ok, I see.
Quoted 5 lines
i think i can find some ways to set the rp dynamically according to chip type.
.macro addruart, rp, rv, tmp ldr \rp, =SIRFSOC_UART1_PA_BASE @ physical ldr \rv, =SIRFSOC_UART1_VA_BASE @ virtual.endm
Quoted 4 lines
The most common way to do this is to have multiple entries in
arch/arm/Kconfig.debugin the "Kernel low-level debugging port" menu. For production kernels, you would just leave outDEBUG_LLwhile for debugging you have to pick one UART.
then i add these to Kconfig.debug as it is a common way
config DEBUG_PRIMA2_UART1
bool "Kernel low-level debugging on DaVinci DA8XX using UART1" depends on ARCH_PRIMA2
help
Say Y here if you want the debug print routines to direct their output to UART1 serial port on SiRFprimaII devices.
config DEBUG_MARCO_UART1
bool "Kernel low-level debugging on DaVinci DA8XX using UART2" depends on ARCH_MARCO
help
Say Y here if you want the debug print routines to direct their output to UART1 serial port on SiRFmarco devices.
and these in mach-prima2/include/mach/uart.h
#ifdef CONFIG_DEBUG_PRIMA2_UART1 #define SIRFSOC_UART1_PA_BASE 0xb0060000 #elif defined(CONFIG_DEBUG_MARCO_UART1) #define SIRFSOC_UART1_PA_BASE 0xcc060000 #endif
the above codes seem still ugly ?
Quoted 2 lines
Arnd
-barry
PATCH 2/3 ARM: PRIMA2: make mach-prima2 common for all SiRF series SoC
Quoted 18 lines · Barry Song
then i add these to
Kconfig.debugas it is a common wayconfig
DEBUG_PRIMA2_UART1
bool "Kernel low-level debugging on DaVinci DA8XX using UART1" depends onARCH_PRIMA2
help
Say Y here if you want the debug print routines to direct their output to UART1 serial port on SiRFprimaII devices.config
DEBUG_MARCO_UART1
bool "Kernel low-level debugging on DaVinci DA8XX using UART2" depends onARCH_MARCO
help
Say Y here if you want the debug print routines to direct their output to UART1 serial port on SiRFmarco devices.and these in
mach-prima2/include/mach/uart.h
Quoted 8 lines
#ifdef CONFIG_DEBUG_PRIMA2_UART1 #define SIRFSOC_UART1_PA_BASE 0xb0060000 #elif defined(CONFIG_DEBUG_MARCO_UART1) #define SIRFSOC_UART1_PA_BASE 0xcc060000 #endifthe above codes seem still ugly ?
No, that's fine, about as a good as it gets with today's kernel capabilities. Just fix the description to have the correct SoC name instead of "DaVinci DA8XX" ;-)
Arnd
PATCH 2/3 ARM: PRIMA2: make mach-prima2 common for all SiRF series SoC
2012/8/21 Arnd Bergmann <[email protected]>:
Quoted 25 lines · Barry Song
Quoted 24 lines
then i add these to
Kconfig.debugas it is a common wayconfig
DEBUG_PRIMA2_UART1
bool "Kernel low-level debugging on DaVinci DA8XX using UART1" depends onARCH_PRIMA2
help
Say Y here if you want the debug print routines to direct their output to UART1 serial port on SiRFprimaII devices.config
DEBUG_MARCO_UART1
bool "Kernel low-level debugging on DaVinci DA8XX using UART2" depends onARCH_MARCO
help
Say Y here if you want the debug print routines to direct their output to UART1 serial port on SiRFmarco devices.and these in
mach-prima2/include/mach/uart.h#ifdef CONFIG_DEBUG_PRIMA2_UART1 #define SIRFSOC_UART1_PA_BASE 0xb0060000 #elif defined(CONFIG_DEBUG_MARCO_UART1) #define SIRFSOC_UART1_PA_BASE 0xcc060000 #endif
Quoted 6 lines
Quoted 2 lines
the above codes seem still ugly ?
No, that's fine, about as a good as it gets with today's kernel capabilities. Just fix the description to have the correct SoC name instead of "DaVinci DA8XX" ;-)
except the DEBUG_LL uart base address, i missed the zreladdr-y. for primaii, it is 0x00008000, for marco, it is 0x40008000 as marco's memory space begins from 0x4000000.
i would to have AUTO_ZRELADDR for the whole SiRF series. but for uImage load address difference in uImage header, which blocks multiple SoCs from using same uImage, is "KERNEL_NOLOAD" uImage type the current generic solution?
Quoted 2 lines
Arnd
-barry
PATCH 2/3 ARM: PRIMA2: make mach-prima2 common for all SiRF series SoC
2012/8/28 Barry Song <[email protected]>:
Quoted 33 lines
2012/8/21 Arnd Bergmann <[email protected]>:
Quoted 25 lines · Barry Song
Quoted 24 lines
then i add these to
Kconfig.debugas it is a common wayconfig
DEBUG_PRIMA2_UART1
bool "Kernel low-level debugging on DaVinci DA8XX using UART1" depends onARCH_PRIMA2
help
Say Y here if you want the debug print routines to direct their output to UART1 serial port on SiRFprimaII devices.config
DEBUG_MARCO_UART1
bool "Kernel low-level debugging on DaVinci DA8XX using UART2" depends onARCH_MARCO
help
Say Y here if you want the debug print routines to direct their output to UART1 serial port on SiRFmarco devices.and these in
mach-prima2/include/mach/uart.h#ifdef CONFIG_DEBUG_PRIMA2_UART1 #define SIRFSOC_UART1_PA_BASE 0xb0060000 #elif defined(CONFIG_DEBUG_MARCO_UART1) #define SIRFSOC_UART1_PA_BASE 0xcc060000 #endifQuoted 6 lines
Quoted 2 lines
the above codes seem still ugly ?
No, that's fine, about as a good as it gets with today's kernel capabilities. Just fix the description to have the correct SoC name instead of "DaVinci DA8XX" ;-)
Quoted 7 lines
except the
DEBUG_LLuart base address, i missed the zreladdr-y. for primaii, it is0x00008000, for marco, it is0x40008000as marco's memory space begins from0x4000000.
i would to haveAUTO_ZRELADDRfor the whole SiRF series. but for uImage load address difference in uImage header, which blocks multiple SoCs from using same uImage, is "KERNEL_NOLOAD" uImage type the current generic solution?
also add Stephen Warren.
i have two verified ways to resolve this problem:
1. use "kernel noload", build uImage by:
make uImage UIMAGE_TYPE=kernel_noload
and add the following patch in kernel:
(quoted diff) +0 -0
b/arch/arm/mach-prima2/Makefile.boot
index 53c5225..059bcd7 100644
arch/arm/mach-prima2/Makefile.boot +0 -3
@@ -1,12 +1,4 @@ -zreladdr-y += 0x00008000 -params_phys-y := 0x00000100 -initrd_phys-y := 0x00800000
#we use kernel_noload uImage and AUTO_ZRELADDR
+zreladdr-y += 0x0
2. don't use kernel's uImage target, mkimage uImage out of kernel by giving mkimage the "-a 0x40008000" and keep kernel unchanged.
anyway, i think arm SoC needs a generic way to handle this kind of problem.
if we move to 1, i think almost all ARM SoCs don't need Makefile.boot again.
Quoted 5 lines
Quoted 3 lines
Arnd
-barry
-barry
PATCH 2/3 ARM: PRIMA2: make mach-prima2 common for all SiRF series SoC
Quoted 42 lines · Barry Song
2012/8/28 Barry Song <[email protected]>:
Quoted 33 lines
2012/8/21 Arnd Bergmann <[email protected]>:
Quoted 25 lines · Barry Song
Quoted 24 lines
then i add these to
Kconfig.debugas it is a common wayconfig
DEBUG_PRIMA2_UART1
bool "Kernel low-level debugging on DaVinci DA8XX using UART1" depends onARCH_PRIMA2
help
Say Y here if you want the debug print routines to direct their output to UART1 serial port on SiRFprimaII devices.config
DEBUG_MARCO_UART1
bool "Kernel low-level debugging on DaVinci DA8XX using UART2" depends onARCH_MARCO
help
Say Y here if you want the debug print routines to direct their output to UART1 serial port on SiRFmarco devices.and these in
mach-prima2/include/mach/uart.h#ifdef CONFIG_DEBUG_PRIMA2_UART1 #define SIRFSOC_UART1_PA_BASE 0xb0060000 #elif defined(CONFIG_DEBUG_MARCO_UART1) #define SIRFSOC_UART1_PA_BASE 0xcc060000 #endifQuoted 6 lines
Quoted 2 lines
the above codes seem still ugly ?
No, that's fine, about as a good as it gets with today's kernel capabilities. Just fix the description to have the correct SoC name instead of "DaVinci DA8XX" ;-)
Quoted 7 lines
except the
DEBUG_LLuart base address, i missed the zreladdr-y. for primaii, it is0x00008000, for marco, it is0x40008000as marco's memory space begins from0x4000000.
i would to haveAUTO_ZRELADDRfor the whole SiRF series. but for uImage load address difference in uImage header, which blocks multiple SoCs from using same uImage, is "KERNEL_NOLOAD" uImage type the current generic solution?
Quoted 8 lines
also add Stephen Warren.
i have two verified ways to resolve this problem:
1. use "kernel noload", build uImage by:
make uImage UIMAGE_TYPE=kernel_noload
and add the following patch in kernel:
Very recent U-Boot have a bootz command, which acts just like bootm, but allows use of a raw zImage or the kernel, rather than a uImage-wrapped-zImage. This was implemented by Marek Vasut.
PATCH 2/3 ARM: PRIMA2: make mach-prima2 common for all SiRF series SoC
2012/8/28 Stephen Warren <[email protected]>:
Quoted 47 lines · Barry Song
Quoted 46 lines
2012/8/28 Barry Song <[email protected]>:
Quoted 33 lines
2012/8/21 Arnd Bergmann <[email protected]>:
Quoted 25 lines · Barry Song
Quoted 24 lines
then i add these to
Kconfig.debugas it is a common wayconfig
DEBUG_PRIMA2_UART1
bool "Kernel low-level debugging on DaVinci DA8XX using UART1" depends onARCH_PRIMA2
help
Say Y here if you want the debug print routines to direct their output to UART1 serial port on SiRFprimaII devices.config
DEBUG_MARCO_UART1
bool "Kernel low-level debugging on DaVinci DA8XX using UART2" depends onARCH_MARCO
help
Say Y here if you want the debug print routines to direct their output to UART1 serial port on SiRFmarco devices.and these in
mach-prima2/include/mach/uart.h#ifdef CONFIG_DEBUG_PRIMA2_UART1 #define SIRFSOC_UART1_PA_BASE 0xb0060000 #elif defined(CONFIG_DEBUG_MARCO_UART1) #define SIRFSOC_UART1_PA_BASE 0xcc060000 #endifQuoted 6 lines
Quoted 2 lines
the above codes seem still ugly ?
No, that's fine, about as a good as it gets with today's kernel capabilities. Just fix the description to have the correct SoC name instead of "DaVinci DA8XX" ;-)
Quoted 7 lines
except the
DEBUG_LLuart base address, i missed the zreladdr-y. for primaii, it is0x00008000, for marco, it is0x40008000as marco's memory space begins from0x4000000.
i would to haveAUTO_ZRELADDRfor the whole SiRF series. but for uImage load address difference in uImage header, which blocks multiple SoCs from using same uImage, is "KERNEL_NOLOAD" uImage type the current generic solution?also add Stephen Warren.
i have two verified ways to resolve this problem:
Quoted 8 lines
Quoted 4 lines
1. use "kernel noload", build uImage by:
make uImage UIMAGE_TYPE=kernel_noload
and add the following patch in kernel:Very recent U-Boot have a bootz command, which acts just like bootm, but allows use of a raw zImage or the kernel, rather than a uImage-wrapped-zImage. This was implemented by Marek Vasut.
Thanks, Stephen. i guess xianglong will try bootz on SiRFmarco and try to move from uImage to raw zImage.
Based on your past "kernel_noload" support patch, we actually can compile an uImage by:
make uImage UIMAGE_TYPE=kernel_noload UIMAGE_ENTRYADDR=0x0 and it gets a cross-SoCs uImage which doesn't care about zreladdr-y in Makefile.boot.
actually it just jumps to (loaded uImage dram address + 0x40).
anyway, we don't need to modify mach-prima2/Makefile.boot for marco any more.
do people think we have a chance to delete mach-xxx/Makefile.boot for some platforms if zreladdr-y and related address don't make many senses again?
-barry
PATCH 2/3 ARM: PRIMA2: make mach-prima2 common for all SiRF series SoC
In reply to Barry Song2012/8/21 Barry Song <[email protected]>:
Quoted 24 lines
2012/8/21 Arnd Bergmann <[email protected]>:
Quoted 23 lines · Barry Song
Quoted 21 lines
From: Barry Song <[email protected]>
We will have SiRF Marco and Polo, so rename the dir to mach-sirf and add
KconfigmenuSigned-off-by Baohua Song <[email protected]>--- arch/arm/Kconfig | 10 +++++----- arch/arm/Makefile | 2 +- arch/arm/mach-sirf/Kconfig | 16 ++++++++++++++++ arch/arm/{mach-prima2 => mach-sirf}/Makefile | 0 arch/arm/{mach-prima2 => mach-sirf}/Makefile.boot | 0 .../arm/{mach-prima2 => mach-sirf}/board-generic.c | 0 arch/arm/{mach-prima2 => mach-sirf}/common.h | 0 .../include/mach/clkdev.h | 0 .../include/mach/debug-macro.S | 0 .../include/mach/entry-macro.S | 0 .../{mach-prima2 => mach-sirf}/include/mach/gpio.h | 0 .../include/mach/hardware.h | 0 .../{mach-prima2 => mach-sirf}/include/mach/irqs.h | 0 .../{mach-prima2 => mach-sirf}/include/mach/map.h | 0
Quoted 8 lines
Quoted 6 lines
I'm not sure if we should rename all of these right now. I've been thinking about moving all of recent and simple ARMv7 based platforms (socfpga, zynq, prima2, ...) into a single directory, where they would basically end up being one file per platform. We should discuss this at the ARM mini summit, and I can let you know the outcome of it. I don't object on the rename in principle, but it might end up causing extra churn.
ok. i will follow the output of ARM mini summit.
i would think merging several SoCs into a dir still needs much time. if the whole rename is too aggresive for the moment, how about keeping the mach-prima2 temporarily, but this prima2 dir will also include the coming Marco stuff?
-barry
PATCH 2/3 ARM: PRIMA2: make mach-prima2 common for all SiRF series SoC
Quoted 5 lines · Barry Song
i would think merging several SoCs into a dir still needs much time. if the whole rename is too aggresive for the moment, how about keeping the mach-prima2 temporarily, but this prima2 dir will also include the coming Marco stuff?
Yes, that is what I meant. Sorry if I wasn't clear on that. Please send the marco patches adding the code in the mach-prima2 directory.
Arnd
PATCH 2/3 ARM: PRIMA2: make mach-prima2 common for all SiRF series SoC
In reply to Arnd BergmannHi Arnd,
more comments.
2012/8/21 Arnd Bergmann <[email protected]>:
Quoted 23 lines · Barry Song
Quoted 6 lines
From: Barry Song <[email protected]>
We will have SiRF Marco and Polo, so rename the dir to mach-sirf and add
KconfigmenuSigned-off-by Baohua Song <[email protected]>Quoted 15 lines
--- arch/arm/Kconfig | 10 +++++----- arch/arm/Makefile | 2 +- arch/arm/mach-sirf/Kconfig | 16 ++++++++++++++++ arch/arm/{mach-prima2 => mach-sirf}/Makefile | 0 arch/arm/{mach-prima2 => mach-sirf}/Makefile.boot | 0 .../arm/{mach-prima2 => mach-sirf}/board-generic.c | 0 arch/arm/{mach-prima2 => mach-sirf}/common.h | 0 .../include/mach/clkdev.h | 0 .../include/mach/debug-macro.S | 0 .../include/mach/entry-macro.S | 0 .../{mach-prima2 => mach-sirf}/include/mach/gpio.h | 0 .../include/mach/hardware.h | 0 .../{mach-prima2 => mach-sirf}/include/mach/irqs.h | 0 .../{mach-prima2 => mach-sirf}/include/mach/map.h | 0
Quoted 6 lines
I'm not sure if we should rename all of these right now. I've been thinking about moving all of recent and simple ARMv7 based platforms (socfpga, zynq, prima2, ...) into a single directory, where they would basically end up being one file per platform. We should discuss this at the ARM mini summit, and I can let you know the outcome of it. I don't object on the rename in principle, but it might end up causing extra churn.
we will have other SoCs which are more complex than primaII. i am not sure whether you can merge all of them into a single dir together with zynq or other platforms.
i am debugging the patches of MARCO and will send them soon. this series is just preparing for delivering MARCO patches.
Quoted 9 lines
arch/arm/mach-sirf/Kconfig line 5
Quoted 6 lines
arch/arm/mach-sirf/Kconfig new file +5
-0+if ARCH_SIRF + +choice + prompt "Qualcomm SiRF SoC Type" + default ARCH_PRIMA2I'm curious about this: I did read that Samsung acquired CSR, and you list the chips as Qualcomm. What's the story here?
BTW, i just want to clarify Samsung acquired the mobile business of CSR, not including our primaII or other SoCs.
Quoted 14 lines
arch/arm/mach-sirf/Kconfig line 14
Quoted 9 lines
arch/arm/mach-sirf/Kconfig new file +8
-0+config ARCH_PRIMA2 + bool "CSR SiRFSoC PRIMA2 ARM Cortex A9 Platform" + select CPU_V7 + select ZONE_DMA + help + Support for CSR SiRFSoC ARM Cortex A9 Platform + +endchoiceIs this still needed? When you add other SoC type here, would you build kernels that are for just one of them in practice? If they are completely generic anyway, you can skip the submenu.
Quoted 2 lines
Arnd
-barry
PATCH 2/3 ARM: PRIMA2: make mach-prima2 common for all SiRF series SoC
Quoted 10 lines · Barry Song
Quoted 9 lines
arch/arm/mach-sirf/Kconfig line 5
Quoted 6 lines
arch/arm/mach-sirf/Kconfig new file +5
-0+if ARCH_SIRF + +choice + prompt "Qualcomm SiRF SoC Type" + default ARCH_PRIMA2I'm curious about this: I did read that Samsung acquired CSR, and you list the chips as Qualcomm. What's the story here?
Quoted 2 lines
BTW, i just want to clarify Samsung acquired the mobile business of CSR, not including our primaII or other SoCs.
Ah, I had not realized that. Thanks for the clarification.
Arnd
PATCH 3/3 ARM: SIRF: make sirf irqchip driver selectable since new SoCs will have GIC
In reply to Barry SongFrom: Barry Song <[email protected]>
New MARCO and POLO SoC uses GIC, so make irq.c selectable and select it for PRIMAII
--- arch/arm/mach-sirf/Kconfig | 4 ++++ arch/arm/mach-sirf/Makefile | 2 +- 2 files changed, 5 insertions(+), 1 deletions(-)
arch/arm/mach-sirf/Kconfig +4 -0
@@ -8,9 +8,13 @@ config ARCH_PRIMA2 bool "CSR SiRFSoC PRIMA2 ARM Cortex A9 Platform" select CPU_V7 select ZONE_DMA + select SIRF_IRQ help Support for CSR SiRFSoC ARM Cortex A9 Platform endchoice +config SIRF_IRQ + bool + endif
arch/arm/mach-sirf/Makefile +1 -1
@@ -1,8 +1,8 @@ obj-y := timer.o -obj-y += irq.o obj-y += rstc.o obj-y += board-generic.o obj-y += rtciobrg.o obj-$(CONFIG_DEBUG_LL) += lluart.o obj-$(CONFIG_CACHE_L2X0) += l2x0.o obj-$(CONFIG_SUSPEND) += pm.o sleep.o +obj-$(CONFIG_SIRF_IRQ) += irq.o
Signature · 6 lines
1.7.0.4 Member of the CSR plc group of companies. CSR plc registered in England and Wales, registered number 4187346, registered office Churchill House, Cambridge Business Park, Cowley Road, Cambridge, CB4 0WZ, United Kingdom More information can be found at www.csr.com. Follow CSR on Twitter at http://twitter.com/CSR_PLC and read our blog at www.csr.com/blog