mbox

[v1,00/14] ARM: OMAP5: Add minimal OMAP5 SOC support

Message ID 1341490136-25901-1-git-send-email-santosh.shilimkar@ti.com
State New
Headers show

Pull-request

git://github.com/SantoshShilimkar/linux.git for_3.6/omap5_minimal_support

Message

Santosh Shilimkar July 5, 2012, 12:08 p.m. UTC
Tony,

The series adds minimal OMAP5 support. OMAP5430 has a dual core Cortex-A15
based MPU subsystem with 2MB L2 cache. The SOC has many compatible blocks
with OMAP4 SOCS and hence large part of the peripherals are re-used.

OMAP5432 is another variant of OMAP5430, with a memory controller supporting
DDR3 and SATA.

Series is generated against cleanup-part2 branch at commit 74dd9ec6.

BOOT tested:
- OMAP4430 SDP
- OMAP3430 SDP
- OMAP3430 SDP
- OMAP5430 EVM with OMAP5 hwmod/PRM?CM data files.

Build testd:
- OMAP1 only build, OMAP[2/3/4/5] Only builds.

The following changes since commit 74dd9ec627582bfd4477f01ceeaaa3f54e3748b8:

  ARM: OMAP: dmtimer: use devm_ API and do some cleanup in probe() (2012-07-05 02:15:55 -0700)

are available in the git repository at:

  git://github.com/SantoshShilimkar/linux.git for_3.6/omap5_minimal_support

for you to fetch changes up to c78c1186f5c88fe16070a6860d4843ce74200bcd:

  ARM: Kconfig update to support additional GPIOs in OMAP5 (2012-07-05 16:18:44 +0530)

----------------------------------------------------------------

R Sricharan (11):
  ARM: OMAP2+: Move stubbed secure_sram_reserve function to a common.c
    and call it __weak
  ARM: OMAP: counter-32k: Select the CR register offset using the IP
    scheme.
  ARM: OMAP5: id: Add cpu id for ES versions
  ARM: OMAP5: Add minimal support for OMAP5430 SOC
  ARM: OMAP5: timer: Add clocksource, clockevent support
  ARM: OMAP5: gpmc: Update gpmc_init()
  ARM: OMAP5: l3: Add l3 error handler support for omap5.
  ARM: omap2+: board-generic: clean up the irq data from board file.
  ARM: OMAP5: board-generic: Add device tree support.
  arm/dts: OMAP5: Add omap5 dts files
  ARM: OMAP5: Add the build support

Santosh Shilimkar (2):
  ARM: OMAP5: Add the WakeupGen IP updates
  ARM: OMAP5: Add SMP support.

Tarun Kanti DebBarma (1):
  ARM: Kconfig update to support additional GPIOs in OMAP5

 .../devicetree/bindings/arm/omap/omap.txt          |    3 +
 arch/arm/Kconfig                                   |    1 +
 arch/arm/boot/dts/omap5-evm.dts                    |   20 +++
 arch/arm/boot/dts/omap5.dtsi                       |  184 ++++++++++++++++++++
 arch/arm/configs/omap2plus_defconfig               |    1 +
 arch/arm/mach-omap2/Kconfig                        |    6 +
 arch/arm/mach-omap2/Makefile                       |   24 ++-
 arch/arm/mach-omap2/board-generic.c                |   42 +++--
 arch/arm/mach-omap2/common.c                       |   24 +++
 arch/arm/mach-omap2/common.h                       |   19 +-
 arch/arm/mach-omap2/control.h                      |    4 +
 arch/arm/mach-omap2/devices.c                      |    2 +-
 arch/arm/mach-omap2/gpmc.c                         |    3 +-
 arch/arm/mach-omap2/id.c                           |   42 ++++-
 arch/arm/mach-omap2/include/mach/debug-macro.S     |    8 +-
 arch/arm/mach-omap2/include/mach/omap-wakeupgen.h  |    7 +
 arch/arm/mach-omap2/io.c                           |   44 +++++
 arch/arm/mach-omap2/iomap.h                        |   27 +++
 arch/arm/mach-omap2/irq.c                          |   13 +-
 arch/arm/mach-omap2/omap-headsmp.S                 |   21 +++
 arch/arm/mach-omap2/omap-hotplug.c                 |   24 ++-
 arch/arm/mach-omap2/omap-smp.c                     |   52 ++++--
 arch/arm/mach-omap2/omap-wakeupgen.c               |  114 +++++++++---
 arch/arm/mach-omap2/omap4-common.c                 |   14 ++
 arch/arm/mach-omap2/omap4-sar-layout.h             |   12 +-
 arch/arm/mach-omap2/omap_hwmod.c                   |    2 +-
 arch/arm/mach-omap2/omap_l3_noc.h                  |   22 ++-
 arch/arm/mach-omap2/prcm-common.h                  |    2 +-
 arch/arm/mach-omap2/prcm.c                         |    2 +-
 arch/arm/mach-omap2/timer.c                        |    5 +
 arch/arm/plat-omap/Kconfig                         |    4 +-
 arch/arm/plat-omap/Makefile                        |    4 +-
 arch/arm/plat-omap/common.c                        |    9 +
 arch/arm/plat-omap/counter_32k.c                   |   16 +-
 arch/arm/plat-omap/include/plat/clkdev_omap.h      |    1 +
 arch/arm/plat-omap/include/plat/clock.h            |    1 +
 arch/arm/plat-omap/include/plat/cpu.h              |   22 ++-
 arch/arm/plat-omap/include/plat/hardware.h         |    1 +
 arch/arm/plat-omap/include/plat/multi.h            |    9 +
 arch/arm/plat-omap/include/plat/omap-secure.h      |    5 -
 arch/arm/plat-omap/include/plat/omap54xx.h         |   32 ++++
 arch/arm/plat-omap/include/plat/serial.h           |   10 ++
 arch/arm/plat-omap/include/plat/uncompress.h       |    6 +
 arch/arm/plat-omap/sram.c                          |   11 +-
 44 files changed, 775 insertions(+), 100 deletions(-)
 create mode 100644 arch/arm/boot/dts/omap5-evm.dts
 create mode 100644 arch/arm/boot/dts/omap5.dtsi
 create mode 100644 arch/arm/plat-omap/include/plat/omap54xx.h

