RE: [PATCH-V7 0/3] ARM: OMAP: Make OMAP clocksource source selection runtime

2012-05-11 Thread Hiremath, Vaibhav
On Fri, May 11, 2012 at 03:06:48, Janusz Krzysztofik wrote:
 Dnia czwartek, 3 maja 2012 13:28:58 Vaibhav Hiremath pisze:
  Current OMAP code supports couple of clocksource options based
  on compilation flag (CONFIG_OMAP_32K_TIMER). The 32KHz sync-timer
  and a gptimer which can run on 32KHz or system clock (e.g 38.4 MHz)
  
  This patch series cleans up the existing 32k-sync timer 
 implementation,
  movind SoC init code to respective files (mach-omap1/timer32k.c and
  mach-omap2/timer.c) and uses kernel parameter to override the default
  clocksource of counter_32k, also in order to support some OMAP based
  derivative SoCs like AM33XX which doesn't have 32K sync-timer hardware 
 IP,
  adds hwmod lookup for omap2+ devices, and if lookup fails then
  fall back to gp-timer.
  
  if(use_gptimer_clksrc == true)
  gptimer clocksource init;
  else if (counter_32 init == false)
  /* Fallback to gptimer */
  gptimer clocksource init(;
  
  With this, we should be able to support multi-omap boot
  including devices with/without 32k-sync timer.
  
  This patch-series has been boot tested on AM37xEVM platform, it
  would be helpful if somebody help me to validate it on OMAP1/2
  platforms.
  
  The patches are also available at (based on linux-omap/master) -
  https://github.com/hvaibhav/am335x-linux   32ksync-timer-cleanup
 
 Tried to test this branch, merged into 3.4-rc6, and with my Amstrad 
 Delta fixes applied, using my custom Amstrad Delta config, but initially 
 failed because an unrelated issue rised to the surface:
 
 |   LD  .tmp_vmlinux1
 | arch/arm/mach-omap1/built-in.o: In function `omap1_usb_init':
 | lcd_dma.c:(.init.text+0x1420): undefined reference to `ocpi_enable'
 | make: *** [.tmp_vmlinux1] Error 1
 
 Apparently introduced with commit 
 d3645d39ad0ed9f09535065676ea0ba114f93cdf, ARM: OMAP1: OHCI: use 
 platform_data fn ptr to enable OCPI bus, looks like one or more symbols 
 exported by the not linked in arch/arm/mach-omap1/ocpi.o may be missing 
 for non-OMAP16xx configs.
 
 Otherwise, if configured with OMAP16xx selected, builds and seems to work 
 correctly for me, to the extent possible to verify without physical 
 access to the hardware. However, please note that the Amstrad Delta 
 doesn't make use of the 32k timer, only mpu_timer.
 

Thanks Janusz for validating this, really appreciate your help here.

Thanks,
Vaibhav

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH-V7 0/3] ARM: OMAP: Make OMAP clocksource source selection runtime

2012-05-10 Thread Janusz Krzysztofik
Dnia czwartek, 3 maja 2012 13:28:58 Vaibhav Hiremath pisze:
 Current OMAP code supports couple of clocksource options based
 on compilation flag (CONFIG_OMAP_32K_TIMER). The 32KHz sync-timer
 and a gptimer which can run on 32KHz or system clock (e.g 38.4 MHz)
 
 This patch series cleans up the existing 32k-sync timer 
implementation,
 movind SoC init code to respective files (mach-omap1/timer32k.c and
 mach-omap2/timer.c) and uses kernel parameter to override the default
 clocksource of counter_32k, also in order to support some OMAP based
 derivative SoCs like AM33XX which doesn't have 32K sync-timer hardware 
