Re: [PATCH] omap_hsmmc: Fix for the db clock failure message

2009-08-18 Thread Adrian Hunter

Madhusudhan Chikkature wrote:

This patch applies on top of the series [PATCH V2 0/32] mmc and omap_hsmmc
patches posted by Adrian Hunter.

-



This patch removes the error message Failed to get debounce clock.. printed
out by the HSMMC driver on OMAP3430. The debounce clock needs to be handled only
for OMAP2430.


I have a suggestion that may make it tidier.

What about renaming host-dbclk_enabled to host-got_dbclk and leaving it alone
after it is set in the probe function.  Then create a macro to use in 
conditions:

#define have_dbclk(host) (cpu_is_omap2430()  (host)-got_dbclk)

So the following:

-   if (host-dbclk_enabled)
+   if (cpu_is_omap2430()  host-dbclk_enabled) {
clk_disable(host-dbclk);
+   host-dbclk_enabled = 0;
+   }

becomes:

-   if (host-dbclk_enabled)
+   if (have_dbclk(host))
clk_disable(host-dbclk);

Or alternatively, forget the macro, and let the code always compile in:

-   if (host-dbclk_enabled)
+   if (host-got_dbclk)
clk_disable(host-dbclk);




Signed-off-by: Madhusudhan Chikkature madhu...@ti.com
---
 drivers/mmc/host/omap_hsmmc.c |   63 +++---
 1 file changed, 41 insertions(+), 22 deletions(-)

