[PATCH] omap: Fix linker error in drivers/video/omap/lcd_2430sdp.c

2011-02-20 Thread Jarkko Nikula
There is a linker error from lcd_2430sdp.c if CONFIG_TWL4030_CORE is not
set. This can be triggered on OMAP2 builds where OMAP3 or OMAP4 are not set.

drivers/built-in.o: In function `sdp2430_panel_disable':
drivers/video/omap/lcd_2430sdp.c:123: undefined reference to `twl_i2c_write_u8'
drivers/video/omap/lcd_2430sdp.c:124: undefined reference to `twl_i2c_write_u8'
drivers/built-in.o: In function `sdp2430_panel_enable':
drivers/video/omap/lcd_2430sdp.c:110: undefined reference to `twl_i2c_write_u8'
drivers/video/omap/lcd_2430sdp.c:112: undefined reference to `twl_i2c_write_u8'

Fix this by adding TWL4030_CORE dependency to CONFIG_MACH_OMAP_2430SDP as
there is no own entry in drivers/video/omap/Kconfig.

Signed-off-by: Jarkko Nikula jhnik...@gmail.com
Cc: Tomi Valkeinen tomi.valkei...@ti.com
---
Quite old issue most probably. Can be triggered in mainline anyway.
---
 arch/arm/mach-omap2/Kconfig |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index b9d8a7b..bfdf240 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -132,6 +132,7 @@ config MACH_OMAP_2430SDP
depends on SOC_OMAP2430
default y
select OMAP_PACKAGE_ZAC
+   select TWL4030_CORE
 
 config MACH_OMAP3_BEAGLE
bool OMAP3 BEAGLE board
-- 
1.7.0.4

--
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: Re: Ping- Subject: [PATCH] omap: omap3evm: add support for the WL12xx WLAN module to the omap3evm

2011-02-20 Thread Reizer, Eyal
On Thu, 2011-02-17 at 14:20 -0800, Tony Lindgren wrote:
 * Reizer, Eyal ey...@ti.com [110215 07:11]:
  Dear Tony,
  
  I did not receive any comments to the patch I have send in the following 
  link:
  
  http://marc.info/?l=linux-omapm=129612179900695w=2
  
  Are there any issues with excepting this patch?
 
 Pushing to devel-board branch for the upcoming merge window.
 Can you please check it's working? I had to merge some other
 evm board changes manually..
 
 Tony

Dear Tony,

As you requested, I have tested the devel-board branch this morning and
found one merge issue. 
I see that there are now two mux arrays, one for omap35x and one for
omap36x.
You have merged the muxes changes to the omap35x_board_mux[] array, but
have missed the other structure called omap36x_board_mux[]. 
The same change should be merged there as well.
The result is that it would work OK on an evm with an omap35x SOM but
not on  aboard with an omap37x SOM.
Please find below a fix for that.

Best Regards,
Eyal Reizer


diff --git a/arch/arm/mach-omap2/board-omap3evm.c
b/arch/arm/mach-omap2/board-om
index d4a1157..b77140f 100644
--- a/arch/arm/mach-omap2/board-omap3evm.c
+++ b/arch/arm/mach-omap2/board-omap3evm.c
@@ -815,6 +815,21 @@ static struct omap_board_mux omap36x_board_mux[]
__initdata
OMAP3_MUX(SYS_BOOT4, OMAP_MUX_MODE3 | OMAP_PIN_OFF_NONE),
OMAP3_MUX(SYS_BOOT5, OMAP_MUX_MODE3 | OMAP_PIN_OFF_NONE),
OMAP3_MUX(SYS_BOOT6, OMAP_MUX_MODE3 | OMAP_PIN_OFF_NONE),
+#ifdef CONFIG_WL12XX_PLATFORM_DATA
+   /* WLAN IRQ - GPIO 149 */
+   OMAP3_MUX(UART1_RTS, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP),
+
+   /* WLAN POWER ENABLE - GPIO 150 */
+   OMAP3_MUX(UART1_CTS, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
+
+   /* MMC2 SDIO pin muxes for WL12xx */
+   OMAP3_MUX(SDMMC2_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP),
+   OMAP3_MUX(SDMMC2_CMD, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP),
+   OMAP3_MUX(SDMMC2_DAT0, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP),
+   OMAP3_MUX(SDMMC2_DAT1, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP),
+   OMAP3_MUX(SDMMC2_DAT2, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP),
+   OMAP3_MUX(SDMMC2_DAT3, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP),
+#endif

attachment: winmail.dat

Re: [PATCH 1/5] ARM: smp: Select local timers vs dummy timer support runtime

2011-02-20 Thread Russell King - ARM Linux
On Sat, Feb 12, 2011 at 04:59:43PM +0530, Santosh Shilimkar wrote:
 -#ifndef CONFIG_LOCAL_TIMERS
  static void broadcast_timer_set_mode(enum clock_event_mode mode,
   struct clock_event_device *evt)
  {
  }
  
 -static void local_timer_setup(struct clock_event_device *evt)
 +static void dummy_timer_setup(struct clock_event_device *evt)

Please call this broadcast_timer_setup().
--
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 1/5] ARM: smp: Select local timers vs dummy timersupport runtime

2011-02-20 Thread Santosh Shilimkar
 -Original Message-
 From: Russell King - ARM Linux [mailto:li...@arm.linux.org.uk]
 Sent: Sunday, February 20, 2011 4:34 PM
 To: Santosh Shilimkar
 Cc: linux-omap@vger.kernel.org; khil...@ti.com; linux-arm-
 ker...@lists.infradead.org; t...@atomide.com; David Brown; Daniel
 Walker; Bryan Huntsman; Kukjin Kim; Paul Mundt; Magnus Damm; Colin
 Cross; Erik Gilling; Srinidhi Kasagar; Linus Walleij
 Subject: Re: [PATCH 1/5] ARM: smp: Select local timers vs dummy
 timersupport runtime

 On Sat, Feb 12, 2011 at 04:59:43PM +0530, Santosh Shilimkar wrote:
  -#ifndef CONFIG_LOCAL_TIMERS
   static void broadcast_timer_set_mode(enum clock_event_mode mode,
  struct clock_event_device *evt)
   {
   }
 
  -static void local_timer_setup(struct clock_event_device *evt)
  +static void dummy_timer_setup(struct clock_event_device *evt)

 Please call this broadcast_timer_setup().

Right. Will fix this.

Regards
Santosh
--
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: Re: Ping- Subject: [PATCH] omap: omap3evm: add support for the WL12xx WLAN module to the omap3evm

2011-02-20 Thread Reizer, Eyal
Hi Ohad,

On Sun, 2011-02-20 at 13:32 +0200, Ohad Ben-Cohen wrote:
 Hi Eyal,
 
 
 
 (posting from a mobile device, so formatting maybe funky)
 
 On Feb 20, 2011, at 12:50 PM, Reizer, Eyal ey...@ti.com wrote:
 ...
  +#ifdef CONFIG_WL12XX_PLATFORM_DATA
  
 
 
 [?][?]CONFIG_WL12XX_PLATFORM_DATAhere is a bit problematic. But we can
 change that once those other modules show up (if any)
 
 
er: there is only one wlan module available for the omap3evm board (both
made by Mistral) so this should be ok.

  [?]
  [?]
  
 
 
 No need to have the host pulling up the 1271's interrupt line (it's
 just wasting power).
 
 
 Yeah, we have that on ZOOM, too, but it's redundant.
 
er: ok, I will change that for the omap3evm.


Best Regards,
Eyal

attachment: winmail.dat

Re: [PATCH 2/6] ARM: pm: add generic CPU suspend/resume support

2011-02-20 Thread Russell King - ARM Linux
Kukjin, could you test this update as well please?

Thanks.