IP,
 adds hwmod lookup for omap2+ devices, and if lookup fails then
 fall back to gp-timer.
 
 if(use_gptimer_clksrc == true)
   gptimer clocksource init;
 else if (counter_32 init == false)
   /* Fallback to gptimer */
   gptimer clocksource init(;
 
 With this, we should be able to support multi-omap boot
 including devices with/without 32k-sync timer.
 
 This patch-series has been boot tested on AM37xEVM platform, it
 would be helpful if somebody help me to validate it on OMAP1/2
 platforms.
 
 The patches are also available at (based on linux-omap/master) -
 https://github.com/hvaibhav/am335x-linux   32ksync-timer-cleanup

Tried to test this branch, merged into 3.4-rc6, and with my Amstrad 
Delta fixes applied, using my custom Amstrad Delta config, but initially 
failed because an unrelated issue rised to the surface:

|   LD  .tmp_vmlinux1
| arch/arm/mach-omap1/built-in.o: In function `omap1_usb_init':
| lcd_dma.c:(.init.text+0x1420): undefined reference to `ocpi_enable'
| make: *** [.tmp_vmlinux1] Error 1

Apparently introduced with commit 
d3645d39ad0ed9f09535065676ea0ba114f93cdf, ARM: OMAP1: OHCI: use 
platform_data fn ptr to enable OCPI bus, looks like one or more symbols 
exported by the not linked in arch/arm/mach-omap1/ocpi.o may be missing 
for non-OMAP16xx configs.

Otherwise, if configured with OMAP16xx selected, builds and seems to work 
correctly for me, to the extent possible to verify without physical 
access to the hardware. However, please note that the Amstrad Delta 
doesn't make use of the 32k timer, only mpu_timer.

Thanks,
Janusz
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH-V7 0/3] ARM: OMAP: Make OMAP clocksource source selection runtime

2012-05-10 Thread Paul Walmsley
Hi Janusz,

On Thu, 10 May 2012, Janusz Krzysztofik wrote:

 Tried to test this branch, merged into 3.4-rc6, and with my Amstrad 
 Delta fixes applied, using my custom Amstrad Delta config, but initially 
 failed because an unrelated issue rised to the surface:
 
 |   LD  .tmp_vmlinux1
 | arch/arm/mach-omap1/built-in.o: In function `omap1_usb_init':
 | lcd_dma.c:(.init.text+0x1420): undefined reference to `ocpi_enable'
 | make: *** [.tmp_vmlinux1] Error 1
 
 Apparently introduced with commit 
 d3645d39ad0ed9f09535065676ea0ba114f93cdf, ARM: OMAP1: OHCI: use 
 platform_data fn ptr to enable OCPI bus, looks like one or more symbols 
 exported by the not linked in arch/arm/mach-omap1/ocpi.o may be missing 
 for non-OMAP16xx configs.

Thanks for the report, I'll send a fix.


- Paul
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH-V7 0/3] ARM: OMAP: Make OMAP clocksource source selection runtime

2012-05-10 Thread Tony Lindgren
* Janusz Krzysztofik jmkrzy...@gmail.com [120510 14:40]:
 
 Otherwise, if configured with OMAP16xx selected, builds and seems to work 
 correctly for me, to the extent possible to verify without physical 
 access to the hardware. However, please note that the Amstrad Delta 
 doesn't make use of the 32k timer, only mpu_timer.

OK good to hear, thanks!

Tony
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH-V7 0/3] ARM: OMAP: Make OMAP clocksource source selection runtime

2012-05-10 Thread Paul Walmsley
Hello Janusz,

On Thu, 10 May 2012, Janusz Krzysztofik wrote:

 Tried to test this branch, merged into 3.4-rc6, and with my Amstrad 
 Delta fixes applied, using my custom Amstrad Delta config, but initially 
 failed because an unrelated issue rised to the surface:
 
 |   LD  .tmp_vmlinux1
 | arch/arm/mach-omap1/built-in.o: In function `omap1_usb_init':
 | lcd_dma.c:(.init.text+0x1420): undefined reference to `ocpi_enable'
 | make: *** [.tmp_vmlinux1] Error 1
 
 Apparently introduced with commit 
 d3645d39ad0ed9f09535065676ea0ba114f93cdf, ARM: OMAP1: OHCI: use 
 platform_data fn ptr to enable OCPI bus, looks like one or more symbols 
 exported by the not linked in arch/arm/mach-omap1/ocpi.o may be missing 
 for non-OMAP16xx configs.

A fix for this is now posted here:

http://marc.info/?l=linux-omapm=133668898529344w=2

If you have the chance to test it, that would be great.  Hopefully it 
should be pretty uncontroversial.


- Paul
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH-V7 0/3] ARM: OMAP: Make OMAP clocksource source selection runtime

2012-05-09 Thread Tony Lindgren
* Vaibhav Hiremath hvaib...@ti.com [120503 01:02]:
 Current OMAP code supports couple of clocksource options based
 on compilation flag (CONFIG_OMAP_32K_TIMER). The 32KHz sync-timer
 and a gptimer which can run on 32KHz or system clock (e.g 38.4 MHz)
 