Index: linux-2.6/drivers/mmc/host/omap_hsmmc.c
===
--- linux-2.6.orig/drivers/mmc/host/omap_hsmmc.c
+++ linux-2.6/drivers/mmc/host/omap_hsmmc.c
@@ -735,8 +735,10 @@ static int omap_hsmmc_switch_opcond(stru
/* Disable the clocks */
clk_disable(host-fclk);
clk_disable(host-iclk);
-   if (host-dbclk_enabled)
+   if (cpu_is_omap2430()  host-dbclk_enabled) {
clk_disable(host-dbclk);
+   host-dbclk_enabled = 0;
+   }

/* Turn the power off */
ret = mmc_slot(host).set_power(host-dev, host-slot_id, 0, 0);
@@ -746,9 +748,14 @@ static int omap_hsmmc_switch_opcond(stru
ret = mmc_slot(host).set_power(host-dev, host-slot_id, 1,
   vdd);
clk_enable(host-iclk);
-   if (host-dbclk_enabled)
-   clk_enable(host-dbclk);
clk_enable(host-fclk);
+   if (cpu_is_omap2430()  !host-dbclk_enabled) {
+   if (clk_enable(host-dbclk) != 0)
+   dev_dbg(mmc_dev(host-mmc), Enabling debounce
+clk failed\n);
+   else
+   host-dbclk_enabled = 1;
+   }

if (ret != 0)
goto err;
@@ -1697,18 +1704,21 @@ static int __init omap_hsmmc_probe(struc
goto err1;
}

-   host-dbclk = clk_get(pdev-dev, mmchsdb_fck);
-   /*
-* MMC can still work without debounce clock.
-*/
-   if (IS_ERR(host-dbclk))
-   dev_warn(mmc_dev(host-mmc), Failed to get debounce clock\n);
-   else
-   if (clk_enable(host-dbclk) != 0)
-   dev_dbg(mmc_dev(host-mmc), Enabling debounce
-clk failed\n);
+   if (cpu_is_omap2430()) {
+   host-dbclk = clk_get(pdev-dev, mmchsdb_fck);
+   /*
+* MMC can still work without debounce clock.
+*/
+   if (IS_ERR(host-dbclk))
+   dev_warn(mmc_dev(host-mmc),
+   Failed to get debounce clock\n);
else
-   host-dbclk_enabled = 1;
+   if (clk_enable(host-dbclk) != 0)
+   dev_dbg(mmc_dev(host-mmc), Enabling debounce
+clk failed\n);
+   else
+   host-dbclk_enabled = 1;
+   }

/* Since we do only SG emulation, we can have as many segs
 * as we want. */
@@ -1825,8 +1835,9 @@ err_irq:
clk_disable(host-iclk);
clk_put(host-fclk);
clk_put(host-iclk);
-   if (host-dbclk_enabled) {
-   clk_disable(host-dbclk);
+   if (cpu_is_omap2430()) {
+   if (host-dbclk_enabled)
+   clk_disable(host-dbclk);
clk_put(host-dbclk);
}

@@ -1859,8 +1870,9 @@ static int omap_hsmmc_remove(struct plat
clk_disable(host-iclk);
clk_put(host-fclk);
clk_put(host-iclk);
-   if (host-dbclk_enabled) {
-   clk_disable(host-dbclk);
+   if (cpu_is_omap2430()) {
+   if (host-dbclk_enabled)
+   clk_disable(host-dbclk);
clk_put(host-dbclk);
}

@@ -1910,8 +1922,10 @@ static int omap_hsmmc_suspend(struct pla
OMAP_HSMMC_READ(host-base, HCTL)  ~SDBP);

Re: [PATCH 3/3] i2c-omap: Enable workaround for Errata 1.153 based on

2009-08-18 Thread Paul Walmsley
On Mon, 17 Aug 2009, Moiz Sonasath wrote:

 Silicon Errata 1.153 has been fixed on OMAP 3630|4430 with the use of a later
 version of I2C IP block.
 
 The errata impacts OMAP 2420|2430|3430, enable the workaround for these based 
 on I2C IP block revision number instead of OMAP CPU type
 
 Signed-off-by: Moiz Sonasath m-sonas...@ti.com
 Signed-off-by: Vikram Pandita vikram.pand...@ti.com

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

 ---
  drivers/i2c/busses/i2c-omap.c |2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)
 
 diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
 index 16b39f4..827da08 100644
 --- a/drivers/i2c/busses/i2c-omap.c
 +++ b/drivers/i2c/busses/i2c-omap.c
 @@ -784,7 +784,7 @@ complete:
* memory to the I2C interface.
*/
  
 - if (cpu_is_omap34xx()) {
 + if (dev-rev = OMAP_I2C_REV_ON_3430) {
   while (!(stat  
 OMAP_I2C_STAT_XUDF)) {
   if (stat  
 (OMAP_I2C_STAT_NACK | OMAP_I2C_STAT_AL)) {
   
 omap_i2c_ack_stat(dev, stat  (OMAP_I2C_STAT_XRDY | OMAP_I2C_STAT_XDR));
 -- 
 1.5.6.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: Linux-omap PM: Fix dead lock condition in resource_release(vdd1_opp)

2009-08-18 Thread Kevin Hilman
Wang Limei-E12499 e12...@motorola.com writes:

 Seems like I did not submit the patch in the right way, before I setup
 my mail correctly, attach the patches in the mail. 

You're patches are still line-wrapped.

I strongly recommend using git-format-patch and git-send-email to
submit patches. Chunqiu was able to do this.  Please consult him.

Also, no need to CC linux-omap-owner.  linux-omap is all that is needed.

Thanks,

Kevin


 PATCH1:0001-Add-per-resource-mutex-for-OMAP-resource-framework.patch

 From b4e9cc01f9d1aaeec39cc1ee794e5efaec61c781 Mon Sep 17 00:00:00 2001
 From: Chunqiu Wang cqw...@motorola.com
 Date: Fri, 14 Aug 2009 17:34:32 +0800
 Subject: [PATCH] Add per-resource mutex for OMAP resource framework

 Current OMAP resource fwk uses a global res_mutex
 for resource_request and resource_release calls
 for all the available resources.It may cause dead 
 lock if resource_request/resource_release is called
 recursively. 

 For current OMAP3 VDD1/VDD2 resource, the change_level
 implementation is mach-omap2/resource34xx.c/set_opp(),
 when using resource_release to remove vdd1 constraint,
 this function may call resource_release again to release
 Vdd2 constrait if target vdd1 level is less than OPP3.
 in this scenario, the global res_mutex down operation
 will be called again, this will cause the second
 down operation hang there.

 To fix the problem, per-resource mutex is added
 to avoid hangup when resource_request/resource_release
 is called recursively.

 Signed-off-by: Chunqiu Wang cqw...@motorola.com
 ---
  arch/arm/plat-omap/include/mach/resource.h |2 ++
  arch/arm/plat-omap/resource.c  |   27
 +++
  2 files changed, 17 insertions(+), 12 deletions(-)

 diff --git a/arch/arm/plat-omap/include/mach/resource.h
 b/arch/arm/plat-omap/include/mach/resource.h
 index f91d8ce..d482fb8 100644
 --- a/arch/arm/plat-omap/include/mach/resource.h
 +++ b/arch/arm/plat-omap/include/mach/resource.h
 @@ -46,6 +46,8 @@ struct shared_resource {
   /* Shared resource operations */
   struct shared_resource_ops *ops;
   struct list_head node;
 + /* Protect each resource */
 + struct mutex resource_mutex;
  };
  
  struct shared_resource_ops {
 diff --git a/arch/arm/plat-omap/resource.c
 b/arch/arm/plat-omap/resource.c
 index ec31727..5eae4e8 100644
 --- a/arch/arm/plat-omap/resource.c
 +++ b/arch/arm/plat-omap/resource.c
 @@ -264,6 +264,7 @@ int resource_register(struct shared_resource *resp)
   return -EEXIST;
  
   INIT_LIST_HEAD(resp-users_list);
 + mutex_init(resp-resource_mutex);
  
   down(res_mutex);
   /* Add the resource to the resource list */
 @@ -326,14 +327,14 @@ int resource_request(const char *name, struct
 device *dev,
   struct  users_list *user;
   int found = 0, ret = 0;
  
 - down(res_mutex);
 - resp = _resource_lookup(name);
 + resp = resource_lookup(name);
   if (!resp) {
   printk(KERN_ERR resource_request: Invalid resource
 name\n);
   ret = -EINVAL;
 - goto res_unlock;
 + goto ret;
   }
  
 + mutex_lock(resp-resource_mutex);
   /* Call the resource specific validate function */
   if (resp-ops-validate_level) {
   ret = resp-ops-validate_level(resp, level);
 @@ -362,7 +363,7 @@ int resource_request(const char *name, struct device
 *dev,
   user-level = level;
  
  res_unlock:
 - up(res_mutex);
 + mutex_unlock(resp-resource_mutex);
   /*
* Recompute and set the current level for the resource.
* NOTE: update_resource level moved out of spin_lock, as it may
 call
 @@ -371,6 +372,7 @@ res_unlock:
*/
   if (!ret)
   ret = update_resource_level(resp);
 +ret:
   return ret;
  }
  EXPORT_SYMBOL(resource_request);
 @@ -393,14 +395,14 @@ int resource_release(const char *name, struct
 device *dev)
   struct users_list *user;
   int found = 0, ret = 0;
  
 - down(res_mutex);
 - resp = _resource_lookup(name);
 + resp = resource_lookup(name);
   if (!resp) {
   printk(KERN_ERR resource_release: Invalid resource
 name\n);
   ret = -EINVAL;
 - goto res_unlock;
 + goto ret;
   }
  
 + mutex_lock(resp-resource_mutex);
   list_for_each_entry(user, resp-users_list, node) {
   if (user-dev == dev) {
   found = 1;
 @@ -421,7 +423,9 @@ int resource_release(const char *name, struct device
 *dev)
   /* Recompute and set the current level for the resource */
   ret = update_resource_level(resp);
  res_unlock:
 - up(res_mutex);
 + mutex_unlock(resp-resource_mutex);
 +
 +ret:
   return ret;
  }
  EXPORT_SYMBOL(resource_release);
 @@ -438,15 +442,14 @@ int resource_get_level(const char *name)
   struct shared_resource *resp;
   u32 ret;
  
 - down(res_mutex);
 - resp = _resource_lookup(name);
 + resp = 

Re: Linux-omap PM: Fix dead lock condition in resource_release(vdd1_opp)

2009-08-18 Thread Kevin Hilman
Wang Limei-E12499 e12...@motorola.com writes:

 Seems like I did not submit the patch in the right way, before I setup
 my mail correctly, attach the patches in the mail. 

You're patches are still line-wrapped.

I strongly recommend using git-format-patch and git-send-email to
submit patches. Chunqiu was able to do this.  Please consult him.

Also, no need to CC linux-omap-owner.  linux-omap is all that is needed.

Thanks,

Kevin


 PATCH1:0001-Add-per-resource-mutex-for-OMAP-resource-framework.patch

 From b4e9cc01f9d1aaeec39cc1ee794e5efaec61c781 Mon Sep 17 00:00:00 2001
 From: Chunqiu Wang cqw...@motorola.com
 Date: Fri, 14 Aug 2009 17:34:32 +0800
 Subject: [PATCH] Add per-resource mutex for OMAP resource framework

 Current OMAP resource fwk uses a global res_mutex
 for resource_request and resource_release calls
 for all the available resources.It may cause dead 
 lock if resource_request/resource_release is called
 recursively. 

 For current OMAP3 VDD1/VDD2 resource, the change_level
 implementation is mach-omap2/resource34xx.c/set_opp(),
 when using resource_release to remove vdd1 constraint,
 this function may call resource_release again to release
 Vdd2 constrait if target vdd1 level is less than OPP3.
 in this scenario, the global res_mutex down operation
 will be called again, this will cause the second
 down operation hang there.

 To fix the problem, per-resource mutex is added
 to avoid hangup when resource_request/resource_release
 is called recursively.

 Signed-off-by: Chunqiu Wang cqw...@motorola.com
 ---
  arch/arm/plat-omap/include/mach/resource.h |2 ++
  arch/arm/plat-omap/resource.c  |   27
 +++
  2 files changed, 17 insertions(+), 12 deletions(-)

 diff --git a/arch/arm/plat-omap/include/mach/resource.h
 b/arch/arm/plat-omap/include/mach/resource.h
 index f91d8ce..d482fb8 100644
 --- a/arch/arm/plat-omap/include/mach/resource.h
 +++ b/arch/arm/plat-omap/include/mach/resource.h
 @@ -46,6 +46,8 @@ struct shared_resource {
   /* Shared resource operations */
   struct shared_resource_ops *ops;
   struct list_head node;
 + /* Protect each resource */
 + struct mutex resource_mutex;
  };
  
  struct shared_resource_ops {
 diff --git a/arch/arm/plat-omap/resource.c
 b/arch/arm/plat-omap/resource.c
 index ec31727..5eae4e8 100644
 --- a/arch/arm/plat-omap/resource.c
 +++ b/arch/arm/plat-omap/resource.c
 @@ -264,6 +264,7 @@ int resource_register(struct shared_resource *resp)
   return -EEXIST;
  
   INIT_LIST_HEAD(resp-users_list);
 + mutex_init(resp-resource_mutex);
  
   down(res_mutex);
   /* Add the resource to the resource list */
 @@ -326,14 +327,14 @@ int resource_request(const char *name, struct
 device *dev,
   struct  users_list *user;
   int found = 0, ret = 0;
  
 - down(res_mutex);
 - resp = _resource_lookup(name);
 + resp = resource_lookup(name);
   if (!resp) {
   printk(KERN_ERR resource_request: Invalid resource
 name\n);
   ret = -EINVAL;
 - goto res_unlock;
 + goto ret;
   }
  
 + mutex_lock(resp-resource_mutex);
   /* Call the resource specific validate function */
   if (resp-ops-validate_level) {
   ret = resp-ops-validate_level(resp, level);
 @@ -362,7 +363,7 @@ int resource_request(const char *name, struct device
 *dev,
   user-level = level;
  
  res_unlock:
 - up(res_mutex);
 + mutex_unlock(resp-resource_mutex);
   /*
* Recompute and set the current level for the resource.
* NOTE: update_resource level moved out of spin_lock, as it may
 call
 @@ -371,6 +372,7 @@ res_unlock:
*/
   if (!ret)
   ret = update_resource_level(resp);
 +ret:
   return ret;
  }
  EXPORT_SYMBOL(resource_request);
 @@ -393,14 +395,14 @@ int resource_release(const char *name, struct
 device *dev)
   struct users_list *user;
   int found = 0, ret = 0;
  
 - down(res_mutex);
 - resp = _resource_lookup(name);
 + resp = resource_lookup(name);
   if (!resp) {
   printk(KERN_ERR resource_release: Invalid resource
 name\n);
   ret = -EINVAL;
 - goto res_unlock;
 + goto ret;
   }
  
 + mutex_lock(resp-resource_mutex);
   list_for_each_entry(user, resp-users_list, node) {
   if (user-dev == dev) {
   found = 1;
 @@ -421,7 +423,9 @@ int resource_release(const char *name, struct device
 *dev)
   /* Recompute and set the current level for the resource */
   ret = update_resource_level(resp);
  res_unlock:
 - up(res_mutex);
 + mutex_unlock(resp-resource_mutex);
 +
 +ret:
   return ret;
  }
  EXPORT_SYMBOL(resource_release);
 @@ -438,15 +442,14 @@ int resource_get_level(const char *name)
   struct shared_resource *resp;
   u32 ret;
  
 - down(res_mutex);
 - resp = _resource_lookup(name);
 + resp = 

Re: Linux-omap PM: Fix dead lock condition in resource_release(vdd1_opp)

2009-08-18 Thread Kevin Hilman
Wang Limei-E12499 e12...@motorola.com writes:

 Seems like I did not submit the patch in the right way, before I setup
 my mail correctly, attach the patches in the mail. 

You're patches are still line-wrapped.

I strongly recommend using git-format-patch and git-send-email to
submit patches. Chunqiu was able to do this.  Please consult him.

Also, no need to CC linux-omap-owner.  linux-omap is all that is needed.

Thanks,

Kevin


 PATCH1:0001-Add-per-resource-mutex-for-OMAP-resource-framework.patch

 From b4e9cc01f9d1aaeec39cc1ee794e5efaec61c781 Mon Sep 17 00:00:00 2001
 From: Chunqiu Wang cqw...@motorola.com
 Date: Fri, 14 Aug 2009 17:34:32 +0800
 Subject: [PATCH] Add per-resource mutex for OMAP resource framework

 Current OMAP resource fwk uses a global res_mutex
 for resource_request and resource_release calls
 for all the available resources.It may cause dead 
 lock if resource_request/resource_release is called
 recursively. 

 For current OMAP3 VDD1/VDD2 resource, the change_level
 implementation is mach-omap2/resource34xx.c/set_opp(),
 when using resource_release to remove vdd1 constraint,
 this function may call resource_release again to release
 Vdd2 constrait if target vdd1 level is less than OPP3.
 in this scenario, the global res_mutex down operation
 will be called again, this will cause the second
 down operation hang there.

 To fix the problem, per-resource mutex is added
 to avoid hangup when resource_request/resource_release
 is called recursively.

 Signed-off-by: Chunqiu Wang cqw...@motorola.com
 ---
  arch/arm/plat-omap/include/mach/resource.h |2 ++
  arch/arm/plat-omap/resource.c  |   27
 +++
  2 files changed, 17 insertions(+), 12 deletions(-)

 diff --git a/arch/arm/plat-omap/include/mach/resource.h
 b/arch/arm/plat-omap/include/mach/resource.h
 index f91d8ce..d482fb8 100644
 --- a/arch/arm/plat-omap/include/mach/resource.h
 +++ b/arch/arm/plat-omap/include/mach/resource.h
 @@ -46,6 +46,8 @@ struct shared_resource {
   /* Shared resource operations */
   struct shared_resource_ops *ops;
   struct list_head node;
 + /* Protect each resource */
 + struct mutex resource_mutex;
  };
  
  struct shared_resource_ops {
 diff --git a/arch/arm/plat-omap/resource.c
 b/arch/arm/plat-omap/resource.c
 index ec31727..5eae4e8 100644
 --- a/arch/arm/plat-omap/resource.c
 +++ b/arch/arm/plat-omap/resource.c
 @@ -264,6 +264,7 @@ int resource_register(struct shared_resource *resp)
   return -EEXIST;
  
   INIT_LIST_HEAD(resp-users_list);
 + mutex_init(resp-resource_mutex);
  
   down(res_mutex);
   /* Add the resource to the resource list */
 @@ -326,14 +327,14 @@ int resource_request(const char *name, struct
 device *dev,
   struct  users_list *user;
   int found = 0, ret = 0;
  
 - down(res_mutex);
 - resp = _resource_lookup(name);
 + resp = resource_lookup(name);
   if (!resp) {
   printk(KERN_ERR resource_request: Invalid resource
 name\n);
   ret = -EINVAL;
 - goto res_unlock;
 + goto ret;
   }
  
 + mutex_lock(resp-resource_mutex);
   /* Call the resource specific validate function */
   if (resp-ops-validate_level) {
   ret = resp-ops-validate_level(resp, level);
 @@ -362,7 +363,7 @@ int resource_request(const char *name, struct device
 *dev,
   user-level = level;
  
  res_unlock:
 - up(res_mutex);
 + mutex_unlock(resp-resource_mutex);
   /*
* Recompute and set the current level for the resource.
* NOTE: update_resource level moved out of spin_lock, as it may
 call
 @@ -371,6 +372,7 @@ res_unlock:
*/
   if (!ret)
   ret = update_resource_level(resp);
 +ret:
   return ret;
  }
  EXPORT_SYMBOL(resource_request);
 @@ -393,14 +395,14 @@ int resource_release(const char *name, struct
 device *dev)
   struct users_list *user;
   int found = 0, ret = 0;
  
 - down(res_mutex);
 - resp = _resource_lookup(name);
 + resp = resource_lookup(name);
   if (!resp) {
   printk(KERN_ERR resource_release: Invalid resource
 name\n);
   ret = -EINVAL;
 - goto res_unlock;
 + goto ret;
   }
  
 + mutex_lock(resp-resource_mutex);
   list_for_each_entry(user, resp-users_list, node) {
   if (user-dev == dev) {
   found = 1;
 @@ -421,7 +423,9 @@ int resource_release(const char *name, struct device
 *dev)
   /* Recompute and set the current level for the resource */
   ret = update_resource_level(resp);
  res_unlock:
 - up(res_mutex);
 + mutex_unlock(resp-resource_mutex);
 +
 +ret:
   return ret;
  }
  EXPORT_SYMBOL(resource_release);
 @@ -438,15 +442,14 @@ int resource_get_level(const char *name)
   struct shared_resource *resp;
   u32 ret;
  
 - down(res_mutex);
 - resp = _resource_lookup(name);
 + resp = 

Re: MUSB regression in 2.6.31-rc6

2009-08-18 Thread Jarkko Nikula
On Mon, 17 Aug 2009 17:27:09 -0400 (GMT-04:00)
ewitcher ewitc...@mindspring.com wrote:

 Hello,
 
 The below referenced patch was helpful to me in resolving the
 
 3twl4030_usb twl4030_usb: ldo init failed
 
 error.
 
 Examining the minicom.cap attachment, I can see that twl4030_usb  is 
 initialized before regulator.  If you move the twl4030_usb initialization to 
 after regulator, you should be ok.
 
 [PATCH] USB:otg:twl4030-usb.c: mark .init as subsys_initcall_sync
 http://marc.info/?l=linux-usbm=124913041802639w=2
 
Thanks! That patch and Felipe's patch to board-omap3beagle.c made it
booting.

http://marc.info/?l=linux-arm-kernelm=125007992121335w=2

However, I'm not able to get a bit going but at least now one is able to
debug it. There is only this unexpected notification 03! seen on pc
side when the cable is plugged in.

Beagle:
g_ether gadget: high speed config #1: CDC Ethernet (ECM)

PC:
usb0: register 'cdc_ether' at usb-:00:1d.7-1, CDC Ethernet Device,
a6:9c:9f:d0:8a:65
usb0: CDC: unexpected notification 03!


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


Re: [PATCHv2] OMAP3: PM: Ensure MUSB is accessible before we attempt to reset it

2009-08-18 Thread Kevin Hilman
Tony Lindgren t...@atomide.com writes:

 * Kevin Hilman khil...@deeprootsystems.com [090814 21:11]:
 Jon Hunter jon-hun...@ti.com writes:
 
  Kevin Hilman wrote:
  Jon, you're raising the bar and spoiling us with such descriptive
  changelogs.  If everyone was as thorough as you, the world would be a
  merrier place. :)
 
  Thanks, pushing to PM branch and pm-2.6.29.
 
  Kevin
 
  No problem. You are welcome. Just an FYI, but for 2.6.29, I was doing
  some testing this morning and I found that I needed to make the
  following change to the patch to make it work for 2.6.29. You are
  probably aware already as this makes the patch similar to your
  original patch for mmc-reset.
 
  -  dev_set_name(dev, musb_hdrc);
  -  otg_clk = clk_get(dev, ick);
  +  otg_clk = clk_get(dev, hsotgusb_ick);
 
 Ah yes, I thought of that when I first saw the patch but forgot to do
 that on pm-2.6.29.
 
 Thanks, pushing to pm-2.6.29.

 Where's the dependency with this patch to the PM branch? If there is 
 a dependency, can it be removed for mainline?

 To me it looks like we should send a patch against the mainline tree via
 linux-usb list.

No, this is a temporary patch until OTG support is added to omap_hwmod.

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: [PATCHv2] OMAP3: PM: Ensure MUSB is accessible before we attempt to reset it

2009-08-18 Thread Kevin Hilman
Tony Lindgren t...@atomide.com writes:

 * Kevin Hilman khil...@deeprootsystems.com [090814 21:11]:
 Jon Hunter jon-hun...@ti.com writes:
 
  Kevin Hilman wrote:
  Jon, you're raising the bar and spoiling us with such descriptive
  changelogs.  If everyone was as thorough as you, the world would be a
  merrier place. :)
 
  Thanks, pushing to PM branch and pm-2.6.29.
 
  Kevin
 
  No problem. You are welcome. Just an FYI, but for 2.6.29, I was doing
  some testing this morning and I found that I needed to make the
  following change to the patch to make it work for 2.6.29. You are
  probably aware already as this makes the patch similar to your
  original patch for mmc-reset.
 
  -  dev_set_name(dev, musb_hdrc);
  -  otg_clk = clk_get(dev, ick);
  +  otg_clk = clk_get(dev, hsotgusb_ick);
 
 Ah yes, I thought of that when I first saw the patch but forgot to do
 that on pm-2.6.29.
 
 Thanks, pushing to pm-2.6.29.

 Where's the dependency with this patch to the PM branch? If there is 
 a dependency, can it be removed for mainline?

 To me it looks like we should send a patch against the mainline tree via
 linux-usb list.

No, this is a temporary patch until OTG support is added to omap_hwmod.

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][PM] ARM: OMAP34xx: Fix compilation warning

2009-08-18 Thread Kevin Hilman
Aguirre Rodriguez, Sergio Alberto saagui...@ti.com writes:

 From: Sergio Aguirre saagui...@ti.com

 This fixes the following compilation warnings:

 In file included from arch/arm/mach-omap2/resource34xx.c:26:
 arch/arm/mach-omap2/resource34xx.h:32: warning: function declaration isn't a 
 prototype
 arch/arm/mach-omap2/resource34xx.h:33: warning: function declaration isn't a 
 prototype

 Signed-off-by: Sergio Aguirre saagui...@ti.com

Thanks, will pull into PM branch and fold into original patch which
introduced these functions.

Kevin

 ---
  arch/arm/mach-omap2/resource34xx.h |4 ++--
  1 files changed, 2 insertions(+), 2 deletions(-)

 diff --git a/arch/arm/mach-omap2/resource34xx.h 
 b/arch/arm/mach-omap2/resource34xx.h
 index 5b5618a..3c70eef 100644
 --- a/arch/arm/mach-omap2/resource34xx.h
 +++ b/arch/arm/mach-omap2/resource34xx.h
 @@ -29,8 +29,8 @@
  #include mach/omap34xx.h
  
  extern int sr_voltagescale_vcbypass(u32 t_opp, u32 c_opp, u8 t_vsel, u8 
 c_vsel);
 -extern void lock_scratchpad_sem();
 -extern void unlock_scratchpad_sem();
 +extern void lock_scratchpad_sem(void);
 +extern void unlock_scratchpad_sem(void);
  
  /*
   * mpu_latency/core_latency are used to control the cpuidle C state.
 -- 
 1.6.3.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


[PATCH] OMAP: Fix incorrect 730 vs 850 detection (Re: [PATCH] Fix mismatched ifdefs)

2009-08-18 Thread Tony Lindgren
* Premi, Sanjeev pr...@ti.com [090817 17:56]:
  
 
  -Original Message-
  From: Tony Lindgren [mailto:t...@atomide.com] 
  Sent: Monday, August 17, 2009 8:15 PM
  To: Premi, Sanjeev
  Cc: linux-omap@vger.kernel.org
  Subject: Re: [PATCH] Fix mismatched ifdefs
  
  * Sanjeev Premi pr...@ti.com [090817 13:59]:
   The #endif at end of the file was missing. However, an
   additional #else ... #endif was causing the compiler to
   keep going.
   
   The problem was found when compiler started reporting
   the newly added inline functions were being reported as
   redeclared by the compiler.
   
   Signed-off-by: Sanjeev Premi pr...@ti.com
   ---
arch/arm/plat-omap/include/mach/cpu.h |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
   
   diff --git a/arch/arm/plat-omap/include/mach/cpu.h 
  b/arch/arm/plat-omap/include/mach/cpu.h
   index 11e73d9..4fbc6a9 100644
   --- a/arch/arm/plat-omap/include/mach/cpu.h
   +++ b/arch/arm/plat-omap/include/mach/cpu.h
   @@ -317,8 +317,6 @@ IS_OMAP_TYPE(3430, 0x3430)
#  undef  cpu_is_omap730
#  define cpu_is_omap730()   1
# endif
   -#endif
   -#else
  
  Hmm, to me it looks like this should remove the second 
  #endif, but keep the
  #else for the !MULTI_OMAP1 configurations.
  
 
 [sp] I did the maching as annotated in the snippet below:
 
 #if defined(MULTI_OMAP1)
 # if defined(CONFIG_ARCH_OMAP730)
 #  undef  cpu_is_omap730
 #  define cpu_is_omap730()is_omap730()
 # endif 
 # if defined(CONFIG_ARCH_OMAP850)
 #  undef  cpu_is_omap850
 #  define cpu_is_omap850()is_omap850()
 # endif
 #else  /* sp - else for multi-omap1 */
 # if defined(CONFIG_ARCH_OMAP730)
 #  undef  cpu_is_omap730
 #  define cpu_is_omap730()1
 # endif
 #endif
 #else
   /* sp - seems like needed in the else path of MULTI_OMAP1
* else the symbol could go undefined.
*/
 # if defined(CONFIG_ARCH_OMAP850)
 #  undef  cpu_is_omap850
 #  define cpu_is_omap850()1
 # endif
 #endif
 
# if defined(CONFIG_ARCH_OMAP850)
#  undef  cpu_is_omap850
#  define cpu_is_omap850()   1
   @@ -433,3 +431,5 @@ IS_OMAP_TYPE(3430, 0x3430)

int omap_chip_is(struct omap_chip_id oci);
void omap2_check_revision(void);
   +
   +#endif   /* __ASM_ARCH_OMAP_CPU_H */
  
  And this should not be needed.
 
 [sp] So where does this end:
 
 #ifndef __ASM_ARCH_OMAP_CPU_H
 #define __ASM_ARCH_OMAP_CPU_H
 
 I was hitting the problem possibly due to mutiple inclusion of cpu.h
 
 Any static inline function declared at bottom of cpu.h gets the errors like:
 
 arch/arm/plat-omap/include/mach/cpu.h:465: error: redefinition of 
 'omap3_has_iva'
 arch/arm/plat-omap/include/mach/cpu.h:465: error: previous definition of 
 'omap3_has_iva' was here

Here's what I think is the right fix to this, the extra endif got introduced
with the 850 patch. Removing that is not the right fix still, we just need to
remove the special case for 730 as now we need to detect between 730 and 850.

Can please you try the attached patch?

Regards,

Tony
From 751797cca47c9ccb5443190a0f3d82924ee1eaeb Mon Sep 17 00:00:00 2001
From: Tony Lindgren t...@atomide.com
Date: Tue, 18 Aug 2009 12:57:06 +0300
Subject: [PATCH] OMAP: Fix incorrect 730 vs 850 detection

Commit ae302f40 introduced support for omap850 but had a bug in
ifdef handling of the non-multi-omap case for 730 and 850.

Fix the problem by removing the non-multi-omap special handling,
as we need to detect between omap730 and omap850 anyways.

Problem reported by Sanjeev Premi pr...@ti.com.

Signed-off-by: Tony Lindgren t...@atomide.com

diff --git a/arch/arm/plat-omap/include/mach/cpu.h b/arch/arm/plat-omap/include/mach/cpu.h
index 11e73d9..61dbe90 100644
--- a/arch/arm/plat-omap/include/mach/cpu.h
+++ b/arch/arm/plat-omap/include/mach/cpu.h
@@ -303,32 +303,21 @@ IS_OMAP_TYPE(3430, 0x3430)
 #define cpu_is_omap2430()		0
 #define cpu_is_omap3430()		0
 
-#if defined(MULTI_OMAP1)
-# if defined(CONFIG_ARCH_OMAP730)
-#  undef  cpu_is_omap730
-#  define cpu_is_omap730()		is_omap730()
-# endif
-# if defined(CONFIG_ARCH_OMAP850)
-#  undef  cpu_is_omap850
-#  define cpu_is_omap850()		is_omap850()
-# endif
-#else
-# if defined(CONFIG_ARCH_OMAP730)
-#  undef  cpu_is_omap730
-#  define cpu_is_omap730()		1
-# endif
-#endif
-#else
-# if defined(CONFIG_ARCH_OMAP850)
-#  undef  cpu_is_omap850
-#  define cpu_is_omap850()		1
-# endif
-#endif
-
 /*
  * Whether we have MULTI_OMAP1 or not, we still need to distinguish
- * between 330 vs. 1510 and 1611B/5912 vs. 1710.
+ * between 730 vs 850, 330 vs. 1510 and 1611B/5912 vs. 1710.
  */
+
+#if defined(CONFIG_ARCH_OMAP730)
+# undef  cpu_is_omap730
+# define cpu_is_omap730()		is_omap730()
+#endif
+
+#if defined(CONFIG_ARCH_OMAP850)
+# undef  cpu_is_omap850
+# define cpu_is_omap850()		is_omap850()
+#endif
+
 #if defined(CONFIG_ARCH_OMAP15XX)
 # undef  cpu_is_omap310
 # undef  cpu_is_omap1510


Re: [PATCH]OMAP4: McSPI Support for OMAP4430

2009-08-18 Thread Syed Rafiuddin
 David,

 This patch adds McSPI support for OMAP4430 SDP platform. All the base 
 addresses
 are changed between OMAP1/2/3 and OMAP4.The fields of the resource structures
 are filled at runtime to have McSPI support on OMAP4.

 Signed-off-by: Syed Rafiuddin rafiuddin.s...@ti.com
 Acked-by: Kevin Hilman khil...@deeprootsystems.com
 Acked-by: Tony Lindgren t...@atomide.com
 Acked-by: David Brownell davi...@pacbell.net
 Acked-by: Santosh Shilimkar santosh.shilim...@ti.com
 ---

 Haven't seen any comment on my patch, but didn't see it in git either.
 Is there anything that I need to resolve? Else can this patch get merged.

Could you please merge this patch, Since there are no comments.


 Regards,
 Syed Rafiuddin


 --
 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: [RESUBMIT][PATCH-v2][RFC] OMAP4: I2C Support for OMAP4430

2009-08-18 Thread Syed Rafiuddin
Ben,

 On Fri, Jul 24, 2009 at 04:40:02PM +0530, Syed Rafiuddin wrote:
 Hi Ben,

  This patch adds OMAP4 support to the I2C driver. All I2C register 
  addresses  are different
 between
  OMAP1/2/3 and OMAP4. In order to not have #ifdef's at  various places in 
  code, as well as to
  support multi-OMAP build, Array's are  created to hold the register 
  addresses.
 
  Signed-off-by: Syed Rafiuddin rafiuddin.s...@ti.com
  ---

 No comment received on this patch,
 Is there anything that I need to resolve?
 Else can this patch get merged.

 sorry, been busy, will look at this in the next few days.

Seems like no issues with the patch since no comments received from long time.
Did you get a chance to look at the patch.Could you please merge this.

Regards,
Syed Rafiuddin


--
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: [help] 2.6.30 can't booting

2009-08-18 Thread Tar Gz
On 8/17/09, Kovacs Peter Tamas p.kov...@holografika.com wrote:
 Hi,

 we use these parameters for NFS booting:
 setenv bootargs console=ttyS2,115200n8 noinitrd root=/dev/nfs rw
 nfsroot=10.95.102.32:/home/filesystems/tifs,nolock,vers=3,rsize=2048,wsize=2048,
 tcp dyntick=e ip=dhcp nohz=off

 or without DHCP:
 setenv bootargs console=ttyS2,115200n8 noinitrd,rw root=/dev/nfs
 nfsroot=10.95.102.32:/home/filesystems/tifs,nolock, mem=112M nohz=off
 ip=10.95.102.33:10.95.96.1:10.95.96.1:255.255.240.0:infba00798::off
 devfs=mount


oke i try it

in the another mailing list, the problem about different speed
bootloader and linux kernel..if that's my problem..how i can fix
that?thanks before

Regards,
Aldyth M
 and it works.
 Try it!

 Peter
 hmm,,i boot again and kernel panic cannot sync VFS

 because no respond from my nfs server...

 but i'm try to mount y nfs directory in the another computer, it's
 work..i don't know whre is the problem?

 On 8/16/09, Kovacs Peter Tamas p.kov...@holografika.com wrote:

 Hi,

 I don't think that it's a problem with the filesystem, if you followed
 the tutorial then you have the filesystem on the second partition, and
 your bootargs are pointing there too.
 Do you have a DHCP server running somewhere?
 If you have DHCP, but the OMAP cannot use it for some reason, you can
 still try forcing a static IP instead of DHCPing, like discussed here:
 http://focus.ti.com/lit/an/spraaq0/spraaq0.pdf

 That is, add something like
 ip=clientIP:serverIP:gatewayIP:netMask:::off
 to your bootargs.
 More info about the meaning of the above here:
 http://www.kernel.org/pub/linux/kernel/people/marcelo/linux-2.4/Documentation/nfsroot.txt

 Peter

 thanks peter, i can boot but the kernel stop in the
 Sending DHCP Requests . 7hub 1-0:1.0 hub_suspend
 ...

 how to boot filesystems has installed from mmc?...thanks

 On 8/16/09, Tar Gz bsdraisefromh...@gmail.com wrote:


 thanks mr.peter

 i should try the command like that

 #nand unlock
 #nand ecc sw
 #setenv bootargs 'console=ttyS3,115200n8 root=/dev/mmcblk0p2 rw
 rootdelay=1 mem=256M init=/init'
 #setenv bootcmd 'mmcinit; fatload mmc 0 0x80c0 uImage; bootm
 0x80c0'
 #saveenv
 #boot

 it is stop(like hang) and i must restart again

 On 8/16/09, Kovacs Peter Tamas p.kov...@holografika.com wrote:


 Dear Aldyth,

 u-boot stops and waits for your command to load and start the kernel,
 as
 the bootcmd is not doing it automatically with your setup (setting
 bootargs is not enough alone, you need to load the kernel image from
 the
 card and run it).
 You should try:
 mmcinit
 fatload mmc 0 8030 uImage
 bootm 8030

 As described at eg:
 http://www.codeshogun.com/blog/2009/04/15/porting-android-to-beagle-board/

 Hope this helps,
 Peter


 it is my step to build u-boot, x-loader and kernel

 i'm try linux 2.6.30 and using the omap3430sdp_defconfig to build the
 uImage

 my u-boot and x-loader using omap3430zoom2_config

 any idea to solve that problem?...

 regards,
 Aldyth M

 On 8/16/09, Tar Gz bsdraisefromh...@gmail.com wrote:



 i'm format mmc in the fat win95...

 i following step by step in the
 https://omapzoom.org/gf/project/omapkernel/wiki/?pagename=Getting+Stated+with+Linux+OMAP+Kernel

 why can't read?

 On 8/16/09, Tar Gz bsdraisefromh...@gmail.com wrote:



 i'm format mmc in the fat win95...

 i following step by step in the
 https://omapzoom.org/gf/project/omapkernel/wiki/?pagename=Getting+Stated+with+Linux+OMAP+Kernel

 why can't read?




 On 8/16/09, Felipe Balbi m...@felipebalbi.com wrote:



 Hi,

 On Sun, Aug 16, 2009 at 12:48:52PM -0400, Tar Gz wrote:



 Hi all,,i'm sorry if my english too bad

 i try to porting linux kernel 2.6.30 from kernel.org into omap
 3430

 i have the problem linux kernel can't booting


 i'm following step by step in the omapzoom.org
 $ setenv bootargs console=ttyS3,115200n8 root=/dev/mmcblk0p2 rw
 rootdelay=1 mem=256M init=/sbin/init
 $ saveenv
 $ bootd


 OMAP34XX LAB # print
 bootdelay=3
 baudrate=115200
 bootargs=console=ttyS3,115200n8 root=/dev/mmcblk0p2 rootdelay=1
 mem=256M init=/sbin/init
 bootcmd=mmcinit
 bootfile=uImage

 if i'm type bootd i'm still in the konsole like this,
 OMAP34XX LAB # bootd
 OMAP34XX LAB #

 any idea?



 you're not reading the kernel image to memory.

 is your mmc formated with FAT32 or what ?

 You need to read kernel from mmc to memory and boot from there.

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



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

Re: [help] 2.6.30 can't booting

2009-08-18 Thread Tar Gz
if i not using nfs...how to mount the another partition in mmc?

On 8/18/09, Tar Gz bsdraisefromh...@gmail.com wrote:
 On 8/17/09, Kovacs Peter Tamas p.kov...@holografika.com wrote:
 Hi,

 we use these parameters for NFS booting:
 setenv bootargs console=ttyS2,115200n8 noinitrd root=/dev/nfs rw
 nfsroot=10.95.102.32:/home/filesystems/tifs,nolock,vers=3,rsize=2048,wsize=2048,
 tcp dyntick=e ip=dhcp nohz=off

 or without DHCP:
 setenv bootargs console=ttyS2,115200n8 noinitrd,rw root=/dev/nfs
 nfsroot=10.95.102.32:/home/filesystems/tifs,nolock, mem=112M nohz=off
 ip=10.95.102.33:10.95.96.1:10.95.96.1:255.255.240.0:infba00798::off
 devfs=mount


 oke i try it

 in the another mailing list, the problem about different speed
 bootloader and linux kernel..if that's my problem..how i can fix
 that?thanks before

 Regards,
 Aldyth M
 and it works.
 Try it!

 Peter
 hmm,,i boot again and kernel panic cannot sync VFS

 because no respond from my nfs server...

 but i'm try to mount y nfs directory in the another computer, it's
 work..i don't know whre is the problem?

 On 8/16/09, Kovacs Peter Tamas p.kov...@holografika.com wrote:

 Hi,

 I don't think that it's a problem with the filesystem, if you followed
 the tutorial then you have the filesystem on the second partition, and
 your bootargs are pointing there too.
 Do you have a DHCP server running somewhere?
 If you have DHCP, but the OMAP cannot use it for some reason, you can
 still try forcing a static IP instead of DHCPing, like discussed here:
 http://focus.ti.com/lit/an/spraaq0/spraaq0.pdf

 That is, add something like
 ip=clientIP:serverIP:gatewayIP:netMask:::off
 to your bootargs.
 More info about the meaning of the above here:
 http://www.kernel.org/pub/linux/kernel/people/marcelo/linux-2.4/Documentation/nfsroot.txt

 Peter

 thanks peter, i can boot but the kernel stop in the
 Sending DHCP Requests . 7hub 1-0:1.0 hub_suspend
 ...

 how to boot filesystems has installed from mmc?...thanks

 On 8/16/09, Tar Gz bsdraisefromh...@gmail.com wrote:


 thanks mr.peter

 i should try the command like that

 #nand unlock
 #nand ecc sw
 #setenv bootargs 'console=ttyS3,115200n8 root=/dev/mmcblk0p2 rw
 rootdelay=1 mem=256M init=/init'
 #setenv bootcmd 'mmcinit; fatload mmc 0 0x80c0 uImage; bootm
 0x80c0'
 #saveenv
 #boot

 it is stop(like hang) and i must restart again

 On 8/16/09, Kovacs Peter Tamas p.kov...@holografika.com wrote:


 Dear Aldyth,

 u-boot stops and waits for your command to load and start the
 kernel,
 as
 the bootcmd is not doing it automatically with your setup (setting
 bootargs is not enough alone, you need to load the kernel image from
 the
 card and run it).
 You should try:
 mmcinit
 fatload mmc 0 8030 uImage
 bootm 8030

 As described at eg:
 http://www.codeshogun.com/blog/2009/04/15/porting-android-to-beagle-board/

 Hope this helps,
 Peter


 it is my step to build u-boot, x-loader and kernel

 i'm try linux 2.6.30 and using the omap3430sdp_defconfig to build
 the
 uImage

 my u-boot and x-loader using omap3430zoom2_config

 any idea to solve that problem?...

 regards,
 Aldyth M

 On 8/16/09, Tar Gz bsdraisefromh...@gmail.com wrote:



 i'm format mmc in the fat win95...

 i following step by step in the
 https://omapzoom.org/gf/project/omapkernel/wiki/?pagename=Getting+Stated+with+Linux+OMAP+Kernel

 why can't read?

 On 8/16/09, Tar Gz bsdraisefromh...@gmail.com wrote:



 i'm format mmc in the fat win95...

 i following step by step in the
 https://omapzoom.org/gf/project/omapkernel/wiki/?pagename=Getting+Stated+with+Linux+OMAP+Kernel

 why can't read?




 On 8/16/09, Felipe Balbi m...@felipebalbi.com wrote:



 Hi,

 On Sun, Aug 16, 2009 at 12:48:52PM -0400, Tar Gz wrote:



 Hi all,,i'm sorry if my english too bad

 i try to porting linux kernel 2.6.30 from kernel.org into omap
 3430

 i have the problem linux kernel can't booting


 i'm following step by step in the omapzoom.org
 $ setenv bootargs console=ttyS3,115200n8 root=/dev/mmcblk0p2
 rw
 rootdelay=1 mem=256M init=/sbin/init
 $ saveenv
 $ bootd


 OMAP34XX LAB # print
 bootdelay=3
 baudrate=115200
 bootargs=console=ttyS3,115200n8 root=/dev/mmcblk0p2
 rootdelay=1
 mem=256M init=/sbin/init
 bootcmd=mmcinit
 bootfile=uImage

 if i'm type bootd i'm still in the konsole like this,
 OMAP34XX LAB # bootd
 OMAP34XX LAB #

 any idea?



 you're not reading the kernel image to memory.

 is your mmc formated with FAT32 or what ?

 You need to read kernel from mmc to memory and boot from there.

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



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

Fwd: [help] 2.6.30 can't booting

2009-08-18 Thread Tar Gz
-- Forwarded message --
From: Tar Gz bsdraisefromh...@gmail.com
Date: Tue, 18 Aug 2009 04:47:21 -0700
Subject: Re: [help] 2.6.30 can't booting
To: Kovacs Peter Tamas p.kov...@holografika.com, linux-omap
linux-omap@vger.kernel.org

On 8/17/09, Kovacs Peter Tamas p.kov...@holografika.com wrote:
 Hi,

 we use these parameters for NFS booting:
 setenv bootargs console=ttyS2,115200n8 noinitrd root=/dev/nfs rw
 nfsroot=10.95.102.32:/home/filesystems/tifs,nolock,vers=3,rsize=2048,wsize=2048,
 tcp dyntick=e ip=dhcp nohz=off

 or without DHCP:
 setenv bootargs console=ttyS2,115200n8 noinitrd,rw root=/dev/nfs
 nfsroot=10.95.102.32:/home/filesystems/tifs,nolock, mem=112M nohz=off
 ip=10.95.102.33:10.95.96.1:10.95.96.1:255.255.240.0:infba00798::off
 devfs=mount


oke i try it

in the another mailing list, the problem about different speed
bootloader and linux kernel..if that's my problem..how i can fix
that?thanks before

Regards,
Aldyth M
 and it works.
 Try it!

 Peter
 hmm,,i boot again and kernel panic cannot sync VFS

 because no respond from my nfs server...

 but i'm try to mount y nfs directory in the another computer, it's
 work..i don't know whre is the problem?

 On 8/16/09, Kovacs Peter Tamas p.kov...@holografika.com wrote:

 Hi,

 I don't think that it's a problem with the filesystem, if you followed
 the tutorial then you have the filesystem on the second partition, and
 your bootargs are pointing there too.
 Do you have a DHCP server running somewhere?
 If you have DHCP, but the OMAP cannot use it for some reason, you can
 still try forcing a static IP instead of DHCPing, like discussed here:
 http://focus.ti.com/lit/an/spraaq0/spraaq0.pdf

 That is, add something like
 ip=clientIP:serverIP:gatewayIP:netMask:::off
 to your bootargs.
 More info about the meaning of the above here:
 http://www.kernel.org/pub/linux/kernel/people/marcelo/linux-2.4/Documentation/nfsroot.txt

 Peter

 thanks peter, i can boot but the kernel stop in the
 Sending DHCP Requests . 7hub 1-0:1.0 hub_suspend
 ...

 how to boot filesystems has installed from mmc?...thanks

 On 8/16/09, Tar Gz bsdraisefromh...@gmail.com wrote:


 thanks mr.peter

 i should try the command like that

 #nand unlock
 #nand ecc sw
 #setenv bootargs 'console=ttyS3,115200n8 root=/dev/mmcblk0p2 rw
 rootdelay=1 mem=256M init=/init'
 #setenv bootcmd 'mmcinit; fatload mmc 0 0x80c0 uImage; bootm
 0x80c0'
 #saveenv
 #boot

 it is stop(like hang) and i must restart again

 On 8/16/09, Kovacs Peter Tamas p.kov...@holografika.com wrote:


 Dear Aldyth,

 u-boot stops and waits for your command to load and start the kernel,
 as
 the bootcmd is not doing it automatically with your setup (setting
 bootargs is not enough alone, you need to load the kernel image from
 the
 card and run it).
 You should try:
 mmcinit
 fatload mmc 0 8030 uImage
 bootm 8030

 As described at eg:
 http://www.codeshogun.com/blog/2009/04/15/porting-android-to-beagle-board/

 Hope this helps,
 Peter


 it is my step to build u-boot, x-loader and kernel

 i'm try linux 2.6.30 and using the omap3430sdp_defconfig to build the
 uImage

 my u-boot and x-loader using omap3430zoom2_config

 any idea to solve that problem?...

 regards,
 Aldyth M

 On 8/16/09, Tar Gz bsdraisefromh...@gmail.com wrote:



 i'm format mmc in the fat win95...

 i following step by step in the
 https://omapzoom.org/gf/project/omapkernel/wiki/?pagename=Getting+Stated+with+Linux+OMAP+Kernel

 why can't read?

 On 8/16/09, Tar Gz bsdraisefromh...@gmail.com wrote:



 i'm format mmc in the fat win95...

 i following step by step in the
 https://omapzoom.org/gf/project/omapkernel/wiki/?pagename=Getting+Stated+with+Linux+OMAP+Kernel

 why can't read?




 On 8/16/09, Felipe Balbi m...@felipebalbi.com wrote:



 Hi,

 On Sun, Aug 16, 2009 at 12:48:52PM -0400, Tar Gz wrote:



 Hi all,,i'm sorry if my english too bad

 i try to porting linux kernel 2.6.30 from kernel.org into omap
 3430

 i have the problem linux kernel can't booting


 i'm following step by step in the omapzoom.org
 $ setenv bootargs console=ttyS3,115200n8 root=/dev/mmcblk0p2 rw
 rootdelay=1 mem=256M init=/sbin/init
 $ saveenv
 $ bootd


 OMAP34XX LAB # print
 bootdelay=3
 baudrate=115200
 bootargs=console=ttyS3,115200n8 root=/dev/mmcblk0p2 rootdelay=1
 mem=256M init=/sbin/init
 bootcmd=mmcinit
 bootfile=uImage

 if i'm type bootd i'm still in the konsole like this,
 OMAP34XX LAB # bootd
 OMAP34XX LAB #

 any idea?



 you're not reading the kernel image to memory.

 is your mmc formated with FAT32 or what ?

 You need to read kernel from mmc to memory and boot from there.

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



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

Fwd: [help] 2.6.30 can't booting

2009-08-18 Thread Tar Gz
-- Forwarded message --
From: Tar Gz bsdraisefromh...@gmail.com
Date: Tue, 18 Aug 2009 04:47:21 -0700
Subject: Re: [help] 2.6.30 can't booting
To: Kovacs Peter Tamas p.kov...@holografika.com, linux-omap
linux-omap@vger.kernel.org

On 8/17/09, Kovacs Peter Tamas p.kov...@holografika.com wrote:
 Hi,

 we use these parameters for NFS booting:
 setenv bootargs console=ttyS2,115200n8 noinitrd root=/dev/nfs rw
 nfsroot=10.95.102.32:/home/filesystems/tifs,nolock,vers=3,rsize=2048,wsize=2048,
 tcp dyntick=e ip=dhcp nohz=off

 or without DHCP:
 setenv bootargs console=ttyS2,115200n8 noinitrd,rw root=/dev/nfs
 nfsroot=10.95.102.32:/home/filesystems/tifs,nolock, mem=112M nohz=off
 ip=10.95.102.33:10.95.96.1:10.95.96.1:255.255.240.0:infba00798::off
 devfs=mount


oke i try it

in the another mailing list, the problem about different speed
bootloader and linux kernel..if that's my problem..how i can fix
that?thanks before

Regards,
Aldyth M
--
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 v2 00/11] OMAP PM, clock, and SDRC updates for the 2.6.32 merge window

2009-08-18 Thread Paul Walmsley
Hello,

This second revision of this series drops the patch that ensures that
OMAP clocks use unique names, and the patch that adds
omap_clk_get_by_name().  The omap_hwmod code has been changed to use
clk_get_sys().


- Paul

--

This series contains power management, clock, and SDRC patches for the
2.6.32 merge window.  All but the bugfix patches 1 and 3 are in use in
Kevin's PM branch.

The series includes:

- several bugfixes (patches 1, 3, 4, 5);

- introduces the OMAP PM interface (patch 6), used by core code and some
  device drivers (via platform_data function pointers) to communicate
  OMAP-specific PM requirements to OMAP core code;

- introduces the omap_hwmod and omap_device layers (prereqs are patches 7, 8;
  core is patches 9, 10, 11);

- and adds some missing SDRC registers that are used by other code in the PM
  branch (patch 2).

For reference:

Code that uses the OMAP PM interface is here: (despite the header text,
this was not written by me; the header was simply copied from omap-pm-noop.c):


http://git.kernel.org/?p=linux/kernel/git/khilman/linux-omap-pm.git;a=blob;f=arch/arm/plat-omap/omap-pm-srf.c;h=4350650b95090b2a5b503b09830bac42109dc262;hb=pm

Code that uses the omap_hwmod/omap_device code is here:


http://git.kernel.org/?p=linux/kernel/git/khilman/linux-omap-pm.git;a=commit;h=0ddd9080f3c20c32dadf40e12bee05b8cf6784bc

http://git.kernel.org/?p=linux/kernel/git/khilman/linux-omap-pm.git;a=commit;h=4d04506972aba09f21df3b956895fe59a9230697

http://git.kernel.org/?p=linux/kernel/git/khilman/linux-omap-pm.git;a=commit;h=9ef2c1a657621b10e0ea46f7824ebbc725cd2c26


regards,

- Paul


---

Paul Walmsley (9):
  OMAP: powerdomain: Fix overflow when doing powerdomain deps lookups.
  OMAP clock: associate MPU clocks with the mpu_clkdm
  OMAP3 clock: remove superfluous calls to omap2_init_clk_clkdm
  OMAP2/3 PM: create the OMAP PM interface and add a default OMAP PM no-op 
layer
  OMAP2/3/4 PRCM: add module IDLEST wait code
  OMAP2/3 board-*.c files: read bootloader configuration earlier
  OMAP2/3/4: create omap_hwmod layer
  OMAP: omap_hwmod: call omap_hwmod init at boot; create interconnects
  OMAP2/3/4 core: create omap_device layer

Sanjeev Premi (1):
  OMAP3 clock: Fixed processing of bootarg 'mpurate'

Tero Kristo (1):
  OMAP: SDRC: Add several new register definitions


 Documentation/arm/OMAP/omap_pm|  129 ++
 arch/arm/mach-omap2/Makefile  |7 
 arch/arm/mach-omap2/board-2430sdp.c   |   17 
 arch/arm/mach-omap2/board-3430sdp.c   |   18 
 arch/arm/mach-omap2/board-apollon.c   |   20 
 arch/arm/mach-omap2/board-generic.c   |   14 
 arch/arm/mach-omap2/board-h4.c|   20 
 arch/arm/mach-omap2/board-ldp.c   |   20 
 arch/arm/mach-omap2/board-omap3beagle.c   |   26 
 arch/arm/mach-omap2/board-omap3evm.c  |   14 
 arch/arm/mach-omap2/board-omap3pandora.c  |   20 
 arch/arm/mach-omap2/board-overo.c |   20 
 arch/arm/mach-omap2/board-rx51.c  |4 
 arch/arm/mach-omap2/board-zoom2.c |   18 
 arch/arm/mach-omap2/clock34xx.c   |   17 
 arch/arm/mach-omap2/clock34xx.h   |   21 
 arch/arm/mach-omap2/cm.c  |   70 +
 arch/arm/mach-omap2/cm.h  |4 
 arch/arm/mach-omap2/cm4xxx.c  |   68 +
 arch/arm/mach-omap2/io.c  |   23 
 arch/arm/mach-omap2/omap_hwmod.c  | 1554 +
 arch/arm/mach-omap2/omap_hwmod_2420.h |  141 ++
 arch/arm/mach-omap2/omap_hwmod_2430.h |  143 ++
 arch/arm/mach-omap2/omap_hwmod_34xx.h |  168 +++
 arch/arm/mach-omap2/powerdomain.c |4 
 arch/arm/mach-omap2/serial.c  |   14 
 arch/arm/plat-omap/Kconfig|   13 
 arch/arm/plat-omap/Makefile   |5 
 arch/arm/plat-omap/include/mach/omap-pm.h |  301 +
 arch/arm/plat-omap/include/mach/omap_device.h |  141 ++
 arch/arm/plat-omap/include/mach/omap_hwmod.h  |  447 +++
 arch/arm/plat-omap/include/mach/sdrc.h|9 
 arch/arm/plat-omap/include/mach/serial.h  |3 
 arch/arm/plat-omap/omap-pm-noop.c |  296 +
 arch/arm/plat-omap/omap_device.c  |  687 +++
 35 files changed, 4337 insertions(+), 139 deletions(-)
 create mode 100644 Documentation/arm/OMAP/omap_pm
 create mode 100644 arch/arm/mach-omap2/cm.c
 create mode 100644 arch/arm/mach-omap2/cm4xxx.c
 create mode 100644 arch/arm/mach-omap2/omap_hwmod.c
 create mode 100644 arch/arm/mach-omap2/omap_hwmod_2420.h
 create mode 100644 arch/arm/mach-omap2/omap_hwmod_2430.h
 create mode 100644 arch/arm/mach-omap2/omap_hwmod_34xx.h
 create mode 100644 arch/arm/plat-omap/include/mach/omap-pm.h
 create mode 100644 

[PATCH v2 01/11] OMAP: powerdomain: Fix overflow when doing powerdomain deps lookups.

2009-08-18 Thread Paul Walmsley
At the end of the list pd is a pointer to a NULL struct, so checking
if the address == NULL doesn't help here. In fact the original code
will just keep running past the struct to read who knows what in
memory.

This case manifests itself when from clkdms_setup() when enabling auto
idle for a clock domain and the clockdomain usecount is greater than
0. When _clkdm_add_autodeps() tries to add the a dependency that does
not exist in the powerdomain-wkdep_srcs array the for loop will run
past the wkdep_srcs array.

Currently in linux-omap you won't hit this because the not found case
is never executed, unless you start modifying powerdomains and their
wakeup/sleep deps.

Signed-off-by: Mike Chan m...@android.com
Signed-off-by: Paul Walmsley p...@pwsan.com
---
 arch/arm/mach-omap2/powerdomain.c |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-omap2/powerdomain.c 
b/arch/arm/mach-omap2/powerdomain.c
index 983f1cb..66206b6 100644
--- a/arch/arm/mach-omap2/powerdomain.c
+++ b/arch/arm/mach-omap2/powerdomain.c
@@ -83,7 +83,7 @@ static struct powerdomain *_pwrdm_deps_lookup(struct 
powerdomain *pwrdm,
if (!pwrdm || !deps || !omap_chip_is(pwrdm-omap_chip))
return ERR_PTR(-EINVAL);
 
-   for (pd = deps; pd; pd++) {
+   for (pd = deps; pd-pwrdm_name; pd++) {
 
if (!omap_chip_is(pd-omap_chip))
continue;
@@ -96,7 +96,7 @@ static struct powerdomain *_pwrdm_deps_lookup(struct 
powerdomain *pwrdm,
 
}
 
-   if (!pd)
+   if (!pd-pwrdm_name)
return ERR_PTR(-ENOENT);
 
return pd-pwrdm;


--
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 v2 04/11] OMAP clock: associate MPU clocks with the mpu_clkdm

2009-08-18 Thread Paul Walmsley
All MPU-related clocks should be in the mpu_clkdm.  This is needed for the
upcoming omap_hwmod patches, which needs to know the clockdomain that arm_fck
is in.

Signed-off-by: Paul Walmsley p...@pwsan.com
---
 arch/arm/mach-omap2/clock34xx.h |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/clock34xx.h b/arch/arm/mach-omap2/clock34xx.h
index 57cc272..9a823c3 100644
--- a/arch/arm/mach-omap2/clock34xx.h
+++ b/arch/arm/mach-omap2/clock34xx.h
@@ -1020,6 +1020,7 @@ static struct clk arm_fck = {
.clksel_reg = OMAP_CM_REGADDR(MPU_MOD, OMAP3430_CM_IDLEST_PLL),
.clksel_mask= OMAP3430_ST_MPU_CLK_MASK,
.clksel = arm_fck_clksel,
+   .clkdm_name = mpu_clkdm,
.recalc = omap2_clksel_recalc,
 };
 


--
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 v2 07/11] OMAP2/3/4 PRCM: add module IDLEST wait code

2009-08-18 Thread Paul Walmsley
After a hardware module's clocks are enabled, Linux must wait for it
to indicate readiness via its IDLEST bit before attempting to access
the device, otherwise register accesses to the device may trigger an
abort.  This has traditionally been implemented in the clock
framework, but this is the wrong place for it: the clock framework
doesn't know which module clocks must be enabled for a module to leave
idle; and if a module is not in smart-idle mode, it may never leave
idle at all.  This type of information is best stored in a
per-hardware module data structure (coming in a following patch),
rather than a per-clock data structure.  The new code will use these new
functions to handle waiting for modules to enable.

Once hardware module data is filled in for all of the on-chip devices,
the clock framework code to handle IDLEST waiting can be removed.

Signed-off-by: Paul Walmsley p...@pwsan.com
---
 arch/arm/mach-omap2/Makefile |5 +++
 arch/arm/mach-omap2/cm.c |   70 ++
 arch/arm/mach-omap2/cm.h |4 ++
 arch/arm/mach-omap2/cm4xxx.c |   68 +
 4 files changed, 147 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/mach-omap2/cm.c
 create mode 100644 arch/arm/mach-omap2/cm4xxx.c

diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index 735bae5..fa0f0db 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -35,6 +35,11 @@ obj-$(CONFIG_ARCH_OMAP3) += pm34xx.o sleep34xx.o
 obj-$(CONFIG_PM_DEBUG) += pm-debug.o
 endif
 
+# PRCM
+obj-$(CONFIG_ARCH_OMAP2)   += cm.o
+obj-$(CONFIG_ARCH_OMAP3)   += cm.o
+obj-$(CONFIG_ARCH_OMAP4)   += cm4xxx.o
+
 # Clock framework
 obj-$(CONFIG_ARCH_OMAP2)   += clock24xx.o
 obj-$(CONFIG_ARCH_OMAP3)   += clock34xx.o
diff --git a/arch/arm/mach-omap2/cm.c b/arch/arm/mach-omap2/cm.c
new file mode 100644
index 000..8eb2dab
--- /dev/null
+++ b/arch/arm/mach-omap2/cm.c
@@ -0,0 +1,70 @@
+/*
+ * OMAP2/3 CM module functions
+ *
+ * Copyright (C) 2009 Nokia Corporation
+ * Paul Walmsley
+ *
+ * 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/module.h
+#include linux/types.h
+#include linux/delay.h
+#include linux/spinlock.h
+#include linux/list.h
+#include linux/errno.h
+#include linux/err.h
+#include linux/io.h
+
+#include asm/atomic.h
+
+#include cm.h
+#include cm-regbits-24xx.h
+#include cm-regbits-34xx.h
+
+/* MAX_MODULE_READY_TIME: max milliseconds for module to leave idle */
+#define MAX_MODULE_READY_TIME  2
+
+static const u8 cm_idlest_offs[] = {
+   CM_IDLEST1, CM_IDLEST2, OMAP2430_CM_IDLEST3
+};
+
+/**
+ * omap2_cm_wait_idlest_ready - wait for a module to leave idle or standby
+ * @prcm_mod: PRCM module offset
+ * @idlest_id: CM_IDLESTx register ID (i.e., x = 1, 2, 3)
+ * @idlest_shift: shift of the bit in the CM_IDLEST* register to check
+ *
+ * XXX document
+ */
+int omap2_cm_wait_module_ready(s16 prcm_mod, u8 idlest_id, u8 idlest_shift)
+{
+   int ena = 0, i = 0;
+   u8 cm_idlest_reg;
+   u32 mask;
+
+   if (!idlest_id || (idlest_id  ARRAY_SIZE(cm_idlest_offs)))
+   return -EINVAL;
+
+   cm_idlest_reg = cm_idlest_offs[idlest_id - 1];
+
+   if (cpu_is_omap24xx())
+   ena = idlest_shift;
+   else if (cpu_is_omap34xx())
+   ena = 0;
+   else
+   BUG();
+
+   mask = 1  idlest_shift;
+
+   /* XXX should be OMAP2 CM */
+   while (((cm_read_mod_reg(prcm_mod, cm_idlest_reg)  mask) != ena) 
+  (i++  MAX_MODULE_READY_TIME))
+   udelay(1);
+
+   return (i  MAX_MODULE_READY_TIME) ? 0 : -EBUSY;
+}
+
diff --git a/arch/arm/mach-omap2/cm.h b/arch/arm/mach-omap2/cm.h
index f3c91a1..df435d1 100644
--- a/arch/arm/mach-omap2/cm.h
+++ b/arch/arm/mach-omap2/cm.h
@@ -98,6 +98,10 @@ extern u32 cm_read_mod_reg(s16 module, u16 idx);
 extern void cm_write_mod_reg(u32 val, s16 module, u16 idx);
 extern u32 cm_rmw_mod_reg_bits(u32 mask, u32 bits, s16 module, s16 idx);
 
+extern int omap2_cm_wait_module_ready(s16 prcm_mod, u8 idlest_id,
+ u8 idlest_shift);
+extern int omap4_cm_wait_module_ready(u32 prcm_mod, u8 prcm_dev_offs);
+
 static inline u32 cm_set_mod_reg_bits(u32 bits, s16 module, s16 idx)
 {
return cm_rmw_mod_reg_bits(bits, bits, module, idx);
diff --git a/arch/arm/mach-omap2/cm4xxx.c b/arch/arm/mach-omap2/cm4xxx.c
new file mode 100644
index 000..e4ebd6d
--- /dev/null
+++ b/arch/arm/mach-omap2/cm4xxx.c
@@ -0,0 +1,68 @@
+/*
+ * OMAP4 CM module functions
+ *
+ * Copyright (C) 2009 Nokia Corporation
+ * Paul Walmsley
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the 

[PATCH v2 10/11] OMAP: omap_hwmod: call omap_hwmod init at boot; create interconnects

2009-08-18 Thread Paul Walmsley
Connect the omap_hwmod code to the kernel boot.  Create some basic
interconnect and device structures for OMAP2/3 chips.

Signed-off-by: Paul Walmsley p...@pwsan.com
---
 arch/arm/mach-omap2/io.c  |   17 +++
 arch/arm/mach-omap2/omap_hwmod.c  |3 -
 arch/arm/mach-omap2/omap_hwmod_2420.h |  141 
 arch/arm/mach-omap2/omap_hwmod_2430.h |  143 
 arch/arm/mach-omap2/omap_hwmod_34xx.h |  168 +
 5 files changed, 469 insertions(+), 3 deletions(-)
 create mode 100644 arch/arm/mach-omap2/omap_hwmod_2420.h
 create mode 100644 arch/arm/mach-omap2/omap_hwmod_2430.h
 create mode 100644 arch/arm/mach-omap2/omap_hwmod_34xx.h

diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
index 470b1d1..7574b6f 100644
--- a/arch/arm/mach-omap2/io.c
+++ b/arch/arm/mach-omap2/io.c
@@ -39,12 +39,16 @@
 
 #include mach/omap-pm.h
 #include mach/powerdomain.h
-
 #include powerdomains.h
 
 #include mach/clockdomain.h
 #include clockdomains.h
 #endif
+#include mach/omap_hwmod.h
+#include omap_hwmod_2420.h
+#include omap_hwmod_2430.h
+#include omap_hwmod_34xx.h
+
 /*
  * The machine specific code may provide the extra mapping besides the
  * default mapping provided here.
@@ -281,6 +285,16 @@ static int __init _omap2_init_reprogram_sdrc(void)
 void __init omap2_init_common_hw(struct omap_sdrc_params *sdrc_cs0,
 struct omap_sdrc_params *sdrc_cs1)
 {
+   struct omap_hwmod **hwmods = NULL;
+
+   if (cpu_is_omap2420())
+   hwmods = omap2420_hwmods;
+   else if (cpu_is_omap2430())
+   hwmods = omap2430_hwmods;
+   else if (cpu_is_omap34xx())
+   hwmods = omap34xx_hwmods;
+
+   omap_hwmod_init(hwmods);
omap2_mux_init();
 #ifndef CONFIG_ARCH_OMAP4 /* FIXME: Remove this once the clkdev is ready */
/* The OPP tables have to be registered before a clk init */
@@ -289,6 +303,7 @@ void __init omap2_init_common_hw(struct omap_sdrc_params 
*sdrc_cs0,
clkdm_init(clockdomains_omap, clkdm_pwrdm_autodeps);
omap2_clk_init();
omap_serial_early_init();
+   omap_hwmod_late_init();
omap_pm_if_init();
omap2_sdrc_init(sdrc_cs0, sdrc_cs1);
_omap2_init_reprogram_sdrc();
diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
index d1ef3ef..2324e0c 100644
--- a/arch/arm/mach-omap2/omap_hwmod.c
+++ b/arch/arm/mach-omap2/omap_hwmod.c
@@ -765,8 +765,7 @@ static int _reset(struct omap_hwmod *oh)
WARN(1, omap_hwmod: %s: failed to reset in %d usec\n,
 oh-name, MAX_MODULE_RESET_WAIT);
else
-   pr_debug(omap_hwmod: %s: reset in %d usec\n, oh-name,
-MAX_MODULE_RESET_WAIT);
+   pr_debug(omap_hwmod: %s: reset in %d usec\n, oh-name, c);
 
/*
 * XXX add _HWMOD_STATE_WEDGED for modules that don't come back from
diff --git a/arch/arm/mach-omap2/omap_hwmod_2420.h 
b/arch/arm/mach-omap2/omap_hwmod_2420.h
new file mode 100644
index 000..767e496
--- /dev/null
+++ b/arch/arm/mach-omap2/omap_hwmod_2420.h
@@ -0,0 +1,141 @@
+/*
+ * omap_hwmod_2420.h - hardware modules present on the OMAP2420 chips
+ *
+ * Copyright (C) 2009 Nokia Corporation
+ * Paul Walmsley
+ *
+ * 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.
+ *
+ * XXX handle crossbar/shared link difference for L3?
+ *
+ */
+#ifndef __ARCH_ARM_PLAT_OMAP_INCLUDE_MACH_OMAP_HWMOD2420_H
+#define __ARCH_ARM_PLAT_OMAP_INCLUDE_MACH_OMAP_HWMOD2420_H
+
+#ifdef CONFIG_ARCH_OMAP2420
+
+#include mach/omap_hwmod.h
+#include mach/irqs.h
+#include mach/cpu.h
+#include mach/dma.h
+
+#include prm-regbits-24xx.h
+
+static struct omap_hwmod omap2420_mpu_hwmod;
+static struct omap_hwmod omap2420_l3_hwmod;
+static struct omap_hwmod omap2420_l4_core_hwmod;
+
+/* L3 - L4_CORE interface */
+static struct omap_hwmod_ocp_if omap2420_l3__l4_core = {
+   .master = omap2420_l3_hwmod,
+   .slave  = omap2420_l4_core_hwmod,
+   .user   = OCP_USER_MPU | OCP_USER_SDMA,
+};
+
+/* MPU - L3 interface */
+static struct omap_hwmod_ocp_if omap2420_mpu__l3 = {
+   .master = omap2420_mpu_hwmod,
+   .slave  = omap2420_l3_hwmod,
+   .user   = OCP_USER_MPU,
+};
+
+/* Slave interfaces on the L3 interconnect */
+static struct omap_hwmod_ocp_if *omap2420_l3_slaves[] = {
+   omap2420_mpu__l3,
+};
+
+/* Master interfaces on the L3 interconnect */
+static struct omap_hwmod_ocp_if *omap2420_l3_masters[] = {
+   omap2420_l3__l4_core,
+};
+
+/* L3 */
+static struct omap_hwmod omap2420_l3_hwmod = {
+   .name   = l3_hwmod,
+   .masters= omap2420_l3_masters,
+   .masters_cnt= ARRAY_SIZE(omap2420_l3_masters),
+   .slaves = omap2420_l3_slaves,
+   .slaves_cnt = 

[PATCH v2 05/11] OMAP3 clock: remove superfluous calls to omap2_init_clk_clkdm

2009-08-18 Thread Paul Walmsley
omap2_init_clk_clkdm() is called as part of the chip architecture-specific
initialization code, so calling it again from the struct clk init pointer
just wastes cycles.

Signed-off-by: Paul Walmsley p...@pwsan.com
---
 arch/arm/mach-omap2/clock34xx.h |   20 
 1 files changed, 0 insertions(+), 20 deletions(-)

diff --git a/arch/arm/mach-omap2/clock34xx.h b/arch/arm/mach-omap2/clock34xx.h
index 9a823c3..c811978 100644
--- a/arch/arm/mach-omap2/clock34xx.h
+++ b/arch/arm/mach-omap2/clock34xx.h
@@ -1156,7 +1156,6 @@ static struct clk gfx_cg1_ck = {
.name   = gfx_cg1_ck,
.ops= clkops_omap2_dflt_wait,
.parent = gfx_l3_fck, /* REVISIT: correct? */
-   .init   = omap2_init_clk_clkdm,
.enable_reg = OMAP_CM_REGADDR(GFX_MOD, CM_FCLKEN),
.enable_bit = OMAP3430ES1_EN_2D_SHIFT,
.clkdm_name = gfx_3430es1_clkdm,
@@ -1167,7 +1166,6 @@ static struct clk gfx_cg2_ck = {
.name   = gfx_cg2_ck,
.ops= clkops_omap2_dflt_wait,
.parent = gfx_l3_fck, /* REVISIT: correct? */
-   .init   = omap2_init_clk_clkdm,
.enable_reg = OMAP_CM_REGADDR(GFX_MOD, CM_FCLKEN),
.enable_bit = OMAP3430ES1_EN_3D_SHIFT,
.clkdm_name = gfx_3430es1_clkdm,
@@ -1211,7 +1209,6 @@ static struct clk sgx_ick = {
.name   = sgx_ick,
.ops= clkops_omap2_dflt_wait,
.parent = l3_ick,
-   .init   = omap2_init_clk_clkdm,
.enable_reg = OMAP_CM_REGADDR(OMAP3430ES2_SGX_MOD, CM_ICLKEN),
.enable_bit = OMAP3430ES2_CM_ICLKEN_SGX_EN_SGX_SHIFT,
.clkdm_name = sgx_clkdm,
@@ -1224,7 +1221,6 @@ static struct clk d2d_26m_fck = {
.name   = d2d_26m_fck,
.ops= clkops_omap2_dflt_wait,
.parent = sys_ck,
-   .init   = omap2_init_clk_clkdm,
.enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_FCLKEN1),
.enable_bit = OMAP3430ES1_EN_D2D_SHIFT,
.clkdm_name = d2d_clkdm,
@@ -1235,7 +1231,6 @@ static struct clk modem_fck = {
.name   = modem_fck,
.ops= clkops_omap2_dflt_wait,
.parent = sys_ck,
-   .init   = omap2_init_clk_clkdm,
.enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_FCLKEN1),
.enable_bit = OMAP3430_EN_MODEM_SHIFT,
.clkdm_name = d2d_clkdm,
@@ -1623,7 +1618,6 @@ static struct clk core_l3_ick = {
.name   = core_l3_ick,
.ops= clkops_null,
.parent = l3_ick,
-   .init   = omap2_init_clk_clkdm,
.clkdm_name = core_l3_clkdm,
.recalc = followparent_recalc,
 };
@@ -1692,7 +1686,6 @@ static struct clk core_l4_ick = {
.name   = core_l4_ick,
.ops= clkops_null,
.parent = l4_ick,
-   .init   = omap2_init_clk_clkdm,
.clkdm_name = core_l4_clkdm,
.recalc = followparent_recalc,
 };
@@ -2090,7 +2083,6 @@ static struct clk dss_tv_fck = {
.name   = dss_tv_fck,
.ops= clkops_omap2_dflt,
.parent = omap_54m_fck,
-   .init   = omap2_init_clk_clkdm,
.enable_reg = OMAP_CM_REGADDR(OMAP3430_DSS_MOD, CM_FCLKEN),
.enable_bit = OMAP3430_EN_TV_SHIFT,
.clkdm_name = dss_clkdm,
@@ -2101,7 +2093,6 @@ static struct clk dss_96m_fck = {
.name   = dss_96m_fck,
.ops= clkops_omap2_dflt,
.parent = omap_96m_fck,
-   .init   = omap2_init_clk_clkdm,
.enable_reg = OMAP_CM_REGADDR(OMAP3430_DSS_MOD, CM_FCLKEN),
.enable_bit = OMAP3430_EN_TV_SHIFT,
.clkdm_name = dss_clkdm,
@@ -2112,7 +2103,6 @@ static struct clk dss2_alwon_fck = {
.name   = dss2_alwon_fck,
.ops= clkops_omap2_dflt,
.parent = sys_ck,
-   .init   = omap2_init_clk_clkdm,
.enable_reg = OMAP_CM_REGADDR(OMAP3430_DSS_MOD, CM_FCLKEN),
.enable_bit = OMAP3430_EN_DSS2_SHIFT,
.clkdm_name = dss_clkdm,
@@ -2124,7 +2114,6 @@ static struct clk dss_ick_3430es1 = {
.name   = dss_ick,
.ops= clkops_omap2_dflt,
.parent = l4_ick,
-   .init   = omap2_init_clk_clkdm,
.enable_reg = OMAP_CM_REGADDR(OMAP3430_DSS_MOD, CM_ICLKEN),
.enable_bit = OMAP3430_CM_ICLKEN_DSS_EN_DSS_SHIFT,
.clkdm_name = dss_clkdm,
@@ -2136,7 +2125,6 @@ static struct clk dss_ick_3430es2 = {
.name   = dss_ick,
.ops= clkops_omap3430es2_dss_usbhost_wait,
.parent = l4_ick,
-   .init   = omap2_init_clk_clkdm,
.enable_reg = OMAP_CM_REGADDR(OMAP3430_DSS_MOD, CM_ICLKEN),
.enable_bit = 

[PATCH v2 03/11] OMAP3 clock: Fixed processing of bootarg 'mpurate'

2009-08-18 Thread Paul Walmsley
From: Sanjeev Premi pr...@ti.com

The argument 'mpurate' had no effect on the MPU
frequency. This patch fixes the same.

Signed-off-by: Sanjeev Premi pr...@ti.com
Signed-off-by: Paul Walmsley p...@pwsan.com
---
 arch/arm/mach-omap2/clock34xx.c |   17 +
 1 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/arch/arm/mach-omap2/clock34xx.c b/arch/arm/mach-omap2/clock34xx.c
index cd7819c..fafcd32 100644
--- a/arch/arm/mach-omap2/clock34xx.c
+++ b/arch/arm/mach-omap2/clock34xx.c
@@ -27,6 +27,7 @@
 #include linux/limits.h
 #include linux/bitops.h
 
+#include mach/cpu.h
 #include mach/clock.h
 #include mach/sram.h
 #include asm/div64.h
@@ -1067,17 +1068,17 @@ static int __init omap2_clk_arch_init(void)
return -EINVAL;
 
/* REVISIT: not yet ready for 343x */
-#if 0
-   if (clk_set_rate(virt_prcm_set, mpurate))
-   printk(KERN_ERR Could not find matching MPU rate\n);
-#endif
+   if (clk_set_rate(dpll1_ck, mpurate))
+   printk(KERN_ERR *** Unable to set MPU rate\n);
 
recalculate_root_clocks();
 
-   printk(KERN_INFO Switched to new clocking rate (Crystal/DPLL3/MPU): 
+   printk(KERN_INFO Switched to new clocking rate (Crystal/Core/MPU): 
   %ld.%01ld/%ld/%ld MHz\n,
-  (osc_sys_ck.rate / 100), (osc_sys_ck.rate / 10) % 10,
-  (core_ck.rate / 100), (dpll1_fck.rate / 100)) ;
+  (osc_sys_ck.rate / 100), ((osc_sys_ck.rate / 10) % 10),
+  (core_ck.rate / 100), (arm_fck.rate / 100)) ;
+
+   calibrate_delay();
 
return 0;
 }
@@ -1136,7 +1137,7 @@ int __init omap2_clk_init(void)
 
recalculate_root_clocks();
 
-   printk(KERN_INFO Clocking rate (Crystal/DPLL/ARM core): 
+   printk(KERN_INFO Clocking rate (Crystal/Core/MPU): 
   %ld.%01ld/%ld/%ld MHz\n,
   (osc_sys_ck.rate / 100), (osc_sys_ck.rate / 10) % 10,
   (core_ck.rate / 100), (arm_fck.rate / 100));


--
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 v2 02/11] OMAP: SDRC: Add several new register definitions

2009-08-18 Thread Paul Walmsley
From: Tero Kristo tero.kri...@nokia.com

Add missing SDRC register offset macros.

Signed-off-by: Tero Kristo tero.kri...@nokia.com
Signed-off-by: Kevin Hilman khil...@deeprootsystems.com
[p...@pwsan.com: added commit message]
Signed-off-by: Paul Walmsley p...@pwsan.com
---
 arch/arm/plat-omap/include/mach/sdrc.h |9 +
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/arch/arm/plat-omap/include/mach/sdrc.h 
b/arch/arm/plat-omap/include/mach/sdrc.h
index 0be18e4..8fff90a 100644
--- a/arch/arm/plat-omap/include/mach/sdrc.h
+++ b/arch/arm/plat-omap/include/mach/sdrc.h
@@ -21,19 +21,28 @@
 /* SDRC register offsets - read/write with sdrc_{read,write}_reg() */
 
 #define SDRC_SYSCONFIG 0x010
+#define SDRC_CS_CFG0x040
+#define SDRC_SHARING   0x044
+#define SDRC_ERR_TYPE  0x04C
 #define SDRC_DLLA_CTRL 0x060
 #define SDRC_DLLA_STATUS   0x064
 #define SDRC_DLLB_CTRL 0x068
 #define SDRC_DLLB_STATUS   0x06C
 #define SDRC_POWER 0x070
+#define SDRC_MCFG_00x080
 #define SDRC_MR_0  0x084
+#define SDRC_EMR2_00x08c
 #define SDRC_ACTIM_CTRL_A_00x09c
 #define SDRC_ACTIM_CTRL_B_00x0a0
 #define SDRC_RFR_CTRL_00x0a4
+#define SDRC_MANUAL_0  0x0a8
+#define SDRC_MCFG_10x0B0
 #define SDRC_MR_1  0x0B4
+#define SDRC_EMR2_10x0BC
 #define SDRC_ACTIM_CTRL_A_10x0C4
 #define SDRC_ACTIM_CTRL_B_10x0C8
 #define SDRC_RFR_CTRL_10x0D4
+#define SDRC_MANUAL_1  0x0D8
 
 /*
  * These values represent the number of memory clock cycles between


--
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 v2 11/11] OMAP2/3/4 core: create omap_device layer

2009-08-18 Thread Paul Walmsley
The omap_device code provides a mapping of omap_hwmod structures into
the platform_device system, and includes some details on external
(board-level) integration.  This allows drivers to enable, idle, and
shutdown on-chip device resources, including clocks, regulators, etc.
The resources enabled and idled are dependent on the device's maximum
wakeup latency constraint (if present).

At the moment, omap_device functions are intended to be called from
platform_data function pointers.  Ideally in the future these
functions will be called from either subarchitecture-specific
platform_data activate, deactivate functions, or via an custom
bus/device type for OMAP.

Signed-off-by: Paul Walmsley p...@pwsan.com
Cc: Benoit Cousson b-cous...@ti.com
Cc: Kevin Hilman khil...@deeprootsystems.com
Cc: Tony Lindgren t...@atomide.com
Cc: Rajendra Nayak rna...@ti.com
Cc: Vikram Pandita vikram.pand...@ti.com
Cc: Sakari Poussa sakari.pou...@nokia.com
Cc: Anand Sawant saw...@ti.com
Cc: Santosh Shilimkar santosh.shilim...@ti.com
Cc: Eric Thomas etho...@ti.com
Cc: Richard Woodruff r-woodru...@ti.com
---
 arch/arm/plat-omap/Makefile   |4 
 arch/arm/plat-omap/include/mach/omap_device.h |  141 +
 arch/arm/plat-omap/omap_device.c  |  687 +
 3 files changed, 832 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/plat-omap/include/mach/omap_device.h
 create mode 100644 arch/arm/plat-omap/omap_device.c

diff --git a/arch/arm/plat-omap/Makefile b/arch/arm/plat-omap/Makefile
index 86ca86f..2ac109a 100644
--- a/arch/arm/plat-omap/Makefile
+++ b/arch/arm/plat-omap/Makefile
@@ -12,6 +12,10 @@ obj-  :=
 # OCPI interconnect support for 1710, 1610 and 5912
 obj-$(CONFIG_ARCH_OMAP16XX) += ocpi.o
 
+# omap_device support (OMAP2+ only at the moment)
+obj-$(CONFIG_ARCH_OMAP2) += omap_device.o
+obj-$(CONFIG_ARCH_OMAP3) += omap_device.o
+
 obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o
 obj-$(CONFIG_OMAP_IOMMU) += iommu.o iovmm.o
 
diff --git a/arch/arm/plat-omap/include/mach/omap_device.h 
b/arch/arm/plat-omap/include/mach/omap_device.h
new file mode 100644
index 000..bd0e136
--- /dev/null
+++ b/arch/arm/plat-omap/include/mach/omap_device.h
@@ -0,0 +1,141 @@
+/*
+ * omap_device headers
+ *
+ * Copyright (C) 2009 Nokia Corporation
+ * Paul Walmsley
+ *
+ * Developed in collaboration with (alphabetical order): Benoit
+ * Cousson, Kevin Hilman, Tony Lindgren, Rajendra Nayak, Vikram
+ * Pandita, Sakari Poussa, Anand Sawant, Santosh Shilimkar, Richard
+ * Woodruff
+ *
+ * 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.
+ *
+ * Eventually this type of functionality should either be
+ * a) implemented via arch-specific pointers in platform_device
+ * or
+ * b) implemented as a proper omap_bus/omap_device in Linux, no more
+ *platform_device
+ *
+ * omap_device differs from omap_hwmod in that it includes external
+ * (e.g., board- and system-level) integration details.  omap_hwmod
+ * stores hardware data that is invariant for a given OMAP chip.
+ *
+ * To do:
+ * - GPIO integration
+ * - regulator integration
+ *
+ */
+#ifndef __ARCH_ARM_PLAT_OMAP_INCLUDE_MACH_OMAP_DEVICE_H
+#define __ARCH_ARM_PLAT_OMAP_INCLUDE_MACH_OMAP_DEVICE_H
+
+#include linux/kernel.h
+#include linux/platform_device.h
+
+#include mach/omap_hwmod.h
+
+/* omap_device._state values */
+#define OMAP_DEVICE_STATE_UNKNOWN  0
+#define OMAP_DEVICE_STATE_ENABLED  1
+#define OMAP_DEVICE_STATE_IDLE 2
+#define OMAP_DEVICE_STATE_SHUTDOWN 3
+
+/**
+ * struct omap_device - omap_device wrapper for platform_devices
+ * @pdev: platform_device
+ * @hwmods: (one .. many per omap_device)
+ * @hwmods_cnt: ARRAY_SIZE() of @hwmods
+ * @pm_lats: ptr to an omap_device_pm_latency table
+ * @pm_lats_cnt: ARRAY_SIZE() of what is passed to @pm_lats
+ * @pm_lat_level: array index of the last odpl entry executed - -1 if never
+ * @dev_wakeup_lat: dev wakeup latency in microseconds
+ * @_dev_wakeup_lat_limit: dev wakeup latency limit in usec - set by OMAP PM
+ * @_state: one of OMAP_DEVICE_STATE_* (see above)
+ * @flags: device flags
+ *
+ * Integrates omap_hwmod data into Linux platform_device.
+ *
+ * Field names beginning with underscores are for the internal use of
+ * the omap_device code.
+ *
+ */
+struct omap_device {
+   struct platform_device  pdev;
+   struct omap_hwmod   **hwmods;
+   struct omap_device_pm_latency   *pm_lats;
+   u32 dev_wakeup_lat;
+   u32 _dev_wakeup_lat_limit;
+   u8  pm_lats_cnt;
+   s8  pm_lat_level;
+   u8  hwmods_cnt;
+   u8  _state;
+};
+
+/* Device driver interface (call via platform_data fn ptrs) */
+
+int omap_device_enable(struct 

[PATCH v2 08/11] OMAP2/3 board-*.c files: read bootloader configuration earlier

2009-08-18 Thread Paul Walmsley
Most board-*.c files read configuration data from the bootloader in
their .init_machine() function.  This needs to happen earlier, at some
point before omap2_init_common_hw() is called.  This is because a
future patch will use the bootloader serial console port information
to enable the UART clocks earlier, immediately after omap2_clk_init().
This is in turn necessary since otherwise clock tree usecounts on
clocks like dpll4_m2x2_ck will be bogus, which can cause the
currently-active console UART clock to be disabled during boot.

Signed-off-by: Paul Walmsley p...@pwsan.com
---
 arch/arm/mach-omap2/board-2430sdp.c  |   17 -
 arch/arm/mach-omap2/board-3430sdp.c  |   18 +-
 arch/arm/mach-omap2/board-apollon.c  |   20 ++--
 arch/arm/mach-omap2/board-generic.c  |   14 +++---
 arch/arm/mach-omap2/board-h4.c   |   20 ++--
 arch/arm/mach-omap2/board-ldp.c  |   20 ++--
 arch/arm/mach-omap2/board-omap3beagle.c  |   26 +-
 arch/arm/mach-omap2/board-omap3evm.c |   14 +++---
 arch/arm/mach-omap2/board-omap3pandora.c |   20 ++--
 arch/arm/mach-omap2/board-overo.c|   20 ++--
 arch/arm/mach-omap2/board-rx51.c |4 ++--
 arch/arm/mach-omap2/board-zoom2.c|   18 +-
 arch/arm/mach-omap2/io.c |2 ++
 arch/arm/mach-omap2/serial.c |   14 +-
 arch/arm/plat-omap/include/mach/serial.h |3 +++
 15 files changed, 123 insertions(+), 107 deletions(-)

diff --git a/arch/arm/mach-omap2/board-2430sdp.c 
b/arch/arm/mach-omap2/board-2430sdp.c
index 8ec2a13..06c644d 100644
--- a/arch/arm/mach-omap2/board-2430sdp.c
+++ b/arch/arm/mach-omap2/board-2430sdp.c
@@ -139,13 +139,6 @@ static inline void board_smc91x_init(void)
 
 #endif
 
-static void __init omap_2430sdp_init_irq(void)
-{
-   omap2_init_common_hw(NULL, NULL);
-   omap_init_irq();
-   omap_gpio_init();
-}
-
 static struct omap_uart_config sdp2430_uart_config __initdata = {
.enabled_uarts = ((1  0) | (1  1) | (1  2)),
 };
@@ -155,6 +148,14 @@ static struct omap_board_config_kernel sdp2430_config[] = {
{OMAP_TAG_LCD, sdp2430_lcd_config},
 };
 
+static void __init omap_2430sdp_init_irq(void)
+{
+   omap_board_config = sdp2430_config;
+   omap_board_config_size = ARRAY_SIZE(sdp2430_config);
+   omap2_init_common_hw(NULL, NULL);
+   omap_init_irq();
+   omap_gpio_init();
+}
 
 static struct twl4030_gpio_platform_data sdp2430_gpio_data = {
.gpio_base  = OMAP_MAX_GPIO_LINES,
@@ -205,8 +206,6 @@ static void __init omap_2430sdp_init(void)
omap2430_i2c_init();
 
platform_add_devices(sdp2430_devices, ARRAY_SIZE(sdp2430_devices));
-   omap_board_config = sdp2430_config;
-   omap_board_config_size = ARRAY_SIZE(sdp2430_config);
omap_serial_init();
twl4030_mmc_init(mmc);
usb_musb_init();
diff --git a/arch/arm/mach-omap2/board-3430sdp.c 
b/arch/arm/mach-omap2/board-3430sdp.c
index ac262cd..e51c124 100644
--- a/arch/arm/mach-omap2/board-3430sdp.c
+++ b/arch/arm/mach-omap2/board-3430sdp.c
@@ -167,13 +167,6 @@ static struct platform_device *sdp3430_devices[] 
__initdata = {
sdp3430_lcd_device,
 };
 
-static void __init omap_3430sdp_init_irq(void)
-{
-   omap2_init_common_hw(hyb18m512160af6_sdrc_params, NULL);
-   omap_init_irq();
-   omap_gpio_init();
-}
-
 static struct omap_uart_config sdp3430_uart_config __initdata = {
.enabled_uarts  = ((1  0) | (1  1) | (1  2)),
 };
@@ -187,6 +180,15 @@ static struct omap_board_config_kernel sdp3430_config[] 
__initdata = {
{ OMAP_TAG_LCD, sdp3430_lcd_config },
 };
 
+static void __init omap_3430sdp_init_irq(void)
+{
+   omap_board_config = sdp3430_config;
+   omap_board_config_size = ARRAY_SIZE(sdp3430_config);
+   omap2_init_common_hw(hyb18m512160af6_sdrc_params, NULL);
+   omap_init_irq();
+   omap_gpio_init();
+}
+
 static int sdp3430_batt_table[] = {
 /* 0 C*/
 30800, 29500, 28300, 27100,
@@ -482,8 +484,6 @@ static void __init omap_3430sdp_init(void)
 {
omap3430_i2c_init();
platform_add_devices(sdp3430_devices, ARRAY_SIZE(sdp3430_devices));
-   omap_board_config = sdp3430_config;
-   omap_board_config_size = ARRAY_SIZE(sdp3430_config);
if (omap_rev()  OMAP3430_REV_ES1_0)
ts_gpio = SDP3430_TS_GPIO_IRQ_SDPV2;
else
diff --git a/arch/arm/mach-omap2/board-apollon.c 
b/arch/arm/mach-omap2/board-apollon.c
index dcfc20d..8e063ba 100644
--- a/arch/arm/mach-omap2/board-apollon.c
+++ b/arch/arm/mach-omap2/board-apollon.c
@@ -248,14 +248,6 @@ out:
clk_put(gpmc_fck);
 }
 
-static void __init omap_apollon_init_irq(void)
-{
-   omap2_init_common_hw(NULL, NULL);
-   omap_init_irq();
-   omap_gpio_init();
-   apollon_init_smc91x();
-}
-
 static struct 

Re: [help] 2.6.30 can't booting

2009-08-18 Thread Tar Gz
if i'm using another partition?..how i mount partition that?

On 8/18/09, Tar Gz bsdraisefromh...@gmail.com wrote:
 -- Forwarded message --
 From: Tar Gz bsdraisefromh...@gmail.com
 Date: Tue, 18 Aug 2009 04:47:21 -0700
 Subject: Re: [help] 2.6.30 can't booting
 To: Kovacs Peter Tamas p.kov...@holografika.com, linux-omap
 linux-omap@vger.kernel.org

 On 8/17/09, Kovacs Peter Tamas p.kov...@holografika.com wrote:
 Hi,

 we use these parameters for NFS booting:
 setenv bootargs console=ttyS2,115200n8 noinitrd root=/dev/nfs rw
 nfsroot=10.95.102.32:/home/filesystems/tifs,nolock,vers=3,rsize=2048,wsize=2048,
 tcp dyntick=e ip=dhcp nohz=off

 or without DHCP:
 setenv bootargs console=ttyS2,115200n8 noinitrd,rw root=/dev/nfs
 nfsroot=10.95.102.32:/home/filesystems/tifs,nolock, mem=112M nohz=off
 ip=10.95.102.33:10.95.96.1:10.95.96.1:255.255.240.0:infba00798::off
 devfs=mount


 oke i try it

 in the another mailing list, the problem about different speed
 bootloader and linux kernel..if that's my problem..how i can fix
 that?thanks before

 Regards,
 Aldyth M

--
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 v2 06/11] OMAP2/3 PM: create the OMAP PM interface and add a default OMAP PM no-op layer

2009-08-18 Thread Paul Walmsley
The interface provides device drivers, CPUFreq, and DSPBridge with a
means of controlling OMAP power management parameters that are not yet
supported by the Linux PM PMQoS interface.  Copious documentation is
in the patch in Documentation/arm/OMAP/omap_pm and the interface
header file, arch/arm/plat-omap/include/mach/omap-pm.h.

Thanks to Rajendra Nayak rna...@ti.com for adding CORE (VDD2) OPP
support and moving the OPP table initialization earlier in the event
that the clock code needs them.  Thanks to Tero Kristo
tero.kri...@nokia.com for fixing the parameter check in
omap_pm_set_min_bus_tput().  Jouni signed off on Tero's patch.

Signed-off-by: Paul Walmsley p...@pwsan.com
Signed-off-by: Kevin Hilman khil...@deeprootsystems.com
Signed-off-by: Rajendra Nayak rna...@ti.com
Signed-off-by: Tero Kristo tero.kri...@nokia.com
Signed-off-by: Jouni Högander jouni.hogan...@nokia.com
Cc: Tony Lindgren t...@atomide.com
Cc: Igor Stoppa igor.sto...@nokia.com
Cc: Richard Woodruff r-woodru...@ti.com
Cc: Anand Sawant saw...@ti.com
Cc: Sakari Poussa sakari.pou...@nokia.com
Cc: Veeramanikandan Raju ve...@ti.com
Cc: Karthik Dasu karthik...@ti.com
---
 Documentation/arm/OMAP/omap_pm|  129 
 arch/arm/mach-omap2/io.c  |4 
 arch/arm/plat-omap/Kconfig|   13 +
 arch/arm/plat-omap/Makefile   |1 
 arch/arm/plat-omap/include/mach/omap-pm.h |  301 +
 arch/arm/plat-omap/omap-pm-noop.c |  296 +
 6 files changed, 744 insertions(+), 0 deletions(-)
 create mode 100644 Documentation/arm/OMAP/omap_pm
 create mode 100644 arch/arm/plat-omap/include/mach/omap-pm.h
 create mode 100644 arch/arm/plat-omap/omap-pm-noop.c

diff --git a/Documentation/arm/OMAP/omap_pm b/Documentation/arm/OMAP/omap_pm
new file mode 100644
index 000..5389440
--- /dev/null
+++ b/Documentation/arm/OMAP/omap_pm
@@ -0,0 +1,129 @@
+
+The OMAP PM interface
+=
+
+This document describes the temporary OMAP PM interface.  Driver
+authors use these functions to communicate minimum latency or
+throughput constraints to the kernel power management code.
+Over time, the intention is to merge features from the OMAP PM
+interface into the Linux PM QoS code.
+
+Drivers need to express PM parameters which:
+
+- support the range of power management parameters present in the TI SRF;
+
+- separate the drivers from the underlying PM parameter
+  implementation, whether it is the TI SRF or Linux PM QoS or Linux
+  latency framework or something else;
+
+- specify PM parameters in terms of fundamental units, such as
+  latency and throughput, rather than units which are specific to OMAP
+  or to particular OMAP variants;
+
+- allow drivers which are shared with other architectures (e.g.,
+  DaVinci) to add these constraints in a way which won't affect non-OMAP
+  systems,
+
+- can be implemented immediately with minimal disruption of other
+  architectures.
+
+
+This document proposes the OMAP PM interface, including the following
+five power management functions for driver code:
+
+1. Set the maximum MPU wakeup latency:
+   (*pdata-set_max_mpu_wakeup_lat)(struct device *dev, unsigned long t)
+
+2. Set the maximum device wakeup latency:
+   (*pdata-set_max_dev_wakeup_lat)(struct device *dev, unsigned long t)
+
+3. Set the maximum system DMA transfer start latency (CORE pwrdm):
+   (*pdata-set_max_sdma_lat)(struct device *dev, long t)
+
+4. Set the minimum bus throughput needed by a device:
+   (*pdata-set_min_bus_tput)(struct device *dev, u8 agent_id, unsigned long r)
+
+5. Return the number of times the device has lost context
+   (*pdata-get_dev_context_loss_count)(struct device *dev)
+
+
+Further documentation for all OMAP PM interface functions can be
+found in arch/arm/plat-omap/include/mach/omap-pm.h.
+
+
+The OMAP PM layer is intended to be temporary
+-
+
+The intention is that eventually the Linux PM QoS layer should support
+the range of power management features present in OMAP3.  As this
+happens, existing drivers using the OMAP PM interface can be modified
+to use the Linux PM QoS code; and the OMAP PM interface can disappear.
+
+
+Driver usage of the OMAP PM functions
+-
+
+As the 'pdata' in the above examples indicates, these functions are
+exposed to drivers through function pointers in driver .platform_data
+structures.  The function pointers are initialized by the board-*.c
+files to point to the corresponding OMAP PM functions:
+.set_max_dev_wakeup_lat will point to
+omap_pm_set_max_dev_wakeup_lat(), etc.  Other architectures which do
+not support these functions should leave these function pointers set
+to NULL.  Drivers should use the following idiom:
+
+if (pdata-set_max_dev_wakeup_lat)
+(*pdata-set_max_dev_wakeup_lat)(dev, t);
+
+The most common usage of these functions will probably be to specify
+the 

Re: [help] 2.6.30 can't booting

2009-08-18 Thread Kovacs Peter Tamas

Hi,

to mount SD card instead of NFS, use something like:
setenv bootargs console=ttyS2,115200n8 root=/dev/mmcblk0p1 rw

likewise, the second partition is /dev/mmcblk0p2

Hope this helps,
Peter

if i'm using another partition?..how i mount partition that?

On 8/18/09, Tar Gz bsdraisefromh...@gmail.com wrote:
  

-- Forwarded message --
From: Tar Gz bsdraisefromh...@gmail.com
Date: Tue, 18 Aug 2009 04:47:21 -0700
Subject: Re: [help] 2.6.30 can't booting
To: Kovacs Peter Tamas p.kov...@holografika.com, linux-omap
linux-omap@vger.kernel.org

On 8/17/09, Kovacs Peter Tamas p.kov...@holografika.com wrote:


Hi,

we use these parameters for NFS booting:
setenv bootargs console=ttyS2,115200n8 noinitrd root=/dev/nfs rw
nfsroot=10.95.102.32:/home/filesystems/tifs,nolock,vers=3,rsize=2048,wsize=2048,
tcp dyntick=e ip=dhcp nohz=off

or without DHCP:
setenv bootargs console=ttyS2,115200n8 noinitrd,rw root=/dev/nfs
nfsroot=10.95.102.32:/home/filesystems/tifs,nolock, mem=112M nohz=off
ip=10.95.102.33:10.95.96.1:10.95.96.1:255.255.240.0:infba00798::off
devfs=mount

  

oke i try it

in the another mailing list, the problem about different speed
bootloader and linux kernel..if that's my problem..how i can fix
that?thanks before

Regards,
Aldyth M



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


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


Re: [PATCH 07/10] OMAP: PM: Add definitions for ETK pads and observability registers

2009-08-18 Thread Kevin Hilman
Gadiyar, Anand gadi...@ti.com writes:

 From: Peter 'p2' De Schrijver peter.de-schrij...@nokia.com
 
 Signed-off-by: Peter 'p2' De Schrijver peter.de-schrij...@nokia.com
 Signed-off-by: Kevin Hilman khil...@deeprootsystems.com
 ---
  arch/arm/plat-omap/include/mach/control.h |   47 
 +++-
  1 files changed, 45 insertions(+), 2 deletions(-)
 
 diff --git a/arch/arm/plat-omap/include/mach/control.h 
 b/arch/arm/plat-omap/include/mach/control.h
 index 8140dbc..81afe26 100644
 --- a/arch/arm/plat-omap/include/mach/control.h
 +++ b/arch/arm/plat-omap/include/mach/control.h
 @@ -141,8 +141,51 @@
  #define OMAP343X_CONTROL_TEST_KEY_13(OMAP2_CONTROL_GENERAL + 0x00fc)
  #define OMAP343X_CONTROL_IVA2_BOOTADDR  (OMAP2_CONTROL_GENERAL + 0x0190)
  #define OMAP343X_CONTROL_IVA2_BOOTMOD   (OMAP2_CONTROL_GENERAL + 0x0194)
 -#define OMAP343X_CONTROL_PBIAS_LITE (OMAP2_CONTROL_GENERAL + 0x02b0)
 -#define OMAP343X_CONTROL_TEMP_SENSOR(OMAP2_CONTROL_GENERAL + 0x02b4)
 +#define OMAP343X_CONTROL_DEBOBS(i)  (OMAP2_CONTROL_GENERAL + 0x01B0 \
 ++ ((i)  1) * 4 + (!(i  1)) * 2)
 +#define OMAP343X_CONTROL_PROG_IO0   (OMAP2_CONTROL_GENERAL + 0x01D4)
 +#define OMAP343X_CONTROL_PROG_IO1   (OMAP2_CONTROL_GENERAL + 0x01D8)
 +#define OMAP343X_CONTROL_DSS_DPLL_SPREADING (OMAP2_CONTROL_GENERAL + 0x01E0)
 +#define OMAP343X_CONTROL_CORE_DPLL_SPREADING(OMAP2_CONTROL_GENERAL 
 + 0x01E4)
 +#define OMAP343X_CONTROL_PER_DPLL_SPREADING (OMAP2_CONTROL_GENERAL + 0x01E8)
 +#define OMAP343X_CONTROL_USBHOST_DPLL_SPREADING (OMAP2_CONTROL_GENERAL 
 + 0x01EC)
 +#define OMAP343X_CONTROL_PBIAS_LITE (OMAP2_CONTROL_GENERAL + 0x02B0)
 +#define OMAP343X_CONTROL_TEMP_SENSOR(OMAP2_CONTROL_GENERAL + 0x02B4)
 +#define OMAP343X_CONTROL_SRAMLDO4   (OMAP2_CONTROL_GENERAL + 0x02B8)
 +#define OMAP343X_CONTROL_SRAMLDO5   (OMAP2_CONTROL_GENERAL + 0x02C0)
 +#define OMAP343X_CONTROL_CSI(OMAP2_CONTROL_GENERAL + 0x02C4)
 +
 +
 +/* 34xx PADCONF register offsets */
 +#define OMAP343X_PADCONF_ETK(i) (OMAP2_CONTROL_PADCONFS + 0x5a8 + \
 +(i)*2)
 +#define OMAP343X_PADCONF_ETK_CLKOMAP343X_PADCONF_ETK(0)
 +#define OMAP343X_PADCONF_ETK_CTLOMAP343X_PADCONF_ETK(1)
 +#define OMAP343X_PADCONF_ETK_D0 OMAP343X_PADCONF_ETK(2)
 +#define OMAP343X_PADCONF_ETK_D1 OMAP343X_PADCONF_ETK(3)
 +#define OMAP343X_PADCONF_ETK_D2 OMAP343X_PADCONF_ETK(4)
 +#define OMAP343X_PADCONF_ETK_D3 OMAP343X_PADCONF_ETK(5)
 +#define OMAP343X_PADCONF_ETK_D4 OMAP343X_PADCONF_ETK(6)
 +#define OMAP343X_PADCONF_ETK_D5 OMAP343X_PADCONF_ETK(7)
 +#define OMAP343X_PADCONF_ETK_D6 OMAP343X_PADCONF_ETK(8)
 +#define OMAP343X_PADCONF_ETK_D7 OMAP343X_PADCONF_ETK(9)
 +#define OMAP343X_PADCONF_ETK_D8 OMAP343X_PADCONF_ETK(10)
 +#define OMAP343X_PADCONF_ETK_D9 OMAP343X_PADCONF_ETK(11)
 +#define OMAP343X_PADCONF_ETK_D10OMAP343X_PADCONF_ETK(12)
 +#define OMAP343X_PADCONF_ETK_D11OMAP343X_PADCONF_ETK(13)
 +#define OMAP343X_PADCONF_ETK_D12OMAP343X_PADCONF_ETK(14)
 +#define OMAP343X_PADCONF_ETK_D13OMAP343X_PADCONF_ETK(15)
 +#define OMAP343X_PADCONF_ETK_D14OMAP343X_PADCONF_ETK(16)
 +#define OMAP343X_PADCONF_ETK_D15OMAP343X_PADCONF_ETK(17)

 I'm not sure if we need to use only these pads. There is an alternative
 set of pad that bring out the debobs signals.

... and they can be added in a separate patch when needed.

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


Pull request v2 for remaining OMAP PM, clock, SDRC 2.6.32 patches

2009-08-18 Thread Paul Walmsley

Hello Russell,

Here's the updated pull request for the eleven patches for 2.6.32, plus 
Hiroshi's OMAP clock debugfs error path fix.


regards,

- Paul


The following changes since commit df4ecf1524c7793de3121b2d4e5fc6bcc0da3bfb:
  Linus Torvalds (1):
Merge branch 'upstream' of 
git://ftp.linux-mips.org/pub/scm/upstream-linus

are available in the git repository at:

  git://git.pwsan.com/linux-2.6 2_6_32_merge

Hiroshi DOYU (1):
  OMAP clock: use debugfs_remove_recursive() for rewinding

Paul Walmsley (9):
  OMAP: powerdomain: Fix overflow when doing powerdomain deps lookups.
  OMAP clock: associate MPU clocks with the mpu_clkdm
  OMAP3 clock: remove superfluous calls to omap2_init_clk_clkdm
  OMAP2/3 PM: create the OMAP PM interface and add a default OMAP PM no-op 
layer
  OMAP2/3/4 PRCM: add module IDLEST wait code
  OMAP2/3 board-*.c files: read bootloader configuration earlier
  OMAP2/3/4: create omap_hwmod layer
  OMAP: omap_hwmod: call omap_hwmod init at boot; create interconnects
  OMAP2/3/4 core: create omap_device layer

Sanjeev Premi (1):
  OMAP3 clock: Fixed processing of bootarg 'mpurate'

Tero Kristo (1):
  OMAP: SDRC: Add several new register definitions

 Documentation/arm/OMAP/omap_pm|  129 ++
 arch/arm/mach-omap2/Makefile  |7 +-
 arch/arm/mach-omap2/board-2430sdp.c   |   17 +-
 arch/arm/mach-omap2/board-3430sdp.c   |   18 +-
 arch/arm/mach-omap2/board-apollon.c   |   20 +-
 arch/arm/mach-omap2/board-generic.c   |   14 +-
 arch/arm/mach-omap2/board-h4.c|   20 +-
 arch/arm/mach-omap2/board-ldp.c   |   20 +-
 arch/arm/mach-omap2/board-omap3beagle.c   |   26 +-
 arch/arm/mach-omap2/board-omap3evm.c  |   14 +-
 arch/arm/mach-omap2/board-omap3pandora.c  |   20 +-
 arch/arm/mach-omap2/board-overo.c |   20 +-
 arch/arm/mach-omap2/board-rx51.c  |4 +-
 arch/arm/mach-omap2/board-zoom2.c |   18 +-
 arch/arm/mach-omap2/clock34xx.c   |   17 +-
 arch/arm/mach-omap2/clock34xx.h   |   21 +-
 arch/arm/mach-omap2/cm.c  |   70 ++
 arch/arm/mach-omap2/cm.h  |4 +
 arch/arm/mach-omap2/cm4xxx.c  |   68 ++
 arch/arm/mach-omap2/io.c  |   23 +-
 arch/arm/mach-omap2/omap_hwmod.c  | 1554 +
 arch/arm/mach-omap2/omap_hwmod_2420.h |  141 +++
 arch/arm/mach-omap2/omap_hwmod_2430.h |  143 +++
 arch/arm/mach-omap2/omap_hwmod_34xx.h |  168 +++
 arch/arm/mach-omap2/powerdomain.c |4 +-
 arch/arm/mach-omap2/serial.c  |   14 +-
 arch/arm/plat-omap/Kconfig|   13 +
 arch/arm/plat-omap/Makefile   |5 +
 arch/arm/plat-omap/clock.c|2 +-
 arch/arm/plat-omap/include/mach/omap-pm.h |  301 +
 arch/arm/plat-omap/include/mach/omap_device.h |  141 +++
 arch/arm/plat-omap/include/mach/omap_hwmod.h  |  447 +++
 arch/arm/plat-omap/include/mach/sdrc.h|9 +
 arch/arm/plat-omap/include/mach/serial.h  |3 +
 arch/arm/plat-omap/omap-pm-noop.c |  296 +
 arch/arm/plat-omap/omap_device.c  |  687 +++
 36 files changed, 4338 insertions(+), 140 deletions(-)
 create mode 100644 Documentation/arm/OMAP/omap_pm
 create mode 100644 arch/arm/mach-omap2/cm.c
 create mode 100644 arch/arm/mach-omap2/cm4xxx.c
 create mode 100644 arch/arm/mach-omap2/omap_hwmod.c
 create mode 100644 arch/arm/mach-omap2/omap_hwmod_2420.h
 create mode 100644 arch/arm/mach-omap2/omap_hwmod_2430.h
 create mode 100644 arch/arm/mach-omap2/omap_hwmod_34xx.h
 create mode 100644 arch/arm/plat-omap/include/mach/omap-pm.h
 create mode 100644 arch/arm/plat-omap/include/mach/omap_device.h
 create mode 100644 arch/arm/plat-omap/include/mach/omap_hwmod.h
 create mode 100644 arch/arm/plat-omap/omap-pm-noop.c
 create mode 100644 arch/arm/plat-omap/omap_device.c
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


SDP support seems broken in LO

2009-08-18 Thread vimal singh
LO seems broken on OMAP3430 SDP platform. I compile latest kernel with
'omap_3430sdp_defconfig' config options.

Booting hangs after kernel uncompressed and last message which appears
is 'booting the kernel'


Thanks and regards,
vimal

See below log:

## Booting image at 8000 ...
   Image Name:   Linux-2.6.31-rc5-omap1-05896-ge0
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:2520992 Bytes =  2.4 MB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
OK

Starting kernel ...

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


Re: [help] 2.6.30 can't booting

2009-08-18 Thread Tar Gz
i try that from omapzoom.org

first partition contains uboot.bin, mlo and uImage and second
partition contains filesystem
i must mount what?..my filesystem just contains directory structure,
not the operatign systems like android or maemo..

but i don't know why linux kernel stuck after Uncompressing
Linux..

it's stop...:(

On 8/18/09, Kovacs Peter Tamas p.kov...@holografika.com wrote:
 Hi,

 to mount SD card instead of NFS, use something like:
 setenv bootargs console=ttyS2,115200n8 root=/dev/mmcblk0p1 rw

 likewise, the second partition is /dev/mmcblk0p2

 Hope this helps,
 Peter

 if i'm using another partition?..how i mount partition that?
 On 8/18/09, Tar Gz bsdraisefromh...@gmail.com wrote:

 -- Forwarded message --
 From: Tar Gz bsdraisefromh...@gmail.com
 Date: Tue, 18 Aug 2009 04:47:21 -0700
 Subject: Re: [help] 2.6.30 can't booting
 To: Kovacs Peter Tamas p.kov...@holografika.com, linux-omap
 linux-omap@vger.kernel.org

 On 8/17/09, Kovacs Peter Tamas p.kov...@holografika.com wrote:

 Hi,

 we use these parameters for NFS booting:
 setenv bootargs console=ttyS2,115200n8 noinitrd root=/dev/nfs rw
 nfsroot=10.95.102.32:/home/filesystems/tifs,nolock,vers=3,rsize=2048,wsize=2048,
 tcp dyntick=e ip=dhcp nohz=off

 or without DHCP:
 setenv bootargs console=ttyS2,115200n8 noinitrd,rw root=/dev/nfs
 nfsroot=10.95.102.32:/home/filesystems/tifs,nolock, mem=112M nohz=off
 ip=10.95.102.33:10.95.96.1:10.95.96.1:255.255.240.0:infba00798::off
 devfs=mount


 oke i try it

 in the another mailing list, the problem about different speed
 bootloader and linux kernel..if that's my problem..how i can fix
 that?thanks before

 Regards,
 Aldyth M


 --
 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: SDP support seems broken in LO

2009-08-18 Thread Shilimkar, Santosh
 -Original Message-
 From: linux-omap-ow...@vger.kernel.org [mailto:linux-omap-
 ow...@vger.kernel.org] On Behalf Of vimal singh
 Sent: Tuesday, August 18, 2009 5:49 PM
 To: linux-omap@vger.kernel.org
 Subject: SDP support seems broken in LO
 
 LO seems broken on OMAP3430 SDP platform. I compile latest kernel with
 'omap_3430sdp_defconfig' config options.
 
 Booting hangs after kernel uncompressed and last message which appears
 is 'booting the kernel'
 
 
 Thanks and regards,
 vimal
 
 See below log:
 
 ## Booting image at 8000 ...
Image Name:   Linux-2.6.31-rc5-omap1-05896-ge0
Image Type:   ARM Linux Kernel Image (uncompressed)
Data Size:2520992 Bytes =  2.4 MB
Load Address: 80008000
Entry Point:  80008000
Verifying Checksum ... OK
 OK
 
 Starting kernel ...
 
 Uncompressing
 Linux.
 ..
 ..
 done, booting the kernel.
Mainly because of frame-buffer and musb. You can try disabling these two and 
see if it boots.


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: Pull request for OMAP PM, clock, SDRC 2.6.32 patches

2009-08-18 Thread Paul Walmsley
Hello Russell,

On Mon, 17 Aug 2009, Russell King - ARM Linux wrote:

 On Sun, Aug 16, 2009 at 07:45:59AM -0600, Paul Walmsley wrote:
  
  Hello Russell,
  
  Here's the pull request for the thirteen patches posted earlier, plus 
  Hiroshi's clock debugfs error path fix.
 
 I'm afraid to say that I think you've left it far too late to send this.
 I did set a date of the 16th as being the final date to sort out stuff
 (which was flexible to a degree) but since these patches were only posted
 on Saturday, and they're still being discussed, I don't think it would
 make sense for me to pull it today.

I've dropped the two patches that are being discussed and reposted the 
remainder.  The updated series is here (et seq.):

http://marc.info/?l=linux-arm-kernelm=125059872200340w=2

and the pull request is here:

http://marc.info/?l=linux-arm-kernelm=125059845132331w=2


- Paul


 And this is likely to be the final day that I merge anything into my
 kernel tree for the next two weeks.
  
  regards,
  
  - Paul
  
  The following changes since commit 3b3119fc549c93df60316d28bdd77c2de3986588:
Russell King (1):
  Merge branch 'ixp4xx-fixes' of 
  git://git.kernel.org/.../chris/linux-2.6
 
 That's stupid.  Someone publishing _my_ tree, which I make no guarantees
 about the life of the commits, for other people to base their work on...
 That's definitely a big FAIL.
 
 Luckily for you though, that commit still exists in my tree, and I've
 asked Linus to pull that set; so essentially it became immutable only
 last night.
 
 Don't base patches on the contents of my tree without talking to me first
 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: [Resend][PATCH] Maintainers update for hsmmc driver

2009-08-18 Thread Tony Lindgren
* Kevin Hilman khil...@deeprootsystems.com [090814 00:39]:
 Madhusudhan Chikkature madhu...@ti.com writes:
 
  Hi,
 
  Resending the patch after changing omap_hs* to omap_hsmmc.c.
 
  Regards,
  Madhu
 
 
 
  Update maintainers entry for TI OMAP HS MMC support.
 
  Signed-off-by: Madhusudhan Chikkature madhu...@ti.com
 
 Madhu is the right guy for the job.
 
 Acked-by: Kevin Hilman khil...@deeprootsystems.com


This should go in via the new linux-...@vger.kernel.org list.

Tony

 
  ---
   MAINTAINERS |8 +++-
   1 file changed, 7 insertions(+), 1 deletion(-)
 
  Index: linux-omap-2.6/MAINTAINERS
  ===
  --- linux-omap-2.6.orig/MAINTAINERS
  +++ linux-omap-2.6/MAINTAINERS
  @@ -3698,7 +3698,13 @@ OMAP MMC SUPPORT
   M: Jarkko Lavinen jarkko.lavi...@nokia.com
   L: linux-omap@vger.kernel.org
   S: Maintained
  -F: drivers/mmc/host/*omap*
  +F: drivers/mmc/host/omap.c
  +
  +OMAP HS MMC SUPPORT
  +M: Madhusudhan Chikkature madhu...@ti.com
  +L: linux-omap@vger.kernel.org
  +S: Maintained
  +F: drivers/mmc/host/omap_hsmmc.c
 
   OMAP RANDOM NUMBER GENERATOR SUPPORT
   M: Deepak Saxena dsax...@plexity.net
 
 
  --
  To unsubscribe from this list: send the line unsubscribe linux-omap in
  the body of a message to majord...@vger.kernel.org
  More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 10/10] OMAP: PM: Added suspend target state control to debugfs for OMAP3

2009-08-18 Thread Kevin Hilman
Tony Lindgren t...@atomide.com writes:

 * Kevin Hilman khil...@deeprootsystems.com [090813 19:54]:
 From: Tero Kristo tero.kri...@nokia.com
 
 Target state can be read / programmed via files under:
   [debugfs]/pm_debug/[pwrdm]/suspend


 Does this compile when CONFIG_DEBUG_FS is not set?


Yes.  The relevant code is added to a section that is already
wrapped by #ifdef CONFIG_DEBUG_FS.

Kevin


 
 Signed-off-by: Tero Kristo tero.kri...@nokia.com
 Signed-off-by: Kevin Hilman khil...@deeprootsystems.com
 ---
  arch/arm/mach-omap2/pm-debug.c |   31 +--
  arch/arm/mach-omap2/pm.h   |3 +++
  arch/arm/mach-omap2/pm34xx.c   |   24 
  3 files changed, 56 insertions(+), 2 deletions(-)
  mode change 100755 = 100644 arch/arm/mach-omap2/pm-debug.c
 
 diff --git a/arch/arm/mach-omap2/pm-debug.c b/arch/arm/mach-omap2/pm-debug.c
 old mode 100755
 new mode 100644
 index 37b883b..eded6a4
 --- a/arch/arm/mach-omap2/pm-debug.c
 +++ b/arch/arm/mach-omap2/pm-debug.c
 @@ -24,6 +24,7 @@
  #include linux/clk.h
  #include linux/err.h
  #include linux/io.h
 +#include linux/module.h
  
  #include mach/clock.h
  #include mach/board.h
 @@ -478,10 +479,28 @@ int pm_dbg_regset_init(int reg_set)
  return 0;
  }
  
 -static int __init pwrdms_setup(struct powerdomain *pwrdm, void *unused)
 +static int pwrdm_suspend_get(void *data, u64 *val)
 +{
 +*val = omap3_pm_get_suspend_state((struct powerdomain *)data);
 +
 +if (*val = 0)
 +return 0;
 +return *val;
 +}
 +
 +static int pwrdm_suspend_set(void *data, u64 val)
 +{
 +return omap3_pm_set_suspend_state((struct powerdomain *)data, (int)val);
 +}
 +
 +DEFINE_SIMPLE_ATTRIBUTE(pwrdm_suspend_fops, pwrdm_suspend_get,
 +pwrdm_suspend_set, %llu\n);
 +
 +static int __init pwrdms_setup(struct powerdomain *pwrdm, void *dir)
  {
  int i;
  s64 t;
 +struct dentry *d;
  
  t = sched_clock();
  
 @@ -490,6 +509,14 @@ static int __init pwrdms_setup(struct powerdomain 
 *pwrdm, void *unused)
  
  pwrdm-timer = t;
  
 +if (strncmp(pwrdm-name, dpll, 4) == 0)
 +return 0;
 +
 +d = debugfs_create_dir(pwrdm-name, (struct dentry *)dir);
 +
 +(void) debugfs_create_file(suspend, S_IRUGO|S_IWUSR, d,
 +(void *)pwrdm, pwrdm_suspend_fops);
 +
  return 0;
  }
  
 @@ -508,7 +535,7 @@ static int __init pm_dbg_init(void)
  (void) debugfs_create_file(time, S_IRUGO,
  d, (void *)DEBUG_FILE_TIMERS, debug_fops);
  
 -pwrdm_for_each(pwrdms_setup, NULL);
 +pwrdm_for_each(pwrdms_setup, (void *)d);
  
  pm_dbg_dir = debugfs_create_dir(registers, d);
  if (IS_ERR(pm_dbg_dir))
 diff --git a/arch/arm/mach-omap2/pm.h b/arch/arm/mach-omap2/pm.h
 index 8fa8567..8400f57 100755
 --- a/arch/arm/mach-omap2/pm.h
 +++ b/arch/arm/mach-omap2/pm.h
 @@ -13,6 +13,9 @@
  
  #include mach/powerdomain.h
  
 +extern int omap3_pm_get_suspend_state(struct powerdomain *pwrdm);
 +extern int omap3_pm_set_suspend_state(struct powerdomain *pwrdm, int state);
 +
  #ifdef CONFIG_PM_DEBUG
  extern void omap2_pm_dump(int mode, int resume, unsigned int us);
  extern int omap2_pm_debug;
 diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
 index 331dfca..26f2aca 100644
 --- a/arch/arm/mach-omap2/pm34xx.c
 +++ b/arch/arm/mach-omap2/pm34xx.c
 @@ -664,6 +664,30 @@ static void __init prcm_setup_regs(void)
  omap3_d2d_idle();
  }
  
 +int omap3_pm_get_suspend_state(struct powerdomain *pwrdm)
 +{
 +struct power_state *pwrst;
 +
 +list_for_each_entry(pwrst, pwrst_list, node) {
 +if (pwrst-pwrdm == pwrdm)
 +return pwrst-next_state;
 +}
 +return -EINVAL;
 +}
 +
 +int omap3_pm_set_suspend_state(struct powerdomain *pwrdm, int state)
 +{
 +struct power_state *pwrst;
 +
 +list_for_each_entry(pwrst, pwrst_list, node) {
 +if (pwrst-pwrdm == pwrdm) {
 +pwrst-next_state = state;
 +return 0;
 +}
 +}
 +return -EINVAL;
 +}
 +
  static int __init pwrdms_setup(struct powerdomain *pwrdm, void *unused)
  {
  struct power_state *pwrst;
 -- 
 1.6.4
 
 --
 To unsubscribe from this list: send the line unsubscribe linux-arm 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: SDP support seems broken in LO

2009-08-18 Thread vimal singh
On Tue, Aug 18, 2009 at 5:53 PM, Shilimkar,
Santoshsantosh.shilim...@ti.com wrote:
 -Original Message-
 From: linux-omap-ow...@vger.kernel.org [mailto:linux-omap-
 ow...@vger.kernel.org] On Behalf Of vimal singh
 Sent: Tuesday, August 18, 2009 5:49 PM
 To: linux-omap@vger.kernel.org
 Subject: SDP support seems broken in LO

 LO seems broken on OMAP3430 SDP platform. I compile latest kernel with
 'omap_3430sdp_defconfig' config options.

 Booting hangs after kernel uncompressed and last message which appears
 is 'booting the kernel'


 Thanks and regards,
 vimal

 See below log:

 ## Booting image at 8000 ...
    Image Name:   Linux-2.6.31-rc5-omap1-05896-ge0
    Image Type:   ARM Linux Kernel Image (uncompressed)
    Data Size:    2520992 Bytes =  2.4 MB
    Load Address: 80008000
    Entry Point:  80008000
    Verifying Checksum ... OK
 OK

 Starting kernel ...

 Uncompressing
 Linux.
 ..
 ..
 done, booting the kernel.
 Mainly because of frame-buffer and musb. You can try disabling these two and 
 see if it boots.

I disabled frame-buffer and usb support fully:
# CONFIG_FB is not set
# CONFIG_USB_SUPPORT is not set

I still get same message.

-vimal



 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: SDP support seems broken in LO

2009-08-18 Thread Gadiyar, Anand
  LO seems broken on OMAP3430 SDP platform. I compile latest kernel with
  'omap_3430sdp_defconfig' config options.
 
  Booting hangs after kernel uncompressed and last message which appears
  is 'booting the kernel'
 
 
  Thanks and regards,
  vimal
 
  See below log:
 
  ## Booting image at 8000 ...
     Image Name:   Linux-2.6.31-rc5-omap1-05896-ge0
     Image Type:   ARM Linux Kernel Image (uncompressed)
     Data Size:    2520992 Bytes =  2.4 MB
     Load Address: 80008000
     Entry Point:  80008000
     Verifying Checksum ... OK
  OK
 
  Starting kernel ...
 
  Uncompressing 
  Linux.
  
 ..
 
  ..
  done, booting the kernel.
  Mainly because of frame-buffer and musb. You can try disabling these two 
  and see if it boots.
 
 I disabled frame-buffer and usb support fully:
 # CONFIG_FB is not set
 # CONFIG_USB_SUPPORT is not set
 
 I still get same message.
 
 -vimal
 


Do you have CONFIG_DEBUG_LL enabled? If so, could you enable that please to
see if we have a crash somewhere?

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


Re: SDP support seems broken in LO

2009-08-18 Thread vimal singh
On Tue, Aug 18, 2009 at 6:30 PM, Gadiyar, Anandgadi...@ti.com wrote:
  LO seems broken on OMAP3430 SDP platform. I compile latest kernel with
  'omap_3430sdp_defconfig' config options.
 
  Booting hangs after kernel uncompressed and last message which appears
  is 'booting the kernel'
 
 
  Thanks and regards,
  vimal
 
  See below log:
 
  ## Booting image at 8000 ...
     Image Name:   Linux-2.6.31-rc5-omap1-05896-ge0
     Image Type:   ARM Linux Kernel Image (uncompressed)
     Data Size:    2520992 Bytes =  2.4 MB
     Load Address: 80008000
     Entry Point:  80008000
     Verifying Checksum ... OK
  OK
 
  Starting kernel ...
 
  Uncompressing 
  Linux.
 
 ..
 
  ..
  done, booting the kernel.
  Mainly because of frame-buffer and musb. You can try disabling these two 
  and see if it boots.

 I disabled frame-buffer and usb support fully:
 # CONFIG_FB is not set
 # CONFIG_USB_SUPPORT is not set

 I still get same message.

 -vimal



 Do you have CONFIG_DEBUG_LL enabled? If so, could you enable that please to
 see if we have a crash somewhere?


Here is the log after enabling 'CONFIG_DEBUG_LL':

## Booting image at 8000 ...
   Image Name:   Linux-2.6.31-rc5-omap1-05896-ge0
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:2303384 Bytes =  2.2 MB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
OK

Starting kernel ...

Uncompressing 
Linux
done, booting the kernel.
5Linux version 2.6.31-rc5-omap1-05896-ge087f6f-dirty
(x0094...@omaplinux2) (gcc version 4.2.1 (CodeSourcery Sourcery G++
Lite 2007q3-51)) #7 Tue Aug 18 18:38:47 IST 2009
CPU: ARMv7 Processor [411fc081] revision 1 (ARMv7), cr=10c53c7f
CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
Machine: OMAP3430 3430SDP board
Memory policy: ECC disabled, Data cache writeback
7On node 0 totalpages: 32768
7free_area_init_node: node 0, pgdat c048c700, node_mem_map c04da000
7  Normal zone: 256 pages used for memmap
7  Normal zone: 0 pages reserved
7  Normal zone: 32512 pages, LIFO batch:7
6OMAP3430 ES2.0
6SRAM: Mapped pa 0x4020 to va 0xe300 size: 0x10
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32512
5Kernel command line: mem=128M console=ttyS0,115200n8 noinitrd
root=/dev/nfs rw
nfsroot=10.24.246.118:/home1/vimal_fs/newfs,nolock,tcp,rsize=1024,wsize=1024
ip=dhcp nohz=off
PID hash table entries: 512 (order: 9, 2048 bytes)
6Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
6Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
6Memory: 128MB = 128MB total
5Memory: 124828KB available (4132K code, 529K data, 128K init, 0K highmem)
6SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
6NR_IRQS:402
6Clocking rate (Crystal/DPLL/ARM core): 26.0/332/500 MHz
6Reprogramming SDRC clock to 33200 Hz
6GPMC revision 5.0
6IRQ: Found an INTC at 0xd820 (revision 4.0) with 96 interrupts
6Total of 96 interrupts on 1 active controller
6OMAP34xx GPIO hardware version 2.5
6OMAP clockevent source: GPTIMER1 at 32768 Hz
Console: colour dummy device 80x30
6Calibrating delay loop...


-vimal

 - Anand

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


RE: SDP support seems broken in LO

2009-08-18 Thread Gadiyar, Anand
snip

 Here is the log after enabling 'CONFIG_DEBUG_LL':
 
 ## Booting image at 8000 ...
Image Name:   Linux-2.6.31-rc5-omap1-05896-ge0
Image Type:   ARM Linux Kernel Image (uncompressed)
Data Size:2303384 Bytes =  2.2 MB
Load Address: 80008000
Entry Point:  80008000
Verifying Checksum ... OK
 OK
 
 Starting kernel ...
 
 Uncompressing Linux.
 ...
 done, booting the kernel.
 5Linux version 2.6.31-rc5-omap1-05896-ge087f6f-dirty
 (x0094...@omaplinux2) (gcc version 4.2.1 (CodeSourcery Sourcery G++ Lite 
 2007q3-51)) #7 Tue Aug 18 18:38:47 IST 2009

And here's the problem - you're using CodeSourcery's 2007q3 toolchain.
This has been discussed in the past on this list. I don't know exactly
what causes the problem or what fixes this.

Move to 2008q3 or 2009q1 as a workaround.

- Anand


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


Re: [PATCH 5/9] OMAP1: AMS_DELTA: add modem support

2009-08-18 Thread Janusz Krzysztofik

Tony Lindgren wrote:

From: Janusz Krzysztofik jkrzy...@tis.icnet.pl

This patch adds support for modem device found on Amstrad E3 (Delta) board.

Based on earlier patch by Jonathan McDowell, available at
http://the.earth.li/pub/e3/2.6.19/ams-delta-modem.patch.
Modified after Ladislav Michl's arch/arm/mach-omap1/board-voiceblue.c.

This patch is dependent on 8250 driver changes getting accepted upstream:
http://git.kernel.org/?p=linux/kernel/git/sfr/linux-next.git;a=commit;h=7053133124d5cdf207c1168c7a0c582a18e12ea7

Signed-off-by: Janusz Krzysztofik jkrzy...@tis.icnet.pl
Signed-off-by: Tony Lindgren t...@atomide.com
---
 arch/arm/mach-omap1/board-ams-delta.c |   38 +
 1 files changed, 38 insertions(+), 0 deletions(-)


Russel,

Unlike all others from the series, this one got no single comment from 
you, niether your OK nor anything else. I'm not sure what that could 
mean, but if there is still something I can do to help getting it into 
2.6.32, please let me know.


Thanks,
Janusz


diff --git a/arch/arm/mach-omap1/board-ams-delta.c 
b/arch/arm/mach-omap1/board-ams-delta.c
index db4d9a4..40dfa63 100644
--- a/arch/arm/mach-omap1/board-ams-delta.c
+++ b/arch/arm/mach-omap1/board-ams-delta.c
@@ -15,8 +15,11 @@
 #include linux/kernel.h
 #include linux/init.h
 #include linux/input.h
+#include linux/interrupt.h
 #include linux/platform_device.h
+#include linux/serial_8250.h
 
+#include asm/serial.h

 #include mach/hardware.h
 #include asm/mach-types.h
 #include asm/mach/arch.h
@@ -234,6 +237,41 @@ static void __init ams_delta_init(void)
platform_add_devices(ams_delta_devices, ARRAY_SIZE(ams_delta_devices));
 }
 
+static struct plat_serial8250_port ams_delta_modem_ports[] = {

+   {
+   .membase= (void *) AMS_DELTA_MODEM_VIRT,
+   .mapbase= AMS_DELTA_MODEM_PHYS,
+   .irq= -EINVAL, /* changed later */
+   .flags  = UPF_BOOT_AUTOCONF,
+   .irqflags   = IRQF_TRIGGER_RISING,
+   .iotype = UPIO_MEM,
+   .regshift   = 1,
+   .uartclk= BASE_BAUD * 16,
+   },
+   { },
+};
+
+static struct platform_device ams_delta_modem_device = {
+   .name   = serial8250,
+   .id = PLAT8250_DEV_PLATFORM1,
+   .dev= {
+   .platform_data = ams_delta_modem_ports,
+   },
+};
+
+static int __init ams_delta_modem_init(void)
+{
+   omap_cfg_reg(M14_1510_GPIO2);
+   ams_delta_modem_ports[0].irq = gpio_to_irq(2);
+
+   ams_delta_latch2_write(
+   AMS_DELTA_LATCH2_MODEM_NRESET | AMS_DELTA_LATCH2_MODEM_CODEC,
+   AMS_DELTA_LATCH2_MODEM_NRESET | AMS_DELTA_LATCH2_MODEM_CODEC);
+
+   return platform_device_register(ams_delta_modem_device);
+}
+arch_initcall(ams_delta_modem_init);
+
 static void __init ams_delta_map_io(void)
 {
omap1_map_common_io();

--
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: SDP support seems broken in LO

2009-08-18 Thread vimal singh
 Move to 2008q3 or 2009q1 as a workaround.

Thanks Anand... it came up. :)

-vimal
 - Anand



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


OMAPFB: LL pointer dereference because of uninitialized mutex

2009-08-18 Thread Frederik Kriewitz
Hello,

I'm trying to add support for a omap3 board.

But I get a NULL pointer dereference during initialization of the lcd
panel driver because framebufferInfo-mm_lock wasn't initialized.

Code of the lcd driver: http://pastebin.com/m44ccc56d (nothing special)

Stack trace:
__mutex_lock_slowpath()
mutex_lock()
set_fb_fix()
omapfb_do_probe()
devkit8000_panel_probe()  my probe function
platform_drv_probe()
...

It get's initialized in register_framebuffer() but in my case the
probe function gets called before register_framebuffer().

Once I added the missing inits to framebuffer_alloc()
(drivers/video/fbsysfs.c) it works fine:
mutex_init(info-lock);
mutex_init(info-mm_lock);

How I'm intended to fix this?
--
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/3 v3] ASoC: OMAP: Enhance OMAP1510 DMA progress software counter

2009-08-18 Thread Janusz Krzysztofik

Mark Brown wrote:

On Mon, Aug 17, 2009 at 12:26:05PM +0300, Jarkko Nikula wrote:


I'm fine with this 3rd version. Probably Mark would like to have git
format-patch formatted version for avoiding manual commit log editing.



Acked-by: Jarkko Nikula jhnik...@gmail.com


Applied both 2-3, thanks.


Jarkko, Mark,

Thanks.

And now, how is the patch 1/3 supposed to get into the mainline? Whom 
should I ping from time to time to get it integrated? If not then, as 
you know for sure, applying patch 2/3 whithout 1/3 will result in ASoC 
support for OMAP1510 broken.


Thanks,
Janusz

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


RE: [PATCH] OMAP: Fix incorrect 730 vs 850 detection (Re: [PATCH] Fix mismatched ifdefs)

2009-08-18 Thread Premi, Sanjeev
 -Original Message-
 From: linux-omap-ow...@vger.kernel.org 
 [mailto:linux-omap-ow...@vger.kernel.org] On Behalf Of Tony Lindgren
 Sent: Tuesday, August 18, 2009 3:30 PM
 To: Premi, Sanjeev
 Cc: linux-omap@vger.kernel.org
 Subject: [PATCH] OMAP: Fix incorrect 730 vs 850 detection 
 (Re: [PATCH] Fix mismatched ifdefs)
 
 * Premi, Sanjeev pr...@ti.com [090817 17:56]:
   
  
   -Original Message-
   From: Tony Lindgren [mailto:t...@atomide.com] 
   Sent: Monday, August 17, 2009 8:15 PM
   To: Premi, Sanjeev
   Cc: linux-omap@vger.kernel.org
   Subject: Re: [PATCH] Fix mismatched ifdefs
   
   * Sanjeev Premi pr...@ti.com [090817 13:59]:
The #endif at end of the file was missing. However, an
additional #else ... #endif was causing the compiler to
keep going.

The problem was found when compiler started reporting
the newly added inline functions were being reported as
redeclared by the compiler.

Signed-off-by: Sanjeev Premi pr...@ti.com
---
 arch/arm/plat-omap/include/mach/cpu.h |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/plat-omap/include/mach/cpu.h 
   b/arch/arm/plat-omap/include/mach/cpu.h
index 11e73d9..4fbc6a9 100644
--- a/arch/arm/plat-omap/include/mach/cpu.h
+++ b/arch/arm/plat-omap/include/mach/cpu.h
@@ -317,8 +317,6 @@ IS_OMAP_TYPE(3430, 0x3430)
 #  undef  cpu_is_omap730
 #  define cpu_is_omap730() 1
 # endif
-#endif
-#else
   
   Hmm, to me it looks like this should remove the second 
   #endif, but keep the
   #else for the !MULTI_OMAP1 configurations.
   
  
  [sp] I did the maching as annotated in the snippet below:
  
  #if defined(MULTI_OMAP1)
  # if defined(CONFIG_ARCH_OMAP730)
  #  undef  cpu_is_omap730
  #  define cpu_is_omap730()  is_omap730()
  # endif 
  # if defined(CONFIG_ARCH_OMAP850)
  #  undef  cpu_is_omap850
  #  define cpu_is_omap850()  is_omap850()
  # endif
  #else  /* sp - else for multi-omap1 */
  # if defined(CONFIG_ARCH_OMAP730)
  #  undef  cpu_is_omap730
  #  define cpu_is_omap730()  1
  # endif
  #endif
  #else
/* sp - seems like needed in the else path of MULTI_OMAP1
 * else the symbol could go undefined.
 */
  # if defined(CONFIG_ARCH_OMAP850)
  #  undef  cpu_is_omap850
  #  define cpu_is_omap850()  1
  # endif
  #endif
  
 # if defined(CONFIG_ARCH_OMAP850)
 #  undef  cpu_is_omap850
 #  define cpu_is_omap850() 1
@@ -433,3 +431,5 @@ IS_OMAP_TYPE(3430, 0x3430)
 
 int omap_chip_is(struct omap_chip_id oci);
 void omap2_check_revision(void);
+
+#endif /* __ASM_ARCH_OMAP_CPU_H */
   
   And this should not be needed.
  
  [sp] So where does this end:
  
  #ifndef __ASM_ARCH_OMAP_CPU_H
  #define __ASM_ARCH_OMAP_CPU_H
  
  I was hitting the problem possibly due to mutiple inclusion of cpu.h
  
  Any static inline function declared at bottom of cpu.h gets 
 the errors like:
  
  arch/arm/plat-omap/include/mach/cpu.h:465: error: 
 redefinition of 'omap3_has_iva'
  arch/arm/plat-omap/include/mach/cpu.h:465: error: previous 
 definition of 'omap3_has_iva' was here
 
 Here's what I think is the right fix to this, the extra endif 
 got introduced
 with the 850 patch. Removing that is not the right fix still, 
 we just need to
 remove the special case for 730 as now we need to detect 
 between 730 and 850.
 
 Can please you try the attached patch?
 
Tony,

This patch is able to match the ifdefs locally where the OMAP5730
and OMAP850 is being done. However, the #ifndef in the beginning
of the files is still not terminated.

I mentioned this yesterday as well...

Here is the snippet compiler error:

 from include/linux/interrupt.h:12,
 from include/linux/kernel_stat.h:8,
 from init/main.c:33:
arch/arm/plat-omap/include/mach/cpu.h:30:1: error: unterminated #ifndef
make[1]: *** [init/main.o] Error 1

The file needs an endif at bottom

#endif  /* __ASM_ARCH_OMAP_CPU_H */

Best regards,
Sanjeev

 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: Linux-omap PM: Fix dead lock condition in resource_release(vdd1_opp)

2009-08-18 Thread Kevin Hilman
Wang Limei-E12499 e12...@motorola.com writes:

 Seems like I did not submit the patch in the right way, before I setup
 my mail correctly, attach the patches in the mail. 

You're patches are still line-wrapped.

I strongly recommend using git-format-patch and git-send-email to
submit patches. Chunqiu was able to do this.  Please consult him.

Also, no need to CC linux-omap-owner.  linux-omap is all that is needed.

Thanks,

Kevin


 PATCH1:0001-Add-per-resource-mutex-for-OMAP-resource-framework.patch

 From b4e9cc01f9d1aaeec39cc1ee794e5efaec61c781 Mon Sep 17 00:00:00 2001
 From: Chunqiu Wang cqw...@motorola.com
 Date: Fri, 14 Aug 2009 17:34:32 +0800
 Subject: [PATCH] Add per-resource mutex for OMAP resource framework

 Current OMAP resource fwk uses a global res_mutex
 for resource_request and resource_release calls
 for all the available resources.It may cause dead 
 lock if resource_request/resource_release is called
 recursively. 

 For current OMAP3 VDD1/VDD2 resource, the change_level
 implementation is mach-omap2/resource34xx.c/set_opp(),
 when using resource_release to remove vdd1 constraint,
 this function may call resource_release again to release
 Vdd2 constrait if target vdd1 level is less than OPP3.
 in this scenario, the global res_mutex down operation
 will be called again, this will cause the second
 down operation hang there.

 To fix the problem, per-resource mutex is added
 to avoid hangup when resource_request/resource_release
 is called recursively.

 Signed-off-by: Chunqiu Wang cqw...@motorola.com
 ---
  arch/arm/plat-omap/include/mach/resource.h |2 ++
  arch/arm/plat-omap/resource.c  |   27
 +++
  2 files changed, 17 insertions(+), 12 deletions(-)

 diff --git a/arch/arm/plat-omap/include/mach/resource.h
 b/arch/arm/plat-omap/include/mach/resource.h
 index f91d8ce..d482fb8 100644
 --- a/arch/arm/plat-omap/include/mach/resource.h
 +++ b/arch/arm/plat-omap/include/mach/resource.h
 @@ -46,6 +46,8 @@ struct shared_resource {
   /* Shared resource operations */
   struct shared_resource_ops *ops;
   struct list_head node;
 + /* Protect each resource */
 + struct mutex resource_mutex;
  };
  
  struct shared_resource_ops {
 diff --git a/arch/arm/plat-omap/resource.c
 b/arch/arm/plat-omap/resource.c
 index ec31727..5eae4e8 100644
 --- a/arch/arm/plat-omap/resource.c
 +++ b/arch/arm/plat-omap/resource.c
 @@ -264,6 +264,7 @@ int resource_register(struct shared_resource *resp)
   return -EEXIST;
  
   INIT_LIST_HEAD(resp-users_list);
 + mutex_init(resp-resource_mutex);
  
   down(res_mutex);
   /* Add the resource to the resource list */
 @@ -326,14 +327,14 @@ int resource_request(const char *name, struct
 device *dev,
   struct  users_list *user;
   int found = 0, ret = 0;
  
 - down(res_mutex);
 - resp = _resource_lookup(name);
 + resp = resource_lookup(name);
   if (!resp) {
   printk(KERN_ERR resource_request: Invalid resource
 name\n);
   ret = -EINVAL;
 - goto res_unlock;
 + goto ret;
   }
  
 + mutex_lock(resp-resource_mutex);
   /* Call the resource specific validate function */
   if (resp-ops-validate_level) {
   ret = resp-ops-validate_level(resp, level);
 @@ -362,7 +363,7 @@ int resource_request(const char *name, struct device
 *dev,
   user-level = level;
  
  res_unlock:
 - up(res_mutex);
 + mutex_unlock(resp-resource_mutex);
   /*
* Recompute and set the current level for the resource.
* NOTE: update_resource level moved out of spin_lock, as it may
 call
 @@ -371,6 +372,7 @@ res_unlock:
*/
   if (!ret)
   ret = update_resource_level(resp);
 +ret:
   return ret;
  }
  EXPORT_SYMBOL(resource_request);
 @@ -393,14 +395,14 @@ int resource_release(const char *name, struct
 device *dev)
   struct users_list *user;
   int found = 0, ret = 0;
  
 - down(res_mutex);
 - resp = _resource_lookup(name);
 + resp = resource_lookup(name);
   if (!resp) {
   printk(KERN_ERR resource_release: Invalid resource
 name\n);
   ret = -EINVAL;
 - goto res_unlock;
 + goto ret;
   }
  
 + mutex_lock(resp-resource_mutex);
   list_for_each_entry(user, resp-users_list, node) {
   if (user-dev == dev) {
   found = 1;
 @@ -421,7 +423,9 @@ int resource_release(const char *name, struct device
 *dev)
   /* Recompute and set the current level for the resource */
   ret = update_resource_level(resp);
  res_unlock:
 - up(res_mutex);
 + mutex_unlock(resp-resource_mutex);
 +
 +ret:
   return ret;
  }
  EXPORT_SYMBOL(resource_release);
 @@ -438,15 +442,14 @@ int resource_get_level(const char *name)
   struct shared_resource *resp;
   u32 ret;
  
 - down(res_mutex);
 - resp = _resource_lookup(name);
 + resp = 

Re: Linux-omap PM: Fix dead lock condition in resource_release(vdd1_opp)

2009-08-18 Thread Kevin Hilman
Wang Limei-E12499 e12...@motorola.com writes:

 Seems like I did not submit the patch in the right way, before I setup
 my mail correctly, attach the patches in the mail. 

You're patches are still line-wrapped.

I strongly recommend using git-format-patch and git-send-email to
submit patches. Chunqiu was able to do this.  Please consult him.

Also, no need to CC linux-omap-owner.  linux-omap is all that is needed.

Thanks,

Kevin


 PATCH1:0001-Add-per-resource-mutex-for-OMAP-resource-framework.patch

 From b4e9cc01f9d1aaeec39cc1ee794e5efaec61c781 Mon Sep 17 00:00:00 2001
 From: Chunqiu Wang cqw...@motorola.com
 Date: Fri, 14 Aug 2009 17:34:32 +0800
 Subject: [PATCH] Add per-resource mutex for OMAP resource framework

 Current OMAP resource fwk uses a global res_mutex
 for resource_request and resource_release calls
 for all the available resources.It may cause dead 
 lock if resource_request/resource_release is called
 recursively. 

 For current OMAP3 VDD1/VDD2 resource, the change_level
 implementation is mach-omap2/resource34xx.c/set_opp(),
 when using resource_release to remove vdd1 constraint,
 this function may call resource_release again to release
 Vdd2 constrait if target vdd1 level is less than OPP3.
 in this scenario, the global res_mutex down operation
 will be called again, this will cause the second
 down operation hang there.

 To fix the problem, per-resource mutex is added
 to avoid hangup when resource_request/resource_release
 is called recursively.

 Signed-off-by: Chunqiu Wang cqw...@motorola.com
 ---
  arch/arm/plat-omap/include/mach/resource.h |2 ++
  arch/arm/plat-omap/resource.c  |   27
 +++
  2 files changed, 17 insertions(+), 12 deletions(-)

 diff --git a/arch/arm/plat-omap/include/mach/resource.h
 b/arch/arm/plat-omap/include/mach/resource.h
 index f91d8ce..d482fb8 100644
 --- a/arch/arm/plat-omap/include/mach/resource.h
 +++ b/arch/arm/plat-omap/include/mach/resource.h
 @@ -46,6 +46,8 @@ struct shared_resource {
   /* Shared resource operations */
   struct shared_resource_ops *ops;
   struct list_head node;
 + /* Protect each resource */
 + struct mutex resource_mutex;
  };
  
  struct shared_resource_ops {
 diff --git a/arch/arm/plat-omap/resource.c
 b/arch/arm/plat-omap/resource.c
 index ec31727..5eae4e8 100644
 --- a/arch/arm/plat-omap/resource.c
 +++ b/arch/arm/plat-omap/resource.c
 @@ -264,6 +264,7 @@ int resource_register(struct shared_resource *resp)
   return -EEXIST;
  
   INIT_LIST_HEAD(resp-users_list);
 + mutex_init(resp-resource_mutex);
  
   down(res_mutex);
   /* Add the resource to the resource list */
 @@ -326,14 +327,14 @@ int resource_request(const char *name, struct
 device *dev,
   struct  users_list *user;
   int found = 0, ret = 0;
  
 - down(res_mutex);
 - resp = _resource_lookup(name);
 + resp = resource_lookup(name);
   if (!resp) {
   printk(KERN_ERR resource_request: Invalid resource
 name\n);
   ret = -EINVAL;
 - goto res_unlock;
 + goto ret;
   }
  
 + mutex_lock(resp-resource_mutex);
   /* Call the resource specific validate function */
   if (resp-ops-validate_level) {
   ret = resp-ops-validate_level(resp, level);
 @@ -362,7 +363,7 @@ int resource_request(const char *name, struct device
 *dev,
   user-level = level;
  
  res_unlock:
 - up(res_mutex);
 + mutex_unlock(resp-resource_mutex);
   /*
* Recompute and set the current level for the resource.
* NOTE: update_resource level moved out of spin_lock, as it may
 call
 @@ -371,6 +372,7 @@ res_unlock:
*/
   if (!ret)
   ret = update_resource_level(resp);
 +ret:
   return ret;
  }
  EXPORT_SYMBOL(resource_request);
 @@ -393,14 +395,14 @@ int resource_release(const char *name, struct
 device *dev)
   struct users_list *user;
   int found = 0, ret = 0;
  
 - down(res_mutex);
 - resp = _resource_lookup(name);
 + resp = resource_lookup(name);
   if (!resp) {
   printk(KERN_ERR resource_release: Invalid resource
 name\n);
   ret = -EINVAL;
 - goto res_unlock;
 + goto ret;
   }
  
 + mutex_lock(resp-resource_mutex);
   list_for_each_entry(user, resp-users_list, node) {
   if (user-dev == dev) {
   found = 1;
 @@ -421,7 +423,9 @@ int resource_release(const char *name, struct device
 *dev)
   /* Recompute and set the current level for the resource */
   ret = update_resource_level(resp);
  res_unlock:
 - up(res_mutex);
 + mutex_unlock(resp-resource_mutex);
 +
 +ret:
   return ret;
  }
  EXPORT_SYMBOL(resource_release);
 @@ -438,15 +442,14 @@ int resource_get_level(const char *name)
   struct shared_resource *resp;
   u32 ret;
  
 - down(res_mutex);
 - resp = _resource_lookup(name);
 + resp = 

RE: [PATCH] omap_hsmmc: Fix for the db clock failure message

2009-08-18 Thread Madhusudhan


 -Original Message-
 From: Adrian Hunter [mailto:adrian.hun...@nokia.com]
 Sent: Tuesday, August 18, 2009 1:53 AM
 To: Madhusudhan Chikkature
 Cc: a...@linux-foundation.org; linux-ker...@vger.kernel.org; linux-
 o...@vger.kernel.org; linux-arm-ker...@lists.arm.linux.org.uk
 Subject: Re: [PATCH] omap_hsmmc: Fix for the db clock failure message
 
 Madhusudhan Chikkature wrote:
  This patch applies on top of the series [PATCH V2 0/32] mmc and
 omap_hsmmc
  patches posted by Adrian Hunter.
 
  -
 
 
 
  This patch removes the error message Failed to get debounce clock..
 printed
  out by the HSMMC driver on OMAP3430. The debounce clock needs to be
 handled only
  for OMAP2430.
 
 I have a suggestion that may make it tidier.
 
 What about renaming host-dbclk_enabled to host-got_dbclk and leaving it
 alone
 after it is set in the probe function.  Then create a macro to use in
 conditions:
 
 #define have_dbclk(host) (cpu_is_omap2430()  (host)-got_dbclk)
 
 So the following:
 
 - if (host-dbclk_enabled)
 + if (cpu_is_omap2430()  host-dbclk_enabled) {
   clk_disable(host-dbclk);
 + host-dbclk_enabled = 0;
 + }
 
 becomes:
 
 - if (host-dbclk_enabled)
 + if (have_dbclk(host))
   clk_disable(host-dbclk);
 
 Or alternatively, forget the macro, and let the code always compile in:
 
 - if (host-dbclk_enabled)
 + if (host-got_dbclk)
   clk_disable(host-dbclk);
 
In both the cases how about the enable path? We want to enable the debounce
clock only for OMAP2430, Right? Otherwise we will still end up throwing an
error message for 3430 if we check the result of clk_enable for db clock. 

Regards,
Madhu

 
 
  Signed-off-by: Madhusudhan Chikkature madhu...@ti.com
  ---
   drivers/mmc/host/omap_hsmmc.c |   63 +++---
 
   1 file changed, 41 insertions(+), 22 deletions(-)
 
  Index: linux-2.6/drivers/mmc/host/omap_hsmmc.c
  ===
  --- linux-2.6.orig/drivers/mmc/host/omap_hsmmc.c
  +++ linux-2.6/drivers/mmc/host/omap_hsmmc.c
  @@ -735,8 +735,10 @@ static int omap_hsmmc_switch_opcond(stru
  /* Disable the clocks */
  clk_disable(host-fclk);
  clk_disable(host-iclk);
  -   if (host-dbclk_enabled)
  +   if (cpu_is_omap2430()  host-dbclk_enabled) {
  clk_disable(host-dbclk);
  +   host-dbclk_enabled = 0;
  +   }
 
  /* Turn the power off */
  ret = mmc_slot(host).set_power(host-dev, host-slot_id, 0, 0);
  @@ -746,9 +748,14 @@ static int omap_hsmmc_switch_opcond(stru
  ret = mmc_slot(host).set_power(host-dev, host-slot_id, 1,
 vdd);
  clk_enable(host-iclk);
  -   if (host-dbclk_enabled)
  -   clk_enable(host-dbclk);
  clk_enable(host-fclk);
  +   if (cpu_is_omap2430()  !host-dbclk_enabled) {
  +   if (clk_enable(host-dbclk) != 0)
  +   dev_dbg(mmc_dev(host-mmc), Enabling debounce
  +clk failed\n);
  +   else
  +   host-dbclk_enabled = 1;
  +   }
 
  if (ret != 0)
  goto err;
  @@ -1697,18 +1704,21 @@ static int __init omap_hsmmc_probe(struc
  goto err1;
  }
 
  -   host-dbclk = clk_get(pdev-dev, mmchsdb_fck);
  -   /*
  -* MMC can still work without debounce clock.
  -*/
  -   if (IS_ERR(host-dbclk))
  -   dev_warn(mmc_dev(host-mmc), Failed to get debounce
 clock\n);
  -   else
  -   if (clk_enable(host-dbclk) != 0)
  -   dev_dbg(mmc_dev(host-mmc), Enabling debounce
  -clk failed\n);
  +   if (cpu_is_omap2430()) {
  +   host-dbclk = clk_get(pdev-dev, mmchsdb_fck);
  +   /*
  +* MMC can still work without debounce clock.
  +*/
  +   if (IS_ERR(host-dbclk))
  +   dev_warn(mmc_dev(host-mmc),
  +   Failed to get debounce clock\n);
  else
  -   host-dbclk_enabled = 1;
  +   if (clk_enable(host-dbclk) != 0)
  +   dev_dbg(mmc_dev(host-mmc), Enabling
debounce
  +clk failed\n);
  +   else
  +   host-dbclk_enabled = 1;
  +   }
 
  /* Since we do only SG emulation, we can have as many segs
   * as we want. */
  @@ -1825,8 +1835,9 @@ err_irq:
  clk_disable(host-iclk);
  clk_put(host-fclk);
  clk_put(host-iclk);
  -   if (host-dbclk_enabled) {
  -   clk_disable(host-dbclk);
  +   if (cpu_is_omap2430()) {
  +   if (host-dbclk_enabled)
  +   clk_disable(host-dbclk);
  clk_put(host-dbclk);
  }
 
  @@ -1859,8 +1870,9 @@ static int omap_hsmmc_remove(struct plat
  

RE: [Resend][PATCH] Maintainers update for hsmmc driver

2009-08-18 Thread Madhusudhan


 -Original Message-
 From: Tony Lindgren [mailto:t...@atomide.com]
 Sent: Tuesday, August 18, 2009 7:43 AM
 To: Kevin Hilman
 Cc: Madhusudhan Chikkature; linux-omap@vger.kernel.org;
 jarkko.lavi...@nokia.com; adrian.hun...@nokia.com; felipe.ba...@nokia.com
 Subject: Re: [Resend][PATCH] Maintainers update for hsmmc driver
 
 * Kevin Hilman khil...@deeprootsystems.com [090814 00:39]:
  Madhusudhan Chikkature madhu...@ti.com writes:
 
   Hi,
  
   Resending the patch after changing omap_hs* to omap_hsmmc.c.
  
   Regards,
   Madhu
  
  
  
   Update maintainers entry for TI OMAP HS MMC support.
  
   Signed-off-by: Madhusudhan Chikkature madhu...@ti.com
 
  Madhu is the right guy for the job.
 
  Acked-by: Kevin Hilman khil...@deeprootsystems.com
 
 
 This should go in via the new linux-...@vger.kernel.org list.
 
 Tony
 
Sure. I will post this patch to the linux-...@vger.kernel.org list.

Regards,
Madhu

 
   ---
MAINTAINERS |8 +++-
1 file changed, 7 insertions(+), 1 deletion(-)
  
   Index: linux-omap-2.6/MAINTAINERS
   ===
   --- linux-omap-2.6.orig/MAINTAINERS
   +++ linux-omap-2.6/MAINTAINERS
   @@ -3698,7 +3698,13 @@ OMAP MMC SUPPORT
M:   Jarkko Lavinen jarkko.lavi...@nokia.com
L:   linux-omap@vger.kernel.org
S:   Maintained
   -F:   drivers/mmc/host/*omap*
   +F:   drivers/mmc/host/omap.c
   +
   +OMAP HS MMC SUPPORT
   +M:   Madhusudhan Chikkature madhu...@ti.com
   +L:   linux-omap@vger.kernel.org
   +S:   Maintained
   +F:   drivers/mmc/host/omap_hsmmc.c
  
OMAP RANDOM NUMBER GENERATOR SUPPORT
M:   Deepak Saxena dsax...@plexity.net
  
  
   --
   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


[PATCH] Maintainers update for TI OMAP hsmmc driver

2009-08-18 Thread Madhusudhan Chikkature
Update maintainers entry for TI OMAP HS MMC support.

Signed-off-by: Madhusudhan Chikkature madhu...@ti.com
Acked-by: Kevin Hilman khil...@deeprootsystems.com
---
 MAINTAINERS |8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)

Index: linux-omap-2.6/MAINTAINERS
===
--- linux-omap-2.6.orig/MAINTAINERS
+++ linux-omap-2.6/MAINTAINERS
@@ -3698,7 +3698,13 @@ OMAP MMC SUPPORT
 M: Jarkko Lavinen jarkko.lavi...@nokia.com
 L: linux-omap@vger.kernel.org
 S: Maintained
-F: drivers/mmc/host/*omap*
+F: drivers/mmc/host/omap.c
+
+OMAP HS MMC SUPPORT
+M: Madhusudhan Chikkature madhu...@ti.com
+L: linux-omap@vger.kernel.org
+S: Maintained
+F: drivers/mmc/host/omap_hsmmc.c

 OMAP RANDOM NUMBER GENERATOR SUPPORT
 M: Deepak Saxena dsax...@plexity.net


--
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] Runtime detection of OMAP35x devices

2009-08-18 Thread Sanjeev Premi
Add runtime check for these OMAP35x variations
based on the detected Si features:
  OMAP3503, OMAP3515, OMAP3525 and OMA3530.

Also, delayed the call to pr_info() into actual
variant is detected in omap3_cpuinfo()

Signed-off-by: Sanjeev Premi pr...@ti.com
---
 arch/arm/mach-omap2/id.c  |   59 +++-
 arch/arm/plat-omap/include/mach/cpu.h |   25 ++
 2 files changed, 74 insertions(+), 10 deletions(-)

diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
index 03b80f2..f041d3b 100644
--- a/arch/arm/mach-omap2/id.c
+++ b/arch/arm/mach-omap2/id.c
@@ -187,7 +187,6 @@ void __init omap3_check_revision(void)
u32 cpuid, idcode;
u16 hawkeye;
u8 rev;
-   char *rev_name = ES1.0;
 
/*
 * We cannot access revision registers on ES1.0.
@@ -197,7 +196,7 @@ void __init omap3_check_revision(void)
cpuid = read_cpuid(CPUID_ID);
if cpuid  4)  0xfff) == 0xc08)  ((cpuid  0xf) == 0x0)) {
omap_revision = OMAP3430_REV_ES1_0;
-   goto out;
+   return;
}
 
/*
@@ -214,29 +213,21 @@ void __init omap3_check_revision(void)
switch (rev) {
case 0:
omap_revision = OMAP3430_REV_ES2_0;
-   rev_name = ES2.0;
break;
case 2:
omap_revision = OMAP3430_REV_ES2_1;
-   rev_name = ES2.1;
break;
case 3:
omap_revision = OMAP3430_REV_ES3_0;
-   rev_name = ES3.0;
break;
case 4:
omap_revision = OMAP3430_REV_ES3_1;
-   rev_name = ES3.1;
break;
default:
/* Use the latest known revision as default */
omap_revision = OMAP3430_REV_ES3_1;
-   rev_name = Unknown revision\n;
}
}
-
-out:
-   pr_info(OMAP%04x %s\n, omap_rev()  16, rev_name);
 }
 
 #define OMAP3_SHOW_FEATURE(feat)   \
@@ -248,6 +239,54 @@ out:
 
 void __init omap3_cpuinfo(void)
 {
+   u8 rev = GET_OMAP_REVISION();
+   char cpu_name[16], cpu_rev[16];
+
+   /* OMAP3430 and OMAP3530 are assumed to be same.
+*
+* OMAP3525, OMAP3515 and OMAP3503 can be detected only based
+* on available features. Upon detection, update the CPU id
+* and CPU class bits.
+*/
+   if (omap3_has_iva()  omap3_has_sgx()) {
+   strcpy(cpu_name, 3430/3530);
+   }
+   else if (omap3_has_sgx()) {
+   omap_revision = OMAP3525_REV (rev);
+   strcpy(cpu_name, 3525);
+   }
+   else if (omap3_has_iva()) {
+   omap_revision = OMAP3515_REV (rev);
+   strcpy(cpu_name, 3515);
+   }
+   else {
+   omap_revision = OMAP3503_REV (rev);
+   strcpy(cpu_name, 3503);
+   }
+
+   switch (rev) {
+   case 0x10:
+   strcpy(cpu_rev, 2.0);
+   break;
+   case 0x20:
+   strcpy(cpu_rev, 2.1);
+   break;
+   case 0x30:
+   strcpy(cpu_rev, 3.0);
+   break;
+   case 0x40:
+   strcpy(cpu_rev, 3.1);
+   break;
+   default:
+   /* Use the latest known revision as default */
+   strcpy(cpu_rev, 3.1);
+   }
+
+   /*
+* Print verbose information
+*/
+   pr_info(OMAP%s ES%s\n, cpu_name, cpu_rev);
+
OMAP3_SHOW_FEATURE(l2cache);
OMAP3_SHOW_FEATURE(iva);
OMAP3_SHOW_FEATURE(sgx);
diff --git a/arch/arm/plat-omap/include/mach/cpu.h 
b/arch/arm/plat-omap/include/mach/cpu.h
index 4a04f77..a0dbbb4 100644
--- a/arch/arm/plat-omap/include/mach/cpu.h
+++ b/arch/arm/plat-omap/include/mach/cpu.h
@@ -57,6 +57,11 @@ struct omap_chip_id {
 unsigned int omap_rev(void);
 
 /*
+ * Get the CPU revision for OMAP devices
+ */
+#define GET_OMAP_REVISION()((omap_rev()  8)  0xff)
+
+/*
  * Test if multicore OMAP support is needed
  */
 #undef MULTI_OMAP1
@@ -360,7 +365,21 @@ IS_OMAP_TYPE(3430, 0x3430)
 
 #if defined(CONFIG_ARCH_OMAP34XX)
 # undef cpu_is_omap3430
+# undef cpu_is_omap3503
+# undef cpu_is_omap3515
+# undef cpu_is_omap3525
+# undef cpu_is_omap3530
 # define cpu_is_omap3430() is_omap3430()
+# define cpu_is_omap3503   (cpu_is_omap3430() \
+   (!omap3_has_iva()) \
+   (!omap3_has_sgx()))
+# define cpu_is_omap3515   (cpu_is_omap3430() \
+   (omap3_has_iva())  \
+   (!omap3_has_sgx()))
+# define cpu_is_omap3525   

Re: [PATCH 3/3 v3] ASoC: OMAP: Enhance OMAP1510 DMA progress software counter

2009-08-18 Thread Jarkko Nikula
On Tue, 18 Aug 2009 14:45:41 +0100
Mark Brown broo...@opensource.wolfsonmicro.com wrote:

 On Tue, Aug 18, 2009 at 03:42:05PM +0200, Janusz Krzysztofik wrote:
 
  And now, how is the patch 1/3 supposed to get into the mainline? Whom  
  should I ping from time to time to get it integrated? If not then, as  
  you know for sure, applying patch 2/3 whithout 1/3 will result in ASoC  
  support for OMAP1510 broken.
 
 Normally the OMAP tree, though that's possibly a bit tricky due to the
 ARM tree closing early.  If Tony's OK with merging via the ALSA tree we
 could also apply the ARM patch there?

I would say that it's better to keep in Tony's hand since otherwise
there can be risk for DMA code being out-of-sync as there are quite
frequent other PM, OMAP4, errata, etc. patches coming into it.

Of course it means that OMAP1510 audio is broken until the patch 1/3 is
merged but probably patch can be merged as a fix if merge window is
missed.


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


RE: [PATCH] omap_hsmmc: Fix for the db clock failure message

2009-08-18 Thread Madhusudhan


 -Original Message-
 From: linux-omap-ow...@vger.kernel.org [mailto:linux-omap-
 ow...@vger.kernel.org] On Behalf Of Madhusudhan
 Sent: Tuesday, August 18, 2009 10:27 AM
 To: 'Adrian Hunter'
 Cc: a...@linux-foundation.org; linux-ker...@vger.kernel.org; linux-
 o...@vger.kernel.org; linux-arm-ker...@lists.arm.linux.org.uk
 Subject: RE: [PATCH] omap_hsmmc: Fix for the db clock failure message
 
 
 
  -Original Message-
  From: Adrian Hunter [mailto:adrian.hun...@nokia.com]
  Sent: Tuesday, August 18, 2009 1:53 AM
  To: Madhusudhan Chikkature
  Cc: a...@linux-foundation.org; linux-ker...@vger.kernel.org; linux-
  o...@vger.kernel.org; linux-arm-ker...@lists.arm.linux.org.uk
  Subject: Re: [PATCH] omap_hsmmc: Fix for the db clock failure message
 
  Madhusudhan Chikkature wrote:
   This patch applies on top of the series [PATCH V2 0/32] mmc and
  omap_hsmmc
   patches posted by Adrian Hunter.
  
   -
  
  
  
   This patch removes the error message Failed to get debounce clock..
  printed
   out by the HSMMC driver on OMAP3430. The debounce clock needs to be
  handled only
   for OMAP2430.
 
  I have a suggestion that may make it tidier.
 
  What about renaming host-dbclk_enabled to host-got_dbclk and leaving
 it
  alone
  after it is set in the probe function.  Then create a macro to use in
  conditions:
 
  #define have_dbclk(host) (cpu_is_omap2430()  (host)-got_dbclk)
 
  So the following:
 
  -   if (host-dbclk_enabled)
  +   if (cpu_is_omap2430()  host-dbclk_enabled) {
  clk_disable(host-dbclk);
  +   host-dbclk_enabled = 0;
  +   }
 
  becomes:
 
  -   if (host-dbclk_enabled)
  +   if (have_dbclk(host))
  clk_disable(host-dbclk);
 
  Or alternatively, forget the macro, and let the code always compile in:
 
  -   if (host-dbclk_enabled)
  +   if (host-got_dbclk)
  clk_disable(host-dbclk);
 
 In both the cases how about the enable path? We want to enable the
 debounce
 clock only for OMAP2430, Right? Otherwise we will still end up throwing an
 error message for 3430 if we check the result of clk_enable for db clock.
 
 Regards,
 Madhu
 
I got your point after looking at the patch again. I guess you want to set
the host-got_dbclk only once in probe if the clk_get succeeds for db clk
and handle clk_enable/disable only based on got_dbclk. That should be fine.
I will resubmit the patch.

Regards,
Madhu
 
  
   Signed-off-by: Madhusudhan Chikkature madhu...@ti.com
   ---
drivers/mmc/host/omap_hsmmc.c |   63 +++-
 --
  
1 file changed, 41 insertions(+), 22 deletions(-)
  
   Index: linux-2.6/drivers/mmc/host/omap_hsmmc.c
   ===
   --- linux-2.6.orig/drivers/mmc/host/omap_hsmmc.c
   +++ linux-2.6/drivers/mmc/host/omap_hsmmc.c
   @@ -735,8 +735,10 @@ static int omap_hsmmc_switch_opcond(stru
 /* Disable the clocks */
 clk_disable(host-fclk);
 clk_disable(host-iclk);
   - if (host-dbclk_enabled)
   + if (cpu_is_omap2430()  host-dbclk_enabled) {
 clk_disable(host-dbclk);
   + host-dbclk_enabled = 0;
   + }
  
 /* Turn the power off */
 ret = mmc_slot(host).set_power(host-dev, host-slot_id, 0, 0);
   @@ -746,9 +748,14 @@ static int omap_hsmmc_switch_opcond(stru
 ret = mmc_slot(host).set_power(host-dev, host-slot_id, 1,
vdd);
 clk_enable(host-iclk);
   - if (host-dbclk_enabled)
   - clk_enable(host-dbclk);
 clk_enable(host-fclk);
   + if (cpu_is_omap2430()  !host-dbclk_enabled) {
   + if (clk_enable(host-dbclk) != 0)
   + dev_dbg(mmc_dev(host-mmc), Enabling debounce
   +  clk failed\n);
   + else
   + host-dbclk_enabled = 1;
   + }
  
 if (ret != 0)
 goto err;
   @@ -1697,18 +1704,21 @@ static int __init omap_hsmmc_probe(struc
 goto err1;
 }
  
   - host-dbclk = clk_get(pdev-dev, mmchsdb_fck);
   - /*
   -  * MMC can still work without debounce clock.
   -  */
   - if (IS_ERR(host-dbclk))
   - dev_warn(mmc_dev(host-mmc), Failed to get debounce
  clock\n);
   - else
   - if (clk_enable(host-dbclk) != 0)
   - dev_dbg(mmc_dev(host-mmc), Enabling debounce
   -  clk failed\n);
   + if (cpu_is_omap2430()) {
   + host-dbclk = clk_get(pdev-dev, mmchsdb_fck);
   + /*
   +  * MMC can still work without debounce clock.
   +  */
   + if (IS_ERR(host-dbclk))
   + dev_warn(mmc_dev(host-mmc),
   + Failed to get debounce clock\n);
 else
   - host-dbclk_enabled = 1;
   + if (clk_enable(host-dbclk) != 0)
   + dev_dbg(mmc_dev(host-mmc), Enabling
 debounce
   + 

FW: [patch 4/9] mmc: add the new linux-mmc mailing list to MAINTAINERS

2009-08-18 Thread Madhusudhan


 -Original Message-
 From: Andrew Morton [mailto:a...@linux-foundation.org]
 Sent: Tuesday, August 18, 2009 5:17 PM
 To: Madhusudhan
 Cc: torva...@linux-foundation.org; haraldwe...@viatech.com;
 josephc...@via.com.tw; ben-li...@fluff.org; drz...@drzeus.cx;
 i...@mnementh.co.uk; jarkko.lavi...@nokia.com; linux-...@vger.kernel.org;
 manuel.la...@gmail.com; n...@cam.org; pp...@pikron.com;
 saschasom...@freenet.de
 Subject: Re: [patch 4/9] mmc: add the new linux-mmc mailing list to
 MAINTAINERS
 
 On Tue, 18 Aug 2009 17:08:40 -0500
 Madhusudhan madhu...@ti.com wrote:
 
 
 
   -Original Message-
   From: linux-mmc-ow...@vger.kernel.org [mailto:linux-mmc-
   ow...@vger.kernel.org] On Behalf Of a...@linux-foundation.org
   Sent: Tuesday, August 18, 2009 4:11 PM
   To: torva...@linux-foundation.org
   Cc: a...@linux-foundation.org; haraldwe...@viatech.com;
   josephc...@via.com.tw; ben-li...@fluff.org; drz...@drzeus.cx;
   i...@mnementh.co.uk; jarkko.lavi...@nokia.com; linux-
 m...@vger.kernel.org;
   manuel.la...@gmail.com; n...@cam.org; pp...@pikron.com;
   saschasom...@freenet.de
   Subject: [patch 4/9] mmc: add the new linux-mmc mailing list to
   MAINTAINERS
  
   From: Andrew Morton a...@linux-foundation.org
  
   There are a number of individual MMC drivers listed in MAINTAINERS.  I
   didn't modify those records.  Perhaps I should have.
  
  Does this mean that the individual MMC drivers list needs to be changed
 to
  linux-...@vger.kernel.org?
 
  For e.g. the OMAP MMC support currently listed as
 
  L: linux-omap@vger.kernel.org
 
  Should now be changed as below?
 
  L: linux-...@vger.kernel.org
 
 I don't know - that's why I cc'ed all you guys.  If you think that
 linux-mmc should be mentioned in your driver's MAINTAINERS record then
 please raise a patch to make that change.
 
Hi Tony, Jarkko,

What is your opinion?

The patch I posted earlier today to linux-...@vger.kernel.org list for HSMMC
updation did not make this change to the list name. If you guys agree with
this change I can post it back combining the HS MMC entry. 

Regards,
Madhu
 
 


--
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: Pull request for OMAP PM, clock, SDRC 2.6.32 patches

2009-08-18 Thread Woodruff, Richard
Hi Paul,

 -Original Message-
 From: linux-omap-ow...@vger.kernel.org [mailto:linux-omap-
 ow...@vger.kernel.org] On Behalf Of Paul Walmsley
 Sent: Tuesday, August 18, 2009 7:36 AM
 To: Russell King - ARM Linux

  I'm afraid to say that I think you've left it far too late to send this.
  I did set a date of the 16th as being the final date to sort out stuff
  (which was flexible to a degree) but since these patches were only posted
  on Saturday, and they're still being discussed, I don't think it would
  make sense for me to pull it today.

 I've dropped the two patches that are being discussed and reposted the
 remainder.  The updated series is here (et seq.):

 http://marc.info/?l=linux-arm-kernelm=125059872200340w=2

 and the pull request is here:

 http://marc.info/?l=linux-arm-kernelm=125059845132331w=2

Does this series conflict with patches already submitted on OMAP4?

http://www.mail-archive.com/linux-omap@vger.kernel.org/msg15488.html

I'm not able to check now but its best to be careful here.

Thanks,
Richard W.

--
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: Pull request for OMAP PM, clock, SDRC 2.6.32 patches

2009-08-18 Thread Paul Walmsley
Hello Richard,

On Tue, 18 Aug 2009, Woodruff, Richard wrote:

  -Original Message-
  From: linux-omap-ow...@vger.kernel.org [mailto:linux-omap-
  ow...@vger.kernel.org] On Behalf Of Paul Walmsley
  Sent: Tuesday, August 18, 2009 7:36 AM
  To: Russell King - ARM Linux
 
  I've dropped the two patches that are being discussed and reposted the
  remainder.  The updated series is here (et seq.):
 
  http://marc.info/?l=linux-arm-kernelm=125059872200340w=2
 
  and the pull request is here:
 
  http://marc.info/?l=linux-arm-kernelm=125059845132331w=2
 
 Does this series conflict with patches already submitted on OMAP4?
 
 http://www.mail-archive.com/linux-omap@vger.kernel.org/msg15488.html
 
 I'm not able to check now but its best to be careful here.

The series cannot conflict with Rajendra's patches 1-3, since there are no 
files in common between the two series.  As for patches 4-6, there are 
comments pending:

http://www.mail-archive.com/linux-omap@vger.kernel.org/msg15568.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: Pull request for OMAP PM, clock, SDRC 2.6.32 patches

2009-08-18 Thread Woodruff, Richard

 From: Paul Walmsley [mailto:p...@pwsan.com]
 Sent: Tuesday, August 18, 2009 6:27 PM
 To: Woodruff, Richard
 The series cannot conflict with Rajendra's patches 1-3, since there are no
 files in common between the two series.  As for patches 4-6, there are
 comments pending:

OK, there are recent comments, good, but is it conflicting?

Thanks for clarifying, I'm not able to do a check right now and am hoping they 
don't interfere.  Hopefully the series are not all too inter-related.

Seems like getting to multiple and smaller feature branches will reduce 
collisions. Any big branch carries more risk (and potential reward also I 
suppose).

Regards,
Richard W.
--
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] OMAP2/3: Add support for flash on SDP boards

2009-08-18 Thread vimal singh
Add support for flash on SDP boards. NAND, NOR and OneNAND
are supported.

Only tested on 3430SDP (ES2 and ES3.1), somebody please test on
2430SDP and check the chips select for 2430SDP.

Also note that:
For OneNAND: in the earlier 2430SDP code the kernel partition
was set to only 1MB instead of 2MB on 3430SDP. If people want
the old partition sizes back on 2430SDP, please provide a patch.

For NAND: 'U-Boot', 'Boot Env' and 'Kernel' partitions sizes increased
by few blocks to provide few spare blocks for NAND bab block management
in u-boot. If people want old partition sizes, please provide a patch.


Signed-off-by: Vimal Singh vimalsi...@ti.com
Signed-off-by: Tony Lindgren t...@atomide.com
---
 arch/arm/mach-omap2/Makefile   |2
 arch/arm/mach-omap2/board-2430sdp.c|2
 arch/arm/mach-omap2/board-3430sdp.c|2
 arch/arm/mach-omap2/board-sdp-flash.c  |  326 +
 arch/arm/mach-omap2/board-sdp.h|   15 +
 arch/arm/plat-omap/include/mach/gpmc.h |2
 6 files changed, 349 insertions(+)

Index: linux-omap-2.6/arch/arm/mach-omap2/Makefile
===
--- linux-omap-2.6.orig/arch/arm/mach-omap2/Makefile
+++ linux-omap-2.6/arch/arm/mach-omap2/Makefile
@@ -48,6 +48,7 @@ obj-$(CONFIG_OMAP_IOMMU)  += $(iommu-y)
 obj-$(CONFIG_MACH_OMAP_GENERIC)+= board-generic.o
 obj-$(CONFIG_MACH_OMAP_H4) += board-h4.o
 obj-$(CONFIG_MACH_OMAP_2430SDP)+= board-2430sdp.o \
+  board-sdp-flash.o \
   mmc-twl4030.o
 obj-$(CONFIG_MACH_OMAP_APOLLON)+= board-apollon.o
 obj-$(CONFIG_MACH_OMAP3_BEAGLE)+= board-omap3beagle.o \
@@ -61,6 +62,7 @@ obj-$(CONFIG_MACH_OMAP3EVM)   += board-om
 obj-$(CONFIG_MACH_OMAP3_PANDORA)   += board-omap3pandora.o \
   mmc-twl4030.o
 obj-$(CONFIG_MACH_OMAP_3430SDP)+= board-3430sdp.o \
+  board-sdp-flash.o \
   mmc-twl4030.o
 obj-$(CONFIG_MACH_NOKIA_N8X0)  += board-n8x0.o
 obj-$(CONFIG_MACH_NOKIA_RX51)  += board-rx51.o \
Index: linux-omap-2.6/arch/arm/mach-omap2/board-2430sdp.c
===
--- linux-omap-2.6.orig/arch/arm/mach-omap2/board-2430sdp.c
+++ linux-omap-2.6/arch/arm/mach-omap2/board-2430sdp.c
@@ -38,6 +38,7 @@
 #include mach/usb.h
 #include mach/gpmc-smc91x.h

+#include board-sdp.h
 #include mmc-twl4030.h

 #define SDP2430_CS0_BASE   0x0400
@@ -210,6 +211,7 @@ static void __init omap_2430sdp_init(voi
twl4030_mmc_init(mmc);
usb_musb_init();
board_smc91x_init();
+   sdp_flash_init();

/* Turn off secondary LCD backlight */
ret = gpio_request(SECONDARY_LCD_GPIO, Secondary LCD backlight);
Index: linux-omap-2.6/arch/arm/mach-omap2/board-3430sdp.c
===
--- linux-omap-2.6.orig/arch/arm/mach-omap2/board-3430sdp.c
+++ linux-omap-2.6/arch/arm/mach-omap2/board-3430sdp.c
@@ -41,6 +41,7 @@
 #include mach/keypad.h
 #include mach/gpmc-smc91x.h

+#include board-sdp.h
 #include sdram-qimonda-hyb18m512160af-6.h
 #include mmc-twl4030.h

@@ -494,6 +495,7 @@ static void __init omap_3430sdp_init(voi
omap_serial_init(sdp3430_uart_config);
usb_musb_init();
board_smc91x_init();
+   sdp_flash_init();
usb_ehci_init(EHCI_HCD_OMAP_MODE_PHY, true, true, 57, 61);
 }

Index: linux-omap-2.6/arch/arm/mach-omap2/board-sdp-flash.c
===
--- /dev/null
+++ linux-omap-2.6/arch/arm/mach-omap2/board-sdp-flash.c
@@ -0,0 +1,326 @@
+/*
+ * arch/arm/mach-omap2/board-sdp-flash.c
+ *
+ * Copyright (C) 2009 Nokia Corporation
+ * Copyright (C) 2009 Texas Instruments
+ *
+ * Modified from mach-omap2/board-3430sdp-flash.c
+ * Author: Vimal Singh vimalsi...@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/kernel.h
+#include linux/platform_device.h
+#include linux/mtd/mtd.h
+#include linux/mtd/partitions.h
+#include linux/io.h
+
+#include asm/mach/flash.h
+#include mach/onenand.h
+#include mach/gpmc.h
+#include mach/nand.h
+
+#define REG_FPGA_REV   0x10
+#define REG_FPGA_DIP_SWITCH_INPUT2 0x60
+#define MAX_SUPPORTED_GPMC_CONFIG  3
+
+/* various memory sizes */
+#define FLASH_SIZE_SDPV1   SZ_64M
+#define FLASH_SIZE_SDPV2   SZ_128M
+
+#define FLASH_BASE_SDPV1   0x0400 /* NOR flash (64 Meg aligned) */
+#define FLASH_BASE_SDPV2   0x1000 /* NOR flash (256 Meg aligned) */
+
+#define DEBUG_BASE 0x0800 /* debug board */
+

Where is DSP Gateway

2009-08-18 Thread Suresh Rajashekara
Hi All,

We had been using dspgateway 3.3 on 2.6.16. Recently we changed our
kernel to 2.6.29 and we found that the dspgateway driver has been
removed from the tree
( 
http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=commit;h=2512fd29db4eb09e82d182596304c7aaf76d2c5c).

What do I do, If I want to use the dspgateway on 2.6.29?

I tried searching the patch for dspgateway on 2.6.29, but found none
except this
http://archive.netbsd.se/?ml=linux-kernela=2009-07m=11155350

Any pointers would be really helpful

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


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

2009-08-18 Thread Stephen Rothwell
Hi all,

Today's linux-next merge of the omap tree got a conflict in
arch/arm/mach-omap2/board-4430sdp.c between commit
085b54d99b8ee999e7905b8f16e201e0da8ba369 (ARM: OMAP4: Add UART4
support) from the arm tree and commit
4c29fa3e47342666e12e46f35f40dd90b12cd1a4 (OMAP: remove OMAP_TAG_UART)
from the omap tree.

Just context changes (I think).  I fixed it up (see below) and can carry
the fix as necessary.
-- 
Cheers,
Stephen Rothwells...@canb.auug.org.au

diff --cc arch/arm/mach-omap2/board-4430sdp.c
index 1b22307,646079f..000
--- a/arch/arm/mach-omap2/board-4430sdp.c
+++ b/arch/arm/mach-omap2/board-4430sdp.c
@@@ -38,8 -38,8 +38,8 @@@ static struct platform_device *sdp4430_
sdp4430_lcd_device,
  };
  
- static struct omap_uart_config sdp4430_uart_config __initdata = {
+ static struct omap_uart_platform_data sdp4430_uart_config __initdata = {
 -  .enabled_uarts  = (1  0) | (1  1) | (1  2),
 +  .enabled_uarts  = (1  0) | (1  1) | (1  2) | (1  3),
  };
  
  static struct omap_lcd_config sdp4430_lcd_config __initdata = {
--
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