Re: [PATCH/RFC 0/4] convert HS-MMC driver to hwmod + runtime PM

2010-02-25 Thread Adrian Hunter

Kevin Hilman wrote:

Madhusudhan madhu...@ti.com writes:


-Original Message-
From: linux-omap-ow...@vger.kernel.org [mailto:linux-omap-
ow...@vger.kernel.org] On Behalf Of Kevin Hilman
Sent: Tuesday, February 23, 2010 6:51 PM
To: linux-omap@vger.kernel.org
Subject: Re: [PATCH/RFC 0/4] convert HS-MMC driver to hwmod + runtime PM

Kevin Hilman khil...@deeprootsystems.com writes:


This series converts the OMAP HS-MMC driver to use omap_hwmod +
runtime PM API.

Depends on MMC hwmods available in 'pm-wip/hwmods' branch of
my git tree[1] as well as previously posted runtime PM series:

   [PATCH/RFC 0/2] initial runtime PM layer for OMAP

The easies way to experiment/test is to use my 'pm-wip/mmc' branch
which has all the dependencies, and is based on omap/for-next'.
It has been tested by merging with current PM branch.

[1] http://git.kernel.org/?p=linux/kernel/git/khilman/linux-omap-pm.git


A question for those of you who actually understand the MMC driver...
I'm having problems getting my head around the current PM stuff in the
MMC driver.  My primary question is:

Why does the suspend hook need to re-enable the device before
suspending?


In the scenario where there is no activity on the bus the MMC clocks are
kept disabled. Now in the suspend path the MMC core will issue certain CMDs
like CMD7(to end the suspend path) to deselect the card(more of a protocol
stuff). Hence the host need to be in enabled state before letting the core
know that there is a suspend request.


I guess what I'm wondering is whether we can (should) have the exact
same path for runtime PM (idle) and static PM (suspend/resume.)

My current approach is that the suspend is a NOP if the device
is already runtime suspended.


One difference is that the card-detect irq is disabled during suspend.
That means that removeable cards must have their block devices removed
too (or not if unsafe-resume is configured). The advantage of OFF-mode
is that it will wake-up if someone opens the cover, whereas suspend
will not.

A similar issue may develop with SDIO which may want to wake-up the
device from OFF-mode (e.g. wireless card connected via SDIO)

So is the difference that OFF-mode has wakeups but suspend does not?




When using runtime PM, the MMC device is disabled including
clocks off  and regulator off (if power_savings == true) when there
is no activity.

Then, in the static suspend hook, it's re-enabled (including taking it out
of
off, re-enabling regulators etc) only to be quickly disabled again.
This seems horribly inefficient.


This is exactly for the reason I mentioned above.


I admit to not understanding the MMC layer terribly well, so can someone
enlighten me as to what is going on here?

What I am testing here is a patch on top of this series (below) that
adds a check to the static suspend hook.  If the device is already
runtime suspended, then the suspend and resume hooks should be noop.

This appears to work just fine while testing on omap3evm just doing
simple read/write tests before an after suspend resume.


I did some basic testing with your previously posted patches. But my testing
was incomplete because on Zoom2 because for some reason the OFF mode was not
working even without your patches.


OK, I will try on Zoom2.  I've only tested this so far on OMAP3EVM.


My concern was more with respect to OFF mode in idle path since your patches
removed context restore calls if I recall correctly. 


No, I didn't remove restore.  I just moved it into the runtime PM
resume callback.


Are you able to hit CORE OFF and then come back and do the
read/write transfers in idle as well as suspend/resume path?


Yes.

Kevin

 

Note that if you want to test this patch, it also depends on this
patch to runtime PM from the linux-pm list:
https://lists.linux-foundation.org/pipermail/linux-pm/2010-
February/024275.html

These are all included in an updated version of my pm-wip/mmc branch
for ease of testing.  Merge it with the current PM branch, enable
CONFIG_PM_RUNTIME and test away.

Kevin

commit 166cba7679fa267ee6e6eb39fd1e871ede5ded16
Author: Kevin Hilman khil...@deeprootsystems.com
Date:   Tue Feb 23 16:21:56 2010 -0800

MMC: omap_hsmmc: check for runtime-suspend in static suspend

diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index 16d66b9..dd027bb 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -,6 +,9 @@ static int omap_hsmmc_suspend(struct device *dev)
if (host  host-suspended)
return 0;

+   if (pm_is_runtime_suspended(host-dev))
+   return 0;
+
if (host) {
host-suspended = 1;
if (host-pdata-suspend) {
@@ -2260,12 +2263,6 @@ static int omap_hsmmc_suspend(struct device *dev)
}
mmc_host_disable(host-mmc);
}
-
-   /*
-* HACK: extra put to compensate for DPM core keeping
-   

Re: [PATCHv4 7/7] ASoC: TWL6030: Detect power-up sequence completion

2010-02-25 Thread Mark Brown

On 25 Feb 2010, at 00:24, Olaya, Margarita magi.ol...@ti.com wrote:





-Original Message-
From: Mark Brown [mailto:broo...@opensource.wolfsonmicro.com]
Sent: Wednesday, February 24, 2010 7:59 AM
To: Olaya, Margarita
Cc: alsa-de...@alsa-project.org; linux-omap@vger.kernel.org; 
l...@slimlogic.co.uk
Subject: Re: [PATCHv4 7/7] ASoC: TWL6030: Detect power-up sequence  
completion


On Tue, Feb 23, 2010 at 06:10:54PM -0600, Olaya, Margarita wrote:


+if (naudint) {
+/* wait for ready interrupt with 48 ms timeout */
+time_left = wait_for_completion_timeout(priv-ready,
+msecs_to_jiffies(48));
+} else {
+/* retry 3 times only */
+for (time_left = 3; time_left  0; time_left--) {
+mdelay(16);
+twl_i2c_read_u8(TWL4030_MODULE_AUDIO_VOICE, intid,
+TWL6030_REG_INTID);
+if (intid  TWL6030_READYINT)
+break;
+}
+}


It strikes me that you could combine these two cases - the
wait_for_completion_timeout() will function just as well as a delay.
I'd also expect to see an error reported if the device doesn't  
report as

ready one way or another.


It is split to prevent the case of none valid irq line connected, in  
such case, wait_for_completion won't work


It will - you can specify a timeout so if the interrupt doesn't happen  
all that happens is that you delay for the specified timeout.





--
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: [PATCHv5] OMAP3: Serial: Improved sleep logic

2010-02-25 Thread Tero.Kristo
 

-Original Message-
From: ext Kevin Hilman [mailto:khil...@deeprootsystems.com] 
Sent: 24 February, 2010 18:05
To: Kristo Tero (Nokia-D/Tampere)
Cc: linux-omap@vger.kernel.org
Subject: Re: [PATCHv5] OMAP3: Serial: Improved sleep logic

Tero Kristo tero.kri...@nokia.com writes:

 From: Tero Kristo tero.kri...@nokia.com

 This patch contains following improvements:
 - Only RX interrupt will now kick the sleep prevent timer
 - TX fifo status is checked before disabling clocks, this 
will prevent
   on-going transmission to be cut
 - Smartidle is now enabled/disabled only while switching 
clocks, as having
   smartidle enabled while RX/TX prevents any interrupts from being
   received from UART module
 - Sleep prevent timer is changed to use timespec instead of 
a jiffy timer
   as jiffy timers are not valid within idle loop (tick 
scheduler is stopped)

Could also probably use hrtimers for this.

Maybe, I didn't try this out though. It is possible that there are some issues 
as hrtimers use ktime() as far as I understand and it is not accessible during 
suspend. There is a separate issue with this patch and suspend though, I am 
currently working on a fix for that. Suspend skewes the timebase even more, and 
we get expire timers that point far into the future after suspend.


That being said, I'm not sure what is the problem you're trying to
solve with this change.  I don't see any timings that are timing events
inside the idle loop.

Here is the call-chain that currently accesses jiffies count incorrectly:

cpu_idle:
   tick_nohz_stop_sched_tick(1); /* jiffy timer stops here */
   omap_sram_idle();
 omap_uart_prepare_idle();
 asm(wfi); /* sleep here for N seconds */
 omap_uart_resume_idle(); /* This call uses incorrect jiffy timer now */
   tick_nohz_restart_sched_tick(); /* jiffy timer restarted here, and jiffy 
timer is refreshed also to correct value */


 - Added RX ignore timer for ignoring the first character 
received during
   first millisecond of wakeup, this prevents garbage 
character to be receive
   in low sleep states

 Signed-off-by: Tero Kristo tero.kri...@nokia.com

Something is still not quite right here.

This doesn't work on my n900 here when testing this patch on top of
the PM branch.  The default is now a default timeout of zero.  When I
enable a 5 sec. timeout for UART2 on RX-51, when the timer expires, I
no longer have response on the console.

To test, I booted my n900 with init=/bin/sh to avoid all the setup
done by /sbin/preinit.  Then I enabled a timeout for UART2 only, and
then the console hangs.

Here's my hunch as to what's happening:

I think the problem is a deadlock in getrawmonotonic().  Nested calls
here will deadlock due to the xtime_lock being held.

Looking at the seqlock code, I think a seqlock reader can hang only in a case 
where someone is constantly writing the seqlock. And, as we are inside 
interrupt, this should not be possible.

When updading the timeout, sleep_timeout_store() does a
getrawmonotonic() to update the expiry time.  While this happening,
the UART interrupt could fire, causing an omap_uart_block_sleep()
which would also getrawmonotonic() and deadlock in interrupt mode.

It does not really explain why it hangs after the 5 second period though, as 
the device has called getrawmonotonic several times by this already. I have not 
seen this kind of behavior in my testing, even while fiddling with the 
sleep_timeout_store().

Anyway, I'll attempt to re-run my test on the latest PM / master branches and 
see what happens.


Kevin

 ---
  arch/arm/mach-omap2/serial.c |   98 
+
  1 files changed, 69 insertions(+), 29 deletions(-)

 diff --git a/arch/arm/mach-omap2/serial.c 
b/arch/arm/mach-omap2/serial.c
 index 5f3035e..f49c465 100644
 --- a/arch/arm/mach-omap2/serial.c
 +++ b/arch/arm/mach-omap2/serial.c
 @@ -29,6 +29,8 @@
  #include plat/clock.h
  #include plat/control.h
  
 +#include asm/div64.h
 +
  #include prm.h
  #include pm.h
  #include prm-regbits-34xx.h
 @@ -42,13 +44,14 @@
   * disabled via sysfs. This also causes that any deeper 