On Tue, Feb 15, 2011 at 11:04:53AM +, Russell King - ARM Linux wrote:
 On Fri, Feb 11, 2011 at 06:50:57PM -0800, Colin Cross wrote:
   +ENDPROC(cpu_resume_turn_mmu_on)
   +cpu_resume_after_mmu:
   +       str     r5, [r2, r4, lsl #2]    @ restore old mapping
   +#ifdef MULTI_CACHE
   +       ldr     r10, =cpu_cache
   +       ldr     pc, [r10, #CACHE_FLUSH_KERN_ALL]
   +#else
   +       b       __cpuc_flush_kern_all
   +#endif
 
 I think we can eliminate this cache flush by delaying the cache enable
 as below.  Could you see whether Tegra 2 survives this please?
 Thanks.
 
 diff --git a/arch/arm/kernel/sleep.S b/arch/arm/kernel/sleep.S
 index bed1876..193be5f 100644
 --- a/arch/arm/kernel/sleep.S
 +++ b/arch/arm/kernel/sleep.S
 @@ -4,6 +4,7 @@
  #include asm/assembler.h
  #include asm/glue-cache.h
  #include asm/glue-proc.h
 +#include asm/system.h
   .text
  
  /*
 @@ -81,25 +82,22 @@ ENTRY(cpu_resume_mmu)
   str r3, [r2, r4, lsl #2]@ setup 1:1 mapping for mmu code
   sub r2, r2, r1
   ldr r3, =cpu_resume_after_mmu
 + bic r1, r0, #CR_C   @ ensure D-cache is disabled
   b   cpu_resume_turn_mmu_on
  ENDPROC(cpu_resume_mmu)
   .ltorg
   .align  5
  cpu_resume_turn_mmu_on:
 - mcr p15, 0, r0, c1, c0, 0   @ turn on MMU, caches, etc
 - mrc p15, 0, r0, c0, c0, 0   @ read id reg
 - mov r0, r0
 - mov r0, r0
 + mcr p15, 0, r1, c1, c0, 0   @ turn on MMU, I-cache, etc
 + mrc p15, 0, r1, c0, c0, 0   @ read id reg
 + mov r1, r1
 + mov r1, r1
   mov pc, r3  @ jump to virtual address
  ENDPROC(cpu_resume_turn_mmu_on)
  cpu_resume_after_mmu:
   str r5, [r2, r4, lsl #2]@ restore old mapping
 -#ifdef MULTI_CACHE
 - ldr r10, =cpu_cache
 - ldr pc, [r10, #CACHE_FLUSH_KERN_ALL]
 -#else
 - b   __cpuc_flush_kern_all
 -#endif
 + mcr p15, 0, r0, c1, c0, 0   @ turn on D-cache
 + mov pc, lr
  
  /*
   * Note: Yes, part of the following code is located into the .data section.
 
 
 ___
 linux-arm-kernel mailing list
 linux-arm-ker...@lists.infradead.org
 http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
--
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: RE: [PATCH] omap: omap3evm: add support for the WL12xx WLAN module to the AM/DM3xx Evaluation Module

2011-02-20 Thread Reizer, Eyal
On Fri, 2011-02-18 at 21:03 +0530, Premi, Sanjeev wrote:
  -Original Message-
  From: linux-omap-ow...@vger.kernel.org [mailto:linux-omap-
  ow...@vger.kernel.org] On Behalf Of Reizer, Eyal
  Sent: Thursday, January 27, 2011 3:20 PM
  To: linux-omap@vger.kernel.org
  Subject: [PATCH] omap: omap3evm: add support for the WL12xx WLAN module to
  the AM/DM3xx Evaluation Module
 
 [sp] prefix omap: seems redundant when omap3evm is specified.
  Similarly,  the AM/DM3xx Evaluation Module seems redundant
  when omap3evm is specified.
 
[er] ok, comment taken
  
  Adds platform initialization for working with the WLAN module attached to
  the evaluation module.
  The patch includes MMC2 initialization, SDIO and control pins muxing and
  platform device registration
 
 [sp] The description text has too many characters per line.
  Consider reformatting the same.
 
[er] ok, comment taken
  
  Signed-off-by: Eyal Reizer ey...@ti.com
  ---
   arch/arm/mach-omap2/board-omap3evm.c |   78
  ++
   1 files changed, 78 insertions(+), 0 deletions(-)
  
  diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-
  omap2/board-omap3evm.c
  index 323c380..2d2092a 100644
  --- a/arch/arm/mach-omap2/board-omap3evm.c
  +++ b/arch/arm/mach-omap2/board-omap3evm.c
  @@ -30,6 +30,8 @@
   #include linux/usb/otg.h
   #include linux/smsc911x.h
  
  +#include linux/wl12xx.h
  +#include linux/regulator/fixed.h
   #include linux/regulator/machine.h
   #include linux/mmc/host.h
  
  @@ -381,6 +383,16 @@ static struct omap2_hsmmc_info mmc[] = {
  .gpio_cd= -EINVAL,
  .gpio_wp= 63,
  },
  +#ifdef CONFIG_WL12XX_PLATFORM_DATA
 
 [sp] Haven't seen this config option earlier.
  Just wanted to know where is this defined?
  Any reason why simple CONFIG_WL12XX wasn't sufficient?
 
[er] CONFIG_WL12XX_PLATFORM_DATA is selected in .config when you select
MAC80211 (always selected as CONFIG_WL12XX_PLATFORM_DATA=y). 
I preferred using it instead of CONFIG_WL12XX so it would work also for
people using compat-wireless where the CONFIG_WL12XX might not be
selected in their .config

  +   {
  +   .name   = wl1271,
  +   .mmc= 2,
 
 [sp] There are spaces before =. Stands apart from
  rest of the assignments in this block.
 
[er] ok, will be fixed
  +   .caps   = MMC_CAP_4_BIT_DATA | MMC_CAP_POWER_OFF_CARD,
  +   .gpio_wp= -EINVAL,
  +   .gpio_cd= -EINVAL,
  +   .nonremovable   = true,
  +   },
  +#endif
  {}  /* Terminator */
   };
  
  @@ -538,6 +550,50 @@ static struct regulator_init_data omap3_evm_vpll2 = {
  .consumer_supplies  = omap3_evm_vpll2_supply,
   };
  
  +#ifdef CONFIG_WL12XX_PLATFORM_DATA
  +
  +#define OMAP3EVM_WLAN_PMENA_GPIO   (150)
  +#define OMAP3EVM_WLAN_IRQ_GPIO (149)
  +
  +static struct regulator_consumer_supply omap3evm_vmmc2_supply = {
  +   .supply = vmmc,
  +   .dev_name   = mmci-omap-hs.1,
  +};
 
 [sp] Consider use of macro REGULATOR_SUPPLY() here.
 
[er] ok, will be fixed 
  +
  +/* VMMC2 for driving the WL12xx module */
  +static struct regulator_init_data omap3evm_vmmc2 = {
 
 [sp] Consider following the convention is rest of the file
  e.g. omap3_evm_vdac, omap3_evm_vpll2, omap3_evm_vusb.
 
[er] ok, will be fixed
  I see another exception to this convention; in the current
  file but that should be fixed.
 
  +   .constraints = {
  +   .valid_ops_mask = REGULATOR_CHANGE_STATUS,
 
 [sp] Any specific reason for not including REGULATOR_CHANGE_MODE
  in the mask above?
 
[er] this is a fixed voltage regulator and we only enable/disable it.
Why do we need the REGULATOR_CHANGE_MODE?
  +   },
  +   .num_consumer_supplies  = 1,
  +   .consumer_supplies = omap3evm_vmmc2_supply,
  +};
  +
  +static struct fixed_voltage_config omap3evm_vwlan = {
  +   .supply_name= vwl1271,
  +   .microvolts = 180, /* 1.80V */
  +   .gpio   = OMAP3EVM_WLAN_PMENA_GPIO,
  +   .startup_delay  = 7, /* 70ms */
  +   .enable_high= 1,
  +   .enabled_at_boot= 0,
  +   .init_data  = omap3evm_vmmc2,
  +};
  +
  +static struct platform_device omap3evm_vwlan_device = {
  +   .name   = reg-fixed-voltage,
  +   .id = 1,
  +   .dev = {
  +   .platform_data  = omap3evm_vwlan,
  +   },
  +};
 
 [sp] The name of platform device here apears to be name of regulator.
  Otherwise, should you explain why it is named reg-fixed-voltage.
 
  +
  +struct wl12xx_platform_data omap3evm_wlan_data __initdata = {
  +   .irq = OMAP_GPIO_IRQ(OMAP3EVM_WLAN_IRQ_GPIO),
  +   /* ref clock is 38.4 MHz */
  +   .board_ref_clock = 2,
 
 [sp] Suggest putting the comment on ref clock after the assignment.
 
[er] ok, will be fixed
  +};
  +#endif
  +
   static struct twl4030_platform_data 

Re: SDHC card affected by preemption model in 2.6.35

2011-02-20 Thread S, Venkatraman
On Sun, Feb 20, 2011 at 10:42 PM, S, Venkatraman svenk...@ti.com wrote:

 On Fri, Feb 18, 2011 at 6:27 PM, Thomas Weber we...@corscience.de wrote:

 Hello Mathieu, hello Venkat,

 I hope it is not too old and you remember this:
 
    This provides a good 100ms window for delays due to scheduling 
  variations.
  I have to still find out which section is sensitive to it.
  Regards,
  Venkat.
  --

 We have a custom omap3 board and use kernel 2.6.37-rc8.  We have the
 problem that we sometimes cannot mount our rootfs from sd-card. This
 happens only when CONFIG_PREEMPT=y. When using CONFIG_PREEMPT_NONE or
 enabling CONFIG_MMC_DEBUG everything works fine.

 The 100 ms patch doesn't work for us. Do you found other solution(s)?


No - I was working on some other things lately - I'll check this out this week.
What type of card are you using ?
Regards,
Venkat.
--
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 resend] omap: Fix linker error in drivers/video/omap/lcd_2430sdp.c