I'll apply these into cleanup-timer branch now that we have the
related hwmod patches merged into devel-hwmod-data.

Regards,

Tony
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH-V7 0/3] ARM: OMAP: Make OMAP clocksource source selection runtime

2012-05-03 Thread Vaibhav Hiremath
Current OMAP code supports couple of clocksource options based
on compilation flag (CONFIG_OMAP_32K_TIMER). The 32KHz sync-timer
and a gptimer which can run on 32KHz or system clock (e.g 38.4 MHz)

This patch series cleans up the existing 32k-sync timer implementation,
movind SoC init code to respective files (mach-omap1/timer32k.c and
mach-omap2/timer.c) and uses kernel parameter to override the default
clocksource of counter_32k, also in order to support some OMAP based
derivative SoCs like AM33XX which doesn't have 32K sync-timer hardware IP,
adds hwmod lookup for omap2+ devices, and if lookup fails then
fall back to gp-timer.

if(use_gptimer_clksrc == true)
gptimer clocksource init;
else if (counter_32 init == false)
/* Fallback to gptimer */
gptimer clocksource init(;

With this, we should be able to support multi-omap boot
including devices with/without 32k-sync timer.

This patch-series has been boot tested on AM37xEVM platform, it
would be helpful if somebody help me to validate it on OMAP1/2
platforms.

The patches are also available at (based on linux-omap/master) -
https://github.com/hvaibhav/am335x-linux   32ksync-timer-cleanup

History:

Changes from V6:
http://www.mail-archive.com/linux-omap@vger.kernel.org/msg67623.html
- Changed Patch2/3 descrption to add affected kernel parameter
- Warning Fix: Added missing inline prefix to omap_32k_timer_init()
- Added Acked-by and Tested-by from Kevin Hilman

Changes from V5:
http://www.mail-archive.com/linux-omap@vger.kernel.org/msg67163.html
- 2 of the original patch-series (1/3 and 2/3) has already been
  accepted and queued by Paul, so removing them.
  Also, add 2 new patches,
- OMAP2 timer32k cleanup, check for return values.
- Changed name of system timers, gp timer = gp_timer.
- Moved SoC specific init code to respective files
  (mach-omap1/timer32k.c and mach-omap2/timer.c)

Changes from V4:
http://www.mail-archive.com/linux-omap@vger.kernel.org/msg67019.html
- Fix the possible bug, leftover the cnt addr argument to
  clocksource_mmio_init().

Changes from V3:
http://www.mail-archive.com/linux-omap@vger.kernel.org/msg66462.html
- Fixed all review comments from Kevin H
* Moved counter_32k CR register offset handling to
  counter_32k.c file, so now, calling funtion don't have
  to maintain or add offset to base addr.
* Added comment for function omap_init_clocksource_32k()
* Used resource_size() for calculate size
* Convert WARN_ON to pr_warn

Changes from V2:
http://lists.infradead.org/pipermail/linux-arm-kernel/2012-March/092037.html
- Added early_param support to read clocksource selection
  from user through kernel parameter (clocksource=)
- Converted to ocp_if changes from Paul

Changes from V1:
http://lists.infradead.org/pipermail/linux-arm-kernel/2012-January/081037.html
- Based on Tony's comment, added pbase  size argument to
  omap_init_clocksource_32k(), to avoid cpu_is_xxx() check.
- Added commit description based on discussion on list
  (Thanks to Santosh here)
- Reorder patch sequence


Vaibhav Hiremath (3):
  ARM: OMAP1: FIX: check possible error condition in timer_init
  ARM: OMAP2+: Replace space=underscore in the name field of system
timers
  ARM: OMAP: Make OMAP clocksource source selection using kernel param

 arch/arm/mach-omap1/common.h |   10 ++-
 arch/arm/mach-omap1/time.c   |   16 +
 arch/arm/mach-omap1/timer32k.c   |   28 ++-
 arch/arm/mach-omap2/timer.c  |  118 +++--
 arch/arm/plat-omap/counter_32k.c |   91 ++-
 arch/arm/plat-omap/include/plat/common.h |2 +-
 6 files changed, 167 insertions(+), 98 deletions(-)

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html