Comments

Santosh Shilimkar July 5, 2012, 12:22 p.m. UTC | #1
On Thu, Jul 5, 2012 at 5:38 PM, Santosh Shilimkar
<santosh.shilimkar@ti.com> wrote:
> Tony,
>
> The series adds minimal OMAP5 support. OMAP5430 has a dual core Cortex-A15
> based MPU subsystem with 2MB L2 cache. The SOC has many compatible blocks
> with OMAP4 SOCS and hence large part of the peripherals are re-used.
>
> OMAP5432 is another variant of OMAP5430, with a memory controller supporting
> DDR3 and SATA.
>
> Series is generated against cleanup-part2 branch at commit 74dd9ec6.
>
4 patches are repeated with [PATCH x/5] while posting. Just ignore them.

Regards
santosh
Tony Lindgren July 5, 2012, 2:26 p.m. UTC | #2
Hi,

* Santosh Shilimkar <santosh.shilimkar@ti.com> [120705 05:13]:
> From: R Sricharan <r.sricharan@ti.com>
> 
> Adding the OMAP5 ES1.0, 2.0 and OMAP5432 cpu revision
> detection support.
> 
> --- a/arch/arm/mach-omap2/id.c
> +++ b/arch/arm/mach-omap2/id.c
> @@ -50,6 +50,11 @@ int omap_type(void)
>  		val = omap_ctrl_readl(OMAP343X_CONTROL_STATUS);
>  	} else if (cpu_is_omap44xx()) {
>  		val = omap_ctrl_readl(OMAP4_CTRL_MODULE_CORE_STATUS);
> +	} else if (cpu_is_omap54xx()) {
> +		val = omap_ctrl_readl(OMAP5XXX_CONTROL_STATUS);
> +		val &= OMAP5_DEVICETYPE_MASK;
> +		val >>= 6;
> +		goto out;
>  	} else {
>  		pr_err("Cannot detect omap type!\n");
>  		goto out;
> @@ -100,7 +105,7 @@ static u16 tap_prod_id;
>  
>  void omap_get_die_id(struct omap_die_id *odi)
>  {
> -	if (cpu_is_omap44xx()) {
> +	if (cpu_is_omap44xx() || cpu_is_omap54xx()) {

Please update all these patches to use soc_is_omap54xx()
instead of cpu_is_omap54xx() as that's where we are heading.

Regards,

Tony
Santosh Shilimkar July 5, 2012, 2:29 p.m. UTC | #3
On Thu, Jul 5, 2012 at 7:56 PM, Tony Lindgren <tony@atomide.com> wrote:
> Hi,
>
> * Santosh Shilimkar <santosh.shilimkar@ti.com> [120705 05:13]:
>> From: R Sricharan <r.sricharan@ti.com>
>>
>> Adding the OMAP5 ES1.0, 2.0 and OMAP5432 cpu revision
>> detection support.
>>
>> --- a/arch/arm/mach-omap2/id.c
>> +++ b/arch/arm/mach-omap2/id.c
>> @@ -50,6 +50,11 @@ int omap_type(void)
>>               val = omap_ctrl_readl(OMAP343X_CONTROL_STATUS);
>>       } else if (cpu_is_omap44xx()) {
>>               val = omap_ctrl_readl(OMAP4_CTRL_MODULE_CORE_STATUS);
>> +     } else if (cpu_is_omap54xx()) {
>> +             val = omap_ctrl_readl(OMAP5XXX_CONTROL_STATUS);
>> +             val &= OMAP5_DEVICETYPE_MASK;
>> +             val >>= 6;
>> +             goto out;
>>       } else {
>>               pr_err("Cannot detect omap type!\n");
>>               goto out;
>> @@ -100,7 +105,7 @@ static u16 tap_prod_id;
>>
>>  void omap_get_die_id(struct omap_die_id *odi)
>>  {
>> -     if (cpu_is_omap44xx()) {
>> +     if (cpu_is_omap44xx() || cpu_is_omap54xx()) {
>
> Please update all these patches to use soc_is_omap54xx()
> instead of cpu_is_omap54xx() as that's where we are heading.
>
Damn. We missed to update this. Will fix this and update the
branch. Thanks for pointing it out.

Regards
santosh
Tony Lindgren July 5, 2012, 2:33 p.m. UTC | #4
* Santosh Shilimkar <santosh.shilimkar@ti.com> [120705 05:13]:
> --- a/arch/arm/plat-omap/Makefile
> +++ b/arch/arm/plat-omap/Makefile
> @@ -10,9 +10,7 @@ obj-n :=
>  obj-  :=
>  
>  # omap_device support (OMAP2+ only at the moment)
> -obj-$(CONFIG_ARCH_OMAP2) += omap_device.o
> -obj-$(CONFIG_ARCH_OMAP3) += omap_device.o
> -obj-$(CONFIG_ARCH_OMAP4) += omap_device.o
> +obj-$(CONFIG_ARCH_OMAP2PLUS) += omap_device.o
>  
>  obj-$(CONFIG_OMAP_DM_TIMER) += dmtimer.o
>  obj-$(CONFIG_OMAP_DEBUG_DEVICES) += debug-devices.o

FYI, this we already have as commit b4cb410d in devel-am33xx-part2.
I can merge first few patches in devel-am33xx-part2 branch into
cleanup-part2 so this part can be just left out.

Regards,

Tony
Santosh Shilimkar July 5, 2012, 2:36 p.m. UTC | #5
On Thu, Jul 5, 2012 at 8:03 PM, Tony Lindgren <tony@atomide.com> wrote:
> * Santosh Shilimkar <santosh.shilimkar@ti.com> [120705 05:13]:
>> --- a/arch/arm/plat-omap/Makefile
>> +++ b/arch/arm/plat-omap/Makefile
>> @@ -10,9 +10,7 @@ obj-n :=
>>  obj-  :=
>>
>>  # omap_device support (OMAP2+ only at the moment)
>> -obj-$(CONFIG_ARCH_OMAP2) += omap_device.o
>> -obj-$(CONFIG_ARCH_OMAP3) += omap_device.o
>> -obj-$(CONFIG_ARCH_OMAP4) += omap_device.o
>> +obj-$(CONFIG_ARCH_OMAP2PLUS) += omap_device.o
>>
>>  obj-$(CONFIG_OMAP_DM_TIMER) += dmtimer.o
>>  obj-$(CONFIG_OMAP_DEBUG_DEVICES) += debug-devices.o
>
> FYI, this we already have as commit b4cb410d in devel-am33xx-part2.
> I can merge first few patches in devel-am33xx-part2 branch into
> cleanup-part2 so this part can be just left out.
>
Ok. Once you update the branch this can be easily dropped.

regards
santosh
Tony Lindgren July 5, 2012, 4:02 p.m. UTC | #6
* Shilimkar, Santosh <santosh.shilimkar@ti.com> [120705 07:41]:
> On Thu, Jul 5, 2012 at 8:03 PM, Tony Lindgren <tony@atomide.com> wrote:
> > * Santosh Shilimkar <santosh.shilimkar@ti.com> [120705 05:13]:
> >> --- a/arch/arm/plat-omap/Makefile
> >> +++ b/arch/arm/plat-omap/Makefile
> >> @@ -10,9 +10,7 @@ obj-n :=
> >>  obj-  :=
> >>
> >>  # omap_device support (OMAP2+ only at the moment)
> >> -obj-$(CONFIG_ARCH_OMAP2) += omap_device.o
> >> -obj-$(CONFIG_ARCH_OMAP3) += omap_device.o
> >> -obj-$(CONFIG_ARCH_OMAP4) += omap_device.o
> >> +obj-$(CONFIG_ARCH_OMAP2PLUS) += omap_device.o
> >>
> >>  obj-$(CONFIG_OMAP_DM_TIMER) += dmtimer.o
> >>  obj-$(CONFIG_OMAP_DEBUG_DEVICES) += debug-devices.o
> >
> > FYI, this we already have as commit b4cb410d in devel-am33xx-part2.
> > I can merge first few patches in devel-am33xx-part2 branch into
> > cleanup-part2 so this part can be just left out.
> >
> Ok. Once you update the branch this can be easily dropped.

Updated cleanup-part2 at commit ecc46cfd now has it.

Regards,

Tony