2011-02-20 Thread Jarkko Nikula
There is a linker error from lcd_2430sdp.c if CONFIG_TWL4030_CORE is not
set. This can be triggered on OMAP2 builds where OMAP3 or OMAP4 are not set.

drivers/built-in.o: In function `sdp2430_panel_disable':
drivers/video/omap/lcd_2430sdp.c:123: undefined reference to `twl_i2c_write_u8'
drivers/video/omap/lcd_2430sdp.c:124: undefined reference to `twl_i2c_write_u8'
drivers/built-in.o: In function `sdp2430_panel_enable':
drivers/video/omap/lcd_2430sdp.c:110: undefined reference to `twl_i2c_write_u8'
drivers/video/omap/lcd_2430sdp.c:112: undefined reference to `twl_i2c_write_u8'

Fix this by adding TWL4030_CORE dependency to CONFIG_MACH_OMAP_2430SDP as
there is no own entry in drivers/video/omap/Kconfig.

Signed-off-by: Jarkko Nikula jhnik...@gmail.com
Cc: Tomi Valkeinen tomi.valkei...@ti.com
---
Resend = forgot to cc LAKML.
Quite old issue most probably. Can be triggered in mainline anyway.
---
 arch/arm/mach-omap2/Kconfig |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index b9d8a7b..bfdf240 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -132,6 +132,7 @@ config MACH_OMAP_2430SDP
depends on SOC_OMAP2430
default y
select OMAP_PACKAGE_ZAC
+   select TWL4030_CORE
 
 config MACH_OMAP3_BEAGLE
bool OMAP3 BEAGLE board
-- 
1.7.0.4

--
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 0/3] OMAP2+: voltage: first pass at cleanup/reorganization

2011-02-20 Thread Paul Walmsley
Hello,

this patch set does an initial round of cleanup on the OMAP voltage code
in arch/arm/mach-omap2/voltage.c.  As part of this process, the header files
for the voltage code and SmartReflex are moved into arch/arm/mach-omap2, since
they are currently OMAP2+-specific.

There is still quite a bit of cleanup left to do; hopefully someone else will
get to it before I do.  More details are in the last patch.

This series was built-tested for an OSK5912-specific config, omap1_defconfig,
a N800-specific config, omap2plus_defconfig, an OMAP3-specific config, and
an OMAP4-specific config.  It was boot-tested on an OMAP35xx Beagleboard.
Further testing assistance is, of course, appreciated.

This series is available from git://git.pwsan.com/linux-2.6 in the
'voltage_split_2.6.39' branch.


- Paul


---

voltage_split_2.6.39
   textdata bss dec hex filename
5766071  488104 5596920 11851095 b4d557 vmlinux.omap2plus_defconfig.orig
5765631  487848 5596920 11850399 b4d29f vmlinux.omap2plus_defconfig


Paul Walmsley (3):
  OMAP: smartreflex: move plat/smartreflex.h to mach-omap2/smartreflex.h
  OMAP: voltage: move plat/voltage.h to mach-omap2/voltage.h
  OMAP2+: voltage: reorganize, split code from data


 arch/arm/mach-omap2/Makefile  |   20 
 arch/arm/mach-omap2/omap_hwmod_3xxx_data.c|2 
 arch/arm/mach-omap2/omap_opp_data.h   |   12 
 arch/arm/mach-omap2/omap_twl.c|2 
 arch/arm/mach-omap2/opp3xxx_data.c|   44 +
 arch/arm/mach-omap2/opp4xxx_data.c|   30 +
 arch/arm/mach-omap2/pm.c  |2 
 arch/arm/mach-omap2/smartreflex-class3.c  |2 
 arch/arm/mach-omap2/smartreflex.c |2 
 arch/arm/mach-omap2/smartreflex.h |3 
 arch/arm/mach-omap2/sr_device.c   |4 
 arch/arm/mach-omap2/vc.h  |   83 ++
 arch/arm/mach-omap2/vc3xxx_data.c |   63 ++
 arch/arm/mach-omap2/vc44xx_data.c |   72 ++
 arch/arm/mach-omap2/voltage.c | 1019 +++--
 arch/arm/mach-omap2/voltage.h |   66 ++
 arch/arm/mach-omap2/voltagedomains3xxx_data.c |  104 +++
 arch/arm/mach-omap2/voltagedomains44xx_data.c |  108 +++
 arch/arm/mach-omap2/vp.h  |  143 
 arch/arm/mach-omap2/vp3xxx_data.c |   82 ++
 arch/arm/mach-omap2/vp44xx_data.c |   97 ++
 arch/arm/plat-omap/include/plat/omap_hwmod.h  |1 
 22 files changed, 1203 insertions(+), 758 deletions(-)
 rename arch/arm/{plat-omap/include/plat/smartreflex.h = 
mach-omap2/smartreflex.h} (99%)
 create mode 100644 arch/arm/mach-omap2/vc.h
 create mode 100644 arch/arm/mach-omap2/vc3xxx_data.c
 create mode 100644 arch/arm/mach-omap2/vc44xx_data.c
 rename arch/arm/{plat-omap/include/plat/voltage.h = mach-omap2/voltage.h} 
(68%)
 create mode 100644 arch/arm/mach-omap2/voltagedomains3xxx_data.c
 create mode 100644 arch/arm/mach-omap2/voltagedomains44xx_data.c
 create mode 100644 arch/arm/mach-omap2/vp.h
 create mode 100644 arch/arm/mach-omap2/vp3xxx_data.c
 create mode 100644 arch/arm/mach-omap2/vp44xx_data.c

--
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 1/3] OMAP: smartreflex: move plat/smartreflex.h to mach-omap2/smartreflex.h

2011-02-20 Thread Paul Walmsley
There's no reason for this header file to be in
plat-omap/include/plat/smartreflex.h.  The hardware devices are in
OMAP2+ SoCs only.  Leaving this header file in plat-omap causes
problems due to cross-dependencies with other header files that should
live in mach-omap2/.

Signed-off-by: Paul Walmsley p...@pwsan.com
---
 arch/arm/mach-omap2/omap_hwmod_3xxx_data.c|2 +-
 arch/arm/mach-omap2/smartreflex-class3.c  |2 +-
 arch/arm/mach-omap2/smartreflex.c |2 +-
 arch/arm/mach-omap2/smartreflex.h |0 
 arch/arm/mach-omap2/sr_device.c   |2 +-
 5 files changed, 4 insertions(+), 4 deletions(-)
 rename arch/arm/{plat-omap/include/plat/smartreflex.h = 
mach-omap2/smartreflex.h} (100%)

diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c 
b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
index 8d81813..7f0b5e7 100644
--- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
@@ -21,13 +21,13 @@
 #include plat/l4_3xxx.h
 #include plat/i2c.h
 #include plat/gpio.h
-#include plat/smartreflex.h
 
 #include omap_hwmod_common_data.h
 
 #include prm-regbits-34xx.h
 #include cm-regbits-34xx.h
 #include wd_timer.h
+#include smartreflex.h
 
 /*
  * OMAP3xxx hardware module integration data
diff --git a/arch/arm/mach-omap2/smartreflex-class3.c 
b/arch/arm/mach-omap2/smartreflex-class3.c
index 60e7055..f438cf4 100644
--- a/arch/arm/mach-omap2/smartreflex-class3.c
+++ b/arch/arm/mach-omap2/smartreflex-class3.c
@@ -11,7 +11,7 @@
  * published by the Free Software Foundation.
  */
 
-#include plat/smartreflex.h
+#include smartreflex.h
 
 static int sr_class3_enable(struct voltagedomain *voltdm)
 {
diff --git a/arch/arm/mach-omap2/smartreflex.c 
b/arch/arm/mach-omap2/smartreflex.c
index c37e823..077dfb6 100644
--- a/arch/arm/mach-omap2/smartreflex.c
+++ b/arch/arm/mach-omap2/smartreflex.c
@@ -26,9 +26,9 @@
 #include linux/pm_runtime.h
 
 #include plat/common.h
-#include plat/smartreflex.h
 
 #include pm.h
+#include smartreflex.h
 
 #define SMARTREFLEX_NAME_LEN   16
 #define NVALUE_NAME_LEN40
diff --git a/arch/arm/plat-omap/include/plat/smartreflex.h 
b/arch/arm/mach-omap2/smartreflex.h
similarity index 100%
rename from arch/arm/plat-omap/include/plat/smartreflex.h
rename to arch/arm/mach-omap2/smartreflex.h
diff --git a/arch/arm/mach-omap2/sr_device.c b/arch/arm/mach-omap2/sr_device.c
index b1e0af1..a636604 100644
--- a/arch/arm/mach-omap2/sr_device.c
+++ b/arch/arm/mach-omap2/sr_device.c
@@ -23,9 +23,9 @@
 #include linux/io.h
 
 #include plat/omap_device.h
-#include plat/smartreflex.h
 #include plat/voltage.h
 
+#include smartreflex.h
 #include control.h
 #include pm.h
 


--
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 2/3] OMAP: voltage: move plat/voltage.h to mach-omap2/voltage.h

2011-02-20 Thread Paul Walmsley
At this point in time, there's no reason for this header file to be in
plat-omap/include/plat/voltage.h.  It should not be included by device
drivers, and the code that uses it is currently all under mach-omap2/.

Signed-off-by: Paul Walmsley p...@pwsan.com
---
 arch/arm/mach-omap2/omap_twl.c   |2 +-
 arch/arm/mach-omap2/pm.c |2 +-
 arch/arm/mach-omap2/smartreflex.h|3 ++-
 arch/arm/mach-omap2/sr_device.c  |2 +-
 arch/arm/mach-omap2/voltage.c|3 ++-
 arch/arm/mach-omap2/voltage.h|0 
 arch/arm/plat-omap/include/plat/omap_hwmod.h |1 -
 7 files changed, 7 insertions(+), 6 deletions(-)
 rename arch/arm/{plat-omap/include/plat/voltage.h = mach-omap2/voltage.h} 
(100%)

diff --git a/arch/arm/mach-omap2/omap_twl.c b/arch/arm/mach-omap2/omap_twl.c
index 00e1d2b..ad8c18a 100644
--- a/arch/arm/mach-omap2/omap_twl.c
+++ b/arch/arm/mach-omap2/omap_twl.c
@@ -18,7 +18,7 @@
 #include linux/kernel.h
 #include linux/i2c/twl.h
 
-#include plat/voltage.h
+#include voltage.h
 
 #include pm.h
 
diff --git a/arch/arm/mach-omap2/pm.c b/arch/arm/mach-omap2/pm.c
index d5a102c..4baa674 100644
--- a/arch/arm/mach-omap2/pm.c
+++ b/arch/arm/mach-omap2/pm.c
@@ -18,8 +18,8 @@
 #include plat/omap-pm.h
 #include plat/omap_device.h
 #include plat/common.h
-#include plat/voltage.h
 
+#include voltage.h
 #include powerdomain.h
 #include clockdomain.h
 #include pm.h
diff --git a/arch/arm/mach-omap2/smartreflex.h 
b/arch/arm/mach-omap2/smartreflex.h
index 6568c88..5f35b9e 100644
--- a/arch/arm/mach-omap2/smartreflex.h
+++ b/arch/arm/mach-omap2/smartreflex.h
@@ -21,7 +21,8 @@
 #define __ASM_ARM_OMAP_SMARTREFLEX_H
 
 #include linux/platform_device.h
-#include plat/voltage.h
+
+#include voltage.h
 
 /*
  * Different Smartreflex IPs version. The v1 is the 65nm version used in
diff --git a/arch/arm/mach-omap2/sr_device.c b/arch/arm/mach-omap2/sr_device.c
index a636604..10d3c5e 100644
--- a/arch/arm/mach-omap2/sr_device.c
+++ b/arch/arm/mach-omap2/sr_device.c
@@ -23,9 +23,9 @@
 #include linux/io.h
 
 #include plat/omap_device.h
-#include plat/voltage.h
 
 #include smartreflex.h
+#include voltage.h
 #include control.h
 #include pm.h
 
diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c
index 12be525..3c9bcdc 100644
--- a/arch/arm/mach-omap2/voltage.c
+++ b/arch/arm/mach-omap2/voltage.c
@@ -26,7 +26,6 @@
 #include linux/slab.h
 
 #include plat/common.h
-#include plat/voltage.h
 
 #include prm-regbits-34xx.h
 #include prm-regbits-44xx.h
@@ -35,6 +34,8 @@
 #include prminst44xx.h
 #include control.h
 
+#include voltage.h
+
 #define VP_IDLE_TIMEOUT200
 #define VP_TRANXDONE_TIMEOUT   300
 #define VOLTAGE_DIR_SIZE   16
diff --git a/arch/arm/plat-omap/include/plat/voltage.h 
b/arch/arm/mach-omap2/voltage.h
similarity index 100%
rename from arch/arm/plat-omap/include/plat/voltage.h
rename to arch/arm/mach-omap2/voltage.h
diff --git a/arch/arm/plat-omap/include/plat/omap_hwmod.h 
b/arch/arm/plat-omap/include/plat/omap_hwmod.h
index 1eee85a..93beae2 100644
--- a/arch/arm/plat-omap/include/plat/omap_hwmod.h
+++ b/arch/arm/plat-omap/include/plat/omap_hwmod.h
@@ -34,7 +34,6 @@
 #include linux/ioport.h
 #include linux/spinlock.h
 #include plat/cpu.h
-#include plat/voltage.h
 
 struct omap_device;
 


--
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: omapfb: no driver for display

2011-02-20 Thread Semwal, Sumit
Hi,

On Sat, Feb 19, 2011 at 6:10 PM, Ming Lei tom.leim...@gmail.com wrote:
 Hi,

 2011/2/19 archit taneja arc...@ti.com:
 Hi,

 Which board are you on? For all the display devices you add in the board
 file, you should have the corresponding drivers in the menuconfig set also.

 Pandaboard.
DVI support for pandaboard is slated to be in for 2.6.39. There are
around 6-7 patch series which enable it. You could look at the top
patches at:

git://dev.omapzoom.org/pub/scm/anand/linux-omap-usb.git, branch:
display-patches-for-v2.6.38-rc4.

Best regards,
~Sumit.

 For example, in board3430-sdp.c, we add a sharp ls, a dvi and venc panel. We
 therefore select sharpls and generic dpi panel in menuconfig.
 and at least DPI and VENC in the interfaces menu.

 I also selected all the options above.

 thanks,
 --
 Lei Ming

--
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


linux-next: manual merge of the omap_dss2 tree with the omap tree

2011-02-20 Thread Stephen Rothwell
Hi Tomi,

Today's linux-next merge of the omap_dss2 tree got a conflict in
arch/arm/mach-omap2/board-3430sdp.c between commits
e109f171e2f4128e867b3445c369c18830c73751 (omap3sdp: Fix regulator
mapping for ads7846 TS controller) and
6b272c098f64f0451d2b19bb911d65c6cd11cfc7 (omap3sdp: clean regulator
supply mapping in board file) from the omap tree and various commits
from the omap_dss2 tree.

So, I have no idea how to fix this up ... Can you guys come to some
argreement about who does what, please?  I have ended up with the merge
fix below, but I have no idea if it will even build, much less be
semantically correct, sorry.

Do these trees get merged separately by Linus?  If not, then maybe I
should just be merging the one tree that combines all the omap work and
let you guys figure out the merge mess.

-- 
Cheers,
Stephen Rothwells...@canb.auug.org.au

diff --cc arch/arm/mach-omap2/board-3430sdp.c
index 76a260f,33ff4f6..000
--- a/arch/arm/mach-omap2/board-3430sdp.c
+++ b/arch/arm/mach-omap2/board-3430sdp.c
@@@ -307,18 -307,9 +307,6 @@@ static struct omap_dss_board_info sdp34
.default_device = sdp3430_lcd_device,
  };
  
- static struct platform_device sdp3430_dss_device = {
-   .name   = omapdss,
-   .id = -1,
-   .dev= {
-   .platform_data = sdp3430_dss_data,
-   },
- };
- 
- static struct platform_device *sdp3430_devices[] __initdata = {
-   sdp3430_dss_device,
- };
- 
 -static struct regulator_consumer_supply sdp3430_vdda_dac_supply =
 -  REGULATOR_SUPPLY(vdda_dac, omap_venc);
 -
  static struct omap_board_config_kernel sdp3430_config[] __initdata = {
  };
  
@@@ -402,34 -413,6 +390,35 @@@ static struct twl4030_madc_platform_dat
.irq_line   = 1,
  };
  
 +/* regulator consumer mappings */
 +
 +/* ads7846 on SPI */
 +static struct regulator_consumer_supply sdp3430_vaux3_supplies[] = {
 +  REGULATOR_SUPPLY(vcc, spi1.0),
 +};
 +
 +static struct regulator_consumer_supply sdp3430_vdda_dac_supplies[] = {
 +  REGULATOR_SUPPLY(vdda_dac, omapdss),
 +};
 +
 +/* VPLL2 for digital video outputs */
 +static struct regulator_consumer_supply sdp3430_vpll2_supplies[] = {
 +  REGULATOR_SUPPLY(vdds_dsi, omapdss),
++  REGULATOR_SUPPLY(vdds_dsi, omap_dsi1),
 +};
 +
 +static struct regulator_consumer_supply sdp3430_vmmc1_supplies[] = {
 +  REGULATOR_SUPPLY(vmmc, mmci-omap-hs.0),
 +};
 +
 +static struct regulator_consumer_supply sdp3430_vsim_supplies[] = {
 +  REGULATOR_SUPPLY(vmmc_aux, mmci-omap-hs.0),
 +};
 +
 +static struct regulator_consumer_supply sdp3430_vmmc2_supplies[] = {
 +  REGULATOR_SUPPLY(vmmc, mmci-omap-hs.1),
 +};
 +
  /*
   * Apply all the fixed voltages since most versions of U-Boot
   * don't bother with that initialization.
--
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 2/3] OMAP: voltage: move plat/voltage.h to mach-omap2/voltage.h

2011-02-20 Thread Gulati, Shweta
Hi,

On Mon, Feb 21, 2011 at 7:38 AM, Paul Walmsley p...@pwsan.com wrote:
 At this point in time, there's no reason for this header file to be in
 plat-omap/include/plat/voltage.h.  It should not be included by device
 drivers, and the code that uses it is currently all under mach-omap2/.

 Signed-off-by: Paul Walmsley p...@pwsan.com
 ---
  arch/arm/mach-omap2/omap_twl.c               |    2 +-
  arch/arm/mach-omap2/pm.c                     |    2 +-
  arch/arm/mach-omap2/smartreflex.h            |    3 ++-
  arch/arm/mach-omap2/sr_device.c              |    2 +-
  arch/arm/mach-omap2/voltage.c                |    3 ++-
  arch/arm/mach-omap2/voltage.h                |    0
  arch/arm/plat-omap/include/plat/omap_hwmod.h |    1 -
  7 files changed, 7 insertions(+), 6 deletions(-)
  rename arch/arm/{plat-omap/include/plat/voltage.h = mach-omap2/voltage.h} 
 (100%)

 diff --git a/arch/arm/mach-omap2/omap_twl.c b/arch/arm/mach-omap2/omap_twl.c
 index 00e1d2b..ad8c18a 100644
 --- a/arch/arm/mach-omap2/omap_twl.c
 +++ b/arch/arm/mach-omap2/omap_twl.c
 @@ -18,7 +18,7 @@
  #include linux/kernel.h
  #include linux/i2c/twl.h

 -#include plat/voltage.h
 +#include voltage.h
Extra Blank Line
  #include pm.h

 diff --git a/arch/arm/mach-omap2/pm.c b/arch/arm/mach-omap2/pm.c
 index d5a102c..4baa674 100644
 --- a/arch/arm/mach-omap2/pm.c
 +++ b/arch/arm/mach-omap2/pm.c
 @@ -18,8 +18,8 @@
  #include plat/omap-pm.h
  #include plat/omap_device.h
  #include plat/common.h
 -#include plat/voltage.h

 +#include voltage.h
  #include powerdomain.h
  #include clockdomain.h
  #include pm.h
 diff --git a/arch/arm/mach-omap2/smartreflex.h 
 b/arch/arm/mach-omap2/smartreflex.h
 index 6568c88..5f35b9e 100644
 --- a/arch/arm/mach-omap2/smartreflex.h
 +++ b/arch/arm/mach-omap2/smartreflex.h
 @@ -21,7 +21,8 @@
  #define __ASM_ARM_OMAP_SMARTREFLEX_H

  #include linux/platform_device.h
 -#include plat/voltage.h
 +
 +#include voltage.h

  /*
  * Different Smartreflex IPs version. The v1 is the 65nm version used in
 diff --git a/arch/arm/mach-omap2/sr_device.c b/arch/arm/mach-omap2/sr_device.c
 index a636604..10d3c5e 100644
 --- a/arch/arm/mach-omap2/sr_device.c
 +++ b/arch/arm/mach-omap2/sr_device.c
 @@ -23,9 +23,9 @@
  #include linux/io.h

  #include plat/omap_device.h
 -#include plat/voltage.h

  #include smartreflex.h
 +#include voltage.h
  #include control.h
  #include pm.h

 diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c
 index 12be525..3c9bcdc 100644
 --- a/arch/arm/mach-omap2/voltage.c
 +++ b/arch/arm/mach-omap2/voltage.c
 @@ -26,7 +26,6 @@
  #include linux/slab.h

  #include plat/common.h
 -#include plat/voltage.h

  #include prm-regbits-34xx.h
  #include prm-regbits-44xx.h
 @@ -35,6 +34,8 @@
  #include prminst44xx.h
  #include control.h
Extra Blank line
 +#include voltage.h
 +
  #define VP_IDLE_TIMEOUT                200
  #define VP_TRANXDONE_TIMEOUT   300
  #define VOLTAGE_DIR_SIZE       16
 diff --git a/arch/arm/plat-omap/include/plat/voltage.h 
 b/arch/arm/mach-omap2/voltage.h
 similarity index 100%
 rename from arch/arm/plat-omap/include/plat/voltage.h
 rename to arch/arm/mach-omap2/voltage.h
 diff --git a/arch/arm/plat-omap/include/plat/omap_hwmod.h 
 b/arch/arm/plat-omap/include/plat/omap_hwmod.h
 index 1eee85a..93beae2 100644
 --- a/arch/arm/plat-omap/include/plat/omap_hwmod.h
 +++ b/arch/arm/plat-omap/include/plat/omap_hwmod.h
 @@ -34,7 +34,6 @@
  #include linux/ioport.h
  #include linux/spinlock.h
  #include plat/cpu.h
 -#include plat/voltage.h
voltage.h is not added.
  struct omap_device;



 --
 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




-- 
Thanks,
Regards,
Shweta
--
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: do we need CHIP_GE_OMAP3630ES1in .oc? (was Re: [PATCH 02/19] omap3630: hwmod: sr: enable for higher ES)

2011-02-20 Thread Anand Gadiyar
 Better might be to introduce and use CHIP_GE_OMAP3630ES1 in hwmod
 structs in that case - that should ease things up. but the ES1 story
 should be fixed I guess.


  What do people think of this?


 + Anand from commit b0a1a6ce0597662c06f970643da60b8ebb5cdd1c which
 introduced the code in id.c to hear his views as well.

There's one instance where we needed to distinguish between ES1.0 and
all later revs of the 36xx - this was in commit 58dcfb3a0f
(omap: 3630: disable TLL SAR on 3630 ES1).

I chose to pick the same approach that was done for 3430 ES3.0 and below.

We keep two struct powerdomain core_3xx*pwrdm instances in
mach-omap2/powerdomains34xx.h with TLL SAR disabled in one. I couldn't
think up a better way to handle this at the time.

- Anand
--
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] OMAP: DSS2: Have separate irq handlers for DISPC and DSI

2011-02-20 Thread Archit Taneja
Currently, the core DSS platform device requests for an irq line for OMAP2 and
OMAP3. Make DISPC and DSI platform devices request for a shared IRQ line.

On OMAP3, the logical OR of DSI and DISPC interrupt lines goes to the MPU. There
is a register DSS_IRQSTATUS which tells if the interrupt came from DISPC or DSI.

On OMAP2, there is no DSI, only DISPC interrupts goto the MPU. There is no
DSS_IRQSTATUS register.

Hence, it makes more sense to have separate irq handlers corresponding to the
DSS sub modules instead of having a common handler.

Since on OMAP3 the logical OR of the lines goes to MPU, the irq line is shared
among the IRQ handlers.

The hwmod irq info has been removed for DSS to DISPC and DSI for OMAP2 and OMAP3
hwmod databases. The Probes of DISPC and DSI now request for irq handlers.

Signed-off-by: Archit Taneja arc...@ti.com
---
v3:
-return IRQ_NONE instead of IRQ_HANDLED when interrupt is not ours
-don't print module names wehn using DSSERR
v2: Removed checking with DSS_IRQSTATUS.

v3 tested on 3430sdp with sharp ls panel and 3430sdp with a Taal panel.

 arch/arm/mach-omap2/omap_hwmod_2420_data.c |   13 +++
 arch/arm/mach-omap2/omap_hwmod_2430_data.c |   12 +++---
 arch/arm/mach-omap2/omap_hwmod_3xxx_data.c |   21 ++-
 drivers/video/omap2/dss/dispc.c|   40 +++---
 drivers/video/omap2/dss/dsi.c  |   27 +--
 drivers/video/omap2/dss/dss.c  |   51 +---
 6 files changed, 84 insertions(+), 80 deletions(-)

diff --git a/arch/arm/mach-omap2/omap_hwmod_2420_data.c 
b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
index 21014de..085d053 100644
--- a/arch/arm/mach-omap2/omap_hwmod_2420_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
@@ -506,11 +506,6 @@ static struct omap_hwmod_class omap2420_dss_hwmod_class = {
.sysc = omap2420_dss_sysc,
 };
 
-/* dss */
-static struct omap_hwmod_irq_info omap2420_dss_irqs[] = {
-   { .irq = 25 },
-};
-
 static struct omap_hwmod_dma_info omap2420_dss_sdma_chs[] = {
{ .name = dispc, .dma_req = 5 },
 };