omap sleep states are
   * blocked. 
   */
 -#define DEFAULT_TIMEOUT 0
 +#define DEFAULT_TIMEOUT (0LL * NSEC_PER_SEC)
  
  struct omap_uart_state {
  int num;
  int can_sleep;
 -struct timer_list timer;
 -u32 timeout;
 +struct timespec expire_time;
 +struct timespec garbage_time;
 +u64 timeout;
  
  void __iomem *wk_st;
  void __iomem *wk_en;
 @@ -243,6 +246,9 @@ static inline void 
omap_uart_save_context(struct omap_uart_state *uart) {}
  static inline void omap_uart_restore_context(struct 
omap_uart_state *uart) {}
  #endif /* CONFIG_PM  CONFIG_ARCH_OMAP3 */
  
 +static void omap_uart_smart_idle_enable(struct 
omap_uart_state *uart,
 +int enable);
 +
  static inline void omap_uart_enable_clocks(struct 
omap_uart_state *uart)
  {
  if (uart-clocked)
 @@ -250,8 +256,13 @@ static inline void 

Re: [alsa-devel] [PATCHv4 2/7] ASoC: TWL6030: Add twl6030 codec driver

2010-02-25 Thread Liam Girdwood
On Wed, 2010-02-24 at 17:37 -0600, Olaya, Margarita wrote:
 
  -Original Message-
  From: Liam Girdwood [mailto:l...@slimlogic.co.uk]
  Sent: Wednesday, February 24, 2010 4:38 AM
  To: Olaya, Margarita
  Cc: alsa-de...@alsa-project.org; linux-omap@vger.kernel.org; 
  broo...@opensource.wolfsonmicro.com
  Subject: Re: [PATCHv4 2/7] ASoC: TWL6030: Add twl6030 codec driver
 
  On Tue, 2010-02-23 at 18:10 -0600, Olaya, Margarita wrote:
   From: Misael Lopez Cruz x0052...@ti.com
  
   Initial version of TWL6030 codec driver.
  
   The TWL6030 codec uses a propietary PDM-based digital audio interface.
   Audio paths supported are:
  
   - Input: Main Mic, Sub Mic, Headset Mic, Auxiliary-FM Left/Right
   - Output: Headset Left/Right, Handsfree Left/Right

   +
   +/*
   + * read from twl6030 hardware register
   + */
   +static int twl6030_read(struct snd_soc_codec *codec,
   +   unsigned int reg)
   +{
   +   u8 value;
   +
   +   if (reg = TWL6030_CACHEREGNUM)
   +   return -EIO;
   +
   +   twl_i2c_read_u8(TWL4030_MODULE_AUDIO_VOICE, value, reg);
   +   twl6030_write_reg_cache(codec, reg, value);
 
 
  You probably want to read from the cache if the register is not
  volatile. This saves a slow I2C read.
 
 
 This function is called for volatile registers; if the register is not 
 volatile we call twl6030_read_reg_cache. I could merge those two functions 
 with a case for those.
 

Ok, could amend the name or comment so it's obvious this is for
volatiles.

Thanks

Liam

-- 
Freelance Developer, SlimLogic Ltd
ASoC and Voltage Regulator Maintainer.
http://www.slimlogic.co.uk

--
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: [alsa-devel] [PATCHv4 0/7] TWL6030 audio codec initial support

2010-02-25 Thread Liam Girdwood
On Wed, 2010-02-24 at 18:17 -0600, Olaya, Margarita wrote:
 
  -Original Message-
  From: Liam Girdwood [mailto:l...@slimlogic.co.uk]
  Sent: Wednesday, February 24, 2010 5:40 AM
  To: Olaya, Margarita
  Cc: alsa-de...@alsa-project.org; linux-omap@vger.kernel.org; 
  broo...@opensource.wolfsonmicro.com
  Subject: Re: [PATCHv4 0/7] TWL6030 audio codec initial support
  
  On Tue, 2010-02-23 at 18:10 -0600, Olaya, Margarita wrote:
   Following patch series add initial support for TWL6030 codec driver.
   The patch set is based on the series sent from Misael Lopez in October 
   2009.
  
   Changes from v3:
   - Remove snd_soc_init_card function
   - Adapt to latest twl core changes based on Balaji's comment
  
   Regards,
   Margarita
  
   ---
   Misael Lopez Cruz (7):
 OMAP4: PMIC: Add support for twl6030 codec
 ASoC: TWL6030: Add twl6030 codec driver
 ASoC: TWL6030: Manual power-up/down sequences
 ASoC: TWL6030: Add support for low-power PLL
 ASoC: TWL6030: Add restrictions for low-power playback mode
 ASoC: TWL6030: Enable audio interrupt
 ASoC: TWL6030: Detect power-up sequence completion
  
  Btw, since this is a new driver can you rebase the 6 codec patches into
  a single patch.
  
 
 The second patch adds the basic support for the codec and the others add 
 features, that way it could be easier to review.

Some of the subsequent patches are actually removing chunks of code
rather than just adding new features. In this case it's actually easier
to review the complete codec driver as one patch rather than a series of
changes (showing your internal development history).

Thanks

Liam

-- 
Freelance Developer, SlimLogic Ltd
ASoC and Voltage Regulator Maintainer.
http://www.slimlogic.co.uk

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


[no subject]

2010-02-25 Thread Thomas Weber
Subject: [PATCH/RFC] OMAP2: serial.c: Fix number of uarts in early_init

The omap_serial_early_init prints the following errors:

Could not get uart4_ick
Could not get uart4_fck

because all the uarts available in omap_uart[] will be initialized.
Only omap4430 and omap3630 have 4 uarts at the moment.
This patch reduces the number of uarts when cpu is not omap4430 or
omap3630.

Signed-off-by: Thomas Weber we...@corscience.de
---
 arch/arm/mach-omap2/serial.c |   15 ++-
 1 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c
index b79bc89..da77930 100644
--- a/arch/arm/mach-omap2/serial.c
+++ b/arch/arm/mach-omap2/serial.c
@@ -644,16 +644,21 @@ static void serial_out_override(struct uart_port *up, int 
offset, int value)
 }
 void __init omap_serial_early_init(void)
 {
-   int i;
+   int i, nr_ports;
char name[16];
 
+   if (!(cpu_is_omap3630() || cpu_is_omap4430()))
+   nr_ports = 3;
+   else
+   nr_ports = ARRAY_SIZE(omap_uart);
+
/*
 * Make sure the serial ports are muxed on at this point.
 * You have to mux them off in device drivers later on
 * if not needed.
 */
 
-   for (i = 0; i  ARRAY_SIZE(omap_uart); i++) {
+   for (i = 0; i  nr_ports; i++) {
struct omap_uart_state *uart = omap_uart[i];
struct platform_device *pdev = uart-pdev;
struct device *dev = pdev-dev;
@@ -669,17 +674,17 @@ void __init omap_serial_early_init(void)
continue;
}
 
-   sprintf(name, uart%d_ick, i+1);
+   sprintf(name, uart%d_ick, i + 1);
uart-ick = clk_get(NULL, name);
if (IS_ERR(uart-ick)) {
-   printk(KERN_ERR Could not get uart%d_ick\n, i+1);
+   printk(KERN_ERR Could not get uart%d_ick\n, i + 1);
uart-ick = NULL;
}
 
sprintf(name, uart%d_fck, i+1);
uart-fck = clk_get(NULL, name);
if (IS_ERR(uart-fck)) {
-   printk(KERN_ERR Could not get uart%d_fck\n, i+1);
+   printk(KERN_ERR Could not get uart%d_fck\n, i + 1);
uart-fck = NULL;
}
 
-- 
1.6.4.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


[RESEND][PATCH/RFC] OMAP2: serial.c: Fix number of uarts in early_init

2010-02-25 Thread Thomas Weber

The omap_serial_early_init prints the following errors:

Could not get uart4_ick
Could not get uart4_fck

because all the uarts available in omap_uart[] will be initialized.
Only omap4430 and omap3630 have 4 uarts at the moment.
This patch reduces the number of uarts when cpu is not omap4430 or
omap3630.

Signed-off-by: Thomas Weber we...@corscience.de
---
 arch/arm/mach-omap2/serial.c |   15 ++-
 1 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c
index b79bc89..da77930 100644
--- a/arch/arm/mach-omap2/serial.c
+++ b/arch/arm/mach-omap2/serial.c
@@ -644,16 +644,21 @@ static void serial_out_override(struct uart_port *up, int 
offset, int value)
 }
 void __init omap_serial_early_init(void)
 {
-   int i;
+   int i, nr_ports;
char name[16];
 
+   if (!(cpu_is_omap3630() || cpu_is_omap4430()))
+   nr_ports = 3;
+   else
+   nr_ports = ARRAY_SIZE(omap_uart);
+
/*
 * Make sure the serial ports are muxed on at this point.
 * You have to mux them off in device drivers later on
 * if not needed.
 */
 
-   for (i = 0; i  ARRAY_SIZE(omap_uart); i++) {
+   for (i = 0; i  nr_ports; i++) {
struct omap_uart_state *uart = omap_uart[i];
struct platform_device *pdev = uart-pdev;
struct device *dev = pdev-dev;
@@ -669,17 +674,17 @@ void __init omap_serial_early_init(void)
continue;
}
 
-   sprintf(name, uart%d_ick, i+1);
+   sprintf(name, uart%d_ick, i + 1);
uart-ick = clk_get(NULL, name);
if (IS_ERR(uart-ick)) {
-   printk(KERN_ERR Could not get uart%d_ick\n, i+1);
+   printk(KERN_ERR Could not get uart%d_ick\n, i + 1);
uart-ick = NULL;
}
 
sprintf(name, uart%d_fck, i+1);
uart-fck = clk_get(NULL, name);
if (IS_ERR(uart-fck)) {
-   printk(KERN_ERR Could not get uart%d_fck\n, i+1);
+   printk(KERN_ERR Could not get uart%d_fck\n, i + 1);
uart-fck = NULL;
}
 
-- 
1.6.4.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: [PATCH v2] Input: ads7846: add regulator support

2010-02-25 Thread Dmitry Torokhov
On Sat, Feb 13, 2010 at 06:49:11PM +, Mark Brown wrote:
 On Sat, Feb 13, 2010 at 06:31:54PM +0200, Grazvydas Ignotas wrote:
  The ADS7846/TSC2046 touchscreen controllers can (and usually are)
  connected to various regulators for power, so add regulator support.
  
  Valid regulator will now be required, so boards without complete
  regulator setup should either disable regulator framework or enable
  CONFIG_REGULATOR_DUMMY.
  
  Signed-off-by: Grazvydas Ignotas nota...@gmail.com
 
 Looks good from a regulator API point of view:
 
 Acked-by: Mark Brown broo...@opensource.wolfsonmicro.com

Will apply to next, thank you Grazvydas.

-- 
Dmitry
--
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: [PATCHv4 1/7] OMAP4: PMIC: Add support for twl6030 codec

2010-02-25 Thread Mark Brown
On Wed, Feb 24, 2010 at 03:43:14PM -0600, Olaya, Margarita wrote:

[Reflowed into 80 columns]

 I'll re-submit the patch series using twl6040_codec instead of
 twl6030_codec, twl6030 is the power companion chip and twl4030 is the
 audio chip, so in the case of this patch should I send an incremental
 patch to rename it?

Incremental patch, please.
--
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: [PATCHv4 2/7] ASoC: TWL6030: Add twl6030 codec driver

2010-02-25 Thread Mark Brown
On Wed, Feb 24, 2010 at 05:37:44PM -0600, Olaya, Margarita wrote:
  -Original Message-
  From: Liam Girdwood [mailto:l...@slimlogic.co.uk]

  Are these two functions writing the default codec register values to the
  CODEC or are these non default (i.e. reset) values. If they are reset
  values is it not better to just issue the reset (and save the slow I2C
  writes) ?

 Yeap, but they write non default values to most of the registers.

Why are these non-default values being set?  The general style with
things like this is that the register defaults listed in the driver are
the physical defaults, and any explicit configuration is done with
register writes.  This makes it clearer what's being changed and means
that the actual register defaults are there for use if required.

Normally only things that should be changed for all systems would be
configured in this manner, things like audio paths which might change
per system would be left for userspace to configure.

BTW, please remember to delete unneeded context from your mails when
replying - it makes them much easier to read since the new text isn't
buried in many page of quotations (especially so when reading mail on a
mobile device).

 
 
   +/*
   + * MICATT volume control:
   + * from -6 to 0 dB in 6 dB steps
   + */
   +static DECLARE_TLV_DB_SCALE(mic_preamp_tlv, -600, 600, 0);
   +
   +/*
   + * MICGAIN volume control:
   + * from 6 to 30 dB in 6 dB steps
   + */
   +static DECLARE_TLV_DB_SCALE(mic_amp_tlv, 600, 600, 0);
   +
   +/*
   + * HSGAIN volume control:
   + * from -30 to 0 dB in 2 dB steps
   + */
   +static DECLARE_TLV_DB_SCALE(hs_tlv, -3000, 200, 0);
   +
   +/*
   + * HFGAIN volume control:
   + * from -52 to 6 dB in 2 dB steps
   + */
   +static DECLARE_TLV_DB_SCALE(hf_tlv, -5200, 200, 0);
   +
   +/* Left analog microphone selection */
   +static const char *twl6030_amicl_texts[] =
   +   {Headset Mic, Main Mic, Aux/FM Left, Off};
   +
   +/* Right analog microphone selection */
   +static const char *twl6030_amicr_texts[] =
   +   {Headset Mic, Sub Mic, Aux/FM Right, Off};
   +
   +static const struct soc_enum twl6030_enum[] = {
   +   SOC_ENUM_SINGLE(TWL6030_REG_MICLCTL, 3, 3, twl6030_amicl_texts),
   +   SOC_ENUM_SINGLE(TWL6030_REG_MICRCTL, 3, 3, twl6030_amicr_texts),
   +};
   +
   +static const struct snd_kcontrol_new amicl_control =
   +   SOC_DAPM_ENUM(Route, twl6030_enum[0]);
   +
   +static const struct snd_kcontrol_new amicr_control =
   +   SOC_DAPM_ENUM(Route, twl6030_enum[1]);
   +
   +/* Headset DAC playback switches */
   +static const struct snd_kcontrol_new hsdacl_switch_controls =
   +   SOC_DAPM_SINGLE(Switch, TWL6030_REG_HSLCTL, 5, 1, 0);
   +
   +static const struct snd_kcontrol_new hsdacr_switch_controls =
   +   SOC_DAPM_SINGLE(Switch, TWL6030_REG_HSRCTL, 5, 1, 0);
   +
   +/* Handsfree DAC playback switches */
   +static const struct snd_kcontrol_new hfdacl_switch_controls =
   +   SOC_DAPM_SINGLE(Switch, TWL6030_REG_HFLCTL, 2, 1, 0);
   +
   +static const struct snd_kcontrol_new hfdacr_switch_controls =
   +   SOC_DAPM_SINGLE(Switch, TWL6030_REG_HFRCTL, 2, 1, 0);
   +
   +/* Headset driver switches */
   +static const struct snd_kcontrol_new hsl_driver_switch_controls =
   +   SOC_DAPM_SINGLE(Switch, TWL6030_REG_HSLCTL, 2, 1, 0);
   +
   +static const struct snd_kcontrol_new hsr_driver_switch_controls =
   +   SOC_DAPM_SINGLE(Switch, TWL6030_REG_HSRCTL, 2, 1, 0);
   +
   +/* Handsfree driver switches */
   +static const struct snd_kcontrol_new hfl_driver_switch_controls =
   +   SOC_DAPM_SINGLE(Switch, TWL6030_REG_HFLCTL, 4, 1, 0);
   +
   +static const struct snd_kcontrol_new hfr_driver_switch_controls =
   +   SOC_DAPM_SINGLE(Switch, TWL6030_REG_HFRCTL, 4, 1, 0);
   +
   +static const struct snd_kcontrol_new twl6030_snd_controls[] = {
   +   /* Capture gains */
   +   SOC_DOUBLE_TLV(Capture Preamplifier Volume,
   +   TWL6030_REG_MICGAIN, 6, 7, 1, 1, mic_preamp_tlv),
   +   SOC_DOUBLE_TLV(Capture Volume,
   +   TWL6030_REG_MICGAIN, 0, 3, 4, 0, mic_amp_tlv),
   +
   +   /* Playback gains */
   +   SOC_DOUBLE_TLV(Headset Playback Volume,
   +   TWL6030_REG_HSGAIN, 0, 4, 0xF, 1, hs_tlv),
   +   SOC_DOUBLE_R_TLV(Handsfree Playback Volume,
   +   TWL6030_REG_HFLGAIN, TWL6030_REG_HFRGAIN, 0, 0x1D, 1, 
   hf_tlv),
   +
   +};
   +
   +static const struct snd_soc_dapm_widget twl6030_dapm_widgets[] = {
   +   /* Inputs */
   +   SND_SOC_DAPM_INPUT(MAINMIC),
   +   SND_SOC_DAPM_INPUT(HSMIC),
   +   SND_SOC_DAPM_INPUT(SUBMIC),
   +   SND_SOC_DAPM_INPUT(AFML),
   +   SND_SOC_DAPM_INPUT(AFMR),
   +
   +   /* Outputs */
   +   SND_SOC_DAPM_OUTPUT(HSOL),
   +   SND_SOC_DAPM_OUTPUT(HSOR),
   +   SND_SOC_DAPM_OUTPUT(HFL),
   +   SND_SOC_DAPM_OUTPUT(HFR),
   +
   +   /* Analog input muxes for the capture amplifiers */
   +   

Re: [alsa-devel] [PATCHv4 2/7] ASoC: TWL6030: Add twl6030 codec driver

2010-02-25 Thread Mark Brown
On Wed, Feb 24, 2010 at 05:57:25PM -0600, Olaya, Margarita wrote:

  A switch statement would be nicer here.

 You mean something like this?

   switch (reg) {
   case TWL6030_REG_ASICID:
   case TWL6030_REG_ASICREV:
   case TWL6030_REG_STATUS:
   continue;
   default:
   break:
   }

Yes.
--
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 3/4] USB: MUSB: Add OMAP4 support in MUSB driver

2010-02-25 Thread Sergei Shtylyov

Hello.

Maulik Mankad wrote:

This patch adds CONFIG_ARCH_OMAP4 macro within MUSB driver
code and builds the MUSB driver for OMAP4.

Signed-off-by: Maulik Mankad x0082...@ti.com
Cc: Felipe Balbi felipe.ba...@nokia.com
Cc: Greg Kroah-Hartman gre...@suse.de
Cc: David Brownell davi...@pacbell.net
---
Index: mainline/drivers/usb/musb/Makefile
===
--- mainline.orig/drivers/usb/musb/Makefile
+++ mainline/drivers/usb/musb/Makefile
@@ -22,6 +22,10 @@ ifeq ($(CONFIG_ARCH_OMAP3430),y)
musb_hdrc-objs  += omap2430.o
 endif
 
+ifeq ($(CONFIG_ARCH_OMAP4),y)

+   musb_hdrc-objs  += omap2430.o
+endif
+
 ifeq ($(CONFIG_BF54x),y)
musb_hdrc-objs  += blackfin.o
 endif


  I think this should be combined with patch 2/4 which doesn't make 
much sense otherwise...


WBR, Sergei

--
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/2] AM3517 EVM: Enable I2C support.

2010-02-25 Thread Sriramakrishnan
There are multiple devices connected to I2C bus on AM3517EVM
(for instance audio codec, IO expander etc). Enable I2C support
in the default kernel configuration for AM3517 EVM.

Signed-off-by: Sriramakrishnan s...@ti.com
---
 arch/arm/configs/am3517_evm_defconfig |   41 -
 1 files changed, 40 insertions(+), 1 deletions(-)

diff --git a/arch/arm/configs/am3517_evm_defconfig 
b/arch/arm/configs/am3517_evm_defconfig
index abe9966..04a804b 100644
--- a/arch/arm/configs/am3517_evm_defconfig
+++ b/arch/arm/configs/am3517_evm_defconfig
@@ -590,7 +590,46 @@ CONFIG_HW_RANDOM=y
 # CONFIG_R3964 is not set
 # CONFIG_RAW_DRIVER is not set
 # CONFIG_TCG_TPM is not set
-# CONFIG_I2C is not set
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_HELPER_AUTO=y
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_DESIGNWARE is not set
+# CONFIG_I2C_GPIO is not set
+# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_OMAP=y
+# CONFIG_I2C_SIMTEC is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_TAOS_EVM is not set
+# CONFIG_I2C_TINY_USB is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+# CONFIG_I2C_PCA_PLATFORM is not set
+# CONFIG_I2C_STUB is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_SENSORS_TSL2550 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
 # CONFIG_SPI is not set
 
 #
-- 
1.6.2.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 2/2] AM3517EVM : correct typo - tca6416 mispelt as tca6516.

2010-02-25 Thread Sriramakrishnan
Correct instances where tca6416 is misspelt as tca6516 in
the board-am3517evm file.

Signed-off-by: Sriramakrishnan s...@ti.com
---
 arch/arm/mach-omap2/board-am3517evm.c |   12 ++--
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/arch/arm/mach-omap2/board-am3517evm.c 
b/arch/arm/mach-omap2/board-am3517evm.c
index e6b8967..b336adc 100644
--- a/arch/arm/mach-omap2/board-am3517evm.c
+++ b/arch/arm/mach-omap2/board-am3517evm.c
@@ -80,7 +80,7 @@ static void __init am3517_evm_rtc_init(void)
 static struct pca953x_platform_data am3517evm_gpio_expander_info_0 = {
.gpio_base  = OMAP_MAX_GPIO_LINES,
 };
-static struct i2c_board_info __initdata am3517evm_tca6516_info_0[] = {
+static struct i2c_board_info __initdata am3517evm_tca6416_info_0[] = {
{
I2C_BOARD_INFO(tca6416, 0x21),
.platform_data = am3517evm_gpio_expander_info_0,
@@ -94,7 +94,7 @@ static struct pca953x_platform_data 
am3517evm_ui_gpio_expander_info_1 = {
 static struct pca953x_platform_data am3517evm_ui_gpio_expander_info_2 = {
.gpio_base  = OMAP_MAX_GPIO_LINES + 32,
 };
-static struct i2c_board_info __initdata am3517evm_ui_tca6516_info[] = {
+static struct i2c_board_info __initdata am3517evm_ui_tca6416_info[] = {
{
I2C_BOARD_INFO(tca6416, 0x20),
.platform_data = am3517evm_ui_gpio_expander_info_1,
@@ -108,10 +108,10 @@ static struct i2c_board_info __initdata 
am3517evm_ui_tca6516_info[] = {
 static int __init am3517_evm_i2c_init(void)
 {
omap_register_i2c_bus(1, 400, NULL, 0);
-   omap_register_i2c_bus(2, 400, am3517evm_tca6516_info_0,
-   ARRAY_SIZE(am3517evm_tca6516_info_0));
-   omap_register_i2c_bus(3, 400, am3517evm_ui_tca6516_info,
-   ARRAY_SIZE(am3517evm_ui_tca6516_info));
+   omap_register_i2c_bus(2, 400, am3517evm_tca6416_info_0,
+   ARRAY_SIZE(am3517evm_tca6416_info_0));
+   omap_register_i2c_bus(3, 400, am3517evm_ui_tca6416_info,
+   ARRAY_SIZE(am3517evm_ui_tca6416_info));
 
return 0;
 }
-- 
1.6.2.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] Add support for TCA6416 based Keypad driver.

2010-02-25 Thread Sriramakrishnan
AM3517 EVM with APPS board includes keys interfaced to TCA6416 IO expander.
User keys are connected as GPIO lines to TCA6416 IO expander. Unlike the
case with generic gpio-keypad driver individual keys do not generate an
interrupt event. Hence we implement a simple keypad driver(based on gpio-keys)
that registers as direct I2C client.

The implementation has been tested on AM3517 EVM with the driver tested
in polling mode.

Sriramakrishnan (3):
  TCA6416 keypad : Implement keypad driver for keys interfaced to
TCA6416
  AM3517 EVM : Enable TCA6416 keypad
  AM3517: Board hookup for TCA6416 keypad driver.

 arch/arm/configs/am3517_evm_defconfig   |   15 ++-
 arch/arm/mach-omap2/board-am3517evm.c   |   48 -
 drivers/input/keyboard/Kconfig  |   17 ++
 drivers/input/keyboard/Makefile |1 +
 drivers/input/keyboard/tca6416-keypad.c |  355 +++
 include/linux/tca6416_keypad.h  |   30 +++
 6 files changed, 460 insertions(+), 6 deletions(-)
 create mode 100755 drivers/input/keyboard/tca6416-keypad.c
 create mode 100755 include/linux/tca6416_keypad.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 3/3] AM3517: Board hookup for TCA6416 keypad driver.

2010-02-25 Thread Sriramakrishnan
Add board specific hookup for TCA6416 keypad driver.

Signed-off-by: Sriramakrishnan s...@ti.com
---
This patch depends on AM3517EVM : correct typo - tca6416 mispelt as tca6516
patch submitted earlier.
[1] http://marc.info/?l=linux-omapm=126709475619102w=2


 arch/arm/mach-omap2/board-am3517evm.c |   48 +---
 1 files changed, 43 insertions(+), 5 deletions(-)

diff --git a/arch/arm/mach-omap2/board-am3517evm.c 
b/arch/arm/mach-omap2/board-am3517evm.c
index b336adc..a8228b7 100644
--- a/arch/arm/mach-omap2/board-am3517evm.c
+++ b/arch/arm/mach-omap2/board-am3517evm.c
@@ -20,7 +20,10 @@
 #include linux/init.h
 #include linux/platform_device.h
 #include linux/gpio.h
+#include linux/i2c.h
 #include linux/i2c/pca953x.h
+#include linux/input.h
+#include linux/tca6416_keypad.h
 
 #include mach/hardware.h
 #include mach/am35xx.h
@@ -88,16 +91,51 @@ static struct i2c_board_info __initdata 
am3517evm_tca6416_info_0[] = {
 };
 
 /* Mounted on UI Card */
-static struct pca953x_platform_data am3517evm_ui_gpio_expander_info_1 = {
+/* IO expander at address 0x20 on UI card will be managed by Keypad driver */
+
+static struct pca953x_platform_data am3517evm_ui_gpio_expander_info_2 = {
.gpio_base  = OMAP_MAX_GPIO_LINES + 16,
 };
-static struct pca953x_platform_data am3517evm_ui_gpio_expander_info_2 = {
-   .gpio_base  = OMAP_MAX_GPIO_LINES + 32,
+
+/*Keypad Initialization */
+#define KEYPAD_PIN_MASK0xFFC0
+
+#define KEYPAD_BUTTON(ev_type, ev_code, act_low, descr) \
+{   \
+   .type   = ev_type,  \
+   .code   = ev_code,  \
+   .active_low = act_low,  \
+   .desc   = btn  descr, \
+}
+
+#define KEYPAD_BUTTON_LOW(event_code, description)  \
+   KEYPAD_BUTTON(EV_KEY, event_code, 1, description)
+
+static struct gpio_keys_button am3517_gpio_keys[] = {
+   KEYPAD_BUTTON_LOW(KEY_DOWN, down),
+   KEYPAD_BUTTON_LOW(KEY_UP, up),
+   KEYPAD_BUTTON_LOW(KEY_MENU, menu),
+   KEYPAD_BUTTON_LOW(KEY_MODE, mode),
+   KEYPAD_BUTTON_LOW(KEY_LEFTSHIFT, shift),
+   KEYPAD_BUTTON_LOW(KEY_REWIND, rewind),
+   KEYPAD_BUTTON_LOW(KEY_FORWARD, forward),
+   KEYPAD_BUTTON_LOW(KEY_STOP, stop),
+   KEYPAD_BUTTON_LOW(KEY_PLAY, play),
+   KEYPAD_BUTTON_LOW(KEY_RECORD, rec),
 };
+
+static struct tca6416_keys_platform_data am3517evm_tca6416_keys_info = {
+   .buttons= am3517_gpio_keys,
+   .nbuttons   = ARRAY_SIZE(am3517_gpio_keys),
+   .rep= 0,
+   .use_polling= 1,
+   .pinmask= KEYPAD_PIN_MASK,
+};
+
 static struct i2c_board_info __initdata am3517evm_ui_tca6416_info[] = {
{
-   I2C_BOARD_INFO(tca6416, 0x20),
-   .platform_data = am3517evm_ui_gpio_expander_info_1,
+   I2C_BOARD_INFO(tca6416-keys, 0x20),
+   .platform_data = am3517evm_tca6416_keys_info,
},
{
I2C_BOARD_INFO(tca6416, 0x21),
-- 
1.6.2.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 2/3] AM3517 EVM : Enable TCA6416 keypad

2010-02-25 Thread Sriramakrishnan
Update kernel configuration for AM3517EVM to include
support for TCA6416 keypad.

Signed-off-by: Sriramakrishnan s...@ti.com
---
 arch/arm/configs/am3517_evm_defconfig |   15 ++-
 1 files changed, 14 insertions(+), 1 deletions(-)

diff --git a/arch/arm/configs/am3517_evm_defconfig 
b/arch/arm/configs/am3517_evm_defconfig
index 04a804b..439ba7f 100644
--- a/arch/arm/configs/am3517_evm_defconfig
+++ b/arch/arm/configs/am3517_evm_defconfig
@@ -539,7 +539,20 @@ CONFIG_INPUT_EVDEV=y
 #
 # Input Device Drivers
 #
-# CONFIG_INPUT_KEYBOARD is not set
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ADP5588 is not set
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_QT2160 is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_GPIO is not set
+CONFIG_KEYBOARD_TCA6416=y
+# CONFIG_KEYBOARD_MATRIX is not set
+# CONFIG_KEYBOARD_MAX7359 is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_OPENCORES is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
 # CONFIG_INPUT_MOUSE is not set
 # CONFIG_INPUT_JOYSTICK is not set
 # CONFIG_INPUT_TABLET is not set
-- 
1.6.2.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 1/3] TCA6416 keypad : Implement keypad driver for keys interfaced to TCA6416

2010-02-25 Thread Sriramakrishnan
This patch implements a simple Keypad driver that functions
as an I2C client. It handles key press events for keys
connected to TCA6416 I2C based IO expander.

Signed-off-by: Sriramakrishnan s...@ti.com
---
 drivers/input/keyboard/Kconfig  |   17 ++
 drivers/input/keyboard/Makefile |1 +
 drivers/input/keyboard/tca6416-keypad.c |  355 +++
 include/linux/tca6416_keypad.h  |   30 +++
 4 files changed, 403 insertions(+), 0 deletions(-)
 create mode 100755 drivers/input/keyboard/tca6416-keypad.c
 create mode 100755 include/linux/tca6416_keypad.h

diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig
index 02c836e..c2cd31b 100644
--- a/drivers/input/keyboard/Kconfig
+++ b/drivers/input/keyboard/Kconfig
@@ -190,6 +190,23 @@ config KEYBOARD_GPIO
  To compile this driver as a module, choose M here: the
  module will be called gpio_keys.
 
+config KEYBOARD_TCA6416
+   tristate TCA6416 Keypad Support
+   depends on I2C
+   help
+ This driver implements basic keypad functionality
+ for keys connected through TCA6416 IO expander
+
+ Say Y here if your device has keys connected to
+ TCA6416 IO expander. Your board-specific setup logic
+ must also provide pin-mask details(of which TCA6416 pins
+ are used for keypad).
+
+ If enabled the complete TCA6416 device will be managed through
+ this driver(precludes gpio interface for remaining pins on
+ TCA6416)
+
+
 config KEYBOARD_MATRIX
tristate GPIO driven matrix keypad support
depends on GENERIC_GPIO
diff --git a/drivers/input/keyboard/Makefile b/drivers/input/keyboard/Makefile
index 78654ef..0f1ad54 100644
--- a/drivers/input/keyboard/Makefile
+++ b/drivers/input/keyboard/Makefile
@@ -15,6 +15,7 @@ obj-$(CONFIG_KEYBOARD_CORGI)  += corgikbd.o
 obj-$(CONFIG_KEYBOARD_DAVINCI) += davinci_keyscan.o
 obj-$(CONFIG_KEYBOARD_EP93XX)  += ep93xx_keypad.o
 obj-$(CONFIG_KEYBOARD_GPIO)+= gpio_keys.o
+obj-$(CONFIG_KEYBOARD_TCA6416) += tca6416-keypad.o
 obj-$(CONFIG_KEYBOARD_HIL) += hil_kbd.o
 obj-$(CONFIG_KEYBOARD_HIL_OLD) += hilkbd.o
 obj-$(CONFIG_KEYBOARD_HP6XX)   += jornada680_kbd.o
diff --git a/drivers/input/keyboard/tca6416-keypad.c 
b/drivers/input/keyboard/tca6416-keypad.c
new file mode 100755
index 000..4c1ba1e
--- /dev/null
+++ b/drivers/input/keyboard/tca6416-keypad.c
@@ -0,0 +1,355 @@
+/*
+ * Driver for keys on TCA6416 I2C IO expander
+ *
+ * Implementation based on drivers/input/keyboard/gpio_keys.c
+ *
+ * Copyright (C) 2010 Texas Instruments
+ *
+ * Author : Sriramakrishnan.A.G. s...@ti.com
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include linux/module.h
+#include linux/init.h
+#include linux/gpio.h
+#include linux/i2c.h
+#include linux/input.h
+#include linux/tca6416_keypad.h
+#include linux/workqueue.h
+#include linux/types.h
+#include linux/interrupt.h
+#include linux/delay.h
+
+#define TCA6416_INPUT  0
+#define TCA6416_OUTPUT 1
+#define TCA6416_INVERT 2
+#define TCA6416_DIRECTION  3
+
+static const struct i2c_device_id tca6416_id[] = {
+   { tca6416-keys, 16, },
+   { }
+};
+MODULE_DEVICE_TABLE(i2c, tca6416_id);
+
+struct tca6416_button_data {
+   struct gpio_keys_button *button;
+   struct input_dev *input;
+};
+
+struct tca6416_drv_data {
+   struct input_dev *input;
+   struct tca6416_button_data data[0];
+};
+
+struct tca6416_keypad_chip {
+   uint16_t reg_output;
+   uint16_t reg_direction;
+   uint16_t reg_input;
+
+   struct i2c_client *client;
+   struct tca6416_drv_data  *drv_data;
+   struct delayed_work dwork;
+   uint16_t pinmask;
+   int irqnum;
+   int use_polling;
+};
+
+static int tca6416_write_reg(struct tca6416_keypad_chip *chip, int reg,
+   uint16_t val)
+{
+   int ret;
+
+   ret = i2c_smbus_write_word_data(chip-client, reg  1, val);
+
+   if (ret  0) {
+   dev_err(chip-client-dev, failed writing register\n);
+   return ret;
+   }
+
+   return 0;
+}
+
+static int tca6416_read_reg(struct tca6416_keypad_chip *chip, int reg,
+   uint16_t *val)
+{
+   int ret;
+
+   ret = i2c_smbus_read_word_data(chip-client, reg  1);
+
+   if (ret  0) {
+   dev_err(chip-client-dev, failed reading register\n);
+   return ret;
+   }
+
+   *val = (uint16_t)ret;
+   return 0;
+}
+
+static irqreturn_t tca6416_keys_isr(int irq, void *dev_id)
+{
+   struct tca6416_keypad_chip *chip =
+   (struct tca6416_keypad_chip *) dev_id;
+
+   disable_irq(irq);
+   schedule_delayed_work(chip-dwork, 0);
+   

[PATCH] PCA953x : Fix compilation warning.

2010-02-25 Thread Sriramakrishnan
The platform data structure defined in pca953x header file
includes references to i2c data structures. Unless the i2c.h
file is included ahead of pca953x.h, compiler warning would
be generated wherever pca953x header file is included. Added
i2c.h to the pca953x.h itself to remove this dependency.

Also included conditional compile macros to guard against
multiple inclusion.

Signed-off-by: Sriramakrishnan s...@ti.com
---
 include/linux/i2c/pca953x.h |6 ++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/include/linux/i2c/pca953x.h b/include/linux/i2c/pca953x.h
index 81736d6..1284a2d 100644
--- a/include/linux/i2c/pca953x.h
+++ b/include/linux/i2c/pca953x.h
@@ -1,3 +1,8 @@
+#ifndef __LINUX_PCA953X_H
+#define __LINUX_PCA953X_H
+
+#include linux/i2c.h
+
 /* platform data for the PCA9539 16-bit I/O expander driver */
 
 struct pca953x_platform_data {
@@ -17,3 +22,4 @@ struct pca953x_platform_data {
void *context);
char**names;
 };
+#endif
-- 
1.6.2.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: About multicore OMAP

2010-02-25 Thread Jacob john
On Wed, Feb 24, 2010 at 10:24 AM, Shilimkar, Santosh
santosh.shilim...@ti.com wrote:
 -Original Message-
 From: Jacob john [mailto:jacob.joh...@gmail.com]
 Sent: Wednesday, February 24, 2010 10:16 AM
 To: Shilimkar, Santosh
 Cc: linux-omap@vger.kernel.org
 Subject: Re: About multicore OMAP

 On Tue, Feb 23, 2010 at 10:20 PM, Shilimkar, Santosh
 santosh.shilim...@ti.com wrote:
  John,
  -Original Message-
  From: linux-omap-ow...@vger.kernel.org 
  [mailto:linux-omap-ow...@vger.kernel.org] On Behalf Of
  Shilimkar, Santosh
  Sent: Tuesday, February 23, 2010 8:01 PM
  To: Jacob john
  Cc: linux-omap@vger.kernel.org
  Subject: RE: About multicore OMAP
 
   -Original Message-
   From: Jacob john [mailto:jacob.joh...@gmail.com]
   Sent: Tuesday, February 23, 2010 7:51 PM
   To: Shilimkar, Santosh
   Cc: linux-omap@vger.kernel.org
   Subject: Re: About multicore OMAP
  
   It's Blaze with two lcd's and pico, looks great. Can I have this
   linux-omap kernel running on OMAP4?, plus I'm looking for SMP
   benchmark results etc.
  
  Linux-omap kernel with omap_4430sdp_defconfig will boot on blaze with 
  SMP. This
  won't have lot of driver support as such currently. Also L2 cache support 
  is in
  on the way to make it to mainline as well. You should be able to play 
  with this
  with some basic benchmark test related to CPU.
 
  Display , Audio, Pico, keypad, touchscreeen etc drivers are available 
  with the
  release and you should be able get more details from the TI contact 
  person who
  gave you the blaze. You can also get the performance numbers from same 
  source
 
  If you need the full kernel with all the drivers I mentioned above, you 
  can use
  below git.
  http://dev.omapzoom.org/?p=integration/kernel-omap4.git;a=shortlog;h=refs/heads/L24.4

 Good help so far.., wondering why two trees for OMAP4, tell me the
 diff b/n this list and the zoom.
 is there a different mailing list for zoom? confusing... and I am
 sorrythanks for the pointers

 The mailing list is only one (Linux-omap). There is no difference. Linux-omap
 tree is almost mainline equivalent from omap4 point of view. The features are 
 developed
 on the tree I mentioned above. The tested features will be up-streamed after 
 rebasing
 one by one. You will find only upstreamed/lined-up features in linux-omap 
 tree.

Thanks Sentosh for your help, what do you advise? you always wanted me
to go to zoom, so I don't have to pull from Linux-omap.
When I should use zoom and when I should come back to Linux-omap?
please clarify. Good way to ask which is latest? :)
I am sorry, I am confusedhelp me

 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: About multicore OMAP

2010-02-25 Thread Shilimkar, Santosh
 -Original Message-
 From: Jacob john [mailto:jacob.joh...@gmail.com]
 Sent: Thursday, February 25, 2010 7:37 PM
 To: Shilimkar, Santosh
 Cc: linux-omap@vger.kernel.org
 Subject: Re: About multicore OMAP
 
 On Wed, Feb 24, 2010 at 10:24 AM, Shilimkar, Santosh
 santosh.shilim...@ti.com wrote:
  -Original Message-
  From: Jacob john [mailto:jacob.joh...@gmail.com]
  Sent: Wednesday, February 24, 2010 10:16 AM
  To: Shilimkar, Santosh
  Cc: linux-omap@vger.kernel.org
  Subject: Re: About multicore OMAP
 
  On Tue, Feb 23, 2010 at 10:20 PM, Shilimkar, Santosh
  santosh.shilim...@ti.com wrote:
   John,
   -Original Message-
   From: linux-omap-ow...@vger.kernel.org 
   [mailto:linux-omap-ow...@vger.kernel.org] On Behalf Of
   Shilimkar, Santosh
   Sent: Tuesday, February 23, 2010 8:01 PM
   To: Jacob john
   Cc: linux-omap@vger.kernel.org
   Subject: RE: About multicore OMAP
  
-Original Message-
From: Jacob john [mailto:jacob.joh...@gmail.com]
Sent: Tuesday, February 23, 2010 7:51 PM
To: Shilimkar, Santosh
Cc: linux-omap@vger.kernel.org
Subject: Re: About multicore OMAP
   
It's Blaze with two lcd's and pico, looks great. Can I have this
linux-omap kernel running on OMAP4?, plus I'm looking for SMP
benchmark results etc.
   
   Linux-omap kernel with omap_4430sdp_defconfig will boot on blaze with 
   SMP. This
   won't have lot of driver support as such currently. Also L2 cache 
   support is in
   on the way to make it to mainline as well. You should be able to play 
   with this
   with some basic benchmark test related to CPU.
  
   Display , Audio, Pico, keypad, touchscreeen etc drivers are available 
   with the
   release and you should be able get more details from the TI contact 
   person who
   gave you the blaze. You can also get the performance numbers from same 
   source
  
   If you need the full kernel with all the drivers I mentioned above, you 
   can use
   below git.
   http://dev.omapzoom.org/?p=integration/kernel-omap4.git;a=shortlog;h=refs/heads/L24.4
 
  Good help so far.., wondering why two trees for OMAP4, tell me the
  diff b/n this list and the zoom.
  is there a different mailing list for zoom? confusing... and I am
  sorrythanks for the pointers
 
  The mailing list is only one (Linux-omap). There is no difference. 
  Linux-omap
  tree is almost mainline equivalent from omap4 point of view. The features 
  are developed
  on the tree I mentioned above. The tested features will be up-streamed 
  after rebasing
  one by one. You will find only upstreamed/lined-up features in linux-omap 
  tree.
 
 Thanks Sentosh for your help, what do you advise? you always wanted me
 to go to zoom, so I don't have to pull from Linux-omap.
 When I should use zoom and when I should come back to Linux-omap?
 please clarify. Good way to ask which is latest? :)
 I am sorry, I am confusedhelp me
 
The dev.omapzoom.org trees gets updated regularly with linux-omap/maininle. So 
basically
it is ( Linux-omap-master +  Additional drivers including IPC). So you can use 
the
git available on dev.omapzoom.org. This will enable you to have all the drivers 
in
one tree.

Regards,
Santosh
N�r��yb�X��ǧv�^�)޺{.n�+{��f��{ay�ʇڙ�,j��f���h���z��w���
���j:+v���w�j�mzZ+�ݢj��!�i

Re: [PATCH] PCA953x : Fix compilation warning.

2010-02-25 Thread Jean Delvare
On Thu, 25 Feb 2010 19:02:38 +0530, Sriramakrishnan wrote:
 The platform data structure defined in pca953x header file
 includes references to i2c data structures. Unless the i2c.h
 file is included ahead of pca953x.h, compiler warning would
 be generated wherever pca953x header file is included. Added
 i2c.h to the pca953x.h itself to remove this dependency.
 
 Also included conditional compile macros to guard against
 multiple inclusion.
 
 Signed-off-by: Sriramakrishnan s...@ti.com
 ---
  include/linux/i2c/pca953x.h |6 ++
  1 files changed, 6 insertions(+), 0 deletions(-)
 
 diff --git a/include/linux/i2c/pca953x.h b/include/linux/i2c/pca953x.h
 index 81736d6..1284a2d 100644
 --- a/include/linux/i2c/pca953x.h
 +++ b/include/linux/i2c/pca953x.h
 @@ -1,3 +1,8 @@
 +#ifndef __LINUX_PCA953X_H
 +#define __LINUX_PCA953X_H
 +
 +#include linux/i2c.h
 +
  /* platform data for the PCA9539 16-bit I/O expander driver */
  
  struct pca953x_platform_data {
 @@ -17,3 +22,4 @@ struct pca953x_platform_data {
   void *context);
   char**names;
  };
 +#endif

Olof Johansson already sent a patch fixing this:
http://lkml.org/lkml/2010/1/5/327

Andrew Morton accepted this patch so it should go to Linus during the
next merge window (that is, within the next 2 weeks.)

-- 
Jean Delvare
--
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: About multicore OMAP

2010-02-25 Thread Jacob john
On Thu, Feb 25, 2010 at 7:45 PM, Shilimkar, Santosh
santosh.shilim...@ti.com wrote:
 -Original Message-
 From: Jacob john [mailto:jacob.joh...@gmail.com]
 Sent: Thursday, February 25, 2010 7:37 PM
 To: Shilimkar, Santosh
 Cc: linux-omap@vger.kernel.org
 Subject: Re: About multicore OMAP

 On Wed, Feb 24, 2010 at 10:24 AM, Shilimkar, Santosh
 santosh.shilim...@ti.com wrote:
  -Original Message-
  From: Jacob john [mailto:jacob.joh...@gmail.com]
  Sent: Wednesday, February 24, 2010 10:16 AM
  To: Shilimkar, Santosh
  Cc: linux-omap@vger.kernel.org
  Subject: Re: About multicore OMAP
 
  On Tue, Feb 23, 2010 at 10:20 PM, Shilimkar, Santosh
  santosh.shilim...@ti.com wrote:
   John,
   -Original Message-
   From: linux-omap-ow...@vger.kernel.org 
   [mailto:linux-omap-ow...@vger.kernel.org] On Behalf Of
   Shilimkar, Santosh
   Sent: Tuesday, February 23, 2010 8:01 PM
   To: Jacob john
   Cc: linux-omap@vger.kernel.org
   Subject: RE: About multicore OMAP
  
-Original Message-
From: Jacob john [mailto:jacob.joh...@gmail.com]
Sent: Tuesday, February 23, 2010 7:51 PM
To: Shilimkar, Santosh
Cc: linux-omap@vger.kernel.org
Subject: Re: About multicore OMAP
   
It's Blaze with two lcd's and pico, looks great. Can I have this
linux-omap kernel running on OMAP4?, plus I'm looking for SMP
benchmark results etc.
   
   Linux-omap kernel with omap_4430sdp_defconfig will boot on blaze with 
   SMP. This
   won't have lot of driver support as such currently. Also L2 cache 
   support is in
   on the way to make it to mainline as well. You should be able to play 
   with this
   with some basic benchmark test related to CPU.
  
   Display , Audio, Pico, keypad, touchscreeen etc drivers are available 
   with the
   release and you should be able get more details from the TI contact 
   person who
   gave you the blaze. You can also get the performance numbers from same 
   source
  
   If you need the full kernel with all the drivers I mentioned above, you 
   can use
   below git.
   http://dev.omapzoom.org/?p=integration/kernel-omap4.git;a=shortlog;h=refs/heads/L24.4
 
  Good help so far.., wondering why two trees for OMAP4, tell me the
  diff b/n this list and the zoom.
  is there a different mailing list for zoom? confusing... and I am
  sorrythanks for the pointers
 
  The mailing list is only one (Linux-omap). There is no difference. 
  Linux-omap
  tree is almost mainline equivalent from omap4 point of view. The features 
  are developed
  on the tree I mentioned above. The tested features will be up-streamed 
  after rebasing
  one by one. You will find only upstreamed/lined-up features in linux-omap 
  tree.
 
 Thanks Sentosh for your help, what do you advise? you always wanted me
 to go to zoom, so I don't have to pull from Linux-omap.
 When I should use zoom and when I should come back to Linux-omap?
 please clarify. Good way to ask which is latest? :)
 I am sorry, I am confusedhelp me

 The dev.omapzoom.org trees gets updated regularly with linux-omap/maininle. 
 So basically
 it is ( Linux-omap-master +  Additional drivers including IPC). So you can 
 use the
 git available on dev.omapzoom.org. This will enable you to have all the 
 drivers in
 one tree.

Sounds great, appreciate this, TI gave Android kernel, so from
omapzoom I get Android kernel?
please share GIT url path for the same, any readme is there like
Linux-omap? thanks for your help

 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: About multicore OMAP

2010-02-25 Thread Shilimkar, Santosh
 -Original Message-
 From: Jacob john [mailto:jacob.joh...@gmail.com]
 Sent: Thursday, February 25, 2010 7:58 PM
 To: Shilimkar, Santosh
 Cc: linux-omap@vger.kernel.org
 Subject: Re: About multicore OMAP
 
 On Thu, Feb 25, 2010 at 7:45 PM, Shilimkar, Santosh
 santosh.shilim...@ti.com wrote:
  -Original Message-
  From: Jacob john [mailto:jacob.joh...@gmail.com]
  Sent: Thursday, February 25, 2010 7:37 PM
  To: Shilimkar, Santosh
  Cc: linux-omap@vger.kernel.org
  Subject: Re: About multicore OMAP
 
  On Wed, Feb 24, 2010 at 10:24 AM, Shilimkar, Santosh
  santosh.shilim...@ti.com wrote:
   -Original Message-
   From: Jacob john [mailto:jacob.joh...@gmail.com]
   Sent: Wednesday, February 24, 2010 10:16 AM
   To: Shilimkar, Santosh
   Cc: linux-omap@vger.kernel.org
   Subject: Re: About multicore OMAP
  
   On Tue, Feb 23, 2010 at 10:20 PM, Shilimkar, Santosh
   santosh.shilim...@ti.com wrote:
John,
-Original Message-
From: linux-omap-ow...@vger.kernel.org 
[mailto:linux-omap-ow...@vger.kernel.org] On Behalf
 Of
Shilimkar, Santosh
Sent: Tuesday, February 23, 2010 8:01 PM
To: Jacob john
Cc: linux-omap@vger.kernel.org
Subject: RE: About multicore OMAP
   
 -Original Message-
 From: Jacob john [mailto:jacob.joh...@gmail.com]
 Sent: Tuesday, February 23, 2010 7:51 PM
 To: Shilimkar, Santosh
 Cc: linux-omap@vger.kernel.org
 Subject: Re: About multicore OMAP

 It's Blaze with two lcd's and pico, looks great. Can I have this
 linux-omap kernel running on OMAP4?, plus I'm looking for SMP
 benchmark results etc.

Linux-omap kernel with omap_4430sdp_defconfig will boot on blaze 
with SMP. This
won't have lot of driver support as such currently. Also L2 cache 
support is in
on the way to make it to mainline as well. You should be able to 
play with this
with some basic benchmark test related to CPU.
   
Display , Audio, Pico, keypad, touchscreeen etc drivers are 
available with the
release and you should be able get more details from the TI contact 
person who
gave you the blaze. You can also get the performance numbers from 
same source
   
If you need the full kernel with all the drivers I mentioned above, 
you can use
below git.
http://dev.omapzoom.org/?p=integration/kernel-omap4.git;a=shortlog;h=refs/heads/L24.4
  
   Good help so far.., wondering why two trees for OMAP4, tell me the
   diff b/n this list and the zoom.
   is there a different mailing list for zoom? confusing... and I am
   sorrythanks for the pointers
  
   The mailing list is only one (Linux-omap). There is no difference. 
   Linux-omap
   tree is almost mainline equivalent from omap4 point of view. The 
   features are developed
   on the tree I mentioned above. The tested features will be up-streamed 
   after rebasing
   one by one. You will find only upstreamed/lined-up features in 
   linux-omap tree.
  
  Thanks Sentosh for your help, what do you advise? you always wanted me
  to go to zoom, so I don't have to pull from Linux-omap.
  When I should use zoom and when I should come back to Linux-omap?
  please clarify. Good way to ask which is latest? :)
  I am sorry, I am confusedhelp me
 
  The dev.omapzoom.org trees gets updated regularly with linux-omap/maininle. 
  So basically
  it is ( Linux-omap-master +  Additional drivers including IPC). So you can 
  use the
  git available on dev.omapzoom.org. This will enable you to have all the 
  drivers in
  one tree.
 
 Sounds great, appreciate this, TI gave Android kernel, so from
 omapzoom I get Android kernel?
 please share GIT url path for the same, any readme is there like
 Linux-omap? thanks for your help
 
Here is the link for the android git.
http://dev.omapzoom.org/?p=vikram/omap3.git;a=shortlog;h=refs/heads/android-2.6.32-omap4


Regards,
Santosh


[RFC][PATCH 1/3] ARM: OMAP3630: PRCM: Add UART4 control bits

2010-02-25 Thread Sergio Aguirre
This bits are exclusive of omap 36xx family of chips.

Signed-off-by: Sergio Aguirre saagui...@ti.com
---
 arch/arm/mach-omap2/prcm-common.h |4 
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/prcm-common.h 
b/arch/arm/mach-omap2/prcm-common.h
index 90f603d..c4e7bcb 100644
--- a/arch/arm/mach-omap2/prcm-common.h
+++ b/arch/arm/mach-omap2/prcm-common.h
@@ -390,6 +390,8 @@
 #define OMAP3430_EN_MPU_SHIFT  1
 
 /* CM_FCLKEN_PER, CM_ICLKEN_PER, PM_WKEN_PER shared bits */
+#define OMAP3630_EN_UART4  (1  18)
+#define OMAP3630_EN_UART4_SHIFT18
 #define OMAP3430_EN_GPIO6  (1  17)
 #define OMAP3430_EN_GPIO6_SHIFT17
 #define OMAP3430_EN_GPIO5  (1  16)
@@ -430,6 +432,8 @@
 #define OMAP3430_EN_MCBSP2_SHIFT   0
 
 /* CM_IDLEST_PER, PM_WKST_PER shared bits */
+#define OMAP3630_ST_UART4_SHIFT18
+#define OMAP3630_ST_UART4_MASK (1  18)
 #define OMAP3430_ST_GPIO6_SHIFT17
 #define OMAP3430_ST_GPIO6_MASK (1  17)
 #define OMAP3430_ST_GPIO5_SHIFT16
-- 
1.6.3.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


[RFC][PATCH 0/3] OMAP3630: UART4 startup

2010-02-25 Thread Sergio Aguirre
Hi,

This small RFC patchlist is intending to add initial UART4 support
for omap36xx chips.

VERY IMPORTANT:
 - This is currently untested. I don't have the HW to test this.
 - I don't consider myself an omap-serial expert, so please review
   carefully.

Regards,
Sergio

Detailed changeset:

Sergio Aguirre (3):
  ARM: OMAP3630: PRCM: Add UART4 control bits
  OMAP clock: Add uart4_ick/fck definitions for 3630
  omap3: serial: Add uart4 wakeup handling

 arch/arm/mach-omap2/clock34xx_data.c |   22 ++
 arch/arm/mach-omap2/prcm-common.h|4 
 arch/arm/mach-omap2/serial.c |4 
 3 files changed, 30 insertions(+), 0 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


[RFC][PATCH 2/3] OMAP clock: Add uart4_ick/fck definitions for 3630

2010-02-25 Thread Sergio Aguirre
This is only valid for omap 36xx family of chips.

Signed-off-by: Sergio Aguirre saagui...@ti.com
---
 arch/arm/mach-omap2/clock34xx_data.c |   22 ++
 1 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/clock34xx_data.c 
b/arch/arm/mach-omap2/clock34xx_data.c
index 8728f1f..5d783bd 100644
--- a/arch/arm/mach-omap2/clock34xx_data.c
+++ b/arch/arm/mach-omap2/clock34xx_data.c
@@ -2381,6 +2381,16 @@ static struct clk uart3_fck = {
.recalc = followparent_recalc,
 };
 
+static struct clk uart4_fck = {
+   .name   = uart4_fck,
+   .ops= clkops_omap2_dflt_wait,
+   .parent = per_48m_fck,
+   .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN),
+   .enable_bit = OMAP3630_EN_UART4_SHIFT,
+   .clkdm_name = per_clkdm,
+   .recalc = followparent_recalc,
+};
+
 static struct clk gpt2_fck = {
.name   = gpt2_fck,
.ops= clkops_omap2_dflt_wait,
@@ -2631,6 +2641,16 @@ static struct clk uart3_ick = {
.recalc = followparent_recalc,
 };
 
+static struct clk uart4_ick = {
+   .name   = uart4_ick,
+   .ops= clkops_omap2_dflt_wait,
+   .parent = per_l4_ick,
+   .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_ICLKEN),
+   .enable_bit = OMAP3630_EN_UART4_SHIFT,
+   .clkdm_name = per_clkdm,
+   .recalc = followparent_recalc,
+};
+
 static struct clk gpt9_ick = {
.name   = gpt9_ick,
.ops= clkops_omap2_dflt_wait,
@@ -3160,6 +3180,7 @@ static struct omap_clk omap3xxx_clks[] = {
CLK(NULL,   per_96m_fck,  per_96m_fck,   CK_3XXX),
CLK(NULL,   per_48m_fck,  per_48m_fck,   CK_3XXX),
CLK(NULL,   uart3_fck,uart3_fck, CK_3XXX),
+   CLK(NULL,   uart4_fck,uart4_fck, CK_36XX),
CLK(NULL,   gpt2_fck, gpt2_fck,  CK_3XXX),
CLK(NULL,   gpt3_fck, gpt3_fck,  CK_3XXX),
CLK(NULL,   gpt4_fck, gpt4_fck,  CK_3XXX),
@@ -3183,6 +3204,7 @@ static struct omap_clk omap3xxx_clks[] = {
CLK(NULL,   gpio2_ick,gpio2_ick, CK_3XXX),
CLK(NULL,   wdt3_ick, wdt3_ick,  CK_3XXX),
CLK(NULL,   uart3_ick,uart3_ick, CK_3XXX),
+   CLK(NULL,   uart4_ick,uart4_ick, CK_36XX),
CLK(NULL,   gpt9_ick, gpt9_ick,  CK_3XXX),
CLK(NULL,   gpt8_ick, gpt8_ick,  CK_3XXX),
CLK(NULL,   gpt7_ick, gpt7_ick,  CK_3XXX),
-- 
1.6.3.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


[RFC][PATCH 3/3] omap3: serial: Add uart4 wakeup handling

2010-02-25 Thread Sergio Aguirre
Signed-off-by: Sergio Aguirre saagui...@ti.com
---
 arch/arm/mach-omap2/serial.c |4 
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c
index c4a810b..1942cc8 100644
--- a/arch/arm/mach-omap2/serial.c
+++ b/arch/arm/mach-omap2/serial.c
@@ -475,6 +475,10 @@ static void omap_uart_idle_init(struct omap_uart_state 
*uart)
wk_mask = OMAP3430_ST_UART3_MASK;
padconf = 0x19e;
break;
+   case 3:
+   wk_mask = OMAP3630_ST_UART4_MASK;
+   padconf = 0x0d2;
+   break;
}
uart-wk_mask = wk_mask;
uart-padconf = padconf;
-- 
1.6.3.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: [PATCHv5] OMAP3: Serial: Improved sleep logic

2010-02-25 Thread Kevin Hilman
tero.kri...@nokia.com writes:

[...]

Here's my hunch as to what's happening:

I think the problem is a deadlock in getrawmonotonic().  Nested calls
here will deadlock due to the xtime_lock being held.

 Looking at the seqlock code, I think a seqlock reader can hang only in a 
 case where someone is constantly writing the seqlock. And, as we are inside 
 interrupt, this should not be possible.

When updading the timeout, sleep_timeout_store() does a
getrawmonotonic() to update the expiry time.  While this happening,
the UART interrupt could fire, causing an omap_uart_block_sleep()
which would also getrawmonotonic() and deadlock in interrupt mode.

 It does not really explain why it hangs after the 5 second period though, as 
 the device has called getrawmonotonic several times by this already. I have 
 not seen this kind of behavior in my testing, even while fiddling with the 
 sleep_timeout_store().

minor clarification...

For me the hang is not after the 5 second timeout.  For me it happens
as soon as I write a non-zero value to
/sys/devices/.../serial8250.2/sleep_timeout.

Kevin
--
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 V3] OMAP: DSS: Add NEC NL8048HL11-01B display panel

2010-02-25 Thread Y, Kishore
From: Erik Gilling konk...@android.com

NEC WVGA LCD NL8048HL11-01B support has been added.

Signed-off-by: Mukund Mittal mmit...@ti.com
Signed-off-by: Kishore Y kishor...@ti.com
Reviewed-by: Gadiyar, Anand gadi...@ti.com
---
Changes from version 2:
incorporated cosmetic comments.
included reviewer I missed earlier.
 drivers/video/omap2/displays/Kconfig   |6 +
 drivers/video/omap2/displays/Makefile  |1 +
 .../omap2/displays/panel-nec-nl8048hl11-01b.c  |  282 
 3 files changed, 289 insertions(+), 0 deletions(-)
 create mode 100644 drivers/video/omap2/displays/panel-nec-nl8048hl11-01b.c

diff --git a/drivers/video/omap2/displays/Kconfig 
b/drivers/video/omap2/displays/Kconfig
index dfb57ee..5fb4dfe 100644
--- a/drivers/video/omap2/displays/Kconfig
+++ b/drivers/video/omap2/displays/Kconfig
@@ -37,4 +37,10 @@ config PANEL_TPO_TD043MTEA1
 help
   LCD Panel used in OMAP3 Pandora
 
+config PANEL_NEC_NL8048HL11_01B
+tristate NEC NL8048HL11-01B Panel support
+depends on OMAP2_DSS
+help
+  LCD Panel from NEC.
+
 endmenu
diff --git a/drivers/video/omap2/displays/Makefile 
b/drivers/video/omap2/displays/Makefile
index e2bb321..03eb9c2 100644
--- a/drivers/video/omap2/displays/Makefile
+++ b/drivers/video/omap2/displays/Makefile
@@ -5,3 +5,4 @@ obj-$(CONFIG_PANEL_SHARP_LQ043T1DG01) += 
panel-sharp-lq043t1dg01.o
 obj-$(CONFIG_PANEL_TAAL) += panel-taal.o
 obj-$(CONFIG_PANEL_TOPPOLY_TDO35S) += panel-toppoly-tdo35s.o
 obj-$(CONFIG_PANEL_TPO_TD043MTEA1) += panel-tpo-td043mtea1.o
+obj-$(CONFIG_PANEL_NEC_NL8048HL11_01B) += panel-nec-nl8048hl11-01b.o
diff --git a/drivers/video/omap2/displays/panel-nec-nl8048hl11-01b.c 
b/drivers/video/omap2/displays/panel-nec-nl8048hl11-01b.c
new file mode 100644
index 000..ce0560f
--- /dev/null
+++ b/drivers/video/omap2/displays/panel-nec-nl8048hl11-01b.c
@@ -0,0 +1,282 @@
+/*
+ * NEC panel support
+ *
+ * Copyright (C) 2010 Texas Instruments Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 as published by
+ * the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program.  If not, see http://www.gnu.org/licenses/.
+ */
+
+#include linux/module.h
+#include linux/delay.h
+#include linux/spi/spi.h
+
+#include plat/display.h
+
+#define LCD_XRES   800
+#define LCD_YRES   480
+/* NEC PIX Clock Ratings
+ * MIN:21.8MHz TYP:23.8MHz MAX:25.7MHz
+ */
+#define LCD_PIXEL_CLOCK23800
+
+/* NEC NL8048HL11-01B  Manual
+ * defines HFB, HSW, HBP, VFP, VSW, VBP as shown below
+ */
+
+static struct omap_video_timings nec_8048_panel_timings = {
+   /* 800 x 480 @ 60 Hz  Reduced blanking VESA CVT 0.31M3-R */
+   .x_res  = LCD_XRES,
+   .y_res  = LCD_YRES,
+   .pixel_clock= LCD_PIXEL_CLOCK,
+   .hfp= 6,
+   .hsw= 1,
+   .hbp= 4,
+   .vfp= 3,
+   .vsw= 1,
+   .vbp= 4,
+};
+
+static int nec_8048_panel_probe(struct omap_dss_device *dssdev)
+{
+   dssdev-panel.config = OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
+   OMAP_DSS_LCD_IHS | OMAP_DSS_LCD_RF |
+   OMAP_DSS_LCD_ONOFF;
+   dssdev-panel.timings = nec_8048_panel_timings;
+   dssdev-panel.recommended_bpp = 16;
+
+   return 0;
+}
+
+static void nec_8048_panel_remove(struct omap_dss_device *dssdev)
+{
+}
+
+static int nec_8048_panel_enable(struct omap_dss_device *dssdev)
+{
+   int r = 0;
+
+   /* Delay recommended by panel DATASHEET */
+   mdelay(4);
+   if (dssdev-platform_enable)
+   r = dssdev-platform_enable(dssdev);
+
+   return r;
+}
+
+static void nec_8048_panel_disable(struct omap_dss_device *dssdev)
+{
+   if (dssdev-platform_disable)
+   dssdev-platform_disable(dssdev);
+   /* Delay recommended by panel DATASHEET */
+   mdelay(4);
+}
+
+static int nec_8048_panel_suspend(struct omap_dss_device *dssdev)
+{
+   nec_8048_panel_disable(dssdev);
+   return 0;
+}
+
+static int nec_8048_panel_resume(struct omap_dss_device *dssdev)
+{
+   return nec_8048_panel_enable(dssdev);
+}
+
+static struct omap_dss_driver nec_8048_driver = {
+   .probe  = nec_8048_panel_probe,
+   .remove = nec_8048_panel_remove,
+   .enable = nec_8048_panel_enable,
+   .disable= nec_8048_panel_disable,
+   .suspend= nec_8048_panel_suspend,
+   .resume = nec_8048_panel_resume,
+
+

RE: [PATCHv5] OMAP3: Serial: Improved sleep logic

2010-02-25 Thread Tero.Kristo
 

-Original Message-
From: linux-omap-ow...@vger.kernel.org 
[mailto:linux-omap-ow...@vger.kernel.org] On Behalf Of ext Kevin Hilman
Sent: 25 February, 2010 17:21
To: Kristo Tero (Nokia-D/Tampere)
Cc: linux-omap@vger.kernel.org
Subject: Re: [PATCHv5] OMAP3: Serial: Improved sleep logic

tero.kri...@nokia.com writes:

[...]

Here's my hunch as to what's happening:

I think the problem is a deadlock in getrawmonotonic().  Nested calls
here will deadlock due to the xtime_lock being held.

 Looking at the seqlock code, I think a seqlock reader can 
hang only in a case where someone is constantly writing the 
seqlock. And, as we are inside interrupt, this should not be possible.

When updading the timeout, sleep_timeout_store() does a
getrawmonotonic() to update the expiry time.  While this happening,
the UART interrupt could fire, causing an omap_uart_block_sleep()
which would also getrawmonotonic() and deadlock in interrupt mode.

 It does not really explain why it hangs after the 5 second 
period though, as the device has called getrawmonotonic 
several times by this already. I have not seen this kind of 
behavior in my testing, even while fiddling with the 
sleep_timeout_store().

minor clarification...

For me the hang is not after the 5 second timeout.  For me it happens
as soon as I write a non-zero value to
/sys/devices/.../serial8250.2/sleep_timeout.

It looks somewhat weird... I did some debugging on this today and I am seeing 
the same hang here, and it actually seems to be caused by the getrawmonotonic() 
somehow, as the system did not hang anymore after I removed the calls. Anyway, 
I figured another way to solve the issues I am seeing. I reverted back to using 
jiffy timers, but added a workqueue for wakeups; now wakeup timers are kicked 
into action after the timebase is restored. I'll post the new patch right away.

There is still one issue with the UART though; some TX is still lost because PM 
code does not currently prevent CORE off while PER is active, basically 
resetting the PER domain when CORE goes off. This would be fixed by the cpuidle 
set I posted a bit back.

Another note, I am seeing really strange behavior for my n900 with current 
linux-omap tree. PM branch boots up nicely, but it does not go into dynamic 
idle until I force it to suspend once Also, master branch crashes mid-boot 
to an ubifs caused DMA failure.

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


[PATCHv6] OMAP3: Serial: Improved sleep logic

2010-02-25 Thread Tero Kristo
From: Tero Kristo tero.kri...@nokia.com

This patch contains following improvements:
- Only RX interrupt will now kick the sleep prevent timer
- TX fifo status is checked before disabling clocks, this will prevent
  on-going transmission to be cut
- Smartidle is now enabled/disabled only while switching clocks, as having
  smartidle enabled while RX/TX prevents any wakeups from being received
  from UART module
- Added workqueue for wakeup checks, as jiffy timer access within the
  idle loop results into skewed timers as jiffy timers are stopped
- Added garbage_timer for ignoring the first character received during
  the first tick after clock enable, this prevents garbage characters to be
  received in low sleep states
- omap_uart_enable_irqs() changed to use enable_irq / disable_irq instead
  of request / free. Using request/free changes the behavior after first
  suspend due to reversed interrupt handler ordering

Signed-off-by: Tero Kristo tero.kri...@nokia.com
---
 arch/arm/mach-omap2/serial.c |   67 +++---
 1 files changed, 56 insertions(+), 11 deletions(-)

diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c
index 5f3035e..06d18f5 100644
--- a/arch/arm/mach-omap2/serial.c
+++ b/arch/arm/mach-omap2/serial.c
@@ -23,6 +23,7 @@
 #include linux/serial_reg.h
 #include linux/clk.h
 #include linux/io.h
+#include linux/workqueue.h
 
 #include plat/common.h
 #include plat/board.h
@@ -48,7 +49,10 @@ struct omap_uart_state {
int num;
int can_sleep;
struct timer_list timer;
+   struct timer_list garbage_timer;
+   struct work_struct wakeup_work;
u32 timeout;
+   u8 garbage_ignore;
 
void __iomem *wk_st;
void __iomem *wk_en;
@@ -243,6 +247,11 @@ static inline void omap_uart_save_context(struct 
omap_uart_state *uart) {}
 static inline void omap_uart_restore_context(struct omap_uart_state *uart) {}
 #endif /* CONFIG_PM  CONFIG_ARCH_OMAP3 */
 
+#ifdef CONFIG_PM
+static void omap_uart_smart_idle_enable(struct omap_uart_state *uart,
+   int enable);
+#endif
+
 static inline void omap_uart_enable_clocks(struct omap_uart_state *uart)
 {
if (uart-clocked)
@@ -252,6 +261,15 @@ static inline void omap_uart_enable_clocks(struct 
omap_uart_state *uart)
clk_enable(uart-fck);
uart-clocked = 1;
omap_uart_restore_context(uart);
+#ifdef CONFIG_PM
+   omap_uart_smart_idle_enable(uart, 0);
+#endif
+
+   /* Set up garbage timer to ignore RX during first jiffy */
+   if (uart-timeout) {
+   mod_timer(uart-garbage_timer, jiffies + 1);
+   uart-garbage_ignore = 1;
+   }
 }
 
 #ifdef CONFIG_PM
@@ -263,6 +281,7 @@ static inline void omap_uart_disable_clocks(struct 
omap_uart_state *uart)
 
omap_uart_save_context(uart);
uart-clocked = 0;
+   omap_uart_smart_idle_enable(uart, 1);
clk_disable(uart-ick);
clk_disable(uart-fck);
 }
@@ -320,7 +339,6 @@ static void omap_uart_block_sleep(struct omap_uart_state 
*uart)
 {
omap_uart_enable_clocks(uart);
 
-   omap_uart_smart_idle_enable(uart, 0);
uart-can_sleep = 0;
if (uart-timeout)
mod_timer(uart-timer, jiffies + uart-timeout);
@@ -338,7 +356,6 @@ static void omap_uart_allow_sleep(struct omap_uart_state 
*uart)
if (!uart-clocked)
return;
 
-   omap_uart_smart_idle_enable(uart, 1);
uart-can_sleep = 1;
del_timer(uart-timer);
 }
@@ -350,13 +367,30 @@ static void omap_uart_idle_timer(unsigned long data)
omap_uart_allow_sleep(uart);
 }
 
+static void omap_uart_garbage_timer(unsigned long data)
+{
+   struct omap_uart_state *uart = (struct omap_uart_state *)data;
+
+   uart-garbage_ignore = 0;
+}
+
+static void omap_uart_wakeup_work(struct work_struct *work)
+{
+   struct omap_uart_state *uart =
+   container_of(work, struct omap_uart_state, wakeup_work);
+
+   omap_uart_block_sleep(uart);
+}
+
 void omap_uart_prepare_idle(int num)
 {
struct omap_uart_state *uart;
 
list_for_each_entry(uart, uart_list, node) {
if (num == uart-num  uart-can_sleep) {
-   omap_uart_disable_clocks(uart);
+   if (serial_read_reg(uart-p, UART_LSR) 
+   UART_LSR_TEMT)
+   omap_uart_disable_clocks(uart);
return;
}
}
@@ -375,12 +409,12 @@ void omap_uart_resume_idle(int num)
u16 p = omap_ctrl_readw(uart-padconf);
 
if (p  OMAP3_PADCONF_WAKEUPEVENT0)
-   omap_uart_block_sleep(uart);
+   schedule_work(uart-wakeup_work);
}
 
/* Check for normal UART wakeup */
if (__raw_readl(uart-wk_st)  

[PATCH 0/2 V3] Enable DSS on zoom2/3 and 3630 sdp boards

2010-02-25 Thread Y, Kishore
From: Kishore Y kishor...@ti.com

This patch series enables DSS and FB in zoom2, zoom3 and 3630sdp.

Changes from version 2:
  - incorporated cosmetic changes

OMAP: DSS: Enable display on ZOOM2/3  3630SDP
- Included display in boards and enabled in defconfig
OMAP: DSS: Add display board file for zoom boards
- Display board file added common for all boards

arch/arm/configs/omap_3630sdp_defconfig   |   60 -
 arch/arm/configs/omap_zoom2_defconfig |   60 -
 arch/arm/configs/omap_zoom3_defconfig |   60 -
 arch/arm/mach-omap2/Makefile  |3 +
 arch/arm/mach-omap2/board-3630sdp.c   |1 +
 arch/arm/mach-omap2/board-zoom-display.c  |  185 +
 arch/arm/mach-omap2/board-zoom-peripherals.c  |   36 +
 arch/arm/mach-omap2/board-zoom2.c |1 +
 arch/arm/mach-omap2/board-zoom3.c |1 +
 arch/arm/mach-omap2/include/mach/board-zoom.h |3 +
 10 files changed, 407 insertions(+), 3 deletions(-)

Tested on top of LO kernel on dss2 brnach
commit id: 98d31bf6566be9e716f6dfdce8eb39d1c1097b7c 
OMAP: AM3517: Enable DSS2 for AM3517EVM board

Regards,
Kishore Y
--
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/2 V3] OMAP: DSS: Enable display on ZOOM2/3 3630SDP

2010-02-25 Thread Y, Kishore
From: Kishore Y kishor...@ti.com

Enable dss and framebuffer on zoom2, zoom3 and 3630sdp boards.

Signed-off-by: Mukund Mittal mmit...@ti.com
Signed-off-by: Kishore Y kishor...@ti.com
Reviewed-by: Gadiyar, Anand gadi...@ti.com
---
 arch/arm/configs/omap_3630sdp_defconfig |   60 ++-
 arch/arm/configs/omap_zoom2_defconfig   |   60 ++-
 arch/arm/configs/omap_zoom3_defconfig   |   60 ++-
 arch/arm/mach-omap2/board-3630sdp.c |1 +
 arch/arm/mach-omap2/board-zoom2.c   |1 +
 arch/arm/mach-omap2/board-zoom3.c   |1 +
 6 files changed, 180 insertions(+), 3 deletions(-)

diff --git a/arch/arm/configs/omap_3630sdp_defconfig 
b/arch/arm/configs/omap_3630sdp_defconfig
index d25c3d4..df37108 100644
--- a/arch/arm/configs/omap_3630sdp_defconfig
+++ b/arch/arm/configs/omap_3630sdp_defconfig
@@ -886,7 +886,57 @@ CONFIG_REGULATOR_TWL4030=y
 #
 # CONFIG_VGASTATE is not set
 CONFIG_VIDEO_OUTPUT_CONTROL=m
-# CONFIG_FB is not set
+CONFIG_FB=y
+# CONFIG_FIRMWARE_EDID is not set
+# CONFIG_FB_DDC is not set
+# CONFIG_FB_BOOT_VESA_SUPPORT is not set
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+# CONFIG_FB_SYS_FILLRECT is not set
+# CONFIG_FB_SYS_COPYAREA is not set
+# CONFIG_FB_SYS_IMAGEBLIT is not set
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+# CONFIG_FB_SYS_FOPS is not set
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_UVESA is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_VIRTUAL is not set
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_BROADSHEET is not set
+# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
+CONFIG_OMAP2_VRAM=y
+CONFIG_OMAP2_VRFB=y
+CONFIG_OMAP2_DSS=y
+CONFIG_OMAP2_VRAM_SIZE=4
+# CONFIG_OMAP2_DSS_DEBUG_SUPPORT is not set
+# CONFIG_OMAP2_DSS_RFBI is not set
+CONFIG_OMAP2_DSS_VENC=y
+# CONFIG_OMAP2_DSS_SDI is not set
+# CONFIG_OMAP2_DSS_DSI is not set
+# CONFIG_OMAP2_DSS_FAKE_VSYNC is not set
+CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=4
+CONFIG_FB_OMAP2=y
+# CONFIG_FB_OMAP2_DEBUG_SUPPORT is not set
+# CONFIG_FB_OMAP2_FORCE_AUTO_UPDATE is not set
+CONFIG_FB_OMAP2_NUM_FBS=1
+
+#
+# OMAP2/3 Display Device Drivers
+#
+# CONFIG_PANEL_GENERIC is not set
+# CONFIG_PANEL_SHARP_LS037V7DW01 is not set
+CONFIG_PANEL_NEC_NL8048HL11_01B=y
 # CONFIG_BACKLIGHT_LCD_SUPPORT is not set
 
 #
@@ -899,6 +949,14 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
 #
 # CONFIG_VGA_CONSOLE is not set
 CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+# CONFIG_FONTS is not set
+CONFIG_LOGO=y
+CONFIG_LOGO_LINUX_MONO=y
+CONFIG_LOGO_LINUX_VGA16=y
+CONFIG_LOGO_LINUX_CLUT224=y
 CONFIG_SOUND=y
 # CONFIG_SOUND_OSS_CORE is not set
 CONFIG_SND=y
diff --git a/arch/arm/configs/omap_zoom2_defconfig 
b/arch/arm/configs/omap_zoom2_defconfig
index a82e813..66bde4d 100644
--- a/arch/arm/configs/omap_zoom2_defconfig
+++ b/arch/arm/configs/omap_zoom2_defconfig
@@ -859,7 +859,57 @@ CONFIG_DAB=y
 #
 # CONFIG_VGASTATE is not set
 CONFIG_VIDEO_OUTPUT_CONTROL=m
-# CONFIG_FB is not set
+CONFIG_FB=y
+# CONFIG_FIRMWARE_EDID is not set
+# CONFIG_FB_DDC is not set
+# CONFIG_FB_BOOT_VESA_SUPPORT is not set
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+# CONFIG_FB_SYS_FILLRECT is not set
+# CONFIG_FB_SYS_COPYAREA is not set
+# CONFIG_FB_SYS_IMAGEBLIT is not set
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+# CONFIG_FB_SYS_FOPS is not set
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_UVESA is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_VIRTUAL is not set
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_BROADSHEET is not set
+# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
+CONFIG_OMAP2_VRAM=y
+CONFIG_OMAP2_VRFB=y
+CONFIG_OMAP2_DSS=y
+CONFIG_OMAP2_VRAM_SIZE=4
+# CONFIG_OMAP2_DSS_DEBUG_SUPPORT is not set
+# CONFIG_OMAP2_DSS_RFBI is not set
+CONFIG_OMAP2_DSS_VENC=y
+# CONFIG_OMAP2_DSS_SDI is not set
+# CONFIG_OMAP2_DSS_DSI is not set
+# CONFIG_OMAP2_DSS_FAKE_VSYNC is not set
+CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=4
+CONFIG_FB_OMAP2=y
+# CONFIG_FB_OMAP2_DEBUG_SUPPORT is not set
+# CONFIG_FB_OMAP2_FORCE_AUTO_UPDATE is not set
+CONFIG_FB_OMAP2_NUM_FBS=1
+
+#
+# OMAP2/3 Display Device Drivers
+#
+# CONFIG_PANEL_GENERIC is not set
+# CONFIG_PANEL_SHARP_LS037V7DW01 is not set
+CONFIG_PANEL_NEC_NL8048HL11_01B=y
 # CONFIG_BACKLIGHT_LCD_SUPPORT is not set
 
 #
@@ -872,6 +922,14 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
 #
 # 

[PATCH 1/2 V3] OMAP: DSS: Add display board file for zoom boards

2010-02-25 Thread Y, Kishore
From: Kishore Y kishor...@ti.com

board-zoom-display.c added as a common file for display fucntionality
on boards zoom2, zoom3 and 3630sdp

Signed-off-by: Mukund Mittal mmit...@ti.com
Signed-off-by: Kishore Y kishor...@ti.com
Reviewed-by: Gadiyar, Anand gadi...@ti.com
---
 arch/arm/mach-omap2/Makefile  |3 +
 arch/arm/mach-omap2/board-zoom-display.c  |  185 +
 arch/arm/mach-omap2/board-zoom-peripherals.c  |   36 +
 arch/arm/mach-omap2/include/mach/board-zoom.h |3 +
 4 files changed, 227 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/mach-omap2/board-zoom-display.c

diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index b32678b..3dbe694 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -91,14 +91,17 @@ obj-$(CONFIG_MACH_NOKIA_RX51)   += board-rx51.o 
\
   board-rx51-peripherals.o \
   mmc-twl4030.o
 obj-$(CONFIG_MACH_OMAP_ZOOM2)  += board-zoom2.o \
+  board-zoom-display.o \
   board-zoom-peripherals.o \
   mmc-twl4030.o \
   board-zoom-debugboard.o
 obj-$(CONFIG_MACH_OMAP_ZOOM3)  += board-zoom3.o \
+  board-zoom-display.o \
   board-zoom-peripherals.o \
   mmc-twl4030.o \
   board-zoom-debugboard.o
 obj-$(CONFIG_MACH_OMAP_3630SDP)+= board-3630sdp.o \
+  board-zoom-display.o \
   board-zoom-peripherals.o \
   mmc-twl4030.o
 obj-$(CONFIG_MACH_CM_T35)  += board-cm-t35.o \
diff --git a/arch/arm/mach-omap2/board-zoom-display.c 
b/arch/arm/mach-omap2/board-zoom-display.c
new file mode 100644
index 000..fc5851f
--- /dev/null
+++ b/arch/arm/mach-omap2/board-zoom-display.c
@@ -0,0 +1,185 @@
+/*
+ * Copyright (C) 2009 Texas Instruments Inc.
+ *
+ * Modified from mach-omap2/board-zoom-peripherals.c
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include linux/kernel.h
+#include linux/init.h
+#include linux/platform_device.h
+#include linux/gpio.h
+#include linux/i2c/twl.h
+#include linux/spi/spi.h
+#include plat/common.h
+#include plat/control.h
+#include plat/mcspi.h
+#include plat/display.h
+
+#define LCD_PANEL_ENABLE_GPIO  (7 + OMAP_MAX_GPIO_LINES)
+#define LCD_PANEL_RESET_GPIO_PROD  96
+#define LCD_PANEL_RESET_GPIO_PILOT 55
+#define LCD_PANEL_QVGA_GPIO56
+#define TV_PANEL_ENABLE_GPIO   95
+
+struct zoom_dss_board_info {
+   int gpio_flag;
+};
+
+static void zoom_lcd_tv_panel_init(void)
+{
+   int ret;
+   unsigned char lcd_panel_reset_gpio;
+
+   lcd_panel_reset_gpio = (omap_rev()  OMAP3430_REV_ES3_0) ?
+   LCD_PANEL_RESET_GPIO_PROD :
+   LCD_PANEL_RESET_GPIO_PILOT;
+
+   ret = gpio_request(lcd_panel_reset_gpio, lcd reset);
+   if (ret) {
+   pr_err(Failed to get LCD reset GPIO (gpio%d)\n,
+   lcd_panel_reset_gpio);
+   return;
+   }
+   gpio_direction_output(lcd_panel_reset_gpio, 1);
+
+   ret = gpio_request(LCD_PANEL_QVGA_GPIO, lcd qvga);
+   if (ret) {
+   pr_err(Failed to get LCD_PANEL_QVGA_GPIO (gpio%d).\n,
+   LCD_PANEL_QVGA_GPIO);
+   goto err0;
+   }
+   gpio_direction_output(LCD_PANEL_QVGA_GPIO, 1);
+
+   ret = gpio_request(TV_PANEL_ENABLE_GPIO, tv panel);
+   if (ret) {
+   pr_err(Failed to get TV_PANEL_ENABLE_GPIO (gpio%d).\n,
+   TV_PANEL_ENABLE_GPIO);
+   goto err1;
+   }
+   gpio_direction_output(TV_PANEL_ENABLE_GPIO, 0);
+
+   return;
+
+err1:
+   gpio_free(LCD_PANEL_QVGA_GPIO);
+err0:
+   gpio_free(lcd_panel_reset_gpio);
+}
+
+static int zoom_panel_enable_lcd(struct omap_dss_device *dssdev)
+{
+   int ret;
+   struct zoom_dss_board_info *pdata;
+
+   pdata = dssdev-dev.platform_data;
+   if (pdata-gpio_flag == 0) {
+   ret = gpio_request(LCD_PANEL_ENABLE_GPIO, lcd enable);
+   if (ret) {
+   pr_err(Failed to get
+LCD_PANEL_ENABLE_GPIO (gpio%d).\n,
+   LCD_PANEL_ENABLE_GPIO);
+   return ret;
+   }
+   gpio_direction_output(LCD_PANEL_ENABLE_GPIO, 1);
+   pdata-gpio_flag = 1;
+   } else {
+ 

[PATCH] arm: Fix .gitignore for boot/compressed folder

2010-02-25 Thread Sergio Aguirre
This should complements changes done in:

  commit e7db7b4270ed2a606b8c0b5f944a5f92ade0e84c
  Author: Albin Tonnerre albin.tonne...@free-electrons.com
  Date:   Fri Jan 8 14:42:43 2010 -0800

  arm: add support for LZO-compressed kernels

It missed to do the respective changes in '.gitignore' file.

Signed-off-by: Sergio Aguirre saagui...@ti.com
---
 arch/arm/boot/compressed/.gitignore |4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/arch/arm/boot/compressed/.gitignore 
b/arch/arm/boot/compressed/.gitignore
index ab204db..bb984af 100644
--- a/arch/arm/boot/compressed/.gitignore
+++ b/arch/arm/boot/compressed/.gitignore
@@ -1,3 +1,5 @@
 font.c
-piggy.gz
+piggy.gzip
+piggy.lzo
+lib1funcs.S
 vmlinux.lds
-- 
1.6.3.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 1/2 V2] OMAP: DSS: Add display board file for zoom boards

2010-02-25 Thread Aguirre, Sergio
Manjunath,

From: linux-omap-ow...@vger.kernel.org [mailto:linux-omap-
ow...@vger.kernel.org] On Behalf Of G, Manjunath Kondaiah
Sent: Thursday, February 11, 2010 5:35 AM
 From: linux-omap-ow...@vger.kernel.org
 [mailto:linux-omap-ow...@vger.kernel.org] On Behalf Of Y, Kishore
 Sent: Thursday, February 11, 2010 3:33 PM

snip

  +
  +static void zoom_lcd_tv_panel_init(void)
  +{
  +   int ret;
  +   unsigned char lcd_panel_reset_gpio;
  +
  +   if (omap_rev()  OMAP3430_REV_ES3_0) {
  +   /* Production Zoom2 board:
  +* GPIO-96 is the LCD_RESET_GPIO
  +*/
  +   lcd_panel_reset_gpio = LCD_PANEL_RESET_GPIO_PROD;
  +   } else {
  +   /* Pilot Zoom2 board:
  +* GPIO-55 is the LCD_RESET_GPIO
  +*/
  +   lcd_panel_reset_gpio = LCD_PANEL_RESET_GPIO_PILOT;
  +   }
 
 How about:
 
 lcd_panel_reset_gpio = (omap_rev()  OMAP3430_REV_ES3_0) ?
 LCD_PANEL_RESET_GPIO_PROD :
   LCD_PANEL_RESET_GPIO_PILOT;

This approach has been discussed many times before, and found incorrect. There 
is no way to auto-detect valid GPIO for reset as of now. For example: Zoom 
Pilot + 3630 SOM case will fail here.

I'll push again for my thoughts on this one...

There MUST be a configurable option in kernel menuconfig to select the board 
revision (Pilot, pre-production). That is the only clean way I can see this 
could actually work.

Regards,
Sergio

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 V3] OMAP: DSS: Add NEC NL8048HL11-01B display panel

2010-02-25 Thread Hiremath, Vaibhav
Few minor comments below -

 -Original Message-
 From: linux-omap-ow...@vger.kernel.org [mailto:linux-omap-
 ow...@vger.kernel.org] On Behalf Of Y, Kishore
 Sent: Thursday, February 25, 2010 9:08 PM
 To: Tomi Valkeinen
 Cc: linux-omap@vger.kernel.org
 Subject: [PATCH V3] OMAP: DSS: Add NEC NL8048HL11-01B display panel
 
 From: Erik Gilling konk...@android.com
 
 NEC WVGA LCD NL8048HL11-01B support has been added.
 
 Signed-off-by: Mukund Mittal mmit...@ti.com
 Signed-off-by: Kishore Y kishor...@ti.com
 Reviewed-by: Gadiyar, Anand gadi...@ti.com
 ---
 Changes from version 2:
   incorporated cosmetic comments.
   included reviewer I missed earlier.
  drivers/video/omap2/displays/Kconfig   |6 +
  drivers/video/omap2/displays/Makefile  |1 +
  .../omap2/displays/panel-nec-nl8048hl11-01b.c  |  282
 
  3 files changed, 289 insertions(+), 0 deletions(-)
  create mode 100644 drivers/video/omap2/displays/panel-nec-nl8048hl11-01b.c
 
 diff --git a/drivers/video/omap2/displays/Kconfig
 b/drivers/video/omap2/displays/Kconfig
 index dfb57ee..5fb4dfe 100644
 --- a/drivers/video/omap2/displays/Kconfig
 +++ b/drivers/video/omap2/displays/Kconfig
 @@ -37,4 +37,10 @@ config PANEL_TPO_TD043MTEA1
  help
LCD Panel used in OMAP3 Pandora
 
 +config PANEL_NEC_NL8048HL11_01B
 +tristate NEC NL8048HL11-01B Panel support
 +depends on OMAP2_DSS
 +help
 +  LCD Panel from NEC.
 +
  endmenu
 diff --git a/drivers/video/omap2/displays/Makefile
 b/drivers/video/omap2/displays/Makefile
 index e2bb321..03eb9c2 100644
 --- a/drivers/video/omap2/displays/Makefile
 +++ b/drivers/video/omap2/displays/Makefile
 @@ -5,3 +5,4 @@ obj-$(CONFIG_PANEL_SHARP_LQ043T1DG01) += panel-sharp-
 lq043t1dg01.o
  obj-$(CONFIG_PANEL_TAAL) += panel-taal.o
  obj-$(CONFIG_PANEL_TOPPOLY_TDO35S) += panel-toppoly-tdo35s.o
  obj-$(CONFIG_PANEL_TPO_TD043MTEA1) += panel-tpo-td043mtea1.o
 +obj-$(CONFIG_PANEL_NEC_NL8048HL11_01B) += panel-nec-nl8048hl11-01b.o
 diff --git a/drivers/video/omap2/displays/panel-nec-nl8048hl11-01b.c
 b/drivers/video/omap2/displays/panel-nec-nl8048hl11-01b.c
 new file mode 100644
 index 000..ce0560f
 --- /dev/null
 +++ b/drivers/video/omap2/displays/panel-nec-nl8048hl11-01b.c
 @@ -0,0 +1,282 @@
 +/*
 + * NEC panel support
 + *
 + * Copyright (C) 2010 Texas Instruments Inc.
 + *
 + * This program is free software; you can redistribute it and/or modify it
 + * under the terms of the GNU General Public License version 2 as published
 by
 + * the Free Software Foundation.
 + *
 + * This program is distributed in the hope that it will be useful, but
 WITHOUT
 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 for
 + * more details.
 + *
 + * You should have received a copy of the GNU General Public License along
 with
 + * this program.  If not, see http://www.gnu.org/licenses/.
 + */
 +
 +#include linux/module.h
 +#include linux/delay.h
 +#include linux/spi/spi.h
 +
 +#include plat/display.h
 +
 +#define LCD_XRES 800
 +#define LCD_YRES 480
 +/* NEC PIX Clock Ratings
 + * MIN:21.8MHz TYP:23.8MHz MAX:25.7MHz
 + */
 +#define LCD_PIXEL_CLOCK  23800
 +
 +/* NEC NL8048HL11-01B  Manual
 + * defines HFB, HSW, HBP, VFP, VSW, VBP as shown below
 + */
 +
 +static struct omap_video_timings nec_8048_panel_timings = {
 + /* 800 x 480 @ 60 Hz  Reduced blanking VESA CVT 0.31M3-R */
 + .x_res  = LCD_XRES,
 + .y_res  = LCD_YRES,
 + .pixel_clock= LCD_PIXEL_CLOCK,
 + .hfp= 6,
 + .hsw= 1,
 + .hbp= 4,
 + .vfp= 3,
 + .vsw= 1,
 + .vbp= 4,
 +};
 +
 +static int nec_8048_panel_probe(struct omap_dss_device *dssdev)
 +{
 + dssdev-panel.config = OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
 + OMAP_DSS_LCD_IHS | OMAP_DSS_LCD_RF |
 + OMAP_DSS_LCD_ONOFF;
 + dssdev-panel.timings = nec_8048_panel_timings;
 + dssdev-panel.recommended_bpp = 16;
 +
 + return 0;
 +}
 +
 +static void nec_8048_panel_remove(struct omap_dss_device *dssdev)
 +{
 +}
 +
 +static int nec_8048_panel_enable(struct omap_dss_device *dssdev)
 +{
 + int r = 0;
 +
 + /* Delay recommended by panel DATASHEET */
 + mdelay(4);
 + if (dssdev-platform_enable)
 + r = dssdev-platform_enable(dssdev);
 +
 + return r;
 +}
 +
 +static void nec_8048_panel_disable(struct omap_dss_device *dssdev)
 +{
 + if (dssdev-platform_disable)
 + dssdev-platform_disable(dssdev);
 + /* Delay recommended by panel DATASHEET */
 + mdelay(4);
 +}
 +
 +static int nec_8048_panel_suspend(struct omap_dss_device *dssdev)
 +{
 + nec_8048_panel_disable(dssdev);
 + return 0;
 +}
 +
 +static int nec_8048_panel_resume(struct omap_dss_device *dssdev)
 

RE: [alsa-devel] [PATCHv4 0/7] TWL6030 audio codec initial support

2010-02-25 Thread Olaya, Margarita


 -Original Message-
 From: Liam Girdwood [mailto:l...@slimlogic.co.uk]
 Sent: Thursday, February 25, 2010 3:13 AM
 To: Olaya, Margarita
 Cc: alsa-de...@alsa-project.org; linux-omap@vger.kernel.org; 
 broo...@opensource.wolfsonmicro.com
 Subject: Re: [alsa-devel] [PATCHv4 0/7] TWL6030 audio codec initial support
 
 On Wed, 2010-02-24 at 18:17 -0600, Olaya, Margarita wrote:
 
   -Original Message-
   From: Liam Girdwood [mailto:l...@slimlogic.co.uk]
   Sent: Wednesday, February 24, 2010 5:40 AM
   To: Olaya, Margarita
   Cc: alsa-de...@alsa-project.org; linux-omap@vger.kernel.org; 
   broo...@opensource.wolfsonmicro.com
   Subject: Re: [PATCHv4 0/7] TWL6030 audio codec initial support
  
   On Tue, 2010-02-23 at 18:10 -0600, Olaya, Margarita wrote:
Following patch series add initial support for TWL6030 codec driver.
The patch set is based on the series sent from Misael Lopez in October 
2009.
   
Changes from v3:
- Remove snd_soc_init_card function
- Adapt to latest twl core changes based on Balaji's comment
   
Regards,
Margarita
   
---
Misael Lopez Cruz (7):
  OMAP4: PMIC: Add support for twl6030 codec
  ASoC: TWL6030: Add twl6030 codec driver
  ASoC: TWL6030: Manual power-up/down sequences
  ASoC: TWL6030: Add support for low-power PLL
  ASoC: TWL6030: Add restrictions for low-power playback mode
  ASoC: TWL6030: Enable audio interrupt
  ASoC: TWL6030: Detect power-up sequence completion
  
   Btw, since this is a new driver can you rebase the 6 codec patches into
   a single patch.
  
 
  The second patch adds the basic support for the codec and the others add 
  features, that way it
 could be easier to review.
 
 Some of the subsequent patches are actually removing chunks of code
 rather than just adding new features. In this case it's actually easier
 to review the complete codec driver as one patch rather than a series of
 changes (showing your internal development history).
 
Ok, I'll send a single patch then.

Regards,
Margarita

 Thanks
 
 Liam
 
 --
 Freelance Developer, SlimLogic Ltd
 ASoC and Voltage Regulator Maintainer.
 http://www.slimlogic.co.uk

N�r��yb�X��ǧv�^�)޺{.n�+{��f��{ay�ʇڙ�,j��f���h���z��w���
���j:+v���w�j�mzZ+�ݢj��!�i

RE: [RESEND][PATCH/RFC] OMAP2: serial.c: Fix number of uarts in early_init

2010-02-25 Thread Shilimkar, Santosh
 -Original Message-
 From: Tony Lindgren [mailto:t...@atomide.com]
 Sent: Friday, February 26, 2010 12:28 AM
 To: Shilimkar, Santosh
 Cc: Thomas Weber; Aguirre, Sergio; linux-omap@vger.kernel.org; Russell King; 
 Kevin Hilman; Pandita,
 Vikram; Syed, Rafiuddin; linux-arm-ker...@lists.infradead.org; 
 linux-ker...@vger.kernel.org; Thomas
 Weber
 Subject: Re: [RESEND][PATCH/RFC] OMAP2: serial.c: Fix number of uarts in 
 early_init
 
 * Shilimkar, Santosh santosh.shilim...@ti.com [100225 10:51]:
 
   -Original Message-
   From: Tony Lindgren [mailto:t...@atomide.com]
   Sent: Friday, February 26, 2010 12:14 AM
   To: Thomas Weber; Aguirre, Sergio
   Cc: linux-omap@vger.kernel.org; Russell King; Kevin Hilman; Shilimkar, 
   Santosh; Pandita, Vikram;
   Syed, Rafiuddin; linux-arm-ker...@lists.infradead.org; 
   linux-ker...@vger.kernel.org; Thomas Weber
   Subject: Re: [RESEND][PATCH/RFC] OMAP2: serial.c: Fix number of uarts in 
   early_init
  
   * Thomas Weber sw...@gmx.li [100225 01:36]:
   
The omap_serial_early_init prints the following errors:
   
Could not get uart4_ick
Could not get uart4_fck
   
because all the uarts available in omap_uart[] will be initialized.
Only omap4430 and omap3630 have 4 uarts at the moment.
This patch reduces the number of uarts when cpu is not omap4430 or
omap3630.
  
   ..and I only patched omap_serial_init and forgot about
   the omap_serial_early_init..
  
   Looks good to me, Sergio, care to test and Ack this? Also, sounds
   like we still need to patch omap4 for uart4 for the clocks.
  
  Clocks will be take care automatically by nr_ports for omap4 too
  with this patch. Below clock changes are just cosmetic ones, isn't it ?
 
  Am I missing something?
 
 Yes sorry, I'm referring to [RFC][PATCH 0/3] OMAP3630: UART4 startup
 series to fix the uart4 issues for 3630, not omap4.
 
OK

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: [PATCH 1/3] TCA6416 keypad : Implement keypad driver for keys interfaced to TCA6416

2010-02-25 Thread Felipe Balbi
Hi,

On Thu, Feb 25, 2010 at 06:44:59PM +0530, Sriramakrishnan wrote:
 This patch implements a simple Keypad driver that functions
 as an I2C client. It handles key press events for keys
 connected to TCA6416 I2C based IO expander.

what's wrong with gpio-keys ??

 + * Implementation based on drivers/input/keyboard/gpio_keys.c

I see,

shouldn't you instead provide a gpiolib driver for tca6416 and use the
generic gpio_keys driver ??

 + if (!chip-use_polling) {

IMO, you should only use polling if the irq line isn't connected.

 + if (pdata-irq_is_gpio)
 + chip-irqnum = gpio_to_irq(pdata-irqnum);

you can pass the irq number via i2c_board_info. Use it.

 + else
 + chip-irqnum = pdata-irqnum;
 +
 + ret = request_irq(chip-irqnum, tca6416_keys_isr,

it's an i2c driver!!! this should be request_threaded_irq()

-- 
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: [RESEND][PATCH/RFC] OMAP2: serial.c: Fix number of uarts in early_init

2010-02-25 Thread Tony Lindgren
* Thomas Weber sw...@gmx.li [100225 01:36]:
 
 The omap_serial_early_init prints the following errors:
 
 Could not get uart4_ick
 Could not get uart4_fck
 
 because all the uarts available in omap_uart[] will be initialized.
 Only omap4430 and omap3630 have 4 uarts at the moment.
 This patch reduces the number of uarts when cpu is not omap4430 or
 omap3630.

..and I only patched omap_serial_init and forgot about
the omap_serial_early_init..

Looks good to me, Sergio, care to test and Ack this? Also, sounds
like we still need to patch omap4 for uart4 for the clocks.

Regards,

Tony
 
 Signed-off-by: Thomas Weber we...@corscience.de
 ---
  arch/arm/mach-omap2/serial.c |   15 ++-
  1 files changed, 10 insertions(+), 5 deletions(-)
 
 diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c
 index b79bc89..da77930 100644
 --- a/arch/arm/mach-omap2/serial.c
 +++ b/arch/arm/mach-omap2/serial.c
 @@ -644,16 +644,21 @@ static void serial_out_override(struct uart_port *up, 
 int offset, int value)
  }
  void __init omap_serial_early_init(void)
  {
 - int i;
 + int i, nr_ports;
   char name[16];
  
 + if (!(cpu_is_omap3630() || cpu_is_omap4430()))
 + nr_ports = 3;
 + else
 + nr_ports = ARRAY_SIZE(omap_uart);
 +
   /*
* Make sure the serial ports are muxed on at this point.
* You have to mux them off in device drivers later on
* if not needed.
*/
  
 - for (i = 0; i  ARRAY_SIZE(omap_uart); i++) {
 + for (i = 0; i  nr_ports; i++) {
   struct omap_uart_state *uart = omap_uart[i];
   struct platform_device *pdev = uart-pdev;
   struct device *dev = pdev-dev;
 @@ -669,17 +674,17 @@ void __init omap_serial_early_init(void)
   continue;
   }
  
 - sprintf(name, uart%d_ick, i+1);
 + sprintf(name, uart%d_ick, i + 1);
   uart-ick = clk_get(NULL, name);
   if (IS_ERR(uart-ick)) {
 - printk(KERN_ERR Could not get uart%d_ick\n, i+1);
 + printk(KERN_ERR Could not get uart%d_ick\n, i + 1);
   uart-ick = NULL;
   }
  
   sprintf(name, uart%d_fck, i+1);
   uart-fck = clk_get(NULL, name);
   if (IS_ERR(uart-fck)) {
 - printk(KERN_ERR Could not get uart%d_fck\n, i+1);
 + printk(KERN_ERR Could not get uart%d_fck\n, i + 1);
   uart-fck = NULL;
   }
  
 -- 
 1.6.4.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: [PATCH 2/4] USB: MUSB: Enable MUSB for OMAP4 in Kconfig

2010-02-25 Thread Tony Lindgren
* Maulik Mankad x0082...@ti.com [100224 22:33]:
 This patch adds the OMAP4 Kconfig options for MUSB.
 
 Signed-off-by: Maulik Mankad x0082...@ti.com
 Cc: Felipe Balbi felipe.ba...@nokia.com
 Cc: Greg Kroah-Hartman gre...@suse.de
 Cc: David Brownell davi...@pacbell.net
 ---
 Index: mainline/drivers/usb/musb/Kconfig
 ===
 --- mainline.orig/drivers/usb/musb/Kconfig
 +++ mainline/drivers/usb/musb/Kconfig
 @@ -38,6 +38,7 @@ config USB_MUSB_SOC
   default y if ARCH_DAVINCI
   default y if ARCH_OMAP2430
   default y if ARCH_OMAP34XX
 + default y if ARCH_OMAP4
   default y if (BF54x  !BF544)
   default y if (BF52x  !BF522  !BF523)
  
 @@ -50,6 +51,9 @@ comment OMAP 243x high speed USB suppor
  comment OMAP 343x high speed USB support
   depends on USB_MUSB_HDRC  ARCH_OMAP34XX
  
 +comment OMAP 44xx high speed USB support
 + depends on USB_MUSB_HDRC  ARCH_OMAP4
 +
  comment Blackfin high speed USB Support
   depends on USB_MUSB_HDRC  ((BF54x  !BF544) || (BF52x  !BF522  
 !BF523))
  
 @@ -153,7 +157,7 @@ config MUSB_PIO_ONLY
  config USB_INVENTRA_DMA
   bool
   depends on USB_MUSB_HDRC  !MUSB_PIO_ONLY
 - default ARCH_OMAP2430 || ARCH_OMAP34XX || BLACKFIN
 + default ARCH_OMAP2430 || ARCH_OMAP34XX || BLACKFIN || ARCH_OMAP4
   help
 Enable DMA transfers using Mentor's engine.

FYI, this needs to be updated as I have patches queued up
to replace ARCH_OMAP34XX and with ARCH_OMAP3. You might
want to check all these patches for that and make sure
they build and work with the omap-for-linus branch.

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


RE: [RESEND][PATCH/RFC] OMAP2: serial.c: Fix number of uarts in early_init

2010-02-25 Thread Shilimkar, Santosh

 -Original Message-
 From: Tony Lindgren [mailto:t...@atomide.com]
 Sent: Friday, February 26, 2010 12:14 AM
 To: Thomas Weber; Aguirre, Sergio
 Cc: linux-omap@vger.kernel.org; Russell King; Kevin Hilman; Shilimkar, 
 Santosh; Pandita, Vikram;
 Syed, Rafiuddin; linux-arm-ker...@lists.infradead.org; 
 linux-ker...@vger.kernel.org; Thomas Weber
 Subject: Re: [RESEND][PATCH/RFC] OMAP2: serial.c: Fix number of uarts in 
 early_init
 
 * Thomas Weber sw...@gmx.li [100225 01:36]:
 
  The omap_serial_early_init prints the following errors:
 
  Could not get uart4_ick
  Could not get uart4_fck
 
  because all the uarts available in omap_uart[] will be initialized.
  Only omap4430 and omap3630 have 4 uarts at the moment.
  This patch reduces the number of uarts when cpu is not omap4430 or
  omap3630.
 
 ..and I only patched omap_serial_init and forgot about
 the omap_serial_early_init..
 
 Looks good to me, Sergio, care to test and Ack this? Also, sounds
 like we still need to patch omap4 for uart4 for the clocks.
 
Clocks will be take care automatically by nr_ports for omap4 too
with this patch. Below clock changes are just cosmetic ones, isn't it ?

Am I missing something?

 Regards,
 
 Tony
 
  Signed-off-by: Thomas Weber we...@corscience.de
  ---
   arch/arm/mach-omap2/serial.c |   15 ++-
   1 files changed, 10 insertions(+), 5 deletions(-)
 
  diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c
  index b79bc89..da77930 100644
  --- a/arch/arm/mach-omap2/serial.c
  +++ b/arch/arm/mach-omap2/serial.c
  @@ -644,16 +644,21 @@ static void serial_out_override(struct uart_port *up, 
  int offset, int value)
   }
   void __init omap_serial_early_init(void)
   {
  -   int i;
  +   int i, nr_ports;
  char name[16];
 
  +   if (!(cpu_is_omap3630() || cpu_is_omap4430()))
  +   nr_ports = 3;
  +   else
  +   nr_ports = ARRAY_SIZE(omap_uart);
  +
  /*
   * Make sure the serial ports are muxed on at this point.
   * You have to mux them off in device drivers later on
   * if not needed.
   */
 
  -   for (i = 0; i  ARRAY_SIZE(omap_uart); i++) {
  +   for (i = 0; i  nr_ports; i++) {
  struct omap_uart_state *uart = omap_uart[i];
  struct platform_device *pdev = uart-pdev;
  struct device *dev = pdev-dev;
  @@ -669,17 +674,17 @@ void __init omap_serial_early_init(void)
  continue;
  }
 
  -   sprintf(name, uart%d_ick, i+1);
  +   sprintf(name, uart%d_ick, i + 1);
  uart-ick = clk_get(NULL, name);
  if (IS_ERR(uart-ick)) {
  -   printk(KERN_ERR Could not get uart%d_ick\n, i+1);
  +   printk(KERN_ERR Could not get uart%d_ick\n, i + 1);
  uart-ick = NULL;
  }
 
  sprintf(name, uart%d_fck, i+1);
  uart-fck = clk_get(NULL, name);
  if (IS_ERR(uart-fck)) {
  -   printk(KERN_ERR Could not get uart%d_fck\n, i+1);
  +   printk(KERN_ERR Could not get uart%d_fck\n, i + 1);
  uart-fck = NULL;
  }
 
  --
  1.6.4.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: [PATCH v6] OMAP UART: Add omap-serial driver support.

2010-02-25 Thread Kevin Hilman
Tony Lindgren t...@atomide.com writes:

 * Kevin Hilman khil...@deeprootsystems.com [100224 10:36]:
 
 After that and Olof's comments, it should be submitted to linux-serial
 and LKML.

 Also, it needs to be posted as a series with the related
 hwmod patches needed to actually test this driver with the
 mainline kernel.

I think this driver could be submitted upstream for review, even
without the platform support, as long as it's stated that the 
platform support is still missing and will merge via linux-omap.

The hwmod stuff is not yet ready for mainline.

Kevin
--
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] omap2/3/4: serial: Half revert multiboot changes

2010-02-25 Thread Tony Lindgren
* Aguirre, Sergio saagui...@ti.com [100224 19:04]:
 
 
  -Original Message-
  From: Tony Lindgren [mailto:t...@atomide.com]
  Sent: Wednesday, February 24, 2010 10:21 AM
  To: Aguirre, Sergio
  Cc: linux-omap@vger.kernel.org; Sonasath, Moiz; Pandita, Vikram
  Subject: Re: [PATCH] omap2/3/4: serial: Half revert multiboot changes
  
  * Aguirre, Sergio saagui...@ti.com [100223 23:37]:
   Hmm..
  
   I think I sent this patch too soon...
  
   Please ignore it, this is not a proper solution I feel..
  
   But what it is true... is that, patch omap2/3/4: Fix mach-
  omap2/serial.c for multiboot is definitely breaking Zoom3 boot, and needs
  to be fixed.
  
  Yes sounds like only zoom has the external uart, other 3630
  boards may be using the internal uart4.
 
 Actually, I don't see any patch to handle uart4 interface/functional clocks, 
 so I assume the addition of uart4 for 3630 chip is incomplete.
 
 Shall we apply my 2nd patch, until proper clock handling is in place?
 
 I don't have an omap4 to test, but I think my patch shouldn't hurt the 
 initial intention to make multiomap builds possible... agree?

See also the recent patch from Thomas. I'd say let's rather fix this
properly with your clock related patchset once it's been tested.

We already have all these temporary hacks still in place for omap4,
let's try not to add more.

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


RE: [PATCH 1/2 V3] OMAP: DSS: Add display board file for zoom boards

2010-02-25 Thread Hiremath, Vaibhav

 -Original Message-
 From: Hiremath, Vaibhav
 Sent: Thursday, February 25, 2010 11:49 PM
 To: Y, Kishore; Tomi Valkeinen
 Cc: linux-omap@vger.kernel.org
 Subject: RE: [PATCH 1/2 V3] OMAP: DSS: Add display board file for zoom
 boards
 
 
  -Original Message-
  From: linux-omap-ow...@vger.kernel.org [mailto:linux-omap-
  ow...@vger.kernel.org] On Behalf Of Y, Kishore
  Sent: Thursday, February 25, 2010 9:15 PM
  To: Tomi Valkeinen
  Cc: linux-omap@vger.kernel.org
  Subject: [PATCH 1/2 V3] OMAP: DSS: Add display board file for zoom boards
 
  From: Kishore Y kishor...@ti.com
 
  board-zoom-display.c added as a common file for display fucntionality
  on boards zoom2, zoom3 and 3630sdp
 
  Signed-off-by: Mukund Mittal mmit...@ti.com
  Signed-off-by: Kishore Y kishor...@ti.com
  Reviewed-by: Gadiyar, Anand gadi...@ti.com
  ---
   arch/arm/mach-omap2/Makefile  |3 +
   arch/arm/mach-omap2/board-zoom-display.c  |  185
  +
   arch/arm/mach-omap2/board-zoom-peripherals.c  |   36 +
   arch/arm/mach-omap2/include/mach/board-zoom.h |3 +
   4 files changed, 227 insertions(+), 0 deletions(-)
   create mode 100644 arch/arm/mach-omap2/board-zoom-display.c
 
  diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
  index b32678b..3dbe694 100644
  --- a/arch/arm/mach-omap2/Makefile
  +++ b/arch/arm/mach-omap2/Makefile
  @@ -91,14 +91,17 @@ obj-$(CONFIG_MACH_NOKIA_RX51)   += board-rx51.o
  \
 board-rx51-peripherals.o \
 mmc-twl4030.o
   obj-$(CONFIG_MACH_OMAP_ZOOM2)  += board-zoom2.o \
  +  board-zoom-display.o \
 board-zoom-peripherals.o \
 mmc-twl4030.o \
 board-zoom-debugboard.o
   obj-$(CONFIG_MACH_OMAP_ZOOM3)  += board-zoom3.o \
  +  board-zoom-display.o \
 board-zoom-peripherals.o \
 mmc-twl4030.o \
 board-zoom-debugboard.o
   obj-$(CONFIG_MACH_OMAP_3630SDP)+= board-3630sdp.o \
  +  board-zoom-display.o \
 board-zoom-peripherals.o \
 mmc-twl4030.o
   obj-$(CONFIG_MACH_CM_T35)  += board-cm-t35.o \
  diff --git a/arch/arm/mach-omap2/board-zoom-display.c b/arch/arm/mach-
  omap2/board-zoom-display.c
  new file mode 100644
  index 000..fc5851f
  --- /dev/null
  +++ b/arch/arm/mach-omap2/board-zoom-display.c
  @@ -0,0 +1,185 @@
  +/*
  + * Copyright (C) 2009 Texas Instruments Inc.
  + *
 [Hiremath, Vaibhav] 2010???
 
  + * Modified from mach-omap2/board-zoom-peripherals.c
  + *
  + * This program is free software; you can redistribute it and/or modify
  + * it under the terms of the GNU General Public License version 2 as
  + * published by the Free Software Foundation.
  + */
  +
  +#include linux/kernel.h
  +#include linux/init.h
  +#include linux/platform_device.h
  +#include linux/gpio.h
  +#include linux/i2c/twl.h
  +#include linux/spi/spi.h
  +#include plat/common.h
  +#include plat/control.h
  +#include plat/mcspi.h
  +#include plat/display.h
  +
  +#define LCD_PANEL_ENABLE_GPIO  (7 + OMAP_MAX_GPIO_LINES)
  +#define LCD_PANEL_RESET_GPIO_PROD  96
  +#define LCD_PANEL_RESET_GPIO_PILOT 55
  +#define LCD_PANEL_QVGA_GPIO56
  +#define TV_PANEL_ENABLE_GPIO   95
  +
  +struct zoom_dss_board_info {
  +   int gpio_flag;
  +};
  +
  +static void zoom_lcd_tv_panel_init(void)
  +{
  +   int ret;
  +   unsigned char lcd_panel_reset_gpio;
  +
  +   lcd_panel_reset_gpio = (omap_rev()  OMAP3430_REV_ES3_0) ?
  +   LCD_PANEL_RESET_GPIO_PROD :
  +   LCD_PANEL_RESET_GPIO_PILOT;
  +
  +   ret = gpio_request(lcd_panel_reset_gpio, lcd reset);
  +   if (ret) {
  +   pr_err(Failed to get LCD reset GPIO (gpio%d)\n,
  +   lcd_panel_reset_gpio);
  +   return;
  +   }
  +   gpio_direction_output(lcd_panel_reset_gpio, 1);
  +
  +   ret = gpio_request(LCD_PANEL_QVGA_GPIO, lcd qvga);
  +   if (ret) {
  +   pr_err(Failed to get LCD_PANEL_QVGA_GPIO (gpio%d).\n,
  +   LCD_PANEL_QVGA_GPIO);
  +   goto err0;
  +   }
  +   gpio_direction_output(LCD_PANEL_QVGA_GPIO, 1);
  +
  +   ret = gpio_request(TV_PANEL_ENABLE_GPIO, tv panel);
  +   if (ret) {
  +   pr_err(Failed to get TV_PANEL_ENABLE_GPIO (gpio%d).\n,
  +   TV_PANEL_ENABLE_GPIO);
  +   goto err1;
  +   }
  +   gpio_direction_output(TV_PANEL_ENABLE_GPIO, 0);
  +
  +   return;
  +
  +err1:
  +   gpio_free(LCD_PANEL_QVGA_GPIO);
  +err0:
  +   gpio_free(lcd_panel_reset_gpio);
  +}
 

Re: [RESEND][PATCH/RFC] OMAP2: serial.c: Fix number of uarts in early_init

2010-02-25 Thread Tony Lindgren
* Shilimkar, Santosh santosh.shilim...@ti.com [100225 10:51]:
 
  -Original Message-
  From: Tony Lindgren [mailto:t...@atomide.com]
  Sent: Friday, February 26, 2010 12:14 AM
  To: Thomas Weber; Aguirre, Sergio
  Cc: linux-omap@vger.kernel.org; Russell King; Kevin Hilman; Shilimkar, 
  Santosh; Pandita, Vikram;
  Syed, Rafiuddin; linux-arm-ker...@lists.infradead.org; 
  linux-ker...@vger.kernel.org; Thomas Weber
  Subject: Re: [RESEND][PATCH/RFC] OMAP2: serial.c: Fix number of uarts in 
  early_init
  
  * Thomas Weber sw...@gmx.li [100225 01:36]:
  
   The omap_serial_early_init prints the following errors:
  
   Could not get uart4_ick
   Could not get uart4_fck
  
   because all the uarts available in omap_uart[] will be initialized.
   Only omap4430 and omap3630 have 4 uarts at the moment.
   This patch reduces the number of uarts when cpu is not omap4430 or
   omap3630.
  
  ..and I only patched omap_serial_init and forgot about
  the omap_serial_early_init..
  
  Looks good to me, Sergio, care to test and Ack this? Also, sounds
  like we still need to patch omap4 for uart4 for the clocks.
  
 Clocks will be take care automatically by nr_ports for omap4 too
 with this patch. Below clock changes are just cosmetic ones, isn't it ?
 
 Am I missing something?

Yes sorry, I'm referring to [RFC][PATCH 0/3] OMAP3630: UART4 startup
series to fix the uart4 issues for 3630, not omap4.

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


RE: [PATCH 1/2 V3] OMAP: DSS: Add display board file for zoom boards

2010-02-25 Thread Hiremath, Vaibhav

 -Original Message-
 From: linux-omap-ow...@vger.kernel.org [mailto:linux-omap-
 ow...@vger.kernel.org] On Behalf Of Y, Kishore
 Sent: Thursday, February 25, 2010 9:15 PM
 To: Tomi Valkeinen
 Cc: linux-omap@vger.kernel.org
 Subject: [PATCH 1/2 V3] OMAP: DSS: Add display board file for zoom boards
 
 From: Kishore Y kishor...@ti.com
 
 board-zoom-display.c added as a common file for display fucntionality
 on boards zoom2, zoom3 and 3630sdp
 
 Signed-off-by: Mukund Mittal mmit...@ti.com
 Signed-off-by: Kishore Y kishor...@ti.com
 Reviewed-by: Gadiyar, Anand gadi...@ti.com
 ---
  arch/arm/mach-omap2/Makefile  |3 +
  arch/arm/mach-omap2/board-zoom-display.c  |  185
 +
  arch/arm/mach-omap2/board-zoom-peripherals.c  |   36 +
  arch/arm/mach-omap2/include/mach/board-zoom.h |3 +
  4 files changed, 227 insertions(+), 0 deletions(-)
  create mode 100644 arch/arm/mach-omap2/board-zoom-display.c
 
 diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
 index b32678b..3dbe694 100644
 --- a/arch/arm/mach-omap2/Makefile
 +++ b/arch/arm/mach-omap2/Makefile
 @@ -91,14 +91,17 @@ obj-$(CONFIG_MACH_NOKIA_RX51) += board-rx51.o
 \
  board-rx51-peripherals.o \
  mmc-twl4030.o
  obj-$(CONFIG_MACH_OMAP_ZOOM2)+= board-zoom2.o \
 +board-zoom-display.o \
  board-zoom-peripherals.o \
  mmc-twl4030.o \
  board-zoom-debugboard.o
  obj-$(CONFIG_MACH_OMAP_ZOOM3)+= board-zoom3.o \
 +board-zoom-display.o \
  board-zoom-peripherals.o \
  mmc-twl4030.o \
  board-zoom-debugboard.o
  obj-$(CONFIG_MACH_OMAP_3630SDP)  += board-3630sdp.o \
 +board-zoom-display.o \
  board-zoom-peripherals.o \
  mmc-twl4030.o
  obj-$(CONFIG_MACH_CM_T35)+= board-cm-t35.o \
 diff --git a/arch/arm/mach-omap2/board-zoom-display.c b/arch/arm/mach-
 omap2/board-zoom-display.c
 new file mode 100644
 index 000..fc5851f
 --- /dev/null
 +++ b/arch/arm/mach-omap2/board-zoom-display.c
 @@ -0,0 +1,185 @@
 +/*
 + * Copyright (C) 2009 Texas Instruments Inc.
 + *
[Hiremath, Vaibhav] 2010???

 + * Modified from mach-omap2/board-zoom-peripherals.c
 + *
 + * This program is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License version 2 as
 + * published by the Free Software Foundation.
 + */
 +
 +#include linux/kernel.h
 +#include linux/init.h
 +#include linux/platform_device.h
 +#include linux/gpio.h
 +#include linux/i2c/twl.h
 +#include linux/spi/spi.h
 +#include plat/common.h
 +#include plat/control.h
 +#include plat/mcspi.h
 +#include plat/display.h
 +
 +#define LCD_PANEL_ENABLE_GPIO(7 + OMAP_MAX_GPIO_LINES)
 +#define LCD_PANEL_RESET_GPIO_PROD96
 +#define LCD_PANEL_RESET_GPIO_PILOT   55
 +#define LCD_PANEL_QVGA_GPIO  56
 +#define TV_PANEL_ENABLE_GPIO 95
 +
 +struct zoom_dss_board_info {
 + int gpio_flag;
 +};
 +
 +static void zoom_lcd_tv_panel_init(void)
 +{
 + int ret;
 + unsigned char lcd_panel_reset_gpio;
 +
 + lcd_panel_reset_gpio = (omap_rev()  OMAP3430_REV_ES3_0) ?
 + LCD_PANEL_RESET_GPIO_PROD :
 + LCD_PANEL_RESET_GPIO_PILOT;
 +
 + ret = gpio_request(lcd_panel_reset_gpio, lcd reset);
 + if (ret) {
 + pr_err(Failed to get LCD reset GPIO (gpio%d)\n,
 + lcd_panel_reset_gpio);
 + return;
 + }
 + gpio_direction_output(lcd_panel_reset_gpio, 1);
 +
 + ret = gpio_request(LCD_PANEL_QVGA_GPIO, lcd qvga);
 + if (ret) {
 + pr_err(Failed to get LCD_PANEL_QVGA_GPIO (gpio%d).\n,
 + LCD_PANEL_QVGA_GPIO);
 + goto err0;
 + }
 + gpio_direction_output(LCD_PANEL_QVGA_GPIO, 1);
 +
 + ret = gpio_request(TV_PANEL_ENABLE_GPIO, tv panel);
 + if (ret) {
 + pr_err(Failed to get TV_PANEL_ENABLE_GPIO (gpio%d).\n,
 + TV_PANEL_ENABLE_GPIO);
 + goto err1;
 + }
 + gpio_direction_output(TV_PANEL_ENABLE_GPIO, 0);
 +
 + return;
 +
 +err1:
 + gpio_free(LCD_PANEL_QVGA_GPIO);
 +err0:
 + gpio_free(lcd_panel_reset_gpio);
 +}
 +
 +static int zoom_panel_enable_lcd(struct omap_dss_device *dssdev)
 +{
 + int ret;
 + struct zoom_dss_board_info *pdata;
 +
 + pdata = dssdev-dev.platform_data;
 + if (pdata-gpio_flag == 0) {
 + ret = gpio_request(LCD_PANEL_ENABLE_GPIO, lcd 

RE: [PATCH] omap2/3/4: serial: Half revert multiboot changes

2010-02-25 Thread Aguirre, Sergio
Hi,

 -Original Message-
 From: Tony Lindgren [mailto:t...@atomide.com]
 Sent: Thursday, February 25, 2010 12:56 PM
 To: Aguirre, Sergio
 Cc: linux-omap@vger.kernel.org; Sonasath, Moiz; Pandita, Vikram
 Subject: Re: [PATCH] omap2/3/4: serial: Half revert multiboot changes
 
 * Aguirre, Sergio saagui...@ti.com [100224 19:04]:
 
 
   -Original Message-
   From: Tony Lindgren [mailto:t...@atomide.com]
   Sent: Wednesday, February 24, 2010 10:21 AM
   To: Aguirre, Sergio
   Cc: linux-omap@vger.kernel.org; Sonasath, Moiz; Pandita, Vikram
   Subject: Re: [PATCH] omap2/3/4: serial: Half revert multiboot changes
  
   * Aguirre, Sergio saagui...@ti.com [100223 23:37]:
Hmm..
   
I think I sent this patch too soon...
   
Please ignore it, this is not a proper solution I feel..
   
But what it is true... is that, patch omap2/3/4: Fix mach-
   omap2/serial.c for multiboot is definitely breaking Zoom3 boot, and
 needs
   to be fixed.
  
   Yes sounds like only zoom has the external uart, other 3630
   boards may be using the internal uart4.
 
  Actually, I don't see any patch to handle uart4 interface/functional
 clocks, so I assume the addition of uart4 for 3630 chip is incomplete.
 
  Shall we apply my 2nd patch, until proper clock handling is in place?
 
  I don't have an omap4 to test, but I think my patch shouldn't hurt the
 initial intention to make multiomap builds possible... agree?
 
 See also the recent patch from Thomas. I'd say let's rather fix this
 properly with your clock related patchset once it's been tested.
 
 We already have all these temporary hacks still in place for omap4,
 let's try not to add more.

Ok, sure. I agree.

I'll try to get a 3630SDP, which I believe has physical access to UART4. With 
just my Zoom3 I can't do much :/

Regards,
Sergio
 
 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


Re: [RFC][PATCH 1/3] ARM: OMAP3630: PRCM: Add UART4 control bits

2010-02-25 Thread Paul Walmsley
On Thu, 25 Feb 2010, Sergio Aguirre wrote:

 This bits are exclusive of omap 36xx family of chips.

Verified against the Rev C TRM.

Reviewed-by: Paul Walmsley p...@pwsan.com


 
 Signed-off-by: Sergio Aguirre saagui...@ti.com
 ---
  arch/arm/mach-omap2/prcm-common.h |4 
  1 files changed, 4 insertions(+), 0 deletions(-)
 
 diff --git a/arch/arm/mach-omap2/prcm-common.h 
 b/arch/arm/mach-omap2/prcm-common.h
 index 90f603d..c4e7bcb 100644
 --- a/arch/arm/mach-omap2/prcm-common.h
 +++ b/arch/arm/mach-omap2/prcm-common.h
 @@ -390,6 +390,8 @@
  #define OMAP3430_EN_MPU_SHIFT1
  
  /* CM_FCLKEN_PER, CM_ICLKEN_PER, PM_WKEN_PER shared bits */
 +#define OMAP3630_EN_UART4(1  18)
 +#define OMAP3630_EN_UART4_SHIFT  18
  #define OMAP3430_EN_GPIO6(1  17)
  #define OMAP3430_EN_GPIO6_SHIFT  17
  #define OMAP3430_EN_GPIO5(1  16)
 @@ -430,6 +432,8 @@
  #define OMAP3430_EN_MCBSP2_SHIFT 0
  
  /* CM_IDLEST_PER, PM_WKST_PER shared bits */
 +#define OMAP3630_ST_UART4_SHIFT  18
 +#define OMAP3630_ST_UART4_MASK   (1  18)
  #define OMAP3430_ST_GPIO6_SHIFT  17
  #define OMAP3430_ST_GPIO6_MASK   (1  17)
  #define OMAP3430_ST_GPIO5_SHIFT  16
 -- 
 1.6.3.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
 


- 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: [RFC][PATCH 2/3] OMAP clock: Add uart4_ick/fck definitions for 3630

2010-02-25 Thread Paul Walmsley
On Thu, 25 Feb 2010, Sergio Aguirre wrote:

 This is only valid for omap 36xx family of chips.
 
 Signed-off-by: Sergio Aguirre saagui...@ti.com

Reviewed-by: Paul Walmsley p...@pwsan.com

Nice work Sergio.

 ---
  arch/arm/mach-omap2/clock34xx_data.c |   22 ++
  1 files changed, 22 insertions(+), 0 deletions(-)
 
 diff --git a/arch/arm/mach-omap2/clock34xx_data.c 
 b/arch/arm/mach-omap2/clock34xx_data.c
 index 8728f1f..5d783bd 100644
 --- a/arch/arm/mach-omap2/clock34xx_data.c
 +++ b/arch/arm/mach-omap2/clock34xx_data.c
 @@ -2381,6 +2381,16 @@ static struct clk uart3_fck = {
   .recalc = followparent_recalc,
  };
  
 +static struct clk uart4_fck = {
 + .name   = uart4_fck,
 + .ops= clkops_omap2_dflt_wait,
 + .parent = per_48m_fck,
 + .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN),
 + .enable_bit = OMAP3630_EN_UART4_SHIFT,
 + .clkdm_name = per_clkdm,
 + .recalc = followparent_recalc,
 +};
 +
  static struct clk gpt2_fck = {
   .name   = gpt2_fck,
   .ops= clkops_omap2_dflt_wait,
 @@ -2631,6 +2641,16 @@ static struct clk uart3_ick = {
   .recalc = followparent_recalc,
  };
  
 +static struct clk uart4_ick = {
 + .name   = uart4_ick,
 + .ops= clkops_omap2_dflt_wait,
 + .parent = per_l4_ick,
 + .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_ICLKEN),
 + .enable_bit = OMAP3630_EN_UART4_SHIFT,
 + .clkdm_name = per_clkdm,
 + .recalc = followparent_recalc,
 +};
 +
  static struct clk gpt9_ick = {
   .name   = gpt9_ick,
   .ops= clkops_omap2_dflt_wait,
 @@ -3160,6 +3180,7 @@ static struct omap_clk omap3xxx_clks[] = {
   CLK(NULL,   per_96m_fck,  per_96m_fck,   CK_3XXX),
   CLK(NULL,   per_48m_fck,  per_48m_fck,   CK_3XXX),
   CLK(NULL,   uart3_fck,uart3_fck, CK_3XXX),
 + CLK(NULL,   uart4_fck,uart4_fck, CK_36XX),
   CLK(NULL,   gpt2_fck, gpt2_fck,  CK_3XXX),
   CLK(NULL,   gpt3_fck, gpt3_fck,  CK_3XXX),
   CLK(NULL,   gpt4_fck, gpt4_fck,  CK_3XXX),
 @@ -3183,6 +3204,7 @@ static struct omap_clk omap3xxx_clks[] = {
   CLK(NULL,   gpio2_ick,gpio2_ick, CK_3XXX),
   CLK(NULL,   wdt3_ick, wdt3_ick,  CK_3XXX),
   CLK(NULL,   uart3_ick,uart3_ick, CK_3XXX),
 + CLK(NULL,   uart4_ick,uart4_ick, CK_36XX),
   CLK(NULL,   gpt9_ick, gpt9_ick,  CK_3XXX),
   CLK(NULL,   gpt8_ick, gpt8_ick,  CK_3XXX),
   CLK(NULL,   gpt7_ick, gpt7_ick,  CK_3XXX),
 -- 
 1.6.3.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
 


- 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: [RFC][PATCH 0/3] OMAP3630: UART4 startup

2010-02-25 Thread Paul Walmsley
Hi,

On Thu, 25 Feb 2010, Sergio Aguirre wrote:

 This small RFC patchlist is intending to add initial UART4 support
 for omap36xx chips.
 
 VERY IMPORTANT:
  - This is currently untested. I don't have the HW to test this.
  - I don't consider myself an omap-serial expert, so please review
carefully.

Tony and I corresponded about this series; we decided that I'll handle 
this one because most of the changes are clock/PRCM related.  Will you get 
hardware to test this series soon?  None of us have OMAP3630 hardware, 
unfortunately.


- 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] omap: i2c: Add i2c support on omap4 platform

2010-02-25 Thread Tony Lindgren
* Shilimkar, Santosh santosh.shilim...@ti.com [100222 21:58]:
 Ben,
 Did you happen to look at this ? 

Santosh, can you please also please clarify which omaps this
patch has been tested on?

Regards,

Tony
 
  -Original Message-
  From: Shilimkar, Santosh
  Sent: Friday, February 19, 2010 10:03 PM
  To: ben-li...@fluff.org
  Cc: linux-omap@vger.kernel.org; linux-...@vger.kernel.org; Shilimkar, 
  Santosh; Syed, Rafiuddin; Cory
  Maccarrone
  Subject: [PATCH] omap: i2c: Add i2c support on omap4 platform
  
  This patch is rebased version of earlier post to add I2C
  driver support to OMAP4 platform. On OMAP4, all
  I2C register address offsets are changed from OMAP1/2/3 I2C.
  In order to not have #ifdef's at various places in code,
  as well as to support multi-OMAP build, an array is created
  to hold the register addresses with it's offset.
  
  This patch was submitted, reviewed and acked on mailing list
  already. For more details refer below link
  http://www.mail-archive.com/linux-...@vger.kernel.org/msg02281.html
  
  This updated verion has a depedancy on Add support for 16-bit registers
  posted on linux-omap. Below is the patch-works link for the same
  
  http://patchwork.kernel.org/patch/72295/
  
  Signed-off-by: Syed Rafiuddin rafiuddin.s...@ti.com
  Signed-off-by: Santosh Shilimkar santosh.shilim...@ti.com
  Acked-by: Kevin Hilman khil...@deeprootsystems.com
  Reviewed-by: Paul Walmsley p...@pwsan.com
  Reviewed-by: Tony Lindgren t...@atomide.com
  Cc: Ben Dooks ben-li...@fluff.org
  Cc: Cory Maccarrone darkstar6...@gmail.com
  ---
   drivers/i2c/busses/i2c-omap.c |  146 
  -
   1 files changed, 114 insertions(+), 32 deletions(-)
  
  diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
  index 9c3ce4d..7c15496 100644
  --- a/drivers/i2c/busses/i2c-omap.c
  +++ b/drivers/i2c/busses/i2c-omap.c
  @@ -44,29 +44,37 @@
   /* I2C controller revisions present on specific hardware */
   #define OMAP_I2C_REV_ON_2430   0x36
   #define OMAP_I2C_REV_ON_3430   0x3C
  +#define OMAP_I2C_REV_ON_4430   0x40
  
   /* timeout waiting for the controller to respond */
   #define OMAP_I2C_TIMEOUT (msecs_to_jiffies(1000))
  
  -#define OMAP_I2C_REV_REG   0x00
  -#define OMAP_I2C_IE_REG0x01
  -#define OMAP_I2C_STAT_REG  0x02
  -#define OMAP_I2C_IV_REG0x03
   /* For OMAP3 I2C_IV has changed to I2C_WE (wakeup enable) */
  -#define OMAP_I2C_WE_REG0x03
  -#define OMAP_I2C_SYSS_REG  0x04
  -#define OMAP_I2C_BUF_REG   0x05
  -#define OMAP_I2C_CNT_REG   0x06
  -#define OMAP_I2C_DATA_REG  0x07
  -#define OMAP_I2C_SYSC_REG  0x08
  -#define OMAP_I2C_CON_REG   0x09
  -#define OMAP_I2C_OA_REG0x0a
  -#define OMAP_I2C_SA_REG0x0b
  -#define OMAP_I2C_PSC_REG   0x0c
  -#define OMAP_I2C_SCLL_REG  0x0d
  -#define OMAP_I2C_SCLH_REG  0x0e
  -#define OMAP_I2C_SYSTEST_REG   0x0f
  -#define OMAP_I2C_BUFSTAT_REG   0x10
  +enum {
  +   OMAP_I2C_REV_REG = 0,
  +   OMAP_I2C_IE_REG,
  +   OMAP_I2C_STAT_REG,
  +   OMAP_I2C_IV_REG,
  +   OMAP_I2C_WE_REG,
  +   OMAP_I2C_SYSS_REG,
  +   OMAP_I2C_BUF_REG,
  +   OMAP_I2C_CNT_REG,
  +   OMAP_I2C_DATA_REG,
  +   OMAP_I2C_SYSC_REG,
  +   OMAP_I2C_CON_REG,
  +   OMAP_I2C_OA_REG,
  +   OMAP_I2C_SA_REG,
  +   OMAP_I2C_PSC_REG,
  +   OMAP_I2C_SCLL_REG,
  +   OMAP_I2C_SCLH_REG,
  +   OMAP_I2C_SYSTEST_REG,
  +   OMAP_I2C_BUFSTAT_REG,
  +   OMAP_I2C_REVNB_LO,
  +   OMAP_I2C_REVNB_HI,
  +   OMAP_I2C_IRQSTATUS_RAW,
  +   OMAP_I2C_IRQENABLE_SET,
  +   OMAP_I2C_IRQENABLE_CLR,
  +};
  
   /* I2C Interrupt Enable Register (OMAP_I2C_IE): */
   #define OMAP_I2C_IE_XDR(1  14)   /* TX Buffer drain int 
  enable */
  @@ -169,6 +177,7 @@ struct omap_i2c_dev {
  u32 speed;  /* Speed of bus in Khz */
  u16 cmd_err;
  u8  *buf;
  +   u8  *regs;
  size_t  buf_len;
  struct i2c_adapter  adapter;
  u8  fifo_size;  /* use as flag and value
  @@ -187,15 +196,64 @@ struct omap_i2c_dev {
  u16 westate;
   };
  
  +const static u8 reg_map[] = {
  +   [OMAP_I2C_REV_REG] = 0x00,
  +   [OMAP_I2C_IE_REG] = 0x01,
  +   [OMAP_I2C_STAT_REG] = 0x02,
  +   [OMAP_I2C_IV_REG] = 0x03,
  +   [OMAP_I2C_WE_REG] = 0x03,
  +   [OMAP_I2C_SYSS_REG] = 0x04,
  +   [OMAP_I2C_BUF_REG] = 0x05,
  +   [OMAP_I2C_CNT_REG] = 0x06,
  +   [OMAP_I2C_DATA_REG] = 0x07,
  +   [OMAP_I2C_SYSC_REG] = 0x08,
  +   [OMAP_I2C_CON_REG] = 0x09,
  +   [OMAP_I2C_OA_REG] = 0x0a,
  +   [OMAP_I2C_SA_REG] = 0x0b,
  +   [OMAP_I2C_PSC_REG] = 0x0c,
  +   [OMAP_I2C_SCLL_REG] = 0x0d,
  +   [OMAP_I2C_SCLH_REG] = 0x0e,
  +   [OMAP_I2C_SYSTEST_REG] = 0x0f,
  +   

Re: [PATCH-V6 2/2] OMAP2/3: Add V4L2 DSS driver support in device.c

2010-02-25 Thread Tony Lindgren
* hvaib...@ti.com hvaib...@ti.com [100223 01:25]:
 From: Vaibhav Hiremath hvaib...@ti.com
 
 
 Signed-off-by: Vaibhav Hiremath hvaib...@ti.com
 ---
  arch/arm/plat-omap/devices.c |   29 +
  1 files changed, 29 insertions(+), 0 deletions(-)
 
 diff --git a/arch/arm/plat-omap/devices.c b/arch/arm/plat-omap/devices.c
 index 30b5db7..64f2a3a 100644
 --- a/arch/arm/plat-omap/devices.c
 +++ b/arch/arm/plat-omap/devices.c
 @@ -357,6 +357,34 @@ static void omap_init_wdt(void)
  static inline void omap_init_wdt(void) {}
  #endif
 
 +/*---*/
 +
 +#if defined(CONFIG_VIDEO_OMAP2_VOUT) || \
 + defined(CONFIG_VIDEO_OMAP2_VOUT_MODULE)
 +#if defined (CONFIG_FB_OMAP2) || defined (CONFIG_FB_OMAP2_MODULE)
 +static struct resource omap_vout_resource[3 - CONFIG_FB_OMAP2_NUM_FBS] = {
 +};
 +#else
 +static struct resource omap_vout_resource[2] = {
 +};
 +#endif
 +
 +static struct platform_device omap_vout_device = {
 + .name   = omap_vout,
 + .num_resources  = ARRAY_SIZE(omap_vout_resource),
 + .resource   = omap_vout_resource[0],
 + .id = -1,
 +};
 +static void omap_init_vout(void)
 +{
 + (void) platform_device_register(omap_vout_device);
 +}

Allocation can still fail here, please handle the results.

 +#else
 +static inline void omap_init_vout(void) {}
 +#endif
 +
 +/*---*/
 +
  /*
   * This gets called after board-specific INIT_MACHINE, and initializes most
   * on-chip peripherals accessible on this board (except for few like USB):
 @@ -387,6 +415,7 @@ static int __init omap_init_devices(void)
   omap_init_rng();
   omap_init_uwire();
   omap_init_wdt();
 + omap_init_vout();
   return 0;
  }
  arch_initcall(omap_init_devices);

Looks like this should be in mach-omap2/devices.c instead if it's all
omap2/3/4 specific.

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


Re: [PATCH] musb: fix power field to hold all possible values

2010-02-25 Thread Tony Lindgren
* Felipe Balbi m...@felipebalbi.com [100223 12:30]:
 Hi,
 
 On Tue, Feb 23, 2010 at 08:01:50PM +0530, Gupta, Ajay Kumar wrote:
  Board files are providing the actual mA and it is getting divided in 
  Arch/arm/mach-omap2/usb-musb.c. See the code snippet below,
  
  musb_plat.clock = ick;
  musb_plat.board_data = board_data;
  -- musb_plat.power = board_data-power  1;
  musb_plat.mode = board_data-mode;
  
  So we need to either take this patch or fix this logic of dividing the mA
  supplied from all omap board files.
 
 that's true, had missed that. Sorry.

Hmm, I believe this value is also divided somewhere else but
I forgot where. In any case, when making changes like this
please run the standard USB tests for gadgets and OTG.

Otherwise things are guaranteed to break for USB certs :)

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 2/2] can:ti_hecc: board specific hookup on AM3517EVM

2010-02-25 Thread Tony Lindgren
* Sriramakrishnan s...@ti.com [100222 22:35]:
 Add board specific hookup for TI HECC driver on
 AM3517 EVM
 
 Signed-off-by: Sriramakrishnan s...@ti.com
 Acked-by: Anant Gole anantg...@ti.com
 ---
 The driver requires that CAN_STB signal be driven low to enable
 CAN PHY. Currently this is being managed from U-boot. Will submit a patch
 for handling this as part of board init sequence.
 
  arch/arm/mach-omap2/board-am3517evm.c |   38 
 +
  arch/arm/mach-omap2/include/mach/am35xx.h |   10 +++
  2 files changed, 48 insertions(+), 0 deletions(-)
 
 diff --git a/arch/arm/mach-omap2/board-am3517evm.c 
 b/arch/arm/mach-omap2/board-am3517evm.c
 index af99faf..42013b5 100644
 --- a/arch/arm/mach-omap2/board-am3517evm.c
 +++ b/arch/arm/mach-omap2/board-am3517evm.c
 @@ -20,6 +20,7 @@
  #include linux/init.h
  #include linux/platform_device.h
  #include linux/gpio.h
 +#include linux/can/platform/ti_hecc.h
  
  #include mach/hardware.h
  #include mach/am35xx.h
 @@ -223,6 +224,42 @@ static struct omap_board_mux board_mux[] __initdata = {
  #define board_muxNULL
  #endif
  
 +
 +static struct resource am3517_hecc_resources[] = {
 + {
 + .start  = AM35XX_IPSS_HECC_BASE,
 + .end= AM35XX_IPSS_HECC_BASE + 0x3FFF,
 + .flags  = IORESOURCE_MEM,
 + },
 + {
 + .start  = INT_35XX_HECC0_IRQ,
 + .end= INT_35XX_HECC0_IRQ,
 + .flags  = IORESOURCE_IRQ,
 + },
 +};
 +
 +static struct platform_device am3517_hecc_device = {
 + .name   = ti_hecc,
 + .id = -1,
 + .num_resources  = ARRAY_SIZE(am3517_hecc_resources),
 + .resource   = am3517_hecc_resources,
 +};
 +
 +static struct ti_hecc_platform_data am3517_evm_hecc_pdata = {
 + .scc_hecc_offset= AM35XX_HECC_SCC_HECC_OFFSET,
 + .scc_ram_offset = AM35XX_HECC_SCC_RAM_OFFSET,
 + .hecc_ram_offset= AM35XX_HECC_RAM_OFFSET,
 + .mbx_offset= AM35XX_HECC_MBOX_OFFSET,
 + .int_line   = AM35XX_HECC_INT_LINE,
 + .version= AM35XX_HECC_VERSION,
 +};

The formatting above should use tabs instead of spaces. Please
check and run checkpatch.pl --strict on this.

Also, sounds like the Kconfig changes should be 2/2, not 1/2
to enable this.

Tony

 +
 +static void am3517_evm_hecc_init(struct ti_hecc_platform_data *pdata)
 +{
 + am3517_hecc_device.dev.platform_data = pdata;
 + platform_device_register(am3517_hecc_device);
 +}
 +
  static void __init am3517_evm_init(void)
  {
   am3517_evm_i2c_init();
 @@ -233,6 +270,7 @@ static void __init am3517_evm_init(void)
  
   omap_serial_init();
   usb_ehci_init(ehci_pdata);
 + am3517_evm_hecc_init(am3517_evm_hecc_pdata);
   /* DSS */
   am3517_evm_display_init();
  }
 diff --git a/arch/arm/mach-omap2/include/mach/am35xx.h 
 b/arch/arm/mach-omap2/include/mach/am35xx.h
 index a705f94..6d5429b 100644
 --- a/arch/arm/mach-omap2/include/mach/am35xx.h
 +++ b/arch/arm/mach-omap2/include/mach/am35xx.h
 @@ -23,4 +23,14 @@
  #define AM35XX_IPSS_HECC_BASE0x5C05
  #define AM35XX_IPSS_VPFE_BASE0x5C06
  
 +
 +/* HECC module specifc offset definitions */
 +#define AM35XX_HECC_SCC_HECC_OFFSET  (0x0)
 +#define AM35XX_HECC_SCC_RAM_OFFSET   (0x3000)
 +#define AM35XX_HECC_RAM_OFFSET   (0x3000)
 +#define AM35XX_HECC_MBOX_OFFSET  (0x2000)
 +#define AM35XX_HECC_INT_LINE (0x0)
 +#define AM35XX_HECC_VERSION  (0x1)
 +
 +
  #endif /*  __ASM_ARCH_AM35XX_H */
 -- 
 1.6.2.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
--
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: [GIT PULL] Second set of OMAP clock/hwmod patches for 2.6.34

2010-02-25 Thread Tony Lindgren
* Paul Walmsley p...@pwsan.com [100224 12:18]:
 On Wed, 24 Feb 2010, Paul Walmsley wrote:
 
  On Wed, 24 Feb 2010, Tony Lindgren wrote:
  
   * Paul Walmsley p...@pwsan.com [100224 10:15]:

Hi Tony,

The following changes since commit 
0482e3c6f704d25b6a4e3c940caeeacece4e6d74:
  Tony Lindgren (1):
Merge branch 'omap-fixes-for-linus' into omap-for-linus

are available in the git repository at:

  git://git.pwsan.com/linux-2.6 for_2.6.34_b
   
   Hmm this does not seem to merge without conflicts to omap-for-linus,
   maybe take a look if you can merge/rebase it?
   
   I'd assume rebasing or merging your branch with
   80c20d543d142ee54ec85259b77aaf0b83c32db5 will do the trick.
  
  Looks like 4751227df948582e82f19df30efa662ab71fa980 is the problem.
 
 Cool, it turned out to be not too bad to rebase.  for_2.6.34_b branch is 
 updated.  I'll retest here and resend a pull request after the tests are 
 complete.

OK that's merged now. I think we're pretty much done for this
merge window. I'll take a look at few more board-*.c patches
though.

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 1/5 v2] omap2/3/4: mailbox: remove compiler warning

2010-02-25 Thread Tony Lindgren
* Anna, Suman s-a...@ti.com [100223 07:57]:
 From 02c45559105c62343e31226fe67117231ea10c35 Mon Sep 17 00:00:00 2001
 From: Suman Anna s-a...@ti.com
 Date: Mon, 25 Jan 2010 18:27:21 -0600
 Subject: [PATCH] omap2/3/4: mailbox: remove compiler warning
 
 Remove a compiler warning in device-specific
 mailbox module.
 
 Signed-off-by: Suman Anna s-a...@ti.com

Hiroshi, do you want me to queue this? If so, please respond
with your ack.

Tony

 ---
  arch/arm/mach-omap2/mailbox.c |   12 ++--
  1 files changed, 6 insertions(+), 6 deletions(-)
 
 diff --git a/arch/arm/mach-omap2/mailbox.c b/arch/arm/mach-omap2/mailbox.c
 index 2c9fd1c..a732664 100644
 --- a/arch/arm/mach-omap2/mailbox.c
 +++ b/arch/arm/mach-omap2/mailbox.c
 @@ -409,19 +409,19 @@ static int __devinit omap2_mbox_probe(struct 
 platform_device *pdev)
   if (unlikely(!res)) {
   dev_err(pdev-dev, invalid irq resource\n);
   ret = -ENODEV;
 - goto err_iva1;
 + omap_mbox_unregister(mbox_dsp_info);
 + goto err_dsp;
   }
   mbox_iva_info.irq = res-start;
   ret = omap_mbox_register(pdev-dev, mbox_iva_info);
 - if (ret)
 - goto err_iva1;
 + if (ret) {
 + omap_mbox_unregister(mbox_dsp_info);
 + goto err_dsp;
 + }
   }
  #endif
   return 0;
  
 -err_iva1:
 - omap_mbox_unregister(mbox_dsp_info);
 -
  err_dsp:
   iounmap(mbox_base);
   return ret;
 -- 
 1.6.6.2
--
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


[APPLIED] [PATCH] Zoom3: Defconfig update

2010-02-25 Thread Tony Lindgren
This patch has been applied to the linux-omap
by youw fwiendly patch wobot.

Branch in linux-omap: for-next

Initial commit ID (Likely to change): 86b8e1a78668d5039a15e8a4d5813e0286aff479

PatchWorks
http://patchwork.kernel.org/patch/80618/

Git (Likely to change, and takes a while to get mirrored)
http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=commit;h=86b8e1a78668d5039a15e8a4d5813e0286aff479


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


[APPLIED] [PATCH 1/2] AM35x: Add missing GPIO mux config for EHCI port

2010-02-25 Thread Tony Lindgren
This patch has been applied to the linux-omap
by youw fwiendly patch wobot.

Branch in linux-omap: for-next

Initial commit ID (Likely to change): 296981944815e958dc722d5d03aa38c89b750d84

PatchWorks
http://patchwork.kernel.org/patch/81116/

Git (Likely to change, and takes a while to get mirrored)
http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=commit;h=296981944815e958dc722d5d03aa38c89b750d84


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


[APPLIED] [PATCH 2/2] AM35x: Enable OMAP_MUX in defconfig

2010-02-25 Thread Tony Lindgren
This patch has been applied to the linux-omap
by youw fwiendly patch wobot.

Branch in linux-omap: for-next

Initial commit ID (Likely to change): ece75fcbe50a15b830c44e466dc29e2cb7479f2a

PatchWorks
http://patchwork.kernel.org/patch/81117/

Git (Likely to change, and takes a while to get mirrored)
http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=commit;h=ece75fcbe50a15b830c44e466dc29e2cb7479f2a


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


[APPLIED] [PATCH] omap: i2c: Fix muxing for command line enabled bus

2010-02-25 Thread Tony Lindgren
This patch has been applied to the linux-omap
by youw fwiendly patch wobot.

Branch in linux-omap: for-next

Initial commit ID (Likely to change): 45a63f52aa3e5c14336805728ef4f3434879434b

PatchWorks
http://patchwork.kernel.org/patch/81283/

Git (Likely to change, and takes a while to get mirrored)
http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=commit;h=45a63f52aa3e5c14336805728ef4f3434879434b


--
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] OMAP: pass the reboot command to the boot loader

2010-02-25 Thread Tony Lindgren
* Aaro Koskinen aaro.koski...@nokia.com [100224 05:09]:
 This patch follows the commit be093beb608edf821b45fe00a8a080fb5c6ed4af
 by Russell King:
 
   OMAP wishes to pass state to the boot loader upon reboot in order
   to instruct it whether to wait for USB-based reflashing or not.
   There is already a facility to do this via the reboot() syscall,
   except we ignore the string passed to machine_restart().
 
 The patch adds the missing parameter to omap1_arch_reset() and
 omap_prcm_arch_reset(), and modifies the latter to pass the reboot
 command parameter to the boot loader instead of reboot mode (which is
 for kernel internal use only and cannot be modified by the userspace).

This does not seem to apply, can you please refresh against the
current omap-for-linus branch?

Regards,

Tony
 
 Signed-off-by: Aaro Koskinen aaro.koski...@nokia.com
 ---
  arch/arm/mach-omap2/prcm.c   |4 ++--
  arch/arm/plat-omap/include/plat/prcm.h   |2 +-
  arch/arm/plat-omap/include/plat/system.h |6 +++---
  3 files changed, 6 insertions(+), 6 deletions(-)
 
 diff --git a/arch/arm/mach-omap2/prcm.c b/arch/arm/mach-omap2/prcm.c
 index 338d5f6..0850bb9 100644
 --- a/arch/arm/mach-omap2/prcm.c
 +++ b/arch/arm/mach-omap2/prcm.c
 @@ -131,7 +131,7 @@ u32 omap_prcm_get_reset_sources(void)
  EXPORT_SYMBOL(omap_prcm_get_reset_sources);
  
  /* Resets clock rates and reboots the system. Only called from system.h */
 -void omap_prcm_arch_reset(char mode)
 +void omap_prcm_arch_reset(char mode, const char *cmd)
  {
   s16 prcm_offs;
  
 @@ -143,7 +143,7 @@ void omap_prcm_arch_reset(char mode)
   u32 l;
  
   prcm_offs = OMAP3430_GR_MOD;
 - l = ('B'  24) | ('M'  16) | mode;
 + l = ('B'  24) | ('M'  16) | (cmd ? (u8)*cmd : 0);
   /* Reserve the first word in scratchpad for communicating
* with the boot ROM. A pointer to a data structure
* describing the boot process can be stored there,
 diff --git a/arch/arm/plat-omap/include/plat/prcm.h 
 b/arch/arm/plat-omap/include/plat/prcm.h
 index 66938a9..2c89542 100644
 --- a/arch/arm/plat-omap/include/plat/prcm.h
 +++ b/arch/arm/plat-omap/include/plat/prcm.h
 @@ -24,7 +24,7 @@
  #define __ASM_ARM_ARCH_OMAP_PRCM_H
  
  u32 omap_prcm_get_reset_sources(void);
 -void omap_prcm_arch_reset(char mode);
 +void omap_prcm_arch_reset(char mode, const char *cmd);
  int omap2_cm_wait_idlest(void __iomem *reg, u32 mask, const char *name);
  
  #define START_PADCONF_SAVE 0x2
 diff --git a/arch/arm/plat-omap/include/plat/system.h 
 b/arch/arm/plat-omap/include/plat/system.h
 index c58a4ef..d0a119f 100644
 --- a/arch/arm/plat-omap/include/plat/system.h
 +++ b/arch/arm/plat-omap/include/plat/system.h
 @@ -22,7 +22,7 @@ static inline void arch_idle(void)
   cpu_do_idle();
  }
  
 -static inline void omap1_arch_reset(char mode)
 +static inline void omap1_arch_reset(char mode, const char *cmd)
  {
   /*
* Workaround for 5912/1611b bug mentioned in sprz209d.pdf p. 28
 @@ -43,9 +43,9 @@ static inline void omap1_arch_reset(char mode)
  static inline void arch_reset(char mode, const char *cmd)
  {
   if (!cpu_class_is_omap2())
 - omap1_arch_reset(mode);
 + omap1_arch_reset(mode, cmd);
   else
 - omap_prcm_arch_reset(mode);
 + omap_prcm_arch_reset(mode, cmd);
  }
  
  #endif
 -- 
 1.5.6.5
 
--
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


[APPLIED] [PATCH 1/2] AM3517 EVM: Enable I2C support.

2010-02-25 Thread Tony Lindgren
This patch has been applied to the linux-omap
by youw fwiendly patch wobot.

Branch in linux-omap: for-next

Initial commit ID (Likely to change): f3e7cb6214b6299d1970cc4d032c85cf7cb2a458

PatchWorks
http://patchwork.kernel.org/patch/81964/

Git (Likely to change, and takes a while to get mirrored)
http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=commit;h=f3e7cb6214b6299d1970cc4d032c85cf7cb2a458


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


[APPLIED] [PATCH 2/2] AM3517EVM : correct typo - tca6416 mispelt as tca6516.

2010-02-25 Thread Tony Lindgren
This patch has been applied to the linux-omap
by youw fwiendly patch wobot.

Branch in linux-omap: for-next

Initial commit ID (Likely to change): ca54e54bd372036deca5268a0f9d05a6a3c89b0b

PatchWorks
http://patchwork.kernel.org/patch/81963/

Git (Likely to change, and takes a while to get mirrored)
http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=commit;h=ca54e54bd372036deca5268a0f9d05a6a3c89b0b


--
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/6] omap i2c init fix and trivial board changes for 2.6.34

2010-02-25 Thread Tony Lindgren
Hi all,

Getting into fixes mode here. Still found few more trivial board
related patches that should go into this merge window.

Regards,

Tony


---

Ajay Kumar Gupta (2):
  AM35x: Add missing GPIO mux config for EHCI port
  AM35x: Enable OMAP_MUX in defconfig

Jarkko Nikula (1):
  omap: i2c: Fix muxing for command line enabled bus

Sriram (2):
  AM3517 EVM: Enable I2C support
  AM3517EVM : correct typo - tca6416 mispelt as tca6516

manjugk manjugk (1):
  Zoom3: Defconfig update


 arch/arm/configs/am3517_evm_defconfig |   43 +++--
 arch/arm/configs/omap_zoom3_defconfig |6 ++---
 arch/arm/mach-omap1/i2c.c |6 +
 arch/arm/mach-omap2/board-am3517evm.c |   15 +++-
 arch/arm/mach-omap2/i2c.c |6 +
 arch/arm/plat-omap/i2c.c  |   10 ++--
 arch/arm/plat-omap/include/plat/i2c.h |5 ++--
 7 files changed, 65 insertions(+), 26 deletions(-)

-- 
Signature
--
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/6] omap: i2c: Fix muxing for command line enabled bus

2010-02-25 Thread Tony Lindgren
From: Jarkko Nikula jhnik...@gmail.com

The commit b63128e81214cc2db2995d690438055c26d213a5 broke the pin muxing
for I2C busses that are enabled from the kernel command line.

Fix this by defining the board registration function omap_register_i2c_bus
in common platform code as it was before but keep the muxing in architecture
dependent files.

Signed-off-by: Jarkko Nikula jhnik...@gmail.com
Signed-off-by: Tony Lindgren t...@atomide.com
---
 arch/arm/mach-omap1/i2c.c |6 +-
 arch/arm/mach-omap2/i2c.c |6 +-
 arch/arm/plat-omap/i2c.c  |   10 --
 arch/arm/plat-omap/include/plat/i2c.h |5 ++---
 4 files changed, 12 insertions(+), 15 deletions(-)

diff --git a/arch/arm/mach-omap1/i2c.c b/arch/arm/mach-omap1/i2c.c
index 1bf4735..5446c99 100644
--- a/arch/arm/mach-omap1/i2c.c
+++ b/arch/arm/mach-omap1/i2c.c
@@ -23,9 +23,7 @@
 #include plat/mux.h
 #include plat/cpu.h
 
-int __init omap_register_i2c_bus(int bus_id, u32 clkrate,
- struct i2c_board_info const *info,
- unsigned len)
+void __init omap1_i2c_mux_pins(int bus_id)
 {
if (cpu_is_omap7xx()) {
omap_cfg_reg(I2C_7XX_SDA);
@@ -34,6 +32,4 @@ int __init omap_register_i2c_bus(int bus_id, u32 clkrate,
omap_cfg_reg(I2C_SDA);
omap_cfg_reg(I2C_SCL);
}
-
-   return omap_plat_register_i2c_bus(bus_id, clkrate, info, len);
 }
diff --git a/arch/arm/mach-omap2/i2c.c b/arch/arm/mach-omap2/i2c.c
index 789ca8c..7951ae1 100644
--- a/arch/arm/mach-omap2/i2c.c
+++ b/arch/arm/mach-omap2/i2c.c
@@ -25,9 +25,7 @@
 
 #include mux.h
 
-int __init omap_register_i2c_bus(int bus_id, u32 clkrate,
- struct i2c_board_info const *info,
- unsigned len)
+void __init omap2_i2c_mux_pins(int bus_id)
 {
if (cpu_is_omap24xx()) {
const int omap24xx_pins[][2] = {
@@ -51,6 +49,4 @@ int __init omap_register_i2c_bus(int bus_id, u32 clkrate,
sprintf(mux_name, i2c%i_sda.i2c%i_sda, bus_id, bus_id);
omap_mux_init_signal(mux_name, OMAP_PIN_INPUT);
}
-
-   return omap_plat_register_i2c_bus(bus_id, clkrate, info, len);
 }
diff --git a/arch/arm/plat-omap/i2c.c b/arch/arm/plat-omap/i2c.c
index 96d2781..624e262 100644
--- a/arch/arm/plat-omap/i2c.c
+++ b/arch/arm/plat-omap/i2c.c
@@ -28,6 +28,7 @@
 #include linux/i2c.h
 #include mach/irqs.h
 #include plat/mux.h
+#include plat/i2c.h
 
 #define OMAP_I2C_SIZE  0x3f
 #define OMAP1_I2C_BASE 0xfffb3800
@@ -117,6 +118,11 @@ static int __init omap_i2c_add_bus(int bus_id)
res[1].start = irq;
}
 
+   if (cpu_class_is_omap1())
+   omap1_i2c_mux_pins(bus_id);
+   if (cpu_class_is_omap2())
+   omap2_i2c_mux_pins(bus_id);
+
return platform_device_register(pdev);
 }
 
@@ -169,7 +175,7 @@ out:
 subsys_initcall(omap_register_i2c_bus_cmdline);
 
 /**
- * omap_plat_register_i2c_bus - register I2C bus with device descriptors
+ * omap_register_i2c_bus - register I2C bus with device descriptors
  * @bus_id: bus id counting from number 1
  * @clkrate: clock rate of the bus in kHz
  * @info: pointer into I2C device descriptor table or NULL
@@ -177,7 +183,7 @@ subsys_initcall(omap_register_i2c_bus_cmdline);
  *
  * Returns 0 on success or an error code.
  */
-int __init omap_plat_register_i2c_bus(int bus_id, u32 clkrate,
+int __init omap_register_i2c_bus(int bus_id, u32 clkrate,
  struct i2c_board_info const *info,
  unsigned len)
 {
diff --git a/arch/arm/plat-omap/include/plat/i2c.h 
b/arch/arm/plat-omap/include/plat/i2c.h
index 585d9ca..87f6bf2 100644
--- a/arch/arm/plat-omap/include/plat/i2c.h
+++ b/arch/arm/plat-omap/include/plat/i2c.h
@@ -34,6 +34,5 @@ static inline int omap_register_i2c_bus(int bus_id, u32 
clkrate,
 }
 #endif
 
-int omap_plat_register_i2c_bus(int bus_id, u32 clkrate,
-struct i2c_board_info const *info,
-unsigned len);
+void __init omap1_i2c_mux_pins(int bus_id);
+void __init omap2_i2c_mux_pins(int bus_id);

--
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/6] Zoom3: Defconfig update

2010-02-25 Thread Tony Lindgren
From: manjugk manjugk manj...@ti.com

Some of the features are not enabled by default in zoom3 defconfig.

This patch enables:
 - MMC Resume
 - TWL4030 RTC driver
 - Debug File system

Build and boot tested on Zoom3 board.

Signed-off-by: Manjunatha GK manj...@ti.com
Signed-off-by: Tony Lindgren t...@atomide.com
---
 arch/arm/configs/omap_zoom3_defconfig |6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm/configs/omap_zoom3_defconfig 
b/arch/arm/configs/omap_zoom3_defconfig
index a3e3c82..ff8ac3d 100644
--- a/arch/arm/configs/omap_zoom3_defconfig
+++ b/arch/arm/configs/omap_zoom3_defconfig
@@ -1136,7 +1136,7 @@ CONFIG_TWL4030_USB=y
 # CONFIG_NOP_USB_XCEIV is not set
 CONFIG_MMC=y
 # CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_UNSAFE_RESUME is not set
+CONFIG_MMC_UNSAFE_RESUME=y
 
 #
 # MMC/SD/SDIO Card Drivers
@@ -1186,7 +1186,7 @@ CONFIG_RTC_INTF_DEV=y
 # CONFIG_RTC_DRV_PCF8563 is not set
 # CONFIG_RTC_DRV_PCF8583 is not set
 # CONFIG_RTC_DRV_M41T80 is not set
-# CONFIG_RTC_DRV_TWL4030 is not set
+CONFIG_RTC_DRV_TWL4030=y
 # CONFIG_RTC_DRV_S35390A is not set
 # CONFIG_RTC_DRV_FM3130 is not set
 # CONFIG_RTC_DRV_RX8581 is not set
@@ -1416,7 +1416,7 @@ CONFIG_FRAME_WARN=1024
 CONFIG_MAGIC_SYSRQ=y
 # CONFIG_STRIP_ASM_SYMS is not set
 # CONFIG_UNUSED_SYMBOLS is not set
-# CONFIG_DEBUG_FS is not set
+CONFIG_DEBUG_FS=y
 # CONFIG_HEADERS_CHECK is not set
 CONFIG_DEBUG_KERNEL=y
 # CONFIG_DEBUG_SHIRQ is not set

--
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 3/6] AM35x: Add missing GPIO mux config for EHCI port

2010-02-25 Thread Tony Lindgren
From: Ajay Kumar Gupta ajay.gu...@ti.com

Adding GPIO mux config used for PHY reset of EHCI port on base board.
We get below failure message without this patch,

hub 1-0:1.0: unable to enumerate USB device on port 1

Signed-off-by: Ajay Kumar Gupta ajay.gu...@ti.com
Signed-off-by: Tony Lindgren t...@atomide.com
---
 arch/arm/mach-omap2/board-am3517evm.c |3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/board-am3517evm.c 
b/arch/arm/mach-omap2/board-am3517evm.c
index e6b8967..aee0a02 100644
--- a/arch/arm/mach-omap2/board-am3517evm.c
+++ b/arch/arm/mach-omap2/board-am3517evm.c
@@ -301,6 +301,9 @@ static void __init am3517_evm_init(void)
ARRAY_SIZE(am3517_evm_devices));
 
omap_serial_init();
+
+   /* Configure GPIO for EHCI port */
+   omap_mux_init_gpio(57, OMAP_PIN_OUTPUT);
usb_ehci_init(ehci_pdata);
/* DSS */
am3517_evm_display_init();

--
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 4/6] AM35x: Enable OMAP_MUX in defconfig

2010-02-25 Thread Tony Lindgren
From: Ajay Kumar Gupta ajay.gu...@ti.com

Enabling OMAP_MUX in defconfig as it is required for EHCI to work.

Signed-off-by: Ajay Kumar Gupta ajay.gu...@ti.com
Signed-off-by: Tony Lindgren t...@atomide.com
---
 arch/arm/configs/am3517_evm_defconfig |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/arm/configs/am3517_evm_defconfig 
b/arch/arm/configs/am3517_evm_defconfig
index abe9966..edae1c2 100644
--- a/arch/arm/configs/am3517_evm_defconfig
+++ b/arch/arm/configs/am3517_evm_defconfig
@@ -201,7 +201,7 @@ CONFIG_ARCH_OMAP3=y
 # CONFIG_OMAP_DEBUG_POWERDOMAIN is not set
 # CONFIG_OMAP_DEBUG_CLOCKDOMAIN is not set
 CONFIG_OMAP_RESET_CLOCKS=y
-# CONFIG_OMAP_MUX is not set
+CONFIG_OMAP_MUX=y
 # CONFIG_OMAP_MCBSP is not set
 # CONFIG_OMAP_MBOX_FWK is not set
 # CONFIG_OMAP_MPU_TIMER is not set

--
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 5/6] AM3517 EVM: Enable I2C support

2010-02-25 Thread Tony Lindgren
From: Sriram s...@ti.com

There are multiple devices connected to I2C bus on AM3517EVM
(for instance audio codec, IO expander etc). Enable I2C support
in the default kernel configuration for AM3517 EVM.

Signed-off-by: Sriramakrishnan s...@ti.com
Signed-off-by: Tony Lindgren t...@atomide.com
---
 arch/arm/configs/am3517_evm_defconfig |   41 -
 1 files changed, 40 insertions(+), 1 deletions(-)

diff --git a/arch/arm/configs/am3517_evm_defconfig 
b/arch/arm/configs/am3517_evm_defconfig
index edae1c2..66a10b5 100644
--- a/arch/arm/configs/am3517_evm_defconfig
+++ b/arch/arm/configs/am3517_evm_defconfig
@@ -590,7 +590,46 @@ CONFIG_HW_RANDOM=y
 # CONFIG_R3964 is not set
 # CONFIG_RAW_DRIVER is not set
 # CONFIG_TCG_TPM is not set
-# CONFIG_I2C is not set
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_HELPER_AUTO=y
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_DESIGNWARE is not set
+# CONFIG_I2C_GPIO is not set
+# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_OMAP=y
+# CONFIG_I2C_SIMTEC is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_TAOS_EVM is not set
+# CONFIG_I2C_TINY_USB is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+# CONFIG_I2C_PCA_PLATFORM is not set
+# CONFIG_I2C_STUB is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_SENSORS_TSL2550 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
 # CONFIG_SPI is not set
 
 #

--
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 6/6] AM3517EVM : correct typo - tca6416 mispelt as tca6516

2010-02-25 Thread Tony Lindgren
From: Sriram s...@ti.com

Correct instances where tca6416 is misspelt as tca6516 in
the board-am3517evm file.

Signed-off-by: Sriramakrishnan s...@ti.com
Signed-off-by: Tony Lindgren t...@atomide.com
---
 arch/arm/mach-omap2/board-am3517evm.c |   12 ++--
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/arch/arm/mach-omap2/board-am3517evm.c 
b/arch/arm/mach-omap2/board-am3517evm.c
index aee0a02..70c1861 100644
--- a/arch/arm/mach-omap2/board-am3517evm.c
+++ b/arch/arm/mach-omap2/board-am3517evm.c
@@ -80,7 +80,7 @@ static void __init am3517_evm_rtc_init(void)
 static struct pca953x_platform_data am3517evm_gpio_expander_info_0 = {
.gpio_base  = OMAP_MAX_GPIO_LINES,
 };
-static struct i2c_board_info __initdata am3517evm_tca6516_info_0[] = {
+static struct i2c_board_info __initdata am3517evm_tca6416_info_0[] = {
{
I2C_BOARD_INFO(tca6416, 0x21),
.platform_data = am3517evm_gpio_expander_info_0,
@@ -94,7 +94,7 @@ static struct pca953x_platform_data 
am3517evm_ui_gpio_expander_info_1 = {
 static struct pca953x_platform_data am3517evm_ui_gpio_expander_info_2 = {
.gpio_base  = OMAP_MAX_GPIO_LINES + 32,
 };
-static struct i2c_board_info __initdata am3517evm_ui_tca6516_info[] = {
+static struct i2c_board_info __initdata am3517evm_ui_tca6416_info[] = {
{
I2C_BOARD_INFO(tca6416, 0x20),
.platform_data = am3517evm_ui_gpio_expander_info_1,
@@ -108,10 +108,10 @@ static struct i2c_board_info __initdata 
am3517evm_ui_tca6516_info[] = {
 static int __init am3517_evm_i2c_init(void)
 {
omap_register_i2c_bus(1, 400, NULL, 0);
-   omap_register_i2c_bus(2, 400, am3517evm_tca6516_info_0,
-   ARRAY_SIZE(am3517evm_tca6516_info_0));
-   omap_register_i2c_bus(3, 400, am3517evm_ui_tca6516_info,
-   ARRAY_SIZE(am3517evm_ui_tca6516_info));
+   omap_register_i2c_bus(2, 400, am3517evm_tca6416_info_0,
+   ARRAY_SIZE(am3517evm_tca6416_info_0));
+   omap_register_i2c_bus(3, 400, am3517evm_ui_tca6416_info,
+   ARRAY_SIZE(am3517evm_ui_tca6416_info));
 
return 0;
 }

--
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/4] USB: MUSB: Enable MUSB for OMAP4 in Kconfig

2010-02-25 Thread Olof Johansson
On Thu, Feb 25, 2010 at 10:48:34AM -0800, Tony Lindgren wrote:
 * Maulik Mankad x0082...@ti.com [100224 22:33]:
  This patch adds the OMAP4 Kconfig options for MUSB.
  
  Signed-off-by: Maulik Mankad x0082...@ti.com
  Cc: Felipe Balbi felipe.ba...@nokia.com
  Cc: Greg Kroah-Hartman gre...@suse.de
  Cc: David Brownell davi...@pacbell.net
  ---
  Index: mainline/drivers/usb/musb/Kconfig
  ===
  --- mainline.orig/drivers/usb/musb/Kconfig
  +++ mainline/drivers/usb/musb/Kconfig
  @@ -38,6 +38,7 @@ config USB_MUSB_SOC
  default y if ARCH_DAVINCI
  default y if ARCH_OMAP2430
  default y if ARCH_OMAP34XX
  +   default y if ARCH_OMAP4
  default y if (BF54x  !BF544)
  default y if (BF52x  !BF522  !BF523)
   
  @@ -50,6 +51,9 @@ comment OMAP 243x high speed USB suppor
   comment OMAP 343x high speed USB support
  depends on USB_MUSB_HDRC  ARCH_OMAP34XX
   
  +comment OMAP 44xx high speed USB support
  +   depends on USB_MUSB_HDRC  ARCH_OMAP4
  +
   comment Blackfin high speed USB Support
  depends on USB_MUSB_HDRC  ((BF54x  !BF544) || (BF52x  !BF522  
  !BF523))
   
  @@ -153,7 +157,7 @@ config MUSB_PIO_ONLY
   config USB_INVENTRA_DMA
  bool
  depends on USB_MUSB_HDRC  !MUSB_PIO_ONLY
  -   default ARCH_OMAP2430 || ARCH_OMAP34XX || BLACKFIN
  +   default ARCH_OMAP2430 || ARCH_OMAP34XX || BLACKFIN || ARCH_OMAP4
  help
Enable DMA transfers using Mentor's engine.
 
 FYI, this needs to be updated as I have patches queued up
 to replace ARCH_OMAP34XX and with ARCH_OMAP3. You might
 want to check all these patches for that and make sure
 they build and work with the omap-for-linus branch.

Adding more and more depends also doesn't scale well. It's time for
someone to switch the test around, add a ARCH_HAS_MUSB, select it on
the platforms that has it and make the config option depend on that,
similar to how (some) platforms to EHCI today.

(i.e. if there's a janitor out there reading this, feel free to go ahead
and do it. :-)


-Olof
--
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] musb: fix power field to hold all possible values

2010-02-25 Thread Gupta, Ajay Kumar
Hi,
 -Original Message-
 From: Tony Lindgren [mailto:t...@atomide.com]
 Sent: Friday, February 26, 2010 3:50 AM
 To: Felipe Balbi
 Cc: Gupta, Ajay Kumar; linux-omap@vger.kernel.org
 Subject: Re: [PATCH] musb: fix power field to hold all possible values
 
 * Felipe Balbi m...@felipebalbi.com [100223 12:30]:
  Hi,
 
  On Tue, Feb 23, 2010 at 08:01:50PM +0530, Gupta, Ajay Kumar wrote:
   Board files are providing the actual mA and it is getting divided in
   Arch/arm/mach-omap2/usb-musb.c. See the code snippet below,
  
   musb_plat.clock = ick;
   musb_plat.board_data = board_data;
   -- musb_plat.power = board_data-power  1;
   musb_plat.mode = board_data-mode;
  
   So we need to either take this patch or fix this logic of dividing the
 mA
   supplied from all omap board files.
 
  that's true, had missed that. Sorry.
 
 Hmm, I believe this value is also divided somewhere else but
 I forgot where. In any case, when making changes like this
 please run the standard USB tests for gadgets and OTG.
 
 Otherwise things are guaranteed to break for USB certs :)

Tony,

Currently the flow is,

1. Actual mA provided in all omap board files.
2. mA gets divided in usb-musb.c
3. mA multiplied by two in driver/usb/musb/musb_core.c to pass it to
   hcd-power_budget.

So the current patch fixes the logic in step [1] above to fill mA value
Above 255.

-Ajay
 
 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] omap: i2c: Add i2c support on omap4 platform

2010-02-25 Thread Shilimkar, Santosh
Tony,
 -Original Message-
 From: Tony Lindgren [mailto:t...@atomide.com]
 Sent: Friday, February 26, 2010 3:17 AM
 To: Shilimkar, Santosh
 Cc: ben-li...@fluff.org; linux-omap@vger.kernel.org; 
 linux-...@vger.kernel.org; Syed, Rafiuddin; Cory
 Maccarrone
 Subject: Re: [PATCH] omap: i2c: Add i2c support on omap4 platform
 
 * Shilimkar, Santosh santosh.shilim...@ti.com [100222 21:58]:
  Ben,
  Did you happen to look at this ?
 
 Santosh, can you please also please clarify which omaps this
 patch has been tested on?
 
This patch is tested on OMAP3430 SDP and OMAP4430 SDP with regular defconfig
builds and multi-omap build.
 
   -Original Message-
   From: Shilimkar, Santosh
   Sent: Friday, February 19, 2010 10:03 PM
   To: ben-li...@fluff.org
   Cc: linux-omap@vger.kernel.org; linux-...@vger.kernel.org; Shilimkar, 
   Santosh; Syed, Rafiuddin;
 Cory
   Maccarrone
   Subject: [PATCH] omap: i2c: Add i2c support on omap4 platform
  
   This patch is rebased version of earlier post to add I2C
   driver support to OMAP4 platform. On OMAP4, all
   I2C register address offsets are changed from OMAP1/2/3 I2C.
   In order to not have #ifdef's at various places in code,
   as well as to support multi-OMAP build, an array is created
   to hold the register addresses with it's offset.
  
   This patch was submitted, reviewed and acked on mailing list
   already. For more details refer below link
   http://www.mail-archive.com/linux-...@vger.kernel.org/msg02281.html
  
   This updated verion has a depedancy on Add support for 16-bit registers
   posted on linux-omap. Below is the patch-works link for the same
  
   http://patchwork.kernel.org/patch/72295/
  
   Signed-off-by: Syed Rafiuddin rafiuddin.s...@ti.com
   Signed-off-by: Santosh Shilimkar santosh.shilim...@ti.com
   Acked-by: Kevin Hilman khil...@deeprootsystems.com
   Reviewed-by: Paul Walmsley p...@pwsan.com
   Reviewed-by: Tony Lindgren t...@atomide.com
   Cc: Ben Dooks ben-li...@fluff.org
   Cc: Cory Maccarrone darkstar6...@gmail.com
   ---
drivers/i2c/busses/i2c-omap.c |  146 
   -
1 files changed, 114 insertions(+), 32 deletions(-)
  
   diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
   index 9c3ce4d..7c15496 100644
   --- a/drivers/i2c/busses/i2c-omap.c
   +++ b/drivers/i2c/busses/i2c-omap.c
   @@ -44,29 +44,37 @@
/* I2C controller revisions present on specific hardware */
#define OMAP_I2C_REV_ON_2430 0x36
#define OMAP_I2C_REV_ON_3430 0x3C
   +#define OMAP_I2C_REV_ON_4430 0x40
  
/* timeout waiting for the controller to respond */
#define OMAP_I2C_TIMEOUT (msecs_to_jiffies(1000))
  
   -#define OMAP_I2C_REV_REG 0x00
   -#define OMAP_I2C_IE_REG  0x01
   -#define OMAP_I2C_STAT_REG0x02
   -#define OMAP_I2C_IV_REG  0x03
/* For OMAP3 I2C_IV has changed to I2C_WE (wakeup enable) */
   -#define OMAP_I2C_WE_REG  0x03
   -#define OMAP_I2C_SYSS_REG0x04
   -#define OMAP_I2C_BUF_REG 0x05
   -#define OMAP_I2C_CNT_REG 0x06
   -#define OMAP_I2C_DATA_REG0x07
   -#define OMAP_I2C_SYSC_REG0x08
   -#define OMAP_I2C_CON_REG 0x09
   -#define OMAP_I2C_OA_REG  0x0a
   -#define OMAP_I2C_SA_REG  0x0b
   -#define OMAP_I2C_PSC_REG 0x0c
   -#define OMAP_I2C_SCLL_REG0x0d
   -#define OMAP_I2C_SCLH_REG0x0e
   -#define OMAP_I2C_SYSTEST_REG 0x0f
   -#define OMAP_I2C_BUFSTAT_REG 0x10
   +enum {
   + OMAP_I2C_REV_REG = 0,
   + OMAP_I2C_IE_REG,
   + OMAP_I2C_STAT_REG,
   + OMAP_I2C_IV_REG,
   + OMAP_I2C_WE_REG,
   + OMAP_I2C_SYSS_REG,
   + OMAP_I2C_BUF_REG,
   + OMAP_I2C_CNT_REG,
   + OMAP_I2C_DATA_REG,
   + OMAP_I2C_SYSC_REG,
   + OMAP_I2C_CON_REG,
   + OMAP_I2C_OA_REG,
   + OMAP_I2C_SA_REG,
   + OMAP_I2C_PSC_REG,
   + OMAP_I2C_SCLL_REG,
   + OMAP_I2C_SCLH_REG,
   + OMAP_I2C_SYSTEST_REG,
   + OMAP_I2C_BUFSTAT_REG,
   + OMAP_I2C_REVNB_LO,
   + OMAP_I2C_REVNB_HI,
   + OMAP_I2C_IRQSTATUS_RAW,
   + OMAP_I2C_IRQENABLE_SET,
   + OMAP_I2C_IRQENABLE_CLR,
   +};
  
/* I2C Interrupt Enable Register (OMAP_I2C_IE): */
#define OMAP_I2C_IE_XDR  (1  14)   /* TX Buffer drain int 
   enable */
   @@ -169,6 +177,7 @@ struct omap_i2c_dev {
 u32 speed;  /* Speed of bus in Khz */
 u16 cmd_err;
 u8  *buf;
   + u8  *regs;
 size_t  buf_len;
 struct i2c_adapter  adapter;
 u8  fifo_size;  /* use as flag and value
   @@ -187,15 +196,64 @@ struct omap_i2c_dev {
 u16 westate;
};
  
   +const static u8 reg_map[] = {
   + [OMAP_I2C_REV_REG] = 0x00,
   + [OMAP_I2C_IE_REG] = 0x01,
   + [OMAP_I2C_STAT_REG] = 0x02,
   + [OMAP_I2C_IV_REG] 

RE: [PATCH 1/2 V3] OMAP: DSS: Add display board file for zoom boards

2010-02-25 Thread Y, Kishore
 -Original Message-
 From: Hiremath, Vaibhav
 Sent: Thursday, February 25, 2010 11:53 PM
 To: Hiremath, Vaibhav; Y, Kishore; Tomi Valkeinen
 Cc: linux-omap@vger.kernel.org
 Subject: RE: [PATCH 1/2 V3] OMAP: DSS: Add display board file for zoom
 boards
 
 
  -Original Message-
  From: Hiremath, Vaibhav
  Sent: Thursday, February 25, 2010 11:49 PM
  To: Y, Kishore; Tomi Valkeinen
  Cc: linux-omap@vger.kernel.org
  Subject: RE: [PATCH 1/2 V3] OMAP: DSS: Add display board file for zoom
  boards
 
 
   -Original Message-
   From: linux-omap-ow...@vger.kernel.org [mailto:linux-omap-
   ow...@vger.kernel.org] On Behalf Of Y, Kishore
   Sent: Thursday, February 25, 2010 9:15 PM
   To: Tomi Valkeinen
   Cc: linux-omap@vger.kernel.org
   Subject: [PATCH 1/2 V3] OMAP: DSS: Add display board file for zoom
 boards
  
   From: Kishore Y kishor...@ti.com
  
   board-zoom-display.c added as a common file for display fucntionality
   on boards zoom2, zoom3 and 3630sdp
  
   Signed-off-by: Mukund Mittal mmit...@ti.com
   Signed-off-by: Kishore Y kishor...@ti.com
   Reviewed-by: Gadiyar, Anand gadi...@ti.com
   ---
arch/arm/mach-omap2/Makefile  |3 +
arch/arm/mach-omap2/board-zoom-display.c  |  185
   +
arch/arm/mach-omap2/board-zoom-peripherals.c  |   36 +
arch/arm/mach-omap2/include/mach/board-zoom.h |3 +
4 files changed, 227 insertions(+), 0 deletions(-)
create mode 100644 arch/arm/mach-omap2/board-zoom-display.c
  
   diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-
 omap2/Makefile
   index b32678b..3dbe694 100644
   --- a/arch/arm/mach-omap2/Makefile
   +++ b/arch/arm/mach-omap2/Makefile
   @@ -91,14 +91,17 @@ obj-$(CONFIG_MACH_NOKIA_RX51) += board-
 rx51.o
   \
board-rx51-peripherals.o \
mmc-twl4030.o
obj-$(CONFIG_MACH_OMAP_ZOOM2)+= board-zoom2.o \
   +board-zoom-display.o \
board-zoom-peripherals.o \
mmc-twl4030.o \
board-zoom-debugboard.o
obj-$(CONFIG_MACH_OMAP_ZOOM3)+= board-zoom3.o \
   +board-zoom-display.o \
board-zoom-peripherals.o \
mmc-twl4030.o \
board-zoom-debugboard.o
obj-$(CONFIG_MACH_OMAP_3630SDP)  += board-3630sdp.o \
   +board-zoom-display.o \
board-zoom-peripherals.o \
mmc-twl4030.o
obj-$(CONFIG_MACH_CM_T35)+= board-cm-t35.o \
   diff --git a/arch/arm/mach-omap2/board-zoom-display.c b/arch/arm/mach-
   omap2/board-zoom-display.c
   new file mode 100644
   index 000..fc5851f
   --- /dev/null
   +++ b/arch/arm/mach-omap2/board-zoom-display.c
   @@ -0,0 +1,185 @@
   +/*
   + * Copyright (C) 2009 Texas Instruments Inc.
   + *
  [Hiremath, Vaibhav] 2010???
 
My bad. Manjunath pointed out same thing in earlier version.
Somehow I missed it again. I will correct this.

   + * Modified from mach-omap2/board-zoom-peripherals.c
   + *
   + * This program is free software; you can redistribute it and/or
 modify
   + * it under the terms of the GNU General Public License version 2 as
   + * published by the Free Software Foundation.
   + */
   +
   +#include linux/kernel.h
   +#include linux/init.h
   +#include linux/platform_device.h
   +#include linux/gpio.h
   +#include linux/i2c/twl.h
   +#include linux/spi/spi.h
   +#include plat/common.h
   +#include plat/control.h
   +#include plat/mcspi.h
   +#include plat/display.h
   +
   +#define LCD_PANEL_ENABLE_GPIO(7 + OMAP_MAX_GPIO_LINES)
   +#define LCD_PANEL_RESET_GPIO_PROD96
   +#define LCD_PANEL_RESET_GPIO_PILOT   55
   +#define LCD_PANEL_QVGA_GPIO  56
   +#define TV_PANEL_ENABLE_GPIO 95
   +
   +struct zoom_dss_board_info {
   + int gpio_flag;
   +};
   +
   +static void zoom_lcd_tv_panel_init(void)
   +{
   + int ret;
   + unsigned char lcd_panel_reset_gpio;
   +
   + lcd_panel_reset_gpio = (omap_rev()  OMAP3430_REV_ES3_0) ?
   + LCD_PANEL_RESET_GPIO_PROD :
   + LCD_PANEL_RESET_GPIO_PILOT;
   +
   + ret = gpio_request(lcd_panel_reset_gpio, lcd reset);
   + if (ret) {
   + pr_err(Failed to get LCD reset GPIO (gpio%d)\n,
   + lcd_panel_reset_gpio);
   + return;
   + }
   + gpio_direction_output(lcd_panel_reset_gpio, 1);
   +
   + ret = gpio_request(LCD_PANEL_QVGA_GPIO, lcd qvga);
   + if (ret) {
   + pr_err(Failed to get LCD_PANEL_QVGA_GPIO (gpio%d).\n,
   + LCD_PANEL_QVGA_GPIO);
   + goto err0;
   + }
   + 

RE: [PATCH 1/2 V3] OMAP: DSS: Add display board file for zoom boards

2010-02-25 Thread Hiremath, Vaibhav
 -Original Message-
 From: Y, Kishore
 Sent: Friday, February 26, 2010 10:59 AM
 To: Hiremath, Vaibhav; Tomi Valkeinen
 Cc: linux-omap@vger.kernel.org
 Subject: RE: [PATCH 1/2 V3] OMAP: DSS: Add display board file for zoom
 boards
 
  -Original Message-
  From: Hiremath, Vaibhav
  Sent: Thursday, February 25, 2010 11:53 PM
  To: Hiremath, Vaibhav; Y, Kishore; Tomi Valkeinen
  Cc: linux-omap@vger.kernel.org
  Subject: RE: [PATCH 1/2 V3] OMAP: DSS: Add display board file for zoom
  boards
 
 
   -Original Message-
   From: Hiremath, Vaibhav
   Sent: Thursday, February 25, 2010 11:49 PM
   To: Y, Kishore; Tomi Valkeinen
   Cc: linux-omap@vger.kernel.org
   Subject: RE: [PATCH 1/2 V3] OMAP: DSS: Add display board file for zoom
   boards
  
  
-Original Message-
From: linux-omap-ow...@vger.kernel.org [mailto:linux-omap-
ow...@vger.kernel.org] On Behalf Of Y, Kishore
Sent: Thursday, February 25, 2010 9:15 PM
To: Tomi Valkeinen
Cc: linux-omap@vger.kernel.org
Subject: [PATCH 1/2 V3] OMAP: DSS: Add display board file for zoom
  boards
   
From: Kishore Y kishor...@ti.com
   
board-zoom-display.c added as a common file for display fucntionality
on boards zoom2, zoom3 and 3630sdp
   
Signed-off-by: Mukund Mittal mmit...@ti.com
Signed-off-by: Kishore Y kishor...@ti.com
Reviewed-by: Gadiyar, Anand gadi...@ti.com
---
 arch/arm/mach-omap2/Makefile  |3 +
 arch/arm/mach-omap2/board-zoom-display.c  |  185
+
 arch/arm/mach-omap2/board-zoom-peripherals.c  |   36 +
 arch/arm/mach-omap2/include/mach/board-zoom.h |3 +
 4 files changed, 227 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/mach-omap2/board-zoom-display.c
   
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-
  omap2/Makefile
index b32678b..3dbe694 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -91,14 +91,17 @@ obj-$(CONFIG_MACH_NOKIA_RX51)   += 
board-
  rx51.o
\
   board-rx51-peripherals.o \
   mmc-twl4030.o
 obj-$(CONFIG_MACH_OMAP_ZOOM2)  += board-zoom2.o \
+  board-zoom-display.o \
   board-zoom-peripherals.o \
   mmc-twl4030.o \
   board-zoom-debugboard.o
 obj-$(CONFIG_MACH_OMAP_ZOOM3)  += board-zoom3.o \
+  board-zoom-display.o \
   board-zoom-peripherals.o \
   mmc-twl4030.o \
   board-zoom-debugboard.o
 obj-$(CONFIG_MACH_OMAP_3630SDP)+= board-3630sdp.o \
+  board-zoom-display.o \
   board-zoom-peripherals.o \
   mmc-twl4030.o
 obj-$(CONFIG_MACH_CM_T35)  += board-cm-t35.o \
diff --git a/arch/arm/mach-omap2/board-zoom-display.c b/arch/arm/mach-
omap2/board-zoom-display.c
new file mode 100644
index 000..fc5851f
--- /dev/null
+++ b/arch/arm/mach-omap2/board-zoom-display.c
@@ -0,0 +1,185 @@
+/*
+ * Copyright (C) 2009 Texas Instruments Inc.
+ *
   [Hiremath, Vaibhav] 2010???
  
 My bad. Manjunath pointed out same thing in earlier version.
 Somehow I missed it again. I will correct this.
 
+ * Modified from mach-omap2/board-zoom-peripherals.c
+ *
+ * This program is free software; you can redistribute it and/or
  modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include linux/kernel.h
+#include linux/init.h
+#include linux/platform_device.h
+#include linux/gpio.h
+#include linux/i2c/twl.h
+#include linux/spi/spi.h
+#include plat/common.h
+#include plat/control.h
+#include plat/mcspi.h
+#include plat/display.h
+
+#define LCD_PANEL_ENABLE_GPIO  (7 + OMAP_MAX_GPIO_LINES)
+#define LCD_PANEL_RESET_GPIO_PROD  96
+#define LCD_PANEL_RESET_GPIO_PILOT 55
+#define LCD_PANEL_QVGA_GPIO56
+#define TV_PANEL_ENABLE_GPIO   95
+
+struct zoom_dss_board_info {
+   int gpio_flag;
+};
+
+static void zoom_lcd_tv_panel_init(void)
+{
+   int ret;
+   unsigned char lcd_panel_reset_gpio;
+
+   lcd_panel_reset_gpio = (omap_rev()  OMAP3430_REV_ES3_0) ?
+   LCD_PANEL_RESET_GPIO_PROD :
+   LCD_PANEL_RESET_GPIO_PILOT;
+
+   ret = 

RE: [PATCH 1/2 V3] OMAP: DSS: Add display board file for zoom boards

2010-02-25 Thread Y, Kishore
 -Original Message-
 From: Hiremath, Vaibhav
 Sent: Friday, February 26, 2010 11:37 AM
 To: Y, Kishore; Tomi Valkeinen
 Cc: linux-omap@vger.kernel.org
 Subject: RE: [PATCH 1/2 V3] OMAP: DSS: Add display board file for zoom
 boards

  -Original Message-
  From: Y, Kishore
  Sent: Friday, February 26, 2010 10:59 AM
  To: Hiremath, Vaibhav; Tomi Valkeinen
  Cc: linux-omap@vger.kernel.org
  Subject: RE: [PATCH 1/2 V3] OMAP: DSS: Add display board file for zoom
  boards
 
   -Original Message-
   From: Hiremath, Vaibhav
   Sent: Thursday, February 25, 2010 11:53 PM
   To: Hiremath, Vaibhav; Y, Kishore; Tomi Valkeinen
   Cc: linux-omap@vger.kernel.org
   Subject: RE: [PATCH 1/2 V3] OMAP: DSS: Add display board file for zoom
   boards
  
  
-Original Message-
From: Hiremath, Vaibhav
Sent: Thursday, February 25, 2010 11:49 PM
To: Y, Kishore; Tomi Valkeinen
Cc: linux-omap@vger.kernel.org
Subject: RE: [PATCH 1/2 V3] OMAP: DSS: Add display board file for
 zoom
boards
   
   
 -Original Message-
 From: linux-omap-ow...@vger.kernel.org [mailto:linux-omap-
 ow...@vger.kernel.org] On Behalf Of Y, Kishore
 Sent: Thursday, February 25, 2010 9:15 PM
 To: Tomi Valkeinen
 Cc: linux-omap@vger.kernel.org
 Subject: [PATCH 1/2 V3] OMAP: DSS: Add display board file for zoom
   boards

 From: Kishore Y kishor...@ti.com

 board-zoom-display.c added as a common file for display
 fucntionality
 on boards zoom2, zoom3 and 3630sdp

 Signed-off-by: Mukund Mittal mmit...@ti.com
 Signed-off-by: Kishore Y kishor...@ti.com
 Reviewed-by: Gadiyar, Anand gadi...@ti.com
 ---
  arch/arm/mach-omap2/Makefile  |3 +
  arch/arm/mach-omap2/board-zoom-display.c  |  185
 +
  arch/arm/mach-omap2/board-zoom-peripherals.c  |   36 +
  arch/arm/mach-omap2/include/mach/board-zoom.h |3 +
  4 files changed, 227 insertions(+), 0 deletions(-)
  create mode 100644 arch/arm/mach-omap2/board-zoom-display.c

 diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-
   omap2/Makefile
 index b32678b..3dbe694 100644
 --- a/arch/arm/mach-omap2/Makefile
 +++ b/arch/arm/mach-omap2/Makefile
 @@ -91,14 +91,17 @@ obj-$(CONFIG_MACH_NOKIA_RX51) +=
 board-
   rx51.o
 \
  board-rx51-peripherals.o \
  mmc-twl4030.o
  obj-$(CONFIG_MACH_OMAP_ZOOM2)+= board-zoom2.o \
 +board-zoom-display.o \
  board-zoom-peripherals.o \
  mmc-twl4030.o \
  board-zoom-debugboard.o
  obj-$(CONFIG_MACH_OMAP_ZOOM3)+= board-zoom3.o \
 +board-zoom-display.o \
  board-zoom-peripherals.o \
  mmc-twl4030.o \
  board-zoom-debugboard.o
  obj-$(CONFIG_MACH_OMAP_3630SDP)  += board-3630sdp.o \
 +board-zoom-display.o \
  board-zoom-peripherals.o \
  mmc-twl4030.o
  obj-$(CONFIG_MACH_CM_T35)+= board-cm-t35.o \
 diff --git a/arch/arm/mach-omap2/board-zoom-display.c
 b/arch/arm/mach-
 omap2/board-zoom-display.c
 new file mode 100644
 index 000..fc5851f
 --- /dev/null
 +++ b/arch/arm/mach-omap2/board-zoom-display.c
 @@ -0,0 +1,185 @@
 +/*
 + * Copyright (C) 2009 Texas Instruments Inc.
 + *
[Hiremath, Vaibhav] 2010???
   
  My bad. Manjunath pointed out same thing in earlier version.
  Somehow I missed it again. I will correct this.
 
 + * Modified from mach-omap2/board-zoom-peripherals.c
 + *
 + * This program is free software; you can redistribute it and/or
   modify
 + * it under the terms of the GNU General Public License version 2
 as
 + * published by the Free Software Foundation.
 + */
 +
 +#include linux/kernel.h
 +#include linux/init.h
 +#include linux/platform_device.h
 +#include linux/gpio.h
 +#include linux/i2c/twl.h
 +#include linux/spi/spi.h
 +#include plat/common.h
 +#include plat/control.h
 +#include plat/mcspi.h
 +#include plat/display.h
 +
 +#define LCD_PANEL_ENABLE_GPIO(7 + 
 OMAP_MAX_GPIO_LINES)
 +#define LCD_PANEL_RESET_GPIO_PROD96
 +#define LCD_PANEL_RESET_GPIO_PILOT   55
 +#define LCD_PANEL_QVGA_GPIO  56
 +#define TV_PANEL_ENABLE_GPIO 95
 +
 +struct zoom_dss_board_info {
 + int gpio_flag;
 +};
 +
 +static 

RE: [PATCH-V6 2/2] OMAP2/3: Add V4L2 DSS driver support in device.c

2010-02-25 Thread Hiremath, Vaibhav
 -Original Message-
 From: Tony Lindgren [mailto:t...@atomide.com]
 Sent: Friday, February 26, 2010 3:44 AM
 To: Hiremath, Vaibhav
 Cc: linux-me...@vger.kernel.org; linux-omap@vger.kernel.org;
 hverk...@xs4all.nl
 Subject: Re: [PATCH-V6 2/2] OMAP2/3: Add V4L2 DSS driver support in device.c
 
 * hvaib...@ti.com hvaib...@ti.com [100223 01:25]:
  From: Vaibhav Hiremath hvaib...@ti.com
 
 
  Signed-off-by: Vaibhav Hiremath hvaib...@ti.com
  ---
   arch/arm/plat-omap/devices.c |   29 +
   1 files changed, 29 insertions(+), 0 deletions(-)
 
  diff --git a/arch/arm/plat-omap/devices.c b/arch/arm/plat-omap/devices.c
  index 30b5db7..64f2a3a 100644
  --- a/arch/arm/plat-omap/devices.c
  +++ b/arch/arm/plat-omap/devices.c
  @@ -357,6 +357,34 @@ static void omap_init_wdt(void)
   static inline void omap_init_wdt(void) {}
   #endif
 
  +/*---
 */
  +
  +#if defined(CONFIG_VIDEO_OMAP2_VOUT) || \
  +   defined(CONFIG_VIDEO_OMAP2_VOUT_MODULE)
  +#if defined (CONFIG_FB_OMAP2) || defined (CONFIG_FB_OMAP2_MODULE)
  +static struct resource omap_vout_resource[3 - CONFIG_FB_OMAP2_NUM_FBS] =
 {
  +};
  +#else
  +static struct resource omap_vout_resource[2] = {
  +};
  +#endif
  +
  +static struct platform_device omap_vout_device = {
  +   .name   = omap_vout,
  +   .num_resources  = ARRAY_SIZE(omap_vout_resource),
  +   .resource   = omap_vout_resource[0],
  +   .id = -1,
  +};
  +static void omap_init_vout(void)
  +{
  +   (void) platform_device_register(omap_vout_device);
  +}
 
 Allocation can still fail here, please handle the results.
 
[Hiremath, Vaibhav] Ok, will do that.

  +#else
  +static inline void omap_init_vout(void) {}
  +#endif
  +
  +/*---
 */
  +
   /*
* This gets called after board-specific INIT_MACHINE, and initializes
 most
* on-chip peripherals accessible on this board (except for few like
 USB):
  @@ -387,6 +415,7 @@ static int __init omap_init_devices(void)
  omap_init_rng();
  omap_init_uwire();
  omap_init_wdt();
  +   omap_init_vout();
  return 0;
   }
   arch_initcall(omap_init_devices);
 
 Looks like this should be in mach-omap2/devices.c instead if it's all
 omap2/3/4 specific.
 
[Hiremath, Vaibhav] For sure it's being used for OMAP2/3 and if I understand 
correctly OMAP4 also uses it.

Thanks,
Vaibhav

 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