@@ -559,8 +554,6 @@ static struct omap_hwmod omap2420_dss_core_hwmod = {
.name   = dss_core,
.class  = omap2420_dss_hwmod_class,
.main_clk   = dss1_fck, /* instead of dss_fck */
-   .mpu_irqs   = omap2420_dss_irqs,
-   .mpu_irqs_cnt   = ARRAY_SIZE(omap2420_dss_irqs),
.sdma_reqs  = omap2420_dss_sdma_chs,
.sdma_reqs_cnt  = ARRAY_SIZE(omap2420_dss_sdma_chs),
.prcm   = {
@@ -603,6 +596,10 @@ static struct omap_hwmod_class omap2420_dispc_hwmod_class 
= {
.sysc = omap2420_dispc_sysc,
 };
 
+static struct omap_hwmod_irq_info omap2420_dispc_irqs[] = {
+   { .irq = 25 },
+};
+
 static struct omap_hwmod_addr_space omap2420_dss_dispc_addrs[] = {
{
.pa_start   = 0x48050400,
@@ -635,6 +632,8 @@ static struct omap_hwmod_ocp_if 
*omap2420_dss_dispc_slaves[] = {
 static struct omap_hwmod omap2420_dss_dispc_hwmod = {
.name   = dss_dispc,
.class  = omap2420_dispc_hwmod_class,
+   .mpu_irqs   = omap2420_dispc_irqs,
+   .mpu_irqs_cnt   = ARRAY_SIZE(omap2420_dispc_irqs),
.main_clk   = dss1_fck,
.prcm   = {
.omap2 = {
diff --git a/arch/arm/mach-omap2/omap_hwmod_2430_data.c 
b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
index 1ef3f3f..f486df8 100644
--- a/arch/arm/mach-omap2/omap_hwmod_2430_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
@@ -505,10 +505,6 @@ static struct omap_hwmod_class omap2430_dss_hwmod_class = {
.sysc = omap2430_dss_sysc,
 };
 
-/* dss */
-static struct omap_hwmod_irq_info omap2430_dss_irqs[] = {
-   { .irq = 25 },
-};
 static struct omap_hwmod_dma_info omap2430_dss_sdma_chs[] = {
{ .name = dispc, .dma_req = 5 },
 };
@@ -551,8 +547,6 @@ static struct omap_hwmod omap2430_dss_core_hwmod = {
.name   = dss_core,
.class  = omap2430_dss_hwmod_class,
.main_clk   = dss1_fck, /* instead of dss_fck */
-   .mpu_irqs   = omap2430_dss_irqs,
-   .mpu_irqs_cnt   = ARRAY_SIZE(omap2430_dss_irqs),
.sdma_reqs  = omap2430_dss_sdma_chs,
.sdma_reqs_cnt  = ARRAY_SIZE(omap2430_dss_sdma_chs),
.prcm   = {
@@ -595,6 +589,10 @@ static struct omap_hwmod_class omap2430_dispc_hwmod_class 
= {
.sysc = omap2430_dispc_sysc,
 };
 
+static struct omap_hwmod_irq_info omap2430_dispc_irqs[] = {
+   { .irq = 25 },
+};
+
 static struct omap_hwmod_addr_space omap2430_dss_dispc_addrs[] = {
{
.pa_start   = 0x48050400,
@@ -621,6 +619,8 @@ static struct omap_hwmod_ocp_if 
*omap2430_dss_dispc_slaves[] = {
 static struct omap_hwmod omap2430_dss_dispc_hwmod = {
.name   = dss_dispc,
.class  = omap2430_dispc_hwmod_class,
+   .mpu_irqs   = omap2430_dispc_irqs,
+   .mpu_irqs_cnt   = 

Re: [PATCH] OMAP: DSS2: Have separate irq handlers for DISPC and DSI

2011-02-20 Thread archit taneja

Hi,

On Monday 21 February 2011 11:30 AM, Taneja, Archit wrote:

Currently, the core DSS platform device requests for an irq line for OMAP2 and
OMAP3. Make DISPC and DSI platform devices request for a shared IRQ line.

On OMAP3, the logical OR of DSI and DISPC interrupt lines goes to the MPU. There
is a register DSS_IRQSTATUS which tells if the interrupt came from DISPC or DSI.

On OMAP2, there is no DSI, only DISPC interrupts goto the MPU. There is no
DSS_IRQSTATUS register.

Hence, it makes more sense to have separate irq handlers corresponding to the
DSS sub modules instead of having a common handler.

Since on OMAP3 the logical OR of the lines goes to MPU, the irq line is shared
among the IRQ handlers.

The hwmod irq info has been removed for DSS to DISPC and DSI for OMAP2 and OMAP3
hwmod databases. The Probes of DISPC and DSI now request for irq handlers.

Signed-off-by: Archit Tanejaarc...@ti.com
---
v3:
-return IRQ_NONE instead of IRQ_HANDLED when interrupt is not ours
-don't print module names wehn using DSSERR
v2: Removed checking with DSS_IRQSTATUS.

v3 tested on 3430sdp with sharp ls panel and 3430sdp with a Taal panel.



Minor correction: Subject should have been:

[PATCH v3] OMAP: DSS2: Have separate irq handlers for DISPC and DSI

snip

Regards,
Archit
--
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 resend] omap: rx51: Add SI4713 FM transmitter

2011-02-20 Thread Jarkko Nikula
Add SI4713 FM transmitter supplies, platform data and setup to RX-51/N900.
It is connected to line output signals of TLV320AIC34 codec A part.
Driver can be either built-in or a module. It can be tuned with v4l2-ctl
from ivtv-utils. Following examples illustrate the use of it:

v4l2-ctl -d /dev/radio0 --set-ctrl=mute=0 (power up)
v4l2-ctl -d /dev/radio0 -f 107900 (tune 107.9 MHz)

v4l2-ctl -d /dev/radio0 --set-ctrl=mute=1 (power down)

Signed-off-by: Jarkko Nikula jhnik...@gmail.com
---
Resend = forgot to cc LAKML.
---
 arch/arm/mach-omap2/board-rx51-peripherals.c |   44 ++
 1 files changed, 44 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c 
b/arch/arm/mach-omap2/board-rx51-peripherals.c
index e75e240..d0998f8 100644
--- a/arch/arm/mach-omap2/board-rx51-peripherals.c
+++ b/arch/arm/mach-omap2/board-rx51-peripherals.c
@@ -36,6 +36,8 @@
 
 #include sound/tlv320aic3x.h
 #include sound/tpa6130a2-plat.h
+#include media/radio-si4713.h
+#include media/si4713.h
 
 #include ../drivers/staging/iio/light/tsl2563.h
 
@@ -47,6 +49,8 @@
 
 #define RX51_WL1251_POWER_GPIO 87
 #define RX51_WL1251_IRQ_GPIO   42
+#define RX51_FMTX_RESET_GPIO   163
+#define RX51_FMTX_IRQ  53
 
 /* list all spi devices here */
 enum {
@@ -357,10 +361,14 @@ static struct regulator_consumer_supply 
rx51_vio_supplies[] = {
REGULATOR_SUPPLY(DVDD, 2-0018),
REGULATOR_SUPPLY(IOVDD, 2-0019),
REGULATOR_SUPPLY(DVDD, 2-0019),
+   /* Si4713 IO supply */
+   REGULATOR_SUPPLY(vio, 2-0063),
 };
 
 static struct regulator_consumer_supply rx51_vaux1_consumers[] = {
REGULATOR_SUPPLY(vdds_sdi, omapdss),
+   /* Si4713 supply */
+   REGULATOR_SUPPLY(vdd, 2-0063),
 };
 
 static struct regulator_consumer_supply rx51_vdac_supply[] = {
@@ -511,6 +519,41 @@ static struct regulator_init_data rx51_vio = {
.consumer_supplies  = rx51_vio_supplies,
 };
 
+static struct si4713_platform_data rx51_si4713_i2c_data __initdata_or_module = 
{
+   .gpio_reset = RX51_FMTX_RESET_GPIO,
+};
+
+static struct i2c_board_info rx51_si4713_board_info __initdata_or_module = {
+   I2C_BOARD_INFO(si4713, SI4713_I2C_ADDR_BUSEN_HIGH),
+   .platform_data  = rx51_si4713_i2c_data,
+};
+
+static struct radio_si4713_platform_data rx51_si4713_data __initdata_or_module 
= {
+   .i2c_bus= 2,
+   .subdev_board_info = rx51_si4713_board_info,
+};
+
+static struct platform_device rx51_si4713_dev __initdata_or_module = {
+   .name   = radio-si4713,
+   .id = -1,
+   .dev= {
+   .platform_data  = rx51_si4713_data,
+   },
+};
+
+static __init void rx51_init_si4713(void)
+{
+   int err;
+
+   err = gpio_request_one(RX51_FMTX_IRQ, GPIOF_DIR_IN, si4713 irq);
+   if (err) {
+   printk(KERN_ERR Cannot request si4713 irq gpio. %d\n, err);
+   return;
+   }
+   rx51_si4713_board_info.irq = gpio_to_irq(RX51_FMTX_IRQ);
+   platform_device_register(rx51_si4713_dev);
+}
+
 static int rx51_twlgpio_setup(struct device *dev, unsigned gpio, unsigned n)
 {
/* FIXME this gpio setup is just a placeholder for now */
@@ -921,6 +964,7 @@ void __init rx51_peripherals_init(void)
board_smc91x_init();
rx51_add_gpio_keys();
rx51_init_wl1251();
+   rx51_init_si4713();
spi_register_board_info(rx51_peripherals_spi_board_info,
ARRAY_SIZE(rx51_peripherals_spi_board_info));
 
-- 
1.7.2.3

--
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 00/12] omap3: pm: TWL4030 power scripts and workaround for TWL errata 27

2011-02-20 Thread Manuel, Lesly Arackal
Hi Jean,

On Fri, Feb 18, 2011 at 10:57 PM, Jean Pihet jean.pi...@newoldbits.com wrote:
 On Fri, Feb 18, 2011 at 6:08 PM, Lesly A M lesl...@ti.com wrote:
 Patch series for TWL4030 power scripts and workaround for TWL errata 27.

 Changes for implementing TWL4030 power scripts recommended by hardware team.
 Introduced a new TWL4030 power script file, which can be used by different
 OMAP3 board with the power companion chip TWL4030.

 Updated the changes for TWL4030 errata 27  28, modified the
 TWL4030 power script and voltage controller setuptime.
 Workaround for TWL4030 errata 27  28 is required for
 Si version less than or equal to TWL5030 ES1.1.

 TWL4030 script changes rebased on Kevin's PM tree in pm branch.

 Changes in v7:
        changes to fix Nishanth Menon's comments
                i) Added the TWL4030 Errata 27 fix

        split the first patch in v6
                i)  fix for twl4030 script load
                ii) correct the warning print during script loading

        Added new patch files
                i) pmic_info struct cleanup
                ii) changing sys_off signal polarity

        Updated the change logs

 This changes are tested on OMAP3430  OMAP3630 SDP with off mode enabled in 
 suspend path.
        Tested with suspend/resume script, which will test system suspend in 
 a loop.
        Tested for more than 1000 iterations.

 Good to see the TWL scripts back in the mainline kernel!
 Are the scripts compatible with the OMAP3 Beagleboard? I would like to
 test the changes on that board.

I have not tested on Beagleboard.
I think Beagleboard is using different PM IC TPS.
If its equivalent to TRITON then this script should work on it.

Regards,
Lesly A M


 Cc: Nishanth Menon n...@ti.com
 Cc: David Derrick dderr...@ti.com
 Cc: Samuel Ortiz sa...@linux.intel.com
 ---
 Lesly A M (12):
  omap3: pm: Fix for the TRITON sleep/wakeup sequence
  omap3: pm: Correct the warning print during script loading
  omap3: pm: cleanup pmic_info structure
  omap3: pm: Using separate clk/volt setup_time for RET and OFF states
  omap3630: pm: Adding voltage controller data
  omap3: pm: Correcting the sys_offmode signal polarity
  omap3: pm: Re-programing the setup time based on CORE target state
  omap3: pm: TWL4030 power scripts for OMAP3 boards
  omap3: pm: TWL5030 version checking
  mfd: TWL4030: changes for TRITON Errata 27 workaround
  omap3430: Updating the board file to use TWL4030 scripts
  omap3630: Updating the board file to use TWL4030 scripts

  arch/arm/mach-omap2/Makefile                 |   12 +-
  arch/arm/mach-omap2/board-3430sdp.c          |    3 +-
  arch/arm/mach-omap2/board-zoom-peripherals.c |    2 +
  arch/arm/mach-omap2/omap_twl.c               |  369 
 +++---
  arch/arm/mach-omap2/pm34xx.c                 |   15 +-
  arch/arm/mach-omap2/twl4030.c                |  261 ++
  arch/arm/mach-omap2/twl4030.h                |   21 ++
  arch/arm/mach-omap2/voltage.c                |  167 +---
  arch/arm/plat-omap/include/plat/voltage.h    |   49 +++-
  drivers/mfd/twl-core.c                       |   50 
  drivers/mfd/twl4030-power.c                  |   79 ++-
  include/linux/i2c/twl.h                      |   45 +++-
  12 files changed, 961 insertions(+), 112 deletions(-)
  create mode 100644 arch/arm/mach-omap2/twl4030.c
  create mode 100644 arch/arm/mach-omap2/twl4030.h

 --
 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


--
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] omap3: Adding vdd_sdi regulator supply to OMAP3EVM

2011-02-20 Thread Bryan Wu
Hi, would you guys take a look at this?

Thanks,
-Bryan

On Thu, Feb 17, 2011 at 4:11 PM, Bryan Wu bryan...@canonical.com wrote:
 From: Mathieu J. Poirier mathieu.poir...@canonical.com

 https://bugs.launchpad.net/bugs/630885

 When booting, the omapdss subsystem is looking for a regulator named
 vdds_sdi. When the regulator is not found the initialisation sequence
 is aborted resulting in omapfb not finding a display to work with.  This
 patch allows the omapfb sub system to complete its initialisation
 properly and enable LCD display. The problem was fixed by lumping a
 vdds_sdi with the already existing vdds_dsi regulator. This fix
 takes its root from work done on the Beagle board and the Pandora board.

 Signed-off-by: Mathieu Poirier mathieu.poir...@canonical.com
 Signed-off-by: Andy Whitcroft a...@canonical.com
 Signed-off-by: Bryan Wu bryan...@canonical.com
 ---
  arch/arm/mach-omap2/board-omap3evm.c |   10 ++
  1 files changed, 6 insertions(+), 4 deletions(-)

 diff --git a/arch/arm/mach-omap2/board-omap3evm.c 
 b/arch/arm/mach-omap2/board-omap3evm.c
 index c2a0fca..8b8eb36 100644
 --- a/arch/arm/mach-omap2/board-omap3evm.c
 +++ b/arch/arm/mach-omap2/board-omap3evm.c
 @@ -521,8 +521,10 @@ static struct regulator_init_data omap3_evm_vdac = {
  };

  /* VPLL2 for digital video outputs */
 -static struct regulator_consumer_supply omap3_evm_vpll2_supply =
 -       REGULATOR_SUPPLY(vdds_dsi, omapdss);
 +static struct regulator_consumer_supply omap3_evm_vdds_supplies[] = {
 +       REGULATOR_SUPPLY(vdds_sdi, omapdss),
 +       REGULATOR_SUPPLY(vdds_dsi, omapdss),
 +};

  static struct regulator_init_data omap3_evm_vpll2 = {
        .constraints = {
 @@ -534,8 +536,8 @@ static struct regulator_init_data omap3_evm_vpll2 = {
                .valid_ops_mask         = REGULATOR_CHANGE_MODE
                                        | REGULATOR_CHANGE_STATUS,
        },
 -       .num_consumer_supplies  = 1,
 -       .consumer_supplies      = omap3_evm_vpll2_supply,
 +       .num_consumer_supplies  = ARRAY_SIZE(omap3_evm_vdds_supplies),
 +       .consumer_supplies      = omap3_evm_vdds_supplies,
  };

  static struct twl4030_platform_data omap3evm_twldata = {
 --
 1.7.1

 --
 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

--
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 resend] video: omap24xxcam: Fix compilation

2011-02-20 Thread Felipe Balbi
Hi,

On Sat, Feb 19, 2011 at 06:04:58PM +0200, David Cohen wrote:
  I have to disagree. The fundamental problem is the circular dependency
  between those two files:
 
  sched.h uses wait_queue_head_t defined in wait.h
  wait.h uses TASK_* defined in sched.h
 
  So, IMO the real fix would be clear out the circular dependency. Maybe
  introducing linux/task.h to define those TASK_* symbols and include
  that on sched.h and wait.h
 
  Just dig a quick and dirty to try it out and works like a charm
 
 We have 2 problems:
  - omap24xxcam compilation broken
  - circular dependency between sched.h and wait.h
 
 To fix the broken compilation we can do what the rest of the kernel is
 doing, which is to include sched.h.
 Then, the circular dependency is fixed by some different approach
 which would probably change *all* current usage of TASK_*.

considering that 1 is caused by 2 I would fix 2.

 IMO, there's no need to create a dependency between those issues.

There's no dependency between them, it's just that the root cause for
this problem is a circular dependency between wait.h and sched.h

-- 
balbi
--
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 resend] omap: rx51: Add SI4713 FM transmitter

2011-02-20 Thread Varadarajan, Charulatha
On Mon, Feb 21, 2011 at 12:12, Jarkko Nikula jhnik...@gmail.com wrote:
 Add SI4713 FM transmitter supplies, platform data and setup to RX-51/N900.
 It is connected to line output signals of TLV320AIC34 codec A part.
 Driver can be either built-in or a module. It can be tuned with v4l2-ctl
 from ivtv-utils. Following examples illustrate the use of it:

        v4l2-ctl -d /dev/radio0 --set-ctrl=mute=0 (power up)
        v4l2-ctl -d /dev/radio0 -f 107900 (tune 107.9 MHz)

        v4l2-ctl -d /dev/radio0 --set-ctrl=mute=1 (power down)

 Signed-off-by: Jarkko Nikula jhnik...@gmail.com
 ---
 Resend = forgot to cc LAKML.
 ---

snip

 +
 +static __init void rx51_init_si4713(void)
 +{
 +       int err;
 +
 +       err = gpio_request_one(RX51_FMTX_IRQ, GPIOF_DIR_IN, si4713 irq);
 +       if (err) {
 +               printk(KERN_ERR Cannot request si4713 irq gpio. %d\n, err);

use pr_err instead of printk.

 +               return;
 +       }
 +       rx51_si4713_board_info.irq = gpio_to_irq(RX51_FMTX_IRQ);
 +       platform_device_register(rx51_si4713_dev);
 +}
 +

snip
--
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 resend] omap: rx51: Add SI4713 FM transmitter

2011-02-20 Thread Jarkko Nikula
On Mon, 21 Feb 2011 13:10:59 +0530
Varadarajan, Charulatha ch...@ti.com wrote:

  +       err = gpio_request_one(RX51_FMTX_IRQ, GPIOF_DIR_IN, si4713 irq);
  +       if (err) {
  +               printk(KERN_ERR Cannot request si4713 irq gpio. %d\n, 
  err);
 
 use pr_err instead of printk.
 
Thanks, I was obviously blind, will send an update :-)

-- 
Jarkko
--
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