RE: [PATCH] omap3evm: Migrate to smsc911x ethernet driver.

2009-11-11 Thread Govindarajan, Sriramakrishnan
Tony,
Are there comments with respect to this patch. Will this be merged in the next 
window?
Regards
Sriram

 -Original Message-
 From: linux-omap-ow...@vger.kernel.org [mailto:linux-omap-
 ow...@vger.kernel.org] On Behalf Of Govindarajan, Sriramakrishnan
 Sent: Wednesday, October 28, 2009 7:19 PM
 To: linux-omap@vger.kernel.org
 Cc: Govindarajan, Sriramakrishnan
 Subject: [PATCH] omap3evm: Migrate to smsc911x ethernet driver.
 
 Migrate to smsc911x ethernet driver instead of smc911x driver.
 The smsc911x ethernet driver supports NAPI and performs better
 under heavy traffic. With the smc911x driver we were witnessing
 very high iowait time for high IO load over NFS.
 
 Signed-off-by: Sriramakrishnan s...@ti.com
 ---
 This patch is generated against tip of for-next branch.
 
  arch/arm/configs/omap3_evm_defconfig |4 +-
  arch/arm/mach-omap2/board-omap3evm.c |   36
 +
  2 files changed, 29 insertions(+), 11 deletions(-)
 
 diff --git a/arch/arm/configs/omap3_evm_defconfig
 b/arch/arm/configs/omap3_evm_defconfig
 index d5ff477..50afc67 100644
 --- a/arch/arm/configs/omap3_evm_defconfig
 +++ b/arch/arm/configs/omap3_evm_defconfig
 @@ -617,8 +617,8 @@ CONFIG_MII=y
  # CONFIG_DM9000 is not set
  # CONFIG_ENC28J60 is not set
  # CONFIG_ETHOC is not set
 -CONFIG_SMC911X=y
 -# CONFIG_SMSC911X is not set
 +# CONFIG_SMC911X is not set
 +CONFIG_SMSC911X=y
  # CONFIG_DNET is not set
  # CONFIG_IBM_NEW_EMAC_ZMII is not set
  # CONFIG_IBM_NEW_EMAC_RGMII is not set
 diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-
 omap2/board-omap3evm.c
 index 5d2310e..9bcdaf7 100644
 --- a/arch/arm/mach-omap2/board-omap3evm.c
 +++ b/arch/arm/mach-omap2/board-omap3evm.c
 @@ -21,11 +21,13 @@
  #include linux/gpio.h
  #include linux/input.h
  #include linux/leds.h
 +#include linux/interrupt.h
 
  #include linux/spi/spi.h
  #include linux/spi/ads7846.h
  #include linux/i2c/twl4030.h
  #include linux/usb/otg.h
 +#include linux/smsc911x.h
 
  #include linux/regulator/machine.h
 
 @@ -51,7 +53,8 @@
  #define OMAP3EVM_ETHR_GPIO_IRQ   176
  #define OMAP3EVM_SMC911X_CS  5
 
 -static struct resource omap3evm_smc911x_resources[] = {
 +#if defined(CONFIG_SMSC911X) || defined(CONFIG_SMSC911X_MODULE)
 +static struct resource omap3evm_smsc911x_resources[] = {
   [0] =   {
   .start  = OMAP3EVM_ETHR_START,
   .end= (OMAP3EVM_ETHR_START + OMAP3EVM_ETHR_SIZE - 1),
 @@ -60,18 +63,28 @@ static struct resource
 omap3evm_smc911x_resources[] = {
   [1] =   {
   .start  = OMAP_GPIO_IRQ(OMAP3EVM_ETHR_GPIO_IRQ),
   .end= OMAP_GPIO_IRQ(OMAP3EVM_ETHR_GPIO_IRQ),
 - .flags  = IORESOURCE_IRQ,
 + .flags  = (IORESOURCE_IRQ | IRQF_TRIGGER_LOW),
   },
  };
 
 -static struct platform_device omap3evm_smc911x_device = {
 - .name   = smc911x,
 +static struct smsc911x_platform_config smsc911x_config = {
 + .phy_interface  = PHY_INTERFACE_MODE_MII,
 + .irq_polarity   = SMSC911X_IRQ_POLARITY_ACTIVE_LOW,
 + .irq_type   = SMSC911X_IRQ_TYPE_OPEN_DRAIN,
 + .flags  = (SMSC911X_USE_32BIT |
 SMSC911X_SAVE_MAC_ADDRESS),
 +};
 +
 +static struct platform_device omap3evm_smsc911x_device = {
 + .name   = smsc911x,
   .id = -1,
 - .num_resources  = ARRAY_SIZE(omap3evm_smc911x_resources),
 - .resource   = omap3evm_smc911x_resources[0],
 + .num_resources  = ARRAY_SIZE(omap3evm_smsc911x_resources),
 + .resource   = omap3evm_smsc911x_resources[0],
 + .dev= {
 + .platform_data = smsc911x_config,
 + },
  };
 
 -static inline void __init omap3evm_init_smc911x(void)
 +static inline void __init omap3evm_init_smsc911x(void)
  {
   int eth_cs;
   struct clk *l3ck;
 @@ -92,8 +105,14 @@ static inline void __init
 omap3evm_init_smc911x(void)
   }
 
   gpio_direction_input(OMAP3EVM_ETHR_GPIO_IRQ);
 +
 + platform_device_register(omap3evm_smsc911x_device);
  }
 
 +#else
 +static inline void __init omap3evm_init_smsc911x(void) { return; }
 +#endif
 +
  static struct regulator_consumer_supply omap3evm_vmmc1_supply = {
   .supply = vmmc,
  };
 @@ -335,12 +354,10 @@ static void __init omap3_evm_init_irq(void)
   omap2_init_common_hw(mt46h32m32lf6_sdrc_params, NULL);
   omap_init_irq();
   omap_gpio_init();
 - omap3evm_init_smc911x();
  }
 
  static struct platform_device *omap3_evm_devices[] __initdata = {
   omap3_evm_lcd_device,
 - omap3evm_smc911x_device,
  };
 
  static void __init omap3_evm_init(void)
 @@ -359,6 +376,7 @@ static void __init omap3_evm_init(void)
  #endif
   usb_musb_init();
   ads7846_dev_init();
 + omap3evm_init_smsc911x();
  }
 
  static void __init omap3_evm_map_io(void)

[Hiremath, Vaibhav] I validated this patch on OMAP3EVM and it is working for 
me. At-least I could able to mount NFS and work without any issue, which was 
failing 

Re: [PATCH 3/5] omap: mux: Add new style pin multiplexing data for 34xx

2009-11-11 Thread Mike Rapoport


Tony Lindgren wrote:
 Hi,
 
 Sorry for the delay, have not had a chance to work on this for a few
 days.
 
 * Mike Rapoport m...@compulab.co.il [091103 23:14]:

 Tony Lindgren wrote:
 * Mike Rapoport mike.rapop...@gmail.com [091102 23:10]:
 On Mon, Nov 2, 2009 at 9:10 PM, Tony Lindgren t...@atomide.com wrote:
 * Mike Rapoport m...@compulab.co.il [091101 02:30]:
 Tony Lindgren wrote:
 
 snip snip
  
 We can easily do something like this if we add char *muxname to
 struct omap_board_mux (untested):

 #define OMAP_MUX_SIGNAL(signal, mux_flags)  \
 {   \
 .muxname= #signal,  \
 .flags  = (mux_flags),  \
 }

 #define OMAP_MUX_GPIO(gpio, mux_flags)  
 \
 {   \
 .muxname= gpio_##signal,\
 .flags  = (mux_flags),  \
 }

 #ifdef CONFIG_OMAP_MUX
 static struct omap_board_mux board_mux[] __initdata = {
 OMAP_MUX_SIGNAL(i2c1_scl, OMAP_PIN_INPUT),
 OMAP_MUX_GPIO(98, OMAP_PIN_INPUT_PULLUP),
 OMAP_MUX_GPIO(99, OMAP_PIN_INPUT_PULLUP | OMAP_MUX_DYNAMIC),
 { .reg_offset = OMAP_MUX_TERMINATOR },
 };
 #endif

 Of course then we have to warn on potential duplicate signal names,
 but those can be specified using the register offset + mode as
 needed.
 
 Or use mode0_name.modeX_name for the full naming.

Agreed.

 Is the above close enough to what you have in mind regarding the
 board specific mux tables, or do you have still something else
 in mind?
 It's closer :)
 
 OK, hopefully that means close to usable then :)

It became usable as soon as you don't have to patch common mux enumerations to
add board specific mux settings :)
With mode0_name.modeX_name the mux setup code is slightly more complicated but
once it's working adding new data both to SoC files and to the board files will
be easy.

 What I have in mind is a simple wrapper macro defining mux configuration for
 straightforward cases, just like a bunch of defines in
 arch/arm/mach-omap2/include/mach/mux34xx.h in my earlier patch [1].
 And just use OMAP_MUX_SIGNAL, or OMAP3_MUX for more complicated cases where
 flags and/or OFF mode settings are required.
 For instance, for making i2c1_scl to be actually routed to its pin you would 
 have

 static struct omap_board_mux board_mux[] __initdata = {
  OMAP_MUX_I2C1_SCL,
 ...
 }

 and for dss_pclk to became hw_dbg12 you have

 static struct omap_board_mux board_mux[] __initdata = {
  OMAP_MUX_PCLK_HW_DBG12,
 ...
 }
 
 The more I've been thinking about it, I think we should move away from using
 the register offsets if we can use the signal names instead. A lot of the 
 board
 init code can be done in a generic way then, and should work across various
 omaps better.
 
 For example, see what setup_ehci_io_mux() becomes then:
 
   switch (port_mode[0]) {
   case EHCI_HCD_OMAP_MODE_PHY:
   omap_mux_init_signal(hsusb1_stp, OMAP_PIN_OUTPUT);
   omap_mux_init_signal(hsusb1_clk, OMAP_PIN_OUTPUT);
   omap_mux_init_signal(hsusb1_dir, OMAP_PIN_INPUT_PULLDOWN);
   omap_mux_init_signal(hsusb1_nxt, OMAP_PIN_INPUT_PULLDOWN);
   omap_mux_init_signal(hsusb1_data0, OMAP_PIN_INPUT_PULLDOWN);
   omap_mux_init_signal(hsusb1_data1, OMAP_PIN_INPUT_PULLDOWN);
   omap_mux_init_signal(hsusb1_data2, OMAP_PIN_INPUT_PULLDOWN);
   omap_mux_init_signal(hsusb1_data3, OMAP_PIN_INPUT_PULLDOWN);
   omap_mux_init_signal(hsusb1_data4, OMAP_PIN_INPUT_PULLDOWN);
   omap_mux_init_signal(hsusb1_data5, OMAP_PIN_INPUT_PULLDOWN);
   omap_mux_init_signal(hsusb1_data6, OMAP_PIN_INPUT_PULLDOWN);
   omap_mux_init_signal(hsusb1_data7, OMAP_PIN_INPUT_PULLDOWN);
   break;
   ...
 
 Of course, that does not mean that we should not allow muxing by using the
 register offsets especially for board specific custom devices. But it helps
 with the common platform init code for the integrated devices.
  
 Another my point was, that each board-* file will have all the mux settings 
 in
 one consolidated place. Indeed, currently there are no many uses of 
 omap_cfg_reg
 in the board files, but think of crappy bootloaders that fail to configure 
 half
 of the pins or cases when you delibarately want to setup mux configuration in
 kernel.
 
 Agreed. We should do it in the board-*.c files because bootloaders do what 
 they
 do. And for common integrated devices we can do it in the common platform init
 code based on the nr_lines like we do for MMC and USB already.
  
 I agree, that having the macros I'm talking about is more or less syntactic
 sugar and I'm Ok to live without them :)
 
 OK, let's see how it 

[PATCH 0/1]: Thaws refrigerated bdi flusher threads before invoking kthread_stop on them

2009-11-11 Thread Romit Dasgupta
Hi,
Few days back I started facing problems during system suspend with
MMC, SD card installed. I will restate how to reproduce the problem:

1) Mount a file system from MMC/SD card.
2) Unmount the file system. This creates a flusher task.
3) Attempt suspend to RAM. System is unresponsive.

This is because the bdi flusher thread is already in the refrigerator
and will remain so until it is thawed. The MMC driver suspend routine
ultimately will issue a 'kthread_stop' on the bdi flusher thread and
will block until the flusher thread is exited. Since the bdi flusher
thread is in the refrigerator it never cleans up until thawed.

Enabling khungtaskd gave the following dump: (the dump wraps beyond 80
cols).

INFO: task sh:387 blocked for more than 120 seconds.
echo 0  /proc/sys/kernel/hung_task_timeout_secs disables this message.
shD c027e86c 0   387  1 0x
[c027e86c] (schedule+0x2e0/0x36c) from [c027ee78] 
(schedule_timeout+0x18/0x1ec)
[c027ee78] (schedule_timeout+0x18/0x1ec) from [c027ed10] 
(wait_for_common+0xe0/0x198)
[c027ed10] (wait_for_common+0xe0/0x198) from [c0063dd4] 
(kthread_stop+0x44/0x78)
[c0063dd4] (kthread_stop+0x44/0x78) from [c0090938] 
(bdi_unregister+0x64/0xa4)
[c0090938] (bdi_unregister+0x64/0xa4) from [c0173958] 
(unlink_gendisk+0x20/0x3c)
[c0173958] (unlink_gendisk+0x20/0x3c) from [c00f2338] 
(del_gendisk+0x84/0xb4)
[c00f2338] (del_gendisk+0x84/0xb4) from [c01e6840] 
(mmc_blk_remove+0x24/0x44)
[c01e6840] (mmc_blk_remove+0x24/0x44) from [c01e14f0] 
(mmc_bus_remove+0x18/0x20)
[c01e14f0] (mmc_bus_remove+0x18/0x20) from [c01af6ac] 
(__device_release_driver+0x64/0xa4)
[c01af6ac] (__device_release_driver+0x64/0xa4) from [c01af7e4] 
(device_release_driver+0x1c/0x28)
[c01af7e4] (device_release_driver+0x1c/0x28) from [c01aed5c] 
(bus_remove_device+0x7c/0x90)
[c01aed5c] (bus_remove_device+0x7c/0x90) from [c01ad538] 
(device_del+0x110/0x160)
[c01ad538] (device_del+0x110/0x160) from [c01e15a8] 
(mmc_remove_card+0x50/0x64)
[c01e15a8] (mmc_remove_card+0x50/0x64) from [c01e2ea4] 
(mmc_sd_remove+0x24/0x30)
[c01e2ea4] (mmc_sd_remove+0x24/0x30) from [c01e0dcc] 
(mmc_suspend_host+0x110/0x1a8)
[c01e0dcc] (mmc_suspend_host+0x110/0x1a8) from [c01e7d04] 
(omap_hsmmc_suspend+0x74/0x104)
[c01e7d04] (omap_hsmmc_suspend+0x74/0x104) from [c01b08e8] 
(platform_pm_suspend+0x50/0x5c)
[c01b08e8] (platform_pm_suspend+0x50/0x5c) from [c01b27f0] (pm_op+0x30/0x74)
[c01b27f0] (pm_op+0x30/0x74) from [c01b2ec8] (dpm_suspend_start+0x3b4/0x518)
[c01b2ec8] (dpm_suspend_start+0x3b4/0x518) from [c0078b20] 
(suspend_devices_and_enter+0x3c/0x1c4)
[c0078b20] (suspend_devices_and_enter+0x3c/0x1c4) from [c0078d88] 
(enter_state+0xe0/0x138)
[c0078d88] (enter_state+0xe0/0x138) from [c0078444] (state_store+0x94/0xbc)
[c0078444] (state_store+0x94/0xbc) from [c017e124] 
(kobj_attr_store+0x18/0x1c)
[c017e124] (kobj_attr_store+0x18/0x1c) from [c00f3a08] 
(sysfs_write_file+0x108/0x13c)
[c00f3a08] (sysfs_write_file+0x108/0x13c) from [c00a76b8] 
(vfs_write+0xac/0x154)
[c00a76b8] (vfs_write+0xac/0x154) from [c00a780c] (sys_write+0x3c/0x68)
[c00a780c] (sys_write+0x3c/0x68) from [c0025e60] (ret_fast_syscall+0x0/0x2c)


Earlier I had sent a patch to thaw any refrigerated kernel thread when
some active thread has invoked 'kthread_stop' on it. This was done with
the assumption that all such kernel threads should invoke
'kthread_should_stop' after 'try_to_freeze' and exit if necessary. It
looks there are some kernel threads which do not follow this. With that
in mind I am sending a different patch to fix the above issue (in the
next mail).

Regards,
-Romit

--
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 usb tree with the omap tree

2009-11-11 Thread Stephen Rothwell
Hi Greg,

Today's linux-next merge of the usb tree got a conflict in
drivers/usb/host/ehci-omap.c between commit
7cb07f72711d3e10763ca7d7a9fcd7ac788aabf4 (omap: ehci: Add platform init
code) from the omap tree and commit
9e92239693d7010d2e710a445f46d6a738b09171 (USB: host: ehci: introduce
omap ehci-hcd driver) from the usb tree.

Both commits create this file but I used the omap tree version because
commit ce491cf85466c3377228c5a852ea627ec5136956 (omap: headers: Move
remaining headers from include/mach to include/plat) from the omap tree
moved one included header file (mach/usb.h - plat/usb.h).
-- 
Cheers,
Stephen Rothwells...@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/


pgp0G6FqkJUS5.pgp
Description: PGP signature


Re: [PATCH 1/2] OMAP: update mach/usb.h to allow ehci driver to build

2009-11-11 Thread jung songtan
Hi expert,

Do you have experience about the Power supply about OMAP3530?
It seems the power supply is not very good, some time I need add
powered hub to recognize some usb devices on MHCI host.
Can you give me any clue? where I should go the check with?

Thanks,
Jung T K


2009/11/7 Anand Gadiyar gadi...@ti.com:
 OMAP: update mach/usb.h to allow ehci driver to build

 Add missing declarations to allow the recently introduced
 ehci-omap driver to build on OMAP3

 Signed-off-by: Anand Gadiyar gadi...@ti.com
 Cc: Felipe Balbi felipe.ba...@nokia.com
 Cc: Tony Lindgren t...@atomide.com
 ---
 Tony says he's okay with this patch going through the linux-usb list.

 This patch and the next one are required to build this driver.

 I've based these patches on current Linus' tree plus your usb
 patch queue (gregkh-07-usb-2.6.32-rc6.patch).

  arch/arm/plat-omap/include/mach/usb.h |   17 +
  1 file changed, 17 insertions(+)

 Index: linux-2.6/arch/arm/plat-omap/include/mach/usb.h
 ===
 --- linux-2.6.orig/arch/arm/plat-omap/include/mach/usb.h        2009-11-06 
 04:38:40.0 -0800
 +++ linux-2.6/arch/arm/plat-omap/include/mach/usb.h     2009-11-06 
 04:38:47.0 -0800
 @@ -5,6 +5,21 @@

  #include mach/board.h

 +#define OMAP3_HS_USB_PORTS     3
 +enum ehci_hcd_omap_mode {
 +       EHCI_HCD_OMAP_MODE_UNKNOWN,
 +       EHCI_HCD_OMAP_MODE_PHY,
 +       EHCI_HCD_OMAP_MODE_TLL,
 +};
 +
 +struct ehci_hcd_omap_platform_data {
 +       enum ehci_hcd_omap_mode         port_mode[OMAP3_HS_USB_PORTS];
 +       unsigned                        phy_reset:1;
 +
 +       /* have to be valid if phy_reset is true and portx is in phy mode */
 +       int     reset_gpio_port[OMAP3_HS_USB_PORTS];
 +};
 +
  /*-*/

  #define OMAP1_OTG_BASE                 0xfffb0400
 @@ -29,6 +44,8 @@

  extern void usb_musb_init(void);

 +extern void usb_ehci_init(struct ehci_hcd_omap_platform_data *pdata);
 +
  #endif

  void omap_usb_init(struct omap_usb_config *pdata);
 --
 To unsubscribe from this list: send the line unsubscribe linux-usb 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: [RFC PATCH v2 1/3] input:misc:driver support for Kionix kxte9 accelerometer

2009-11-11 Thread Dmitry Torokhov
Hi Chris,

On Tue, Nov 10, 2009 at 06:11:21PM -0500, chud...@kionix.com wrote:
 From: Chris Hudson chud...@kionix.com
 
 This is a request for comments regarding adding driver support for the Kionix 
 KXTE9 digital tri-axis accelerometer.

Thank you for the patch. Mostly cursory comments at this moment.

  This part features built-in tilt 
 position (orientation), wake-up and back-to-sleep algorithms, which can 
 trigger 
 a user-configurable physical interrupt.  The driver uses i2c for device 
 communication, a misc node for IOCTLs,

Why ioctl and not sysfs?

 and input nodes for reporting 
 acceleration data and interrupt status information.  Moved to 
 drivers/input/misc after discussion on linux-omap mailing list.
 
 Signed-off-by: Chris Hudson chud...@kionix.com
 ---
  drivers/input/misc/Kconfig  |   11 +
  drivers/input/misc/Makefile |1 +
  drivers/input/misc/kxte9.c  |  980 
 +++
  include/linux/kxte9.h   |   95 +
  4 files changed, 1087 insertions(+), 0 deletions(-)
  create mode 100644 drivers/input/misc/kxte9.c
  create mode 100644 include/linux/kxte9.h
 
 diff --git a/drivers/input/misc/Kconfig b/drivers/input/misc/Kconfig
 index a9bb254..a9f957d 100644
 --- a/drivers/input/misc/Kconfig
 +++ b/drivers/input/misc/Kconfig
 @@ -317,4 +317,15 @@ config INPUT_PCAP
 To compile this driver as a module, choose M here: the
 module will be called pcap_keys.
  
 +config INPUT_KXTE9
 + tristate Kionix KXTE9 tri-axis digital accelerometer
 + depends on I2C  SYSFS
 + help
 +   If you say yes here you get support for the Kionix KXTE9 digital
 +   tri-axis accelerometer.
 +
 +   This driver can also be built as a module.  If so, the module
 +   will be called kxte9.
 +
 +
  endif
 diff --git a/drivers/input/misc/Makefile b/drivers/input/misc/Makefile
 index a8b8485..010d19b 100644
 --- a/drivers/input/misc/Makefile
 +++ b/drivers/input/misc/Makefile
 @@ -15,6 +15,7 @@ obj-$(CONFIG_INPUT_DM355EVM)+= 
 dm355evm_keys.o
  obj-$(CONFIG_HP_SDC_RTC) += hp_sdc_rtc.o
  obj-$(CONFIG_INPUT_IXP4XX_BEEPER)+= ixp4xx-beeper.o
  obj-$(CONFIG_INPUT_KEYSPAN_REMOTE)   += keyspan_remote.o
 +obj-$(CONFIG_SENSORS_KXTE9)  += kxte9.o
  obj-$(CONFIG_INPUT_M68K_BEEP)+= m68kspkr.o
  obj-$(CONFIG_INPUT_PCAP) += pcap_keys.o
  obj-$(CONFIG_INPUT_PCF50633_PMU) += pcf50633-input.o
 diff --git a/drivers/input/misc/kxte9.c b/drivers/input/misc/kxte9.c
 new file mode 100644
 index 000..d470f02
 --- /dev/null
 +++ b/drivers/input/misc/kxte9.c
 @@ -0,0 +1,980 @@
 +/*
 + * Copyright (C) 2009 Kionix, Inc.
 + * Written by Chris Hudson chud...@kionix.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.
 + *
 + * This program is distributed in the hope that it will be useful,
 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 + * GNU General Public License for more details.
 + *
 + * You should have received a copy of the GNU General Public License
 + * along with this program; if not, write to the Free Software
 + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
 + * 02111-1307, USA
 + */
 +
 +#include linux/err.h
 +#include linux/errno.h
 +#include linux/delay.h
 +#include linux/fs.h
 +#include linux/i2c.h
 +#include linux/input.h
 +#include linux/input-polldev.h

I don' think you are using polled device framework...

 +#include linux/miscdevice.h
 +#include linux/uaccess.h
 +#include linux/workqueue.h
 +#include linux/irq.h
 +#include linux/gpio.h
 +#include linux/interrupt.h
 +#include linux/kxte9.h
 +
 +#define NAME kxte9
 +#define G_MAX2000
 +/* OUTPUT REGISTERS */
 +#define XOUT 0x12
 +#define INT_STATUS_REG   0x16
 +#define INT_SRC_REG2 0x17
 +#define TILT_POS_CUR 0x10
 +#define TILT_POS_PRE 0x11
 +#define INT_REL  0x1A
 +/* CONTROL REGISTERS */
 +#define CTRL_REG10x1B
 +#define CTRL_REG30x1D
 +#define INT_CTRL10x1E
 +#define TILT_TIMER   0x28
 +#define WUF_TIMER0x29
 +#define B2S_TIMER0x2A
 +#define WUF_THRESH   0x5A
 +#define B2S_THRESH   0x5B
 +/* CONTROL REGISTER 1 BITS */
 +#define PC1_OFF  0x00
 +#define PC1_ON   0x80
 +/* INTERRUPT SOURCE 1 BITS */
 +#define TPS  0x01
 +#define WUFS 0x02
 +#define B2SS 0x04
 +/* INPUT_ABS CONSTANTS */
 +#define FUZZ 32
 +#define FLAT 32
 +#define I2C_RETRY_DELAY  5
 +#define I2C_RETRIES  5
 +/* RESUME STATE INDICES */
 +#define RES_CTRL_REG10
 

Re: [PATCH 00/19] OMAP: DSS2 v5 intro

2009-11-11 Thread Tomi Valkeinen
On Tue, 2009-11-10 at 13:40 +0100, Artem Bityutskiy wrote:
 Tomi,
 
 could you please kindly ask Stephen (CCed) to include the DSS2 tree into
 linux-next, because you are going to merge it the next merge window, and
 there does not seem to be any blocker for this.
 
 Being in linux-next for a while is really important.

Stephen, would this be possible? DSS2 driver is rather big piece of
code, even if it's quite isolated, so it would be nice to have it in
linux-next.

What does it require from me? A git tree, obviously, but what should it
be based on?

 Tomi


--
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 00/19] OMAP: DSS2 v5 intro

2009-11-11 Thread Tomi Valkeinen
On Wed, 2009-11-11 at 09:45 +0100, Valkeinen Tomi (Nokia-D/Helsinki)
wrote:
 On Tue, 2009-11-10 at 13:40 +0100, Artem Bityutskiy wrote:
  Tomi,
  
  could you please kindly ask Stephen (CCed) to include the DSS2 tree into
  linux-next, because you are going to merge it the next merge window, and
  there does not seem to be any blocker for this.
  
  Being in linux-next for a while is really important.
 
 Stephen, would this be possible? DSS2 driver is rather big piece of
 code, even if it's quite isolated, so it would be nice to have it in
 linux-next.
 
 What does it require from me? A git tree, obviously, but what should it
 be based on?

Ah, I just realized that DSS2 patches depend on patches from Tony's
tree. I guess I should base my tree on top of some Tony's tree that is
going to linux-next?

 Tomi


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


Re: [PATCH 1/1]: Thaws refrigerated bdi flusher threads before invoking kthread_stop on them

2009-11-11 Thread Pavel Machek
On Wed 2009-11-11 14:00:16, Romit Dasgupta wrote:
 Kicks out frozen bdi flusher task out of the refrigerator when the flusher 
 task
 needs to exit.


 Signed-off-by: Romit Dasgupta ro...@ti.com

Ok, its slightly interesting, but better than modifying common
code. Looks ok to me.

ACK.
Pavel

 ---
 diff --git a/mm/backing-dev.c b/mm/backing-dev.c
 index 5a37e20..c757b05 100644
 --- a/mm/backing-dev.c
 +++ b/mm/backing-dev.c
 @@ -606,8 +606,11 @@ static void bdi_wb_shutdown(struct backing_dev_info *bdi)
* Finally, kill the kernel threads. We don't need to be RCU
* safe anymore, since the bdi is gone from visibility.
*/
 - list_for_each_entry(wb, bdi-wb_list, list)
 + list_for_each_entry(wb, bdi-wb_list, list) {
 + if (unlikely(frozen(wb-task)))
 + wb-task-flags = ~PF_FROZEN;
   kthread_stop(wb-task);
 + }
  }
  
  void bdi_unregister(struct backing_dev_info *bdi)
 

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) 
http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.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 2/3] omap3: cm-t35: use matrix_keyboard

2009-11-11 Thread Mike Rapoport
Signed-off-by: Mike Rapoport m...@compulab.co.il
---
 arch/arm/mach-omap2/board-cm-t35.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-omap2/board-cm-t35.c 
b/arch/arm/mach-omap2/board-cm-t35.c
index f9290ca..0a46c0e 100644
--- a/arch/arm/mach-omap2/board-cm-t35.c
+++ b/arch/arm/mach-omap2/board-cm-t35.c
@@ -24,6 +24,7 @@
 #include linux/init.h
 #include linux/platform_device.h
 #include linux/input.h
+#include linux/input/matrix_keypad.h
 #include linux/delay.h
 #include linux/gpio.h
 
@@ -39,7 +40,6 @@
 #include plat/common.h
 #include plat/mux.h
 #include plat/nand.h
-#include plat/keypad.h
 #include plat/gpmc.h
 #include plat/usb.h
 
-- 
1.6.0.6

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


[PATCH 0/3] omap3: cm-t35 updates

2009-11-11 Thread Mike Rapoport
Here are several small updates for CM-T35 board.

Changes since commit e7e7a613eded2732b68496f69ff8fc34f16e1dd0:
  Tony Lindgren (1):
  Linux-omap rebuilt: Processor support for new omaps merged

Mike Rapoport (3):
  omap3: cm-t35: update led polarity
  omap3: cm-t35: use matrix_keyboard
  omap3: cm-t35: add support for baseboard ehternet

 arch/arm/mach-omap2/board-cm-t35.c |   71 ++--
 1 files changed, 51 insertions(+), 20 deletions(-)

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


[PATCH 3/3] omap3: cm-t35: add support for baseboard ehternet

2009-11-11 Thread Mike Rapoport
Default CM-T35 baseboard (SB-T35) utilizes SMSC9220 Ethernet chip.
Enable it.

Signed-off-by: Mike Rapoport m...@compulab.co.il
---
 arch/arm/mach-omap2/board-cm-t35.c |   67 ++--
 1 files changed, 49 insertions(+), 18 deletions(-)

diff --git a/arch/arm/mach-omap2/board-cm-t35.c 
b/arch/arm/mach-omap2/board-cm-t35.c
index 0a46c0e..22c4529 100644
--- a/arch/arm/mach-omap2/board-cm-t35.c
+++ b/arch/arm/mach-omap2/board-cm-t35.c
@@ -52,6 +52,8 @@
 
 #define CM_T35_SMSC911X_CS 5
 #define CM_T35_SMSC911X_GPIO   163
+#define SB_T35_SMSC911X_CS 4
+#define SB_T35_SMSC911X_GPIO   65
 
 #define NAND_BLOCK_SIZESZ_128K
 #define GPMC_CS0_BASE  0x60
@@ -60,9 +62,15 @@
 #if defined(CONFIG_SMSC911X) || defined(CONFIG_SMSC911X_MODULE)
 #include linux/smsc911x.h
 
+static struct smsc911x_platform_config cm_t35_smsc911x_config = {
+   .irq_polarity   = SMSC911X_IRQ_POLARITY_ACTIVE_LOW,
+   .irq_type   = SMSC911X_IRQ_TYPE_OPEN_DRAIN,
+   .flags  = SMSC911X_USE_32BIT | SMSC911X_SAVE_MAC_ADDRESS,
+   .phy_interface  = PHY_INTERFACE_MODE_MII,
+};
+
 static struct resource cm_t35_smsc911x_resources[] = {
{
-   .name   = smsc911x-memory,
.flags  = IORESOURCE_MEM,
},
{
@@ -72,13 +80,6 @@ static struct resource cm_t35_smsc911x_resources[] = {
},
 };
 
-static struct smsc911x_platform_config cm_t35_smsc911x_config = {
-   .irq_polarity   = SMSC911X_IRQ_POLARITY_ACTIVE_LOW,
-   .irq_type   = SMSC911X_IRQ_TYPE_OPEN_DRAIN,
-   .flags  = SMSC911X_USE_32BIT | SMSC911X_SAVE_MAC_ADDRESS,
-   .phy_interface  = PHY_INTERFACE_MODE_MII,
-};
-
 static struct platform_device cm_t35_smsc911x_device = {
.name   = smsc911x,
.id = 0,
@@ -89,30 +90,60 @@ static struct platform_device cm_t35_smsc911x_device = {
},
 };
 
-static void __init cm_t35_init_smsc911x(void)
+static struct resource sb_t35_smsc911x_resources[] = {
+   {
+   .flags  = IORESOURCE_MEM,
+   },
+   {
+   .start  = OMAP_GPIO_IRQ(SB_T35_SMSC911X_GPIO),
+   .end= OMAP_GPIO_IRQ(SB_T35_SMSC911X_GPIO),
+   .flags  = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL,
+   },
+};
+
+static struct platform_device sb_t35_smsc911x_device = {
+   .name   = smsc911x,
+   .id = 1,
+   .num_resources  = ARRAY_SIZE(sb_t35_smsc911x_resources),
+   .resource   = sb_t35_smsc911x_resources,
+   .dev= {
+   .platform_data = cm_t35_smsc911x_config,
+   },
+};
+
+static void __init cm_t35_init_smsc911x(struct platform_device *dev,
+   int cs, int irq_gpio)
 {
unsigned long cs_mem_base;
 
-   if (gpmc_cs_request(CM_T35_SMSC911X_CS, SZ_16M, cs_mem_base)  0) {
+   if (gpmc_cs_request(cs, SZ_16M, cs_mem_base)  0) {
pr_err(CM-T35: Failed request for GPMC mem for smsc911x\n);
return;
}
 
-   cm_t35_smsc911x_resources[0].start = cs_mem_base + 0x0;
-   cm_t35_smsc911x_resources[0].end   = cs_mem_base + 0xff;
+   dev-resource[0].start = cs_mem_base + 0x0;
+   dev-resource[0].end   = cs_mem_base + 0xff;
 
-   if ((gpio_request(CM_T35_SMSC911X_GPIO, CM ETH IRQ) == 0) 
-   (gpio_direction_input(CM_T35_SMSC911X_GPIO) == 0)) {
-   gpio_export(CM_T35_SMSC911X_GPIO, 0);
+   if ((gpio_request(irq_gpio, ETH IRQ) == 0) 
+   (gpio_direction_input(irq_gpio) == 0)) {
+   gpio_export(irq_gpio, 0);
} else {
pr_err(CM-T35: could not obtain gpio for SMSC911X IRQ\n);
return;
}
 
-   platform_device_register(cm_t35_smsc911x_device);
+   platform_device_register(dev);
+}
+
+static void __init cm_t35_init_ethernet(void)
+{
+   cm_t35_init_smsc911x(cm_t35_smsc911x_device,
+CM_T35_SMSC911X_CS, CM_T35_SMSC911X_GPIO);
+   cm_t35_init_smsc911x(sb_t35_smsc911x_device,
+SB_T35_SMSC911X_CS, SB_T35_SMSC911X_GPIO);
 }
 #else
-static inline void __init cm_t35_init_smsc911x(void) { return; }
+static inline void __init cm_t35_init_ethernet(void) { return; }
 #endif
 
 #if defined(CONFIG_LEDS_GPIO) || defined(CONFIG_LEDS_GPIO_MODULE)
@@ -457,7 +488,7 @@ static void __init cm_t35_init(void)
cm_t35_init_i2c();
cm_t35_init_nand();
cm_t35_init_ads7846();
-   cm_t35_init_smsc911x();
+   cm_t35_init_ethernet();
cm_t35_init_led();
 
usb_musb_init();
-- 
1.6.0.6

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


[PATCH 1/3] omap3: cm-t35: update led polarity

2009-11-11 Thread Mike Rapoport
Signed-off-by: Mike Rapoport m...@compulab.co.il
---
 arch/arm/mach-omap2/board-cm-t35.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-omap2/board-cm-t35.c 
b/arch/arm/mach-omap2/board-cm-t35.c
index 0a39513..f9290ca 100644
--- a/arch/arm/mach-omap2/board-cm-t35.c
+++ b/arch/arm/mach-omap2/board-cm-t35.c
@@ -123,7 +123,7 @@ static struct gpio_led cm_t35_leds[] = {
.gpio   = 186,
.name   = cm-t35:green,
.default_trigger= heartbeat,
-   .active_low = 1,
+   .active_low = 0,
},
 };
 
-- 
1.6.0.6

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


Re: [PATCH 1/1]: Thaws refrigerated bdi flusher threads before invoking kthread_stop on them

2009-11-11 Thread Rafael J. Wysocki
On Wednesday 11 November 2009, Pavel Machek wrote:
 On Wed 2009-11-11 14:00:16, Romit Dasgupta wrote:
  Kicks out frozen bdi flusher task out of the refrigerator when the flusher 
  task
  needs to exit.
 
 
  Signed-off-by: Romit Dasgupta ro...@ti.com
 
 Ok, its slightly interesting, but better than modifying common
 code. Looks ok to me.
 
 ACK.

Agreed.

Jens, any objections?

  ---
  diff --git a/mm/backing-dev.c b/mm/backing-dev.c
  index 5a37e20..c757b05 100644
  --- a/mm/backing-dev.c
  +++ b/mm/backing-dev.c
  @@ -606,8 +606,11 @@ static void bdi_wb_shutdown(struct backing_dev_info 
  *bdi)
   * Finally, kill the kernel threads. We don't need to be RCU
   * safe anymore, since the bdi is gone from visibility.
   */
  -   list_for_each_entry(wb, bdi-wb_list, list)
  +   list_for_each_entry(wb, bdi-wb_list, list) {
  +   if (unlikely(frozen(wb-task)))
  +   wb-task-flags = ~PF_FROZEN;
  kthread_stop(wb-task);
  +   }
   }
   
   void bdi_unregister(struct backing_dev_info *bdi)
  

For completness, below is the information from the Romit's introductory message
(Romit, I really think that should go into the chagelog):

Few days back I started facing problems during system suspend with
MMC, SD card installed. I will restate how to reproduce the problem:

1) Mount a file system from MMC/SD card.
2) Unmount the file system. This creates a flusher task.
3) Attempt suspend to RAM. System is unresponsive.

This is because the bdi flusher thread is already in the refrigerator
and will remain so until it is thawed. The MMC driver suspend routine
ultimately will issue a 'kthread_stop' on the bdi flusher thread and
will block until the flusher thread is exited. Since the bdi flusher
thread is in the refrigerator it never cleans up until thawed.

Enabling khungtaskd gave the following dump: (the dump wraps beyond 80
cols).

INFO: task sh:387 blocked for more than 120 seconds.
echo 0  /proc/sys/kernel/hung_task_timeout_secs disables this message.
shD c027e86c 0   387  1 0x
[c027e86c] (schedule+0x2e0/0x36c) from [c027ee78] 
(schedule_timeout+0x18/0x1ec)
[c027ee78] (schedule_timeout+0x18/0x1ec) from [c027ed10] 
(wait_for_common+0xe0/0x198)
[c027ed10] (wait_for_common+0xe0/0x198) from [c0063dd4] 
(kthread_stop+0x44/0x78)
[c0063dd4] (kthread_stop+0x44/0x78) from [c0090938] 
(bdi_unregister+0x64/0xa4)
[c0090938] (bdi_unregister+0x64/0xa4) from [c0173958] 
(unlink_gendisk+0x20/0x3c)
[c0173958] (unlink_gendisk+0x20/0x3c) from [c00f2338] 
(del_gendisk+0x84/0xb4)
[c00f2338] (del_gendisk+0x84/0xb4) from [c01e6840] 
(mmc_blk_remove+0x24/0x44)
[c01e6840] (mmc_blk_remove+0x24/0x44) from [c01e14f0] 
(mmc_bus_remove+0x18/0x20)
[c01e14f0] (mmc_bus_remove+0x18/0x20) from [c01af6ac] 
(__device_release_driver+0x64/0xa4)
[c01af6ac] (__device_release_driver+0x64/0xa4) from [c01af7e4] 
(device_release_driver+0x1c/0x28)
[c01af7e4] (device_release_driver+0x1c/0x28) from [c01aed5c] 
(bus_remove_device+0x7c/0x90)
[c01aed5c] (bus_remove_device+0x7c/0x90) from [c01ad538] 
(device_del+0x110/0x160)
[c01ad538] (device_del+0x110/0x160) from [c01e15a8] 
(mmc_remove_card+0x50/0x64)
[c01e15a8] (mmc_remove_card+0x50/0x64) from [c01e2ea4] 
(mmc_sd_remove+0x24/0x30)
[c01e2ea4] (mmc_sd_remove+0x24/0x30) from [c01e0dcc] 
(mmc_suspend_host+0x110/0x1a8)
[c01e0dcc] (mmc_suspend_host+0x110/0x1a8) from [c01e7d04] 
(omap_hsmmc_suspend+0x74/0x104)
[c01e7d04] (omap_hsmmc_suspend+0x74/0x104) from [c01b08e8] 
(platform_pm_suspend+0x50/0x5c)
[c01b08e8] (platform_pm_suspend+0x50/0x5c) from [c01b27f0] (pm_op+0x30/0x74)
[c01b27f0] (pm_op+0x30/0x74) from [c01b2ec8] (dpm_suspend_start+0x3b4/0x518)
[c01b2ec8] (dpm_suspend_start+0x3b4/0x518) from [c0078b20] 
(suspend_devices_and_enter+0x3c/0x1c4)
[c0078b20] (suspend_devices_and_enter+0x3c/0x1c4) from [c0078d88] 
(enter_state+0xe0/0x138)
[c0078d88] (enter_state+0xe0/0x138) from [c0078444] (state_store+0x94/0xbc)
[c0078444] (state_store+0x94/0xbc) from [c017e124] 
(kobj_attr_store+0x18/0x1c)
[c017e124] (kobj_attr_store+0x18/0x1c) from [c00f3a08] 
(sysfs_write_file+0x108/0x13c)
[c00f3a08] (sysfs_write_file+0x108/0x13c) from [c00a76b8] 
(vfs_write+0xac/0x154)
[c00a76b8] (vfs_write+0xac/0x154) from [c00a780c] (sys_write+0x3c/0x68)
[c00a780c] (sys_write+0x3c/0x68) from [c0025e60] (ret_fast_syscall+0x0/0x2c)

Earlier I had sent a patch to thaw any refrigerated kernel thread when
some active thread has invoked 'kthread_stop' on it. This was done with
the assumption that all such kernel threads should invoke
'kthread_should_stop' after 'try_to_freeze' and exit if necessary. It
looks there are some kernel threads which do not follow this. With that
in mind I am sending a different patch to fix the above issue (in the
next mail).

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


Re: [PATCH 1/1]: Thaws refrigerated bdi flusher threads before invoking kthread_stop on them

2009-11-11 Thread Romit Dasgupta
Hello Rafael, 
  As suggested I have added the relevant information in the
changelog. The patch is below:
 For completness, below is the information from the Romit's introductory 
 message
 (Romit, I really think that should go into the chagelog):

Kicks out frozen bdi flusher task out of the refrigerator when the said task
needs to exit.
Steps to reproduce this.
1) Mount a file system from MMC/SD card.
2) Unmount the file system. This creates a flusher task.
3) Attempt suspend to RAM. System is unresponsive.

This is because the bdi flusher thread is already in the refrigerator and will
remain so until it is thawed. The MMC driver suspend routine ultimately will
issue a 'kthread_stop' on the bdi flusher thread and will block until the
flusher thread is exited. Since the bdi flusher thread is in the refrigerator
it never cleans up until thawed.

Signed-off-by: Romit Dasgupta ro...@ti.com
---
diff --git a/mm/backing-dev.c b/mm/backing-dev.c
index 5a37e20..c757b05 100644
--- a/mm/backing-dev.c
+++ b/mm/backing-dev.c
@@ -606,8 +606,11 @@ static void bdi_wb_shutdown(struct backing_dev_info *bdi)
 * Finally, kill the kernel threads. We don't need to be RCU
 * safe anymore, since the bdi is gone from visibility.
 */
-   list_for_each_entry(wb, bdi-wb_list, list)
+   list_for_each_entry(wb, bdi-wb_list, list) {
+   if (unlikely(frozen(wb-task)))
+   wb-task-flags = ~PF_FROZEN;
kthread_stop(wb-task);
+   }
 }
 
 void bdi_unregister(struct backing_dev_info *bdi)




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


Re: [PATCH 1/1]: Thaws refrigerated bdi flusher threads before invoking kthread_stop on them

2009-11-11 Thread Rafael J. Wysocki
On Wednesday 11 November 2009, Romit Dasgupta wrote:
 Hello Rafael, 
   As suggested I have added the relevant information in the
 changelog. The patch is below:
  For completness, below is the information from the Romit's introductory 
  message
  (Romit, I really think that should go into the chagelog):
 
 Kicks out frozen bdi flusher task out of the refrigerator when the said task
 needs to exit.
 Steps to reproduce this.
 1) Mount a file system from MMC/SD card.
 2) Unmount the file system. This creates a flusher task.
 3) Attempt suspend to RAM. System is unresponsive.
 
 This is because the bdi flusher thread is already in the refrigerator and will
 remain so until it is thawed. The MMC driver suspend routine ultimately will
 issue a 'kthread_stop' on the bdi flusher thread and will block until the
 flusher thread is exited. Since the bdi flusher thread is in the refrigerator
 it never cleans up until thawed.
 
 Signed-off-by: Romit Dasgupta ro...@ti.com

Thanks!  I'd still like to know that this change is fine with Jens, though.

Rafael


 ---
 diff --git a/mm/backing-dev.c b/mm/backing-dev.c
 index 5a37e20..c757b05 100644
 --- a/mm/backing-dev.c
 +++ b/mm/backing-dev.c
 @@ -606,8 +606,11 @@ static void bdi_wb_shutdown(struct backing_dev_info *bdi)
* Finally, kill the kernel threads. We don't need to be RCU
* safe anymore, since the bdi is gone from visibility.
*/
 - list_for_each_entry(wb, bdi-wb_list, list)
 + list_for_each_entry(wb, bdi-wb_list, list) {
 + if (unlikely(frozen(wb-task)))
 + wb-task-flags = ~PF_FROZEN;
   kthread_stop(wb-task);
 + }
  }
  
  void bdi_unregister(struct backing_dev_info *bdi)
--
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: [lm-sensors] [RFC PATCH 1/3] hwmon:driver support for Kionix kxte9 accelerometer

2009-11-11 Thread Jonathan Cameron
Chris Hudson wrote:
 Jean Delvare wrote:
 On Tue, 10 Nov 2009 15:32:50 -0500, Chris Hudson wrote:
  
 Thank you for your insight Jonathan.  The driver was originally
 written for the 2.6.29 omap-android kernel to facilitate integration
 of the kxte9 into customer projects.  Unfortunately, it seems that
 things in the kernel have changed since then, but I'm not sure how
 much we can change without sacrificing compatibility with the Android
 sensor API.  Is there a different place where this driver could go
 without requiring significant redesign?
 

 I don't think a move implies a redesign. You could put exactly the same
 driver under drivers/misc, drivers/accel, drivers/input or what do I
 know. I don't want it in drivers/hwmon, but I don't care about anything
 else.

   
 Thank you Jean; I will resubmit the driver for drivers/input/misc if
 that sounds appropriate.  On another note, I accidentally left some
 debug code in place that I will be removing (unless it seems appropriate
 to leave that in for intermediate testing).  Any thoughts on this?
I'd run the code (or a description) quickly past the input maintainer 
Dmitry Torokhov dmitry.torok...@gmail.com before putting any effort into
this.  You certainly don't want to being playing pingpong around the kernel
like one or two other drivers have!

Personally I'd drop debugging unless you have a reason you think there may be
problems.   I'm guessing no one who will do review has one anyway so testing
will be over to you in the short term anyway!  If it's not useful to you anymore
drop it.

Jonathan
--
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: [lm-sensors] [RFC PATCH 1/3] hwmon:driver support for Kionix kxte9 accelerometer

2009-11-11 Thread Chris Hudson



Jonathan Cameron wrote:

Chris Hudson wrote:
  

Jean Delvare wrote:


On Tue, 10 Nov 2009 15:32:50 -0500, Chris Hudson wrote:
 
  

Thank you for your insight Jonathan.  The driver was originally
written for the 2.6.29 omap-android kernel to facilitate integration
of the kxte9 into customer projects.  Unfortunately, it seems that
things in the kernel have changed since then, but I'm not sure how
much we can change without sacrificing compatibility with the Android
sensor API.  Is there a different place where this driver could go
without requiring significant redesign?



I don't think a move implies a redesign. You could put exactly the same
driver under drivers/misc, drivers/accel, drivers/input or what do I
know. I don't want it in drivers/hwmon, but I don't care about anything
else.

  
  

Thank you Jean; I will resubmit the driver for drivers/input/misc if
that sounds appropriate.  On another note, I accidentally left some
debug code in place that I will be removing (unless it seems appropriate
to leave that in for intermediate testing).  Any thoughts on this?

I'd run the code (or a description) quickly past the input maintainer 
Dmitry Torokhov dmitry.torok...@gmail.com before putting any effort into

this.  You certainly don't want to being playing pingpong around the kernel
like one or two other drivers have!

Personally I'd drop debugging unless you have a reason you think there may be
problems.   I'm guessing no one who will do review has one anyway so testing
will be over to you in the short term anyway!  If it's not useful to you anymore
drop it.

Jonathan
--

  
Thanks for the advice Jonathan.  I sent the code to Dmitry last night 
and already have some good feedback, so I think that's where it will end up.

-Chris
--
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] Disable headset jack detection for SDP3430

2009-11-11 Thread Premi, Sanjeev
 -Original Message-
 From: linux-omap-ow...@vger.kernel.org 
 [mailto:linux-omap-ow...@vger.kernel.org] On Behalf Of Romero, Felipe
 Sent: Tuesday, November 10, 2009 11:24 PM
 To: linux-omap@vger.kernel.org
 Subject: [PATCH] Disable headset jack detection for SDP3430
 
 From: Felipe Romero felipe.rom...@ti.com
 
 This patch Disable headset jack detection for SDP3430 boards,
 to avoid CPU kernel utilization.

[sp] I was wondering if you have measured savings in the
 cpu utilization.

Best regards,
Sanjeev

 ---
  sound/soc/omap/sdp3430.c |   11 ++-
  1 files changed, 6 insertions(+), 5 deletions(-)
 
 diff --git a/sound/soc/omap/sdp3430.c b/sound/soc/omap/sdp3430.c
 index b719e5d..3ef489e 100644
 --- a/sound/soc/omap/sdp3430.c
 +++ b/sound/soc/omap/sdp3430.c
 @@ -196,8 +196,8 @@ static int sdp3430_twl4030_init(struct 
 snd_soc_codec *codec)
   /* SDP3430 connected pins */
   snd_soc_dapm_enable_pin(codec, Ext Mic);
   snd_soc_dapm_enable_pin(codec, Ext Spk);
 - snd_soc_dapm_disable_pin(codec, Headset Mic);
 - snd_soc_dapm_disable_pin(codec, Headset Stereophone);
 + snd_soc_dapm_enable_pin(codec, Headset Mic);
 + snd_soc_dapm_enable_pin(codec, Headset Stereophone);
  
   /* TWL4030 not connected pins */
   snd_soc_dapm_nc_pin(codec, AUXL);
 @@ -217,7 +217,7 @@ static int sdp3430_twl4030_init(struct 
 snd_soc_codec *codec)
   ret = snd_soc_dapm_sync(codec);
   if (ret)
   return ret;
 -
 +#if 0
   /* Headset jack detection */
   ret = snd_soc_jack_new(snd_soc_sdp3430, Headset Jack,
   SND_JACK_HEADSET, hs_jack);
 @@ -231,7 +231,7 @@ static int sdp3430_twl4030_init(struct 
 snd_soc_codec *codec)
  
   ret = snd_soc_jack_add_gpios(hs_jack, 
 ARRAY_SIZE(hs_jack_gpios),
   hs_jack_gpios);
 -
 +#endif
   return ret;
  }
  
 @@ -328,9 +328,10 @@ module_init(sdp3430_soc_init);
  
  static void __exit sdp3430_soc_exit(void)
  {
 +#if 0
   snd_soc_jack_free_gpios(hs_jack, ARRAY_SIZE(hs_jack_gpios),
   hs_jack_gpios);
 -
 +#endif
   platform_device_unregister(sdp3430_snd_device);
  }
  module_exit(sdp3430_soc_exit);
 -- 
 1.6.0.4
 
 --
 To unsubscribe from this list: send the line unsubscribe 
 linux-omap in
 the body of a message to majord...@vger.kernel.org
 More majordomo info at  http://vger.kernel.org/majordomo-info.html
 
 --
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 0/4] Regulator: Providing regulator initialization macros/wrappers

2009-11-11 Thread Anuj Aggarwal
Based on the discussion at:
  http://marc.info/?l=linux-omapm=125775124829936w=2

Header file board-omap35x-pmic.h is created to provide generic macros for
initializing regulator supplies and regulator init data. Wrappers are
also created using these macros which could be used in default scenarios.

Modified board-3430sdp.c and board-omap3evm.c to use the macros/wrappers
instead, to avoid duplication of common code. On the similar lines, other
board-evm files can be modified and new code can be added using these
macros.

Anuj Aggarwal (4):
  Regulator: Adding header file for initializing OMAP35x PMICs
  Regulator: Modifying board-omap3evm.c to use PMIC-init-macros or
wrappers
  Regulator: Modifying board-3430sdp.c to use PMIC-init-macros or
wrappers
  Regulator: Modifying Kconfig to choose from the available PMICs

 arch/arm/mach-omap2/Kconfig  |8 ++
 arch/arm/mach-omap2/board-3430sdp.c  |  196 --
 arch/arm/mach-omap2/board-omap35x-pmic.h |  191 +
 arch/arm/mach-omap2/board-omap3evm.c |   82 ++---
 4 files changed, 290 insertions(+), 187 deletions(-)
 create mode 100644 arch/arm/mach-omap2/board-omap35x-pmic.h

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


[PATCH 1/4] Regulator: Adding header file for initializing OMAP35x PMICs

2009-11-11 Thread Anuj Aggarwal
This header file is created to provide user generic macros for
providing regulator supplies and regulator init data. Wrappers
are created using these macros which could be used in default
scenarios. In other cases, user can use the macros to provide
his own configuration information.

Wrappers are created only for TWL4030/TPS65950 right now. For
other PMICs, they will be added later on.

Signed-off-by: Anuj Aggarwal anuj.aggar...@ti.com
---
 arch/arm/mach-omap2/board-omap35x-pmic.h |  191 ++
 1 files changed, 191 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/mach-omap2/board-omap35x-pmic.h

diff --git a/arch/arm/mach-omap2/board-omap35x-pmic.h 
b/arch/arm/mach-omap2/board-omap35x-pmic.h
new file mode 100644
index 000..a370fdd
--- /dev/null
+++ b/arch/arm/mach-omap2/board-omap35x-pmic.h
@@ -0,0 +1,191 @@
+/*
+ * board-omap35x-pmic.h
+ *
+ * Macros to create regulator supplies and regulator init data, along with the
+ * default wrappers for various TI PMICs like TWL4030/TPS65950, TPS65023 etc.
+ *
+ * Copyright (C) 2009 Texas Instrument Incorporated - http://www.ti.com/
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation version 2.
+ *
+ * This program is distributed as is WITHOUT ANY WARRANTY of any kind,
+ * whether express or implied; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ */
+
+#include linux/regulator/driver.h
+#include linux/regulator/machine.h
+#include linux/platform_device.h
+#include plat/common.h
+
+/* Create supplies for a specific regulator */
+#define REGULATOR_COMSUMER_START(regulator) \
+   static struct regulator_consumer_supply regulator##_consumers[]
+/* Add/define supplies to the specific regulator */
+#define REGULATOR_COMSUMER_DEFINE(s, device) \
+   { \
+   .supply = #s, \
+   .dev = device, \
+   }
+
+/* Define regulator with no supplies attached to it */
+#define REGULATOR_CONSUMER_NO_SUPPLY(regulator) \
+   REGULATOR_COMSUMER_START(regulator) = {}
+
+/* Define regulator with a single supply attached to it */
+#define REGULATOR_CONSUMER_SINGLE_SUPPLY(regulator, s, device) \
+   REGULATOR_COMSUMER_START(regulator) = { \
+   REGULATOR_COMSUMER_DEFINE(s, device), \
+   }
+
+/* Define regulator with multiple supplies attached to it like */
+   /*
+   REGULATOR_COMSUMER_START(name) = {
+   REGULATOR_COMSUMER_DEFINE(supply, device),
+   REGULATOR_COMSUMER_DEFINE(supply, device),
+   REGULATOR_COMSUMER_DEFINE(supply, device),
+   }
+   */
+
+/* Define regulation constraints */
+#define REGULATOR_CONSTRAINTS(n, min, max, modes, ops, apply_uv_f) \
+   { \
+   .name = #n, \
+   .min_uV = min, \
+   .max_uV = max, \
+   .valid_modes_mask = modes, \
+   .valid_ops_mask = ops, \
+   .apply_uV = apply_uv_f, \
+   },
+
+/* Declare the regulator initialization data */
+#define REGULATOR_INIT_DATA_START(regulator) \
+   static struct regulator_init_data regulator##_data[]
+
+/* Populate various fields in the regulator initialization data */
+#define REGULATOR_INIT_DATA_DEFINE(regulator, n, min, max, modes, ops, \
+   apply_uv_f) \
+   { \
+   .constraints = REGULATOR_CONSTRAINTS(n, min, max, modes, ops, \
+   apply_uv_f) \
+   .num_consumer_supplies = ARRAY_SIZE(regulator##_consumers), \
+   .consumer_supplies = regulator##_consumers, \
+   },
+
+/* Define regulator initialization data */
+#define REGULATOR_INIT_DATA(regulator, n, min, max, modes, ops, apply_uv_f) \
+   REGULATOR_INIT_DATA_START(regulator) = { \
+   REGULATOR_INIT_DATA_DEFINE(regulator, n, min, max, modes, ops, \
+   apply_uv_f) \
+   }
+
+/*
+ * Default wrappers specific to TWL4030/TPS65950 PMIC
+ */
+#if defined(CONFIG_PMIC_TWL4030) || defined(CONFIG_TWL4030_CORE)
+#define TWL_REGULATOR_MODES_DEFAULT(REGULATOR_MODE_NORMAL | \
+   REGULATOR_MODE_STANDBY)
+#define TWL_REGULATOR_OPS_DEFAULT  (REGULATOR_CHANGE_MODE | \
+   REGULATOR_CHANGE_STATUS)
+
+/* Default supplies for TWL4030 regulators */
+#define TWL_VAUX1_SUPPLY   REGULATOR_CONSUMER_SINGLE_SUPPLY(vaux1, \
+   vaux1, NULL)
+#define TWL_VAUX2_SUPPLY   REGULATOR_CONSUMER_SINGLE_SUPPLY(vaux2, \
+   vaux2, NULL)
+#define TWL_VAUX3_SUPPLY   REGULATOR_CONSUMER_SINGLE_SUPPLY(vaux3, \
+   vaux3, NULL)
+#define TWL_VAUX4_SUPPLY   

[PATCH 2/4] Regulator: Modifying board-omap3evm.c to use PMIC-init-macros or wrappers

2009-11-11 Thread Anuj Aggarwal
Modified board-omap3evm.c to use PMIC initialization macros / wrappers
for TWL4030 regulators.

Signed-off-by: Anuj Aggarwal anuj.aggar...@ti.com
---
 arch/arm/mach-omap2/board-omap3evm.c |   82 -
 1 files changed, 40 insertions(+), 42 deletions(-)

diff --git a/arch/arm/mach-omap2/board-omap3evm.c 
b/arch/arm/mach-omap2/board-omap3evm.c
index b9b0f4c..4df83c6 100644
--- a/arch/arm/mach-omap2/board-omap3evm.c
+++ b/arch/arm/mach-omap2/board-omap3evm.c
@@ -44,6 +44,8 @@
 #include sdram-micron-mt46h32m32lf-6.h
 #include mmc-twl4030.h
 
+#include board-omap35x-pmic.h
+
 #define OMAP3_EVM_TS_GPIO  175
 
 #define OMAP3EVM_ETHR_START0x2c00
@@ -94,43 +96,10 @@ static inline void __init omap3evm_init_smc911x(void)
gpio_direction_input(OMAP3EVM_ETHR_GPIO_IRQ);
 }
 
-static struct regulator_consumer_supply omap3evm_vmmc1_supply = {
-   .supply = vmmc,
-};
-
-static struct regulator_consumer_supply omap3evm_vsim_supply = {
-   .supply = vmmc_aux,
-};
-
-/* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */
-static struct regulator_init_data omap3evm_vmmc1 = {
-   .constraints = {
-   .min_uV = 185,
-   .max_uV = 315,
-   .valid_modes_mask   = REGULATOR_MODE_NORMAL
-   | REGULATOR_MODE_STANDBY,
-   .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
-   | REGULATOR_CHANGE_MODE
-   | REGULATOR_CHANGE_STATUS,
-   },
-   .num_consumer_supplies  = 1,
-   .consumer_supplies  = omap3evm_vmmc1_supply,
-};
-
-/* VSIM for MMC1 pins DAT4..DAT7 (2 mA, plus card == max 50 mA) */
-static struct regulator_init_data omap3evm_vsim = {
-   .constraints = {
-   .min_uV = 180,
-   .max_uV = 300,
-   .valid_modes_mask   = REGULATOR_MODE_NORMAL
-   | REGULATOR_MODE_STANDBY,
-   .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
-   | REGULATOR_CHANGE_MODE
-   | REGULATOR_CHANGE_STATUS,
-   },
-   .num_consumer_supplies  = 1,
-   .consumer_supplies  = omap3evm_vsim_supply,
-};
+/* Create default supply for VMMC1 */
+TWL_VMMC1_SUPPLY;
+/* Create default supply for VSIM */
+TWL_VSIM_SUPPLY;
 
 static struct twl4030_hsmmc_info mmc[] = {
{
@@ -165,7 +134,6 @@ static struct platform_device leds_gpio = {
},
 };
 
-
 static int omap3evm_twl_gpio_setup(struct device *dev,
unsigned gpio, unsigned ngpio)
 {
@@ -175,8 +143,8 @@ static int omap3evm_twl_gpio_setup(struct device *dev,
twl4030_mmc_init(mmc);
 
/* link regulators to MMC adapters */
-   omap3evm_vmmc1_supply.dev = mmc[0].dev;
-   omap3evm_vsim_supply.dev = mmc[0].dev;
+   vmmc1_consumers[0].dev = mmc[0].dev;
+   vsim_consumers[0].dev = mmc[0].dev;
 
/*
 * Most GPIOs are for USB OTG.  Some are mostly sent to
@@ -238,6 +206,32 @@ static struct twl4030_madc_platform_data 
omap3evm_madc_data = {
.irq_line   = 1,
 };
 
+/* Create init data for VMMC1 */
+REGULATOR_INIT_DATA(vmmc1, VMMC1, 185, 315,
+   TWL_REGULATOR_MODES_DEFAULT,
+   TWL_REGULATOR_OPS_DEFAULT | REGULATOR_CHANGE_VOLTAGE,
+   false);
+
+/* Create init data for VSIM */
+REGULATOR_INIT_DATA(vsim, VSIM, 180, 300,
+   TWL_REGULATOR_MODES_DEFAULT,
+   TWL_REGULATOR_OPS_DEFAULT | REGULATOR_CHANGE_VOLTAGE,
+   false);
+
+/* Create default supply for VDAC */
+TWL_VDAC_SUPPLY;
+/* Create default supply for VPLL2 */
+TWL_VPLL2_SUPPLY;
+
+/* Create init data for VDAC */
+TWL_VDAC_DATA;
+
+/* Create init data for VPLL2 */
+REGULATOR_INIT_DATA(vpll2, VDVI, 180, 180,
+   TWL_REGULATOR_MODES_DEFAULT,
+   TWL_REGULATOR_OPS_DEFAULT,
+   true);
+
 static struct twl4030_platform_data omap3evm_twldata = {
.irq_base   = TWL4030_IRQ_BASE,
.irq_end= TWL4030_IRQ_END,
@@ -247,8 +241,10 @@ static struct twl4030_platform_data omap3evm_twldata = {
.madc   = omap3evm_madc_data,
.usb= omap3evm_usb_data,
.gpio   = omap3evm_gpio_data,
-   .vmmc1  = omap3evm_vmmc1,
-   .vsim   = omap3evm_vsim,
+   .vmmc1  = vmmc1_data[0],
+   .vsim   = vsim_data[0],
+   .vdac   = vdac_data[0],
+   .vpll2  = vpll2_data[0],
 };
 
 static struct i2c_board_info __initdata omap3evm_i2c_boardinfo[] = {
@@ -359,6 +355,8 @@ static void __init omap3_evm_init(void)
 {
omap3_evm_i2c_init();
 
+   regulator_has_full_constraints();
+

[PATCH 3/4] Regulator: Modifying board-3430sdp.c to use PMIC-init-macros or wrappers

2009-11-11 Thread Anuj Aggarwal
Modified board-3430sdp.c to use PMIC initialization macros / wrappers
for TWL4030 regulator.

Signed-off-by: Anuj Aggarwal anuj.aggar...@ti.com
---
 arch/arm/mach-omap2/board-3430sdp.c |  196 +--
 1 files changed, 51 insertions(+), 145 deletions(-)

diff --git a/arch/arm/mach-omap2/board-3430sdp.c 
b/arch/arm/mach-omap2/board-3430sdp.c
index a3c1271..d87e50d 100644
--- a/arch/arm/mach-omap2/board-3430sdp.c
+++ b/arch/arm/mach-omap2/board-3430sdp.c
@@ -44,6 +44,8 @@
 #include sdram-qimonda-hyb18m512160af-6.h
 #include mmc-twl4030.h
 
+#include board-omap35x-pmic.h
+
 #define CONFIG_DISABLE_HFCLK 1
 
 #define SDP3430_TS_GPIO_IRQ_SDPV1  3
@@ -157,15 +159,10 @@ static struct platform_device sdp3430_lcd_device = {
.id = -1,
 };
 
-static struct regulator_consumer_supply sdp3430_vdac_supply = {
-   .supply = vdac,
-   .dev= sdp3430_lcd_device.dev,
-};
-
-static struct regulator_consumer_supply sdp3430_vdvi_supply = {
-   .supply = vdvi,
-   .dev= sdp3430_lcd_device.dev,
-};
+/* Create a single supply for VDAC */
+REGULATOR_CONSUMER_SINGLE_SUPPLY(vdac, vdac, sdp3430_lcd_device.dev);
+/* Create a single supply for VDAC */
+REGULATOR_CONSUMER_SINGLE_SUPPLY(vpll2, vdvi, sdp3430_lcd_device.dev);
 
 static struct platform_device *sdp3430_devices[] __initdata = {
sdp3430_lcd_device,
@@ -221,17 +218,12 @@ static struct twl4030_hsmmc_info mmc[] = {
{}  /* Terminator */
 };
 
-static struct regulator_consumer_supply sdp3430_vmmc1_supply = {
-   .supply = vmmc,
-};
-
-static struct regulator_consumer_supply sdp3430_vsim_supply = {
-   .supply = vmmc_aux,
-};
-
-static struct regulator_consumer_supply sdp3430_vmmc2_supply = {
-   .supply = vmmc,
-};
+/* Create default supply for VMMC1 */
+TWL_VMMC1_SUPPLY;
+/* Create default supply for VSIM */
+TWL_VSIM_SUPPLY;
+/* Create default supply for VMMC2 */
+TWL_VMMC2_SUPPLY;
 
 static int sdp3430_twl_gpio_setup(struct device *dev,
unsigned gpio, unsigned ngpio)
@@ -246,9 +238,9 @@ static int sdp3430_twl_gpio_setup(struct device *dev,
/* link regulators to MMC adapters ... we know the
 * regulators will be set up only *after* we return.
 */
-   sdp3430_vmmc1_supply.dev = mmc[0].dev;
-   sdp3430_vsim_supply.dev = mmc[0].dev;
-   sdp3430_vmmc2_supply.dev = mmc[1].dev;
+   vmmc1_consumers[0].dev = mmc[0].dev;
+   vsim_consumers[0].dev = mmc[0].dev;
+   vmmc2_consumers[0].dev = mmc[1].dev;
 
/* gpio + 7 is sub_lcd_en_bkl (output/PWM1) */
gpio_request(gpio + 7, sub_lcd_en_bkl);
@@ -282,133 +274,45 @@ static struct twl4030_madc_platform_data 
sdp3430_madc_data = {
  * Apply all the fixed voltages since most versions of U-Boot
  * don't bother with that initialization.
  */
-
+/* VAUX1 doesn't supply to anyone */
+REGULATOR_CONSUMER_NO_SUPPLY(vaux1);
+/* VAUX2 doesn't supply to anyone */
+REGULATOR_CONSUMER_NO_SUPPLY(vaux2);
+/* VAUX3 doesn't supply to anyone */
+REGULATOR_CONSUMER_NO_SUPPLY(vaux3);
+/* VAUX4 doesn't supply to anyone */
+REGULATOR_CONSUMER_NO_SUPPLY(vaux4);
+
+/* Create regulator initialization data for various regulators */
 /* VAUX1 for mainboard (irda and sub-lcd) */
-static struct regulator_init_data sdp3430_vaux1 = {
-   .constraints = {
-   .min_uV = 280,
-   .max_uV = 280,
-   .apply_uV   = true,
-   .valid_modes_mask   = REGULATOR_MODE_NORMAL
-   | REGULATOR_MODE_STANDBY,
-   .valid_ops_mask = REGULATOR_CHANGE_MODE
-   | REGULATOR_CHANGE_STATUS,
-   },
-};
-
+TWL_VAUX1_DATA;
 /* VAUX2 for camera module */
-static struct regulator_init_data sdp3430_vaux2 = {
-   .constraints = {
-   .min_uV = 280,
-   .max_uV = 280,
-   .apply_uV   = true,
-   .valid_modes_mask   = REGULATOR_MODE_NORMAL
-   | REGULATOR_MODE_STANDBY,
-   .valid_ops_mask = REGULATOR_CHANGE_MODE
-   | REGULATOR_CHANGE_STATUS,
-   },
-};
-
+TWL_VAUX2_DATA;
 /* VAUX3 for LCD board */
-static struct regulator_init_data sdp3430_vaux3 = {
-   .constraints = {
-   .min_uV = 280,
-   .max_uV = 280,
-   .apply_uV   = true,
-   .valid_modes_mask   = REGULATOR_MODE_NORMAL
-   | REGULATOR_MODE_STANDBY,
-   .valid_ops_mask = REGULATOR_CHANGE_MODE
-   | REGULATOR_CHANGE_STATUS,
-   },
-};
-
+TWL_VAUX3_DATA;
 /* VAUX4 for OMAP VDD_CSI2 (camera) */

[PATCH 4/4] Regulator: Modifying Kconfig to choose from the available PMICs

2009-11-11 Thread Anuj Aggarwal
Kconfig is modified so that the user can choose the appropriate
PMIC in the underlying EVM.
Config options for other PMICs will be added later on.

Signed-off-by: Anuj Aggarwal anuj.aggar...@ti.com
---
 arch/arm/mach-omap2/Kconfig |8 
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index 8685df5..7c45801 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -64,6 +64,14 @@ config MACH_OVERO
 config MACH_OMAP3EVM
bool OMAP 3530 EVM board
depends on ARCH_OMAP3  ARCH_OMAP34XX
+config PMIC_TWL4030
+   bool TWL4030/TPS65950 Power Module
+   default y
+   depends on TWL4030_CORE  MACH_OMAP3EVM
+   select REGULATOR_TWL4030 if REGULATOR
+   help
+ Say yes here if you are using the TWL4030/TPS65950 based power module
+ for the EVM boards.
 
 config MACH_OMAP3_PANDORA
bool OMAP3 Pandora
-- 
1.6.2.4

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


RE: Query: Regulator framework in EHCI driver

2009-11-11 Thread Gupta, Ajay Kumar
Hi,
 -Original Message-
 From: Gadiyar, Anand
 Sent: Thursday, November 05, 2009 4:56 PM
 To: Mark Brown
 Cc: felipe.ba...@nokia.com; Gupta, Ajay Kumar; linux-omap@vger.kernel.org;
 Aggarwal, Anuj
 Subject: RE: Query: Regulator framework in EHCI driver
 
  On Thu, Nov 05, 2009 at 04:01:24PM +0530, Gadiyar, Anand wrote:
 
   How do you add a fixed voltage regulator for a board which
  doesn't really
   have a controllable regulator for that voltage? (the PHY
  supply is wired
   directly from the main board power-supply, no GPIO for
  on-off control)
 

Hi,

Please review this RFC version. It works with OMAP3EVM after adding 'ehci1' 
supply mapping in board file.

-Ajay

=== RFC 

Adding regulator framework in EHCI driver.

OMAP3 has three HS USB ports so it can have three different regulator
for each PHY connected to each port.

Currently these regulators are assumed to be optional and driver doesn't
fail but continue with the initialization if it doesn't get any regulators.

Regulator supply names has to be mapped in board files as 'ehciX' where
'X' can be {0, 1 ,2} depending on the ports.

Signed-off-by: Ajay Kumar Gupta ajay.gu...@ti.com
---
 drivers/usb/host/ehci-omap.c |   31 +++
 1 files changed, 31 insertions(+), 0 deletions(-)

diff --git a/drivers/usb/host/ehci-omap.c b/drivers/usb/host/ehci-omap.c
index 97ce7d5..c4391fb 100644
--- a/drivers/usb/host/ehci-omap.c
+++ b/drivers/usb/host/ehci-omap.c
@@ -37,6 +37,7 @@
 #include linux/platform_device.h
 #include linux/clk.h
 #include linux/gpio.h
+#include linux/regulator/consumer.h
 #include plat/usb.h
 
 struct usb_hcd *ghcd;
@@ -191,6 +192,11 @@ struct ehci_hcd_omap {
void __iomem*uhh_base;
void __iomem*tll_base;
void __iomem*ehci_base;
+
+   /* Regulators for USB PHYs.
+* Each PHY can have a seperate regulator.
+*/
+   struct regulator*regulator[OMAP3_HS_USB_PORTS];
 };
 
 /*-*/
@@ -839,6 +845,8 @@ static int ehci_hcd_omap_probe(struct platform_device *pdev)
 
int irq = platform_get_irq(pdev, 0);
int ret = -ENODEV;
+   int i;
+   char supply[5];
 
if (!pdata) {
dev_dbg(pdev-dev, missing platform_data\n);
@@ -918,6 +926,19 @@ static int ehci_hcd_omap_probe(struct platform_device 
*pdev)
goto err_tll_ioremap;
}
 
+   /* get ehci regulator and enable */
+   for (i = 0 ; i  OMAP3_HS_USB_PORTS ; i++) {
+   if (omap-port_mode[i] == EHCI_HCD_OMAP_MODE_UNKNOWN)
+   continue;
+   sprintf(supply, ehci%d, i);
+   omap-regulator[i] = regulator_get(omap-dev, supply);
+   if (IS_ERR(omap-regulator[i]))
+   dev_dbg(pdev-dev,
+   failed to get ehci port%d regulator\n, i);
+   else
+   regulator_enable(omap-regulator[i]);
+   }
+
ret = omap_start_ehc(omap, hcd);
if (ret) {
dev_dbg(pdev-dev, failed to start ehci\n);
@@ -981,6 +1002,7 @@ static int ehci_hcd_omap_remove(struct platform_device 
*pdev)
 {
struct ehci_hcd_omap *omap = platform_get_drvdata(pdev);
struct usb_hcd *hcd = ehci_to_hcd(omap-ehci);
+   int i;
 
if (omap-port_mode[0] != EHCI_HCD_OMAP_MODE_UNKNOWN)
device_remove_file(pdev-dev, dev_attr_port1);
@@ -992,6 +1014,15 @@ static int ehci_hcd_omap_remove(struct platform_device 
*pdev)
usb_remove_hcd(hcd);
omap_stop_ehc(omap, hcd);
iounmap(hcd-regs);
+   for (i = 0 ; i  OMAP3_HS_USB_PORTS ; i++) {
+   if (omap-port_mode[i] == EHCI_HCD_OMAP_MODE_UNKNOWN)
+   continue;
+   if (omap-regulator[i]) {
+   if (regulator_is_enabled(omap-regulator[i]))
+   regulator_disable(omap-regulator[i]);
+   regulator_put(omap-regulator[i]);
+   }
+   }
iounmap(omap-tll_base);
iounmap(omap-uhh_base);
usb_put_hcd(hcd);
-- 
1.6.2.4


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


RE: [PATCH v2 0/8] introduce 3630 boards

2009-11-11 Thread Gadiyar, Anand
 -Original Message-
 From: linux-omap-ow...@vger.kernel.org 
 [mailto:linux-omap-ow...@vger.kernel.org] On Behalf Of Pandita, Vikram
 Sent: Wednesday, November 11, 2009 4:17 AM
 To: linux-omap@vger.kernel.org
 Cc: Pandita, Vikram
 Subject: [PATCH v2 0/8] introduce 3630 boards
 
 Introducing 3630 boards: zoom3 and sdp3630
 
 The peripherals are very similar for the two bards as per 
 this discussion:
   http://marc.info/?l=linux-omapm=125676595710748w=2
 
 So maximum reuse is done for the board files for zoom3 and sdp3630
 
 V1: Review comments incorporated:
   http://marc.info/?l=linux-omapm=125632676504364w=2
   http://marc.info/?l=linux-omapm=125632720804869w=2
   http://marc.info/?l=linux-omapm=125633994320138w=2
 
 V2: Review comments by Nishanth Menon
   http://marc.info/?l=linux-omapm=125728617825678w=2
   http://marc.info/?l=linux-omapm=125728665226332w=2
   http://marc.info/?l=linux-omapm=125728729027309w=2
   http://marc.info/?l=linux-omapm=125728749327603w=2
 

Vikram,

I'm afraid current linux-omap master + these patches does not boot
on my 3630SDP.

The bootargs used were:
mem=256M console=ttyS0,115200n8 noinitrd root=/dev/nfs rw 
nfsroot=172.24.162.66:/vol/vol2/swcoe_omapsw_linux1/anand/target,nolock,tcp 
ip=172.24.190.229:172.24.162.66:172.24.188.1:255.255.252.0:myomap::off

The image hangs after Uncompressing kernel.. done, booting the kernel.

- Anand

 Vikram Pandita (8):
   omap: 3630: update is_chip variable
   omap: DEBUG_LL: allow no omap uart configuration
   omap: zoom2: split board file for reuse
   omap: zoom2: update defconfig
   omap: zoom3: introduce zoom3 board support
   omap: zoom3: defconfig creation
   omap: 3630sdp: introduce 3630 sdp board support
   omap: 3630sdp: defconfig creation
 
  arch/arm/configs/omap_3630sdp_defconfig| 1606 
 
  arch/arm/configs/omap_zoom2_defconfig  |  231 ++--
  arch/arm/configs/omap_zoom3_defconfig  | 1605 +++
  arch/arm/mach-omap2/Kconfig|8 +
  arch/arm/mach-omap2/Makefile   |8 +
  arch/arm/mach-omap2/board-3630sdp.c|   96 ++
  arch/arm/mach-omap2/board-zoom-peripherals.c   |  403 +
  arch/arm/mach-omap2/board-zoom2.c  |  261 +---
  arch/arm/mach-omap2/board-zoom3.c  |   59 +
  arch/arm/mach-omap2/id.c   |2 +
  arch/arm/mach-omap2/sdram-hynix-h8mbx00u0mer-0em.h |   52 +
  arch/arm/plat-omap/Kconfig |3 +
  arch/arm/plat-omap/include/plat/cpu.h  |7 +-
  arch/arm/plat-omap/include/plat/uncompress.h   |4 +-
  14 files changed, 4005 insertions(+), 340 deletions(-)
  create mode 100644 arch/arm/configs/omap_3630sdp_defconfig
  create mode 100644 arch/arm/configs/omap_zoom3_defconfig
  create mode 100755 arch/arm/mach-omap2/board-3630sdp.c
  create mode 100644 arch/arm/mach-omap2/board-zoom-peripherals.c
  create mode 100644 arch/arm/mach-omap2/board-zoom3.c
  create mode 100644 arch/arm/mach-omap2/sdram-hynix-h8mbx00u0mer-0em.h
 
 --
 To unsubscribe from this list: send the line unsubscribe 
 linux-omap in
 the body of a message to majord...@vger.kernel.org
 More majordomo info at  http://vger.kernel.org/majordomo-info.html
 
 --
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: [PATCH v2 0/8] introduce 3630 boards

2009-11-11 Thread Gadiyar, Anand
 Vikram,
 
 I'm afraid current linux-omap master + these patches does not boot
 on my 3630SDP.
 
 The bootargs used were:
 mem=256M console=ttyS0,115200n8 noinitrd root=/dev/nfs rw 
 nfsroot=172.24.162.66:/vol/vol2/swcoe_omapsw_linux1/anand/targ
 et,nolock,tcp 
 ip=172.24.190.229:172.24.162.66:172.24.188.1:255.255.252.0:myomap::off
 
 The image hangs after Uncompressing kernel.. done, 
 booting the kernel.
 

And I just remembered we now need to patch kernel/printk.c to see
low-level printks. And here's what I get:

6Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
7PM: Adding info for platform:serial8250
7PM: Adding info for No Bus:ttyS0
7PM: Adding info for No Bus:ttyS1
7PM: Adding info for No Bus:ttyS2
7PM: Adding info for No Bus:ttyS3
7PM: Removing info for No Bus:ttyS0
1Unhandled fault: external abort on non-linefetch (0x1028) at 0xfa06a000
0Internal error: : 1028 [#1]
0last sysfs file:
dModules linked in:
CPU: 0Not tainted  (2.6.32-rc6-06432-ge7e7a61-dirty #13)
PC is at mem_serial_in+0xc/0x14
LR is at serial8250_config_port+0x86c/0xb1c
pc : [c018c82c]lr : [c018e184]psr: 0093
sp : cf823d80  ip : c018c834  fp : 0003
r10: 0003  r9 : 0001  r8 : 2013
r7 : c03b3650  r6 : 0060  r5 : 0700  r4 : 0700
r3 : 0002  r2 : fa06a000  r1 :   r0 : c03b3650
Flags: nzcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
Control: 10c5387d  Table: 80004019  DAC: 0017
0Process swapper (pid: 1, stack limit = 0xcf8222e8)
0Stack: (0xcf823d80 to 0xcf824000)
03d80: c03b3650 fffe 1000 02dc6c00  0002 c03b3650 4806a000
03da0: cf872000 c0377dc0 c039b1c4 c018a444 cf8dd488 cf8ab548 cf8ab560 c00e3400
03dc0: cf8ab548 cf87202c cf8ac0c0 c039b300 cf8a9308 c039b300 cf8aed80 c01639e4
03de0: cf8a9324 c0163984 cf872000 c0164648 cf8a9300 c03b3650  c0281a70
03e00:  c03b3650 cf872000 02dc6c00  0002 0002 4806a000
03e20: c03b3650 c0377dc0 cf823e78 c018f8f0  c037813c  4806a000
03e40: c0377e10 c0377e18  1000 fa06a000 c027f2ec cf847a80 cf8a90c0
03e60: cf823e9c 0001 cf872174  cf823eac c0377e18  fa06a000
03e80:   0048 0080 02dc6c00  00020200 
03ea0:        
03ec0:        1000
03ee0:       4806a000 c0377e18
03f00:  c0377dc0  c0377e18 c0377e18 c039b2b0 cf8f6dc0 c039b4f8
03f20:    c0193ab8 c0377e18 c0192cb4 c0377e18 c0377e4c
03f40: c039b2b0 cf8f6dc0 c039b4f8 c0192dc0  c0192d60 c039b2b0 c0192588
03f60: cf803af8 cf8457f0 c03b3970 c039b2b0 c039b2b0 c0191ee8 c0304289 c0304289
03f80: 0001 c03b3970 0005 c039b2b0    c0193090
03fa0: c03b3970 0005 cf8dd488   c00181e0 c0022dd4 
03fc0: c00180f0 c0028334 0031   0192  c0022dd4
03fe0:    c0008578  c0029dbc  
[c018c82c] (mem_serial_in+0xc/0x14) from [c018e184] 
(serial8250_config_port+0x86c/0xb1c)
[c018e184] (serial8250_config_port+0x86c/0xb1c) from [c018a444] 
(uart_add_one_port+0xf4/0x2f0)
[c018a444] (uart_add_one_port+0xf4/0x2f0) from [c018f8f0] 
(serial8250_register_port+0x1bc/0x1ec)
[c018f8f0] (serial8250_register_port+0x1bc/0x1ec) from [c027f2ec] 
(serial8250_probe+0xb4/0x130)
[c027f2ec] (serial8250_probe+0xb4/0x130) from [c0193ab8] 
(platform_drv_probe+0x18/0x1c)
[c0193ab8] (platform_drv_probe+0x18/0x1c) from [c0192cb4] 
(driver_probe_device+0xa0/0x14c)
[c0192cb4] (driver_probe_device+0xa0/0x14c) from [c0192dc0] 
(__driver_attach+0x60/0x84)
[c0192dc0] (__driver_attach+0x60/0x84) from [c0192588] 
(bus_for_each_dev+0x44/0x74)
[c0192588] (bus_for_each_dev+0x44/0x74) from [c0191ee8] 
(bus_add_driver+0x9c/0x220)
[c0191ee8] (bus_add_driver+0x9c/0x220) from [c0193090] 
(driver_register+0xa8/0x130)
[c0193090] (driver_register+0xa8/0x130) from [c00181e0] 
(serial8250_init+0xf0/0x140)
[c00181e0] (serial8250_init+0xf0/0x140) from [c0028334] 
(do_one_initcall+0x5c/0x1b4)
[c0028334] (do_one_initcall+0x5c/0x1b4) from [c0008578] 
(kernel_init+0x90/0x10c)
[c0008578] (kernel_init+0x90/0x10c) from [c0029dbc] 
(kernel_thread_exit+0x0/0x8)
0Code: e8bd8010 e5d03021 e5902004 e1a01311 (e7d20001)
4---[ end trace 04a098cdbfa0583b ]---
0Kernel panic - not syncing: Attempted to kill init!--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: [PATCH] Disable headset jack detection for SDP3430

2009-11-11 Thread Romero, Felipe


 -Original Message-
 From: Premi, Sanjeev 
 Sent: Wednesday, November 11, 2009 8:36 AM
 To: Romero, Felipe; linux-omap@vger.kernel.org
 Subject: RE: [PATCH] Disable headset jack detection for SDP3430

 -Original Message-
 From: linux-omap-ow...@vger.kernel.org 
 [mailto:linux-omap-ow...@vger.kernel.org] On Behalf Of Romero, Felipe
 Sent: Tuesday, November 10, 2009 11:24 PM
 To: linux-omap@vger.kernel.org
 Subject: [PATCH] Disable headset jack detection for SDP3430
 
 From: Felipe Romero felipe.rom...@ti.com
 
 This patch Disable headset jack detection for SDP3430 boards,
 to avoid CPU kernel utilization.

[sp] I was wondering if you have measured savings in the
 cpu utilization.

Best regards,
Sanjeev

I just measured with the Top tool but the percentage of cpu is consumed 
By the event[0] for more that 90%, and with the patch this factor is 
Totally reduced. 
   

 ---
  sound/soc/omap/sdp3430.c |   11 ++-
  1 files changed, 6 insertions(+), 5 deletions(-)
 
 diff --git a/sound/soc/omap/sdp3430.c b/sound/soc/omap/sdp3430.c
 index b719e5d..3ef489e 100644
 --- a/sound/soc/omap/sdp3430.c
 +++ b/sound/soc/omap/sdp3430.c
 @@ -196,8 +196,8 @@ static int sdp3430_twl4030_init(struct 
 snd_soc_codec *codec)
  /* SDP3430 connected pins */
  snd_soc_dapm_enable_pin(codec, Ext Mic);
  snd_soc_dapm_enable_pin(codec, Ext Spk);
 -snd_soc_dapm_disable_pin(codec, Headset Mic);
 -snd_soc_dapm_disable_pin(codec, Headset Stereophone);
 +snd_soc_dapm_enable_pin(codec, Headset Mic);
 +snd_soc_dapm_enable_pin(codec, Headset Stereophone);
  
  /* TWL4030 not connected pins */
  snd_soc_dapm_nc_pin(codec, AUXL);
 @@ -217,7 +217,7 @@ static int sdp3430_twl4030_init(struct 
 snd_soc_codec *codec)
  ret = snd_soc_dapm_sync(codec);
  if (ret)
  return ret;
 -
 +#if 0
  /* Headset jack detection */
  ret = snd_soc_jack_new(snd_soc_sdp3430, Headset Jack,
  SND_JACK_HEADSET, hs_jack);
 @@ -231,7 +231,7 @@ static int sdp3430_twl4030_init(struct 
 snd_soc_codec *codec)
  
  ret = snd_soc_jack_add_gpios(hs_jack, 
 ARRAY_SIZE(hs_jack_gpios),
  hs_jack_gpios);
 -
 +#endif
  return ret;
  }
  
 @@ -328,9 +328,10 @@ module_init(sdp3430_soc_init);
  
  static void __exit sdp3430_soc_exit(void)
  {
 +#if 0
  snd_soc_jack_free_gpios(hs_jack, ARRAY_SIZE(hs_jack_gpios),
  hs_jack_gpios);
 -
 +#endif
  platform_device_unregister(sdp3430_snd_device);
  }
  module_exit(sdp3430_soc_exit);
 -- 
 1.6.0.4
 
 --
 To unsubscribe from this list: send the line unsubscribe 
 linux-omap in
 the body of a message to majord...@vger.kernel.org
 More majordomo info at  http://vger.kernel.org/majordomo-info.html
 
 
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: [PATCH v2 0/8] introduce 3630 boards

2009-11-11 Thread Pandita, Vikram

-Original Message-
From: Gadiyar, Anand
Sent: Wednesday, November 11, 2009 9:19 AM
To: Pandita, Vikram; linux-omap@vger.kernel.org
Subject: RE: [PATCH v2 0/8] introduce 3630 boards

 Vikram,

 I'm afraid current linux-omap master + these patches does not boot
 on my 3630SDP.

Yes you are right because its missing one patch for the 8250 driver.

Refer:
git://dev.omapzoom.org/pub/scm/vikram/omap3.git zoom3

Patch: HACK: 8250: fix RX fifo access for 3630

I don't have a good implementation for this patch yet and
hence I have kept it in my tree as a hack patch for now.

Once the board files are upstreamed, I plan to look into this 8250 patch.
8250 maintainer is not there (alan cox).
Also the omap-serial patch is being worked in parallel, and does not have this 
crash issue.

So there are variables and reasons not to post that patch yet.


 The bootargs used were:
 mem=256M console=ttyS0,115200n8 noinitrd root=/dev/nfs rw
 nfsroot=172.24.162.66:/vol/vol2/swcoe_omapsw_linux1/anand/targ
 et,nolock,tcp
 ip=172.24.190.229:172.24.162.66:172.24.188.1:255.255.252.0:myomap::off

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


RE: [PATCH v2 0/8] introduce 3630 boards

2009-11-11 Thread Gadiyar, Anand
 
  I'm afraid current linux-omap master + these patches does not boot
  on my 3630SDP.
 
 Yes you are right because its missing one patch for the 8250 driver.
 
 Refer:
 git://dev.omapzoom.org/pub/scm/vikram/omap3.git zoom3
 
 Patch: HACK: 8250: fix RX fifo access for 3630
 
 I don't have a good implementation for this patch yet and
 hence I have kept it in my tree as a hack patch for now.
 
 Once the board files are upstreamed, I plan to look into this 8250 patch.
 8250 maintainer is not there (alan cox).
 Also the omap-serial patch is being worked in parallel, and does not have 
 this crash issue.
 
 So there are variables and reasons not to post that patch yet.
 

Works great with this patch. Thanks.

- 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: Query: Regulator framework in EHCI driver

2009-11-11 Thread Mark Brown
On Wed, Nov 11, 2009 at 08:26:07PM +0530, Gupta, Ajay Kumar wrote:

 + /* get ehci regulator and enable */
 + for (i = 0 ; i  OMAP3_HS_USB_PORTS ; i++) {
 + if (omap-port_mode[i] == EHCI_HCD_OMAP_MODE_UNKNOWN)
 + continue;
 + sprintf(supply, ehci%d, i);

The use of sprintf() here looks suspicious - these things would normally
be completely fixed.  I appreciate that that's the result, it just looks
suspicous.  Picking out of an array of fixed names would be more
idiomatic.  It'd also be idiomatic to use whatever the supply on the
chip is called in the datasheet - ehci might be accurate but it'd be a
bit of a surprising choice, it'd be good to check.

If you do stick with this approach you probably want to use snprintf()
and make supply be 6 bytes rather than 5 bytes long.

 + for (i = 0 ; i  OMAP3_HS_USB_PORTS ; i++) {
 + if (omap-port_mode[i] == EHCI_HCD_OMAP_MODE_UNKNOWN)
 + continue;
 + if (omap-regulator[i]) {
 + if (regulator_is_enabled(omap-regulator[i]))
 + regulator_disable(omap-regulator[i]);
 + regulator_put(omap-regulator[i]);
 + }

For robustness I'd drop the first check for MODE_UNKNOWN here - it
doesn't add anything.  You also want to call regulator_disable() before
you free the regulator.
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/4] Regulator: Adding header file for initializing OMAP35x PMICs

2009-11-11 Thread Mark Brown
On Wed, Nov 11, 2009 at 08:14:38PM +0530, Anuj Aggarwal wrote:

Looking at a lot of this it feels like it would be cleaner to just have
a file defining the completely standard supplies, prototype them in the
header files and then link to them from the board code.  I'm finding the
macro stuff really hard to read.

More specific stuff:

 +/* Add/define supplies to the specific regulator */
 +#define REGULATOR_COMSUMER_DEFINE(s, device) \

These names are all very likely to clash with any similar macros added
to the regulator API.

 +   { \
 +   .supply = #s, \
 +   .dev = device, \
 +   }
 +

You should be using dev_name not dev for maximuim flexibility.

 +/* Define regulator with no supplies attached to it */
 +#define REGULATOR_CONSUMER_NO_SUPPLY(regulator) \
 + REGULATOR_COMSUMER_START(regulator) = {}

 +/* VDAC */
 +#define TWL_VDAC_DATAREGULATOR_INIT_DATA(vdac, VDAC, 180, 
 180, \
 + TWL_REGULATOR_MODES_DEFAULT, \
 + TWL_REGULATOR_OPS_DEFAULT, \
 + true)

This is the sort of thing that looks like it should be defined in one
common place rather than having multiple copies of the structure, one in
every board using it.
--
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


power_management in beagleboard

2009-11-11 Thread tarek attia
Hey all,

I've downloaded the patched linux kernel for the beagleboard,,and
built it successfully,and after installing it on the board,,I found
error tell me that there's a fatal error ,,and files not found for the
Linux kernel 2.29 ,,however the linux kernel I downloaded 2.3,,

P.S:-  I'm using an Angstrom image which i built online

Any help will be apperciated
tarek
--
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-2.6 does not allow configuring rt2xx

2009-11-11 Thread Sid Boyce
On 11/11/09 06:51, Mike Rapoport wrote:
 
 
 Sid Boyce wrote:
 Spotted over the last few days.
 make ARCH=arm CROSS_COMPILE=/opt/arm-2009q1/bin/arm-none-linux/gnueabi-
 omap3_beagle_defconfig, then xconfig/menuconfig/config, the option
 never shows up.
 
 Have you tried enabling cfg80211 and mac80211 in Networking support - 
 Wireless?
 
 Regards
 Sid.
 

Thanks, that did it. I thought I had tried those earlier.
Regards
Sid.
-- 
Sid Boyce ... Hamradio License G3VBV, Licensed Private Pilot
Emeritus IBM/Amdahl Mainframes and Sun/Fujitsu Servers Tech Support
Specialist, Cricket Coach
Microsoft Windows Free Zone - Linux used for all Computing Tasks

--
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/8] omap1: Amstrad Delta defconfig fixes

2009-11-11 Thread Janusz Krzysztofik
Wednesday 11 November 2009 04:00:57 Tony Lindgren napisał(a):
 From: Janusz Krzysztofik jkrz...@tis.icnet.pl

 The patch provides the following fixes:

 - keep kernel small enough to boot with standard tools,
 - ensure compatibility with both new and legacy distros,
 - turn on support for recently added or fixed hardware features.

 Created and tested against linux-2.6.32-rc5.

 Signed-off-by: Janusz Krzysztofik jkrz...@tis.icnet.pl
 Signed-off-by: Tony Lindgren t...@atomide.com

Tony,

Please do not apply this patch yet, or revert it if already applied. It would 
exhibit the LCD DMA not working bug when CONFIG_PM=y, as I tried to state 
while submitting v2 of my fix that corrected the issue 
(http://www.spinics.net/lists/linux-omap/msg19963.html).

Sorry for not stating that again with this submission (or not waiting with 
the submission after the bug is fixed first). That happened after I 
misinterpreted your comment Sounds good to me.  
(http://www.spinics.net/lists/linux-omap/msg19965.html) as your acceptance 
for the patch v2 as posted, with my self proposed changes, that resulted in v3  
submission directly (http://www.spinics.net/lists/linux-omap/msg20059.html), 
that has been objected by you next.

Thanks,
Janusz

 ---
  arch/arm/configs/ams_delta_defconfig |   24 +---
  1 files changed, 17 insertions(+), 7 deletions(-)

 diff --git a/arch/arm/configs/ams_delta_defconfig
 b/arch/arm/configs/ams_delta_defconfig index 7647325..e8f7380 100644
 --- a/arch/arm/configs/ams_delta_defconfig
 +++ b/arch/arm/configs/ams_delta_defconfig
 @@ -55,10 +55,10 @@ CONFIG_BLK_DEV_INITRD=y
  CONFIG_INITRAMFS_SOURCE=
  CONFIG_CC_OPTIMIZE_FOR_SIZE=y
  CONFIG_SYSCTL=y
 -# CONFIG_EMBEDDED is not set
 +CONFIG_EMBEDDED=y
  CONFIG_UID16=y
  CONFIG_SYSCTL_SYSCALL=y
 -CONFIG_KALLSYMS=y
 +# CONFIG_KALLSYMS is not set
  # CONFIG_KALLSYMS_ALL is not set
  # CONFIG_KALLSYMS_EXTRA_PASS is not set
  CONFIG_HOTPLUG=y
 @@ -224,7 +224,7 @@ CONFIG_CPU_CP15_MMU=y
  #
  # Processor Features
  #
 -# CONFIG_ARM_THUMB is not set
 +CONFIG_ARM_THUMB=y
  # CONFIG_CPU_ICACHE_DISABLE is not set
  # CONFIG_CPU_DCACHE_DISABLE is not set
  CONFIG_CPU_DCACHE_WRITETHROUGH=y
 @@ -248,7 +248,7 @@ CONFIG_CPU_DCACHE_WRITETHROUGH=y
  # CONFIG_HIGH_RES_TIMERS is not set
  CONFIG_PREEMPT=y
  CONFIG_HZ=100
 -# CONFIG_AEABI is not set
 +CONFIG_AEABI=y
  # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
  CONFIG_SELECT_MEMORY_MODEL=y
  CONFIG_FLATMEM_MANUAL=y
 @@ -299,7 +299,9 @@ CONFIG_BINFMT_ELF=y
  #
  # Power management options
  #
 -# CONFIG_PM is not set
 +CONFIG_PM=y
 +# CONFIG_SUSPEND is not set
 +CONFIG_PM_RUNTIME=y

  #
  # Networking
 @@ -670,7 +672,7 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
  CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
  # CONFIG_INPUT_JOYDEV is not set
  # CONFIG_INPUT_TSDEV is not set
 -# CONFIG_INPUT_EVDEV is not set
 +CONFIG_INPUT_EVDEV=y
  # CONFIG_INPUT_EVBUG is not set

  #
 @@ -784,6 +786,7 @@ CONFIG_I2C_OMAP=y
  #
  # CONFIG_SPI is not set
  # CONFIG_SPI_MASTER is not set
 +CONFIG_GPIO_SYSFS=y

  #
  # Dallas's 1-wire bus
 @@ -820,6 +823,7 @@ CONFIG_LEDS_AMS_DELTA=y
  CONFIG_LEDS_TRIGGERS=y
  CONFIG_LEDS_TRIGGER_TIMER=y
  CONFIG_LEDS_TRIGGER_HEARTBEAT=y
 +CONFIG_LEDS_TRIGGER_DEFAULT_ON=y

  #
  # Multimedia devices
 @@ -896,7 +900,13 @@ CONFIG_LOGO_LINUX_CLUT224=y
  #
  # Sound
  #
 -# CONFIG_SOUND is not set
 +CONFIG_SOUND=y
 +CONFIG_SND=y
 +CONFIG_SND_MIXER_OSS=y
 +CONFIG_SND_PCM_OSS=y
 +CONFIG_SND_SOC=y
 +CONFIG_SND_OMAP_SOC=y
 +CONFIG_SND_OMAP_SOC_AMS_DELTA=y

  #
  # HID Devices

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


Linux_KERNEL UPDATE

2009-11-11 Thread tarek attia
How to update linux kernel from (2.6.29 ) to the newer one( 2.6.32)
with the filesystem Image is Angstrom ,,booting from the SD-Card..


plz hel
--
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 00/19] OMAP: DSS2 v5 intro

2009-11-11 Thread Tony Lindgren
* Tomi Valkeinen tomi.valkei...@nokia.com [09 01:43]:
 On Wed, 2009-11-11 at 09:45 +0100, Valkeinen Tomi (Nokia-D/Helsinki)
 wrote:
  On Tue, 2009-11-10 at 13:40 +0100, Artem Bityutskiy wrote:
   Tomi,
   
   could you please kindly ask Stephen (CCed) to include the DSS2 tree into
   linux-next, because you are going to merge it the next merge window, and
   there does not seem to be any blocker for this.
   
   Being in linux-next for a while is really important.
  
  Stephen, would this be possible? DSS2 driver is rather big piece of
  code, even if it's quite isolated, so it would be nice to have it in
  linux-next.
  
  What does it require from me? A git tree, obviously, but what should it
  be based on?
 
 Ah, I just realized that DSS2 patches depend on patches from Tony's
 tree. I guess I should base my tree on top of some Tony's tree that is
 going to linux-next?

Or I can merge them into my for-next if that's OK with everybody. This
merge cycle is a pain for omap as we've moved all the common headers from
include/mach to include/plat.

Tomi should still send a separate pull request for Linus for the
DSS2 patches.

Regards,

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


Re: [PATCH 2/3]NAND: OMAP: Fixing omap nand driver, compiled as module

2009-11-11 Thread Tony Lindgren
* Vimal Singh vimal.neww...@gmail.com [091110 20:46]:
 On Wed, Nov 11, 2009 at 12:26 AM, Tony Lindgren t...@atomide.com wrote:
  * Artem Bityutskiy dedeki...@gmail.com [091110 06:22]:
  On Fri, 2009-10-30 at 14:57 +0530, Vimal Singh wrote:
   Last time I forgot to 'git add' for 'arch/arm/mach-omap2/gpmc.c'... My 
   bad.
   Correct patch is below.
  
   -vimal
  
  
   From: Vimal Singh vimalsi...@ti.com
   Date: Fri, 30 Oct 2009 14:54:29 +0530
   Subject: [PATCH] NAND: OMAP: Fixing omap nand driver, compiled as module
  
   Removing OMAP NAND driver, when loaded as a module, gives error and
   does not get success. This fixes this and makes driver loadable and
   removable run time.
  
   Signed-off-by: Vimal Singh vimalsi...@ti.com
   ---
    arch/arm/mach-omap2/gpmc.c |    2 ++
    drivers/mtd/nand/omap2.c   |    5 -
    2 files changed, 6 insertions(+), 1 deletions(-)
  
   diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c
   index 1587682..1d10b7b 100644
   --- a/arch/arm/mach-omap2/gpmc.c
   +++ b/arch/arm/mach-omap2/gpmc.c
   @@ -88,6 +88,7 @@ void gpmc_cs_write_reg(int cs, int idx, u32 val)
       reg_addr = gpmc_base + GPMC_CS0 + (cs * GPMC_CS_SIZE) + idx;
       __raw_writel(val, reg_addr);
    }
   +EXPORT_SYMBOL(gpmc_cs_write_reg);
  
    u32 gpmc_cs_read_reg(int cs, int idx)
    {
   @@ -96,6 +97,7 @@ u32 gpmc_cs_read_reg(int cs, int idx)
       reg_addr = gpmc_base + GPMC_CS0 + (cs * GPMC_CS_SIZE) + idx;
       return __raw_readl(reg_addr);
    }
   +EXPORT_SYMBOL(gpmc_cs_read_reg);
 
  You should get Tony's ack for this. I do not know the code, but on
  surface it looks strange. Exporting so low-level functions is bad in
  general, IMO. These function should either be inlined, or you should
  invent better abstraction, so that you would not need to ever call these
  functions from omap2.c.
 
  NAK. We don't want the drivers to tinker with these registers
  directly. And really, the drivers should be platform independent.
 
  This seems like a quick hack to add back the missing functionality
  we threw out of the linux-omap tree. It was thrown out because there
  were the same cut and paste hacks duplicated all over the place
  tinkering with the GPMC registers directly.
 
  We've fixed a lot of this by creating gpmc-onenand.c and gpmc-smc91x.c,
  and that's clearly the way to go.
 
  So instead of trying to add back the same old hacks, how about rather
  spend that time to create something that we can use for all boards
  using GPMC?
 
  To me it looks like platform init like this should be done in a
  generic way in arch/arm/mach-omap2/gpmc-nand.c the same way we have
  gpmc-onenand.c and gpmc-smc91x.c.
 
  Also, you should calculate the GPMC timings dynamically as they
  can change based on the L3 frequency. Just take a look at the
  gpmc-onenand.c and gpmc-smc91x.c.
 
 Ok, I'll look into these and will try to do something generic.

Thanks!

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


[APPLIED] [PATCH v3] OMAP: DMA: Fix omapfb/lcdc on OMAP1510 broken when PM set

2009-11-11 Thread Tony Lindgren
This patch has been applied to the linux-omap
by youw fwiendly patch wobot.

Branch in linux-omap: omap-fixes

Initial commit ID (Likely to change): 0b4dfc750f4bb1b4888939f206161080d5d27c5a

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

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


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


[PATCH 2.5/8] omap: Fix omapfb/lcdc on OMAP1510 broken when PM set

2009-11-11 Thread Tony Lindgren
Here

One more fix that I forgot about.

Tony

From 8561a84f85eccddf46212622f1f18317a220891b Mon Sep 17 00:00:00 2001
From: Janusz Krzysztofik jkrzy...@tis.icnet.pl
Date: Wed, 11 Nov 2009 11:00:03 -0800
Subject: [PATCH] omap: Fix omapfb/lcdc on OMAP1510 broken when PM set

With CONFIG_PM=y, the omapfb/lcdc device on Amstrad Delta, after initially
starting correctly, breaks with the following error messages:

omapfb omapfb: resetting (status 0xff96,reset count 1)
...
omapfb omapfb: resetting (status 0xff96,reset count 100)
omapfb omapfb: too many reset attempts, giving up.

Looking closer at this I have found that it had been broken almost 2 years ago
with commit 2418996e3b100114edb2ae110d5d4acb928909d2, PM fixes for OMAP1.

The definite reason for broken omapfb/lcdc behavoiur in PM mode
appeared to be ARM_IDLECT1:IDLIF_ARM (bit 6) put into idle regardless of LCD
DMA possibly running. The bit were set based on return value of the
omap_dma_running() function that did not check for dedicated LCD DMA
channel status. The patch below fixes this.

Note that the hardcoded register value will be fixed during the next merge
cycle to use OMAP_LCDC_ defines. Currently the OMAP_LCDC_ defines are local
to drivers/video/omap/lcdc.c, so let's not start moving those right now.

Created against linux-2.6.32-rc6

Tested on Amstrad Delta

Signed-off-by: Janusz Krzysztofik jkrzy...@tis.icnet.pl
Signed-off-by: Tony Lindgren t...@atomide.com

diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c
index 02ed945..68eaae3 100644
--- a/arch/arm/plat-omap/dma.c
+++ b/arch/arm/plat-omap/dma.c
@@ -1114,6 +1114,14 @@ int omap_dma_running(void)
 {
int lch;
 
+   /*
+* On OMAP1510, internal LCD controller will start the transfer
+* when it gets enabled, so assume DMA running if LCD enabled.
+*/
+   if (cpu_is_omap1510())
+   if (omap_readw(0xfffec000 + 0x00)  (1  0))
+   return 1;
+
/* Check if LCD DMA is running */
if (cpu_is_omap16xx())
if (omap_readw(OMAP1610_DMA_LCD_CCR)  OMAP_DMA_CCR_EN)
--
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 0/8] Omap fixes for v2.6.32-rc6

2009-11-11 Thread Tony Lindgren
* Sid Boyce sbo...@blueyonder.co.uk [091110 19:16]:
 I still haven't been able to find the reason why the Ralink drivers
 haven't been offered in make config/menuconfig/xconfig - cross compiling
 on Fedora 12 x86_64 as per my previous post. I downloaded the latest
 linux-omap snapshot Tuesday, 6 hours after it was up.

Sounds like that should be patched via drivers/net.

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-next: manual merge of the usb tree with the omap tree

2009-11-11 Thread Tony Lindgren
* Stephen Rothwell s...@canb.auug.org.au [09 00:29]:
 Hi Greg,
 
 Today's linux-next merge of the usb tree got a conflict in
 drivers/usb/host/ehci-omap.c between commit
 7cb07f72711d3e10763ca7d7a9fcd7ac788aabf4 (omap: ehci: Add platform init
 code) from the omap tree and commit
 9e92239693d7010d2e710a445f46d6a738b09171 (USB: host: ehci: introduce
 omap ehci-hcd driver) from the usb tree.
 
 Both commits create this file but I used the omap tree version because
 commit ce491cf85466c3377228c5a852ea627ec5136956 (omap: headers: Move
 remaining headers from include/mach to include/plat) from the omap tree
 moved one included header file (mach/usb.h - plat/usb.h).

Oops, sorry. Looks like I accidentally included also 
drivers/usb/host/ehci-omap.c
as we were testing it in the linux-omap tree.

I'll drop the drivers/usb/host/ehci-omap.c part from my queue, it should get
integrated via Greg's queue. I'll just merge the platform init code.

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-next: manual merge of the usb tree with the omap tree

2009-11-11 Thread Tony Lindgren
* Tony Lindgren t...@atomide.com [09 11:12]:
 * Stephen Rothwell s...@canb.auug.org.au [09 00:29]:
  Hi Greg,
  
  Today's linux-next merge of the usb tree got a conflict in
  drivers/usb/host/ehci-omap.c between commit
  7cb07f72711d3e10763ca7d7a9fcd7ac788aabf4 (omap: ehci: Add platform init
  code) from the omap tree and commit
  9e92239693d7010d2e710a445f46d6a738b09171 (USB: host: ehci: introduce
  omap ehci-hcd driver) from the usb tree.
  
  Both commits create this file but I used the omap tree version because
  commit ce491cf85466c3377228c5a852ea627ec5136956 (omap: headers: Move
  remaining headers from include/mach to include/plat) from the omap tree
  moved one included header file (mach/usb.h - plat/usb.h).
 
 Oops, sorry. Looks like I accidentally included also 
 drivers/usb/host/ehci-omap.c
 as we were testing it in the linux-omap tree.
 
 I'll drop the drivers/usb/host/ehci-omap.c part from my queue, it should get
 integrated via Greg's queue. I'll just merge the platform init code.

Dropped anything touching drivers/usb from my patch. So no need for Greg
to do anything, the updated version of the patch below for reference.

Regards,

Tony
From 83f75a0c0eca8cdfc41d9a136c57c65e8fd546af Mon Sep 17 00:00:00 2001
From: Felipe Balbi felipe.ba...@nokia.com
Date: Tue, 10 Nov 2009 18:24:39 -0800
Subject: [PATCH] omap: Add platform init code for EHCI driver

Add platform init code for EHCI driver.

Various fixes to the original patch by Ajay Kumar Gupta ajay.gu...@ti.com
and Anand Gadiyar gadi...@ti.com.

Overo support added by Olof Johansson o...@lixom.net
Beagle support added by Koen Kooi k...@beagleboard.org
CM-T32 support added by Mike Rapoport m...@compulab.co.il

Signed-off-by: Signed-off-by: Olof Johansson o...@lixom.net
Acked-by: Steve Sakoman st...@sakoman.com
Signed-off-by: Koen Kooi k...@beagleboard.org
Signed-off-by: Mike Rapoport m...@compulab.co.il
Signed-off-by: Ajay Kumar Gupta ajay.gu...@ti.com
Signed-off-by: Anand Gadiyar gadi...@ti.com
Signed-off-by: Felipe Balbi felipe.ba...@nokia.com
Signed-off-by: Tony Lindgren t...@atomide.com

diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index 7468505..03cb4fc 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -82,6 +82,7 @@ obj-$(CONFIG_MACH_OMAP_4430SDP)		+= board-4430sdp.o
 # Platform specific device init code
 obj-y	+= usb-musb.o
 obj-$(CONFIG_MACH_OMAP2_TUSB6010)	+= usb-tusb6010.o
+obj-y	+= usb-ehci.o
 
 onenand-$(CONFIG_MTD_ONENAND_OMAP2)	:= gpmc-onenand.o
 obj-y	+= $(onenand-m) $(onenand-y)
diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c
index a2abac9..a3c1271 100644
--- a/arch/arm/mach-omap2/board-3430sdp.c
+++ b/arch/arm/mach-omap2/board-3430sdp.c
@@ -484,6 +484,18 @@ static void enable_board_wakeup_source(void)
 	omap_cfg_reg(AF26_34XX_SYS_NIRQ); /* T2 interrupt line (keypad) */
 }
 
+static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = {
+
+	.port_mode[0] = EHCI_HCD_OMAP_MODE_PHY,
+	.port_mode[1] = EHCI_HCD_OMAP_MODE_PHY,
+	.port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN,
+
+	.phy_reset  = true,
+	.reset_gpio_port[0]  = 57,
+	.reset_gpio_port[1]  = 61,
+	.reset_gpio_port[2]  = -EINVAL
+};
+
 static void __init omap_3430sdp_init(void)
 {
 	omap3430_i2c_init();
@@ -500,6 +512,7 @@ static void __init omap_3430sdp_init(void)
 	usb_musb_init();
 	board_smc91x_init();
 	enable_board_wakeup_source();
+	usb_ehci_init(ehci_pdata);
 }
 
 static void __init omap_3430sdp_map_io(void)
diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
index e7a29e4..0a39513 100644
--- a/arch/arm/mach-omap2/board-cm-t35.c
+++ b/arch/arm/mach-omap2/board-cm-t35.c
@@ -352,6 +352,17 @@ static struct twl4030_hsmmc_info mmc[] = {
 	{}	/* Terminator */
 };
 
+static struct ehci_hcd_omap_platform_data ehci_pdata = {
+	.port_mode[0] = EHCI_HCD_OMAP_MODE_PHY,
+	.port_mode[1] = EHCI_HCD_OMAP_MODE_PHY,
+	.port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN,
+
+	.phy_reset  = true,
+	.reset_gpio_port[0]  = -EINVAL,
+	.reset_gpio_port[1]  = -EINVAL,
+	.reset_gpio_port[2]  = -EINVAL
+};
+
 static int cm_t35_twl_gpio_setup(struct device *dev, unsigned gpio,
  unsigned ngpio)
 {
@@ -377,6 +388,12 @@ static int cm_t35_twl_gpio_setup(struct device *dev, unsigned gpio,
 	cm_t35_vmmc1_supply.dev = mmc[0].dev;
 	cm_t35_vsim_supply.dev = mmc[0].dev;
 
+	/* setup USB with proper PHY reset GPIOs */
+	ehci_pdata.reset_gpio_port[0] = gpio + 6;
+	ehci_pdata.reset_gpio_port[1] = gpio + 7;
+
+	usb_ehci_init(ehci_pdata);
+
 	return 0;
 }
 
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
index 71a3528..6cb99f6 100644
--- a/arch/arm/mach-omap2/board-omap3beagle.c
+++ b/arch/arm/mach-omap2/board-omap3beagle.c
@@ -400,6 +400,18 @@ static void __init omap3beagle_flash_init(void)
 	}
 }
 
+static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = {
+
+	.port_mode[0] = EHCI_HCD_OMAP_MODE_PHY,
+	

Re: [PATCH 0/3] omap3: cm-t35 updates

2009-11-11 Thread Tony Lindgren
* Mike Rapoport m...@compulab.co.il [09 03:25]:
 Here are several small updates for CM-T35 board.
 
 Changes since commit e7e7a613eded2732b68496f69ff8fc34f16e1dd0:
   Tony Lindgren (1):
   Linux-omap rebuilt: Processor support for new omaps merged
 
 Mike Rapoport (3):
   omap3: cm-t35: update led polarity
   omap3: cm-t35: use matrix_keyboard
   omap3: cm-t35: add support for baseboard ehternet
 
  arch/arm/mach-omap2/board-cm-t35.c |   71 
 ++--

Merging all three into your earlier patch in omap for-next branch.

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


[RFC PATCH v3 2/3] mach-omap2:kxte9 accelerometer support for OMAP ZoomII

2009-11-11 Thread chudson
From: Chris Hudson chud...@kionix.com

This patch alters board-zoom2.c to add platform data initialization, gpio 
configuration, and i2c-2 bus initialization in support of the kxte9 
accelerometer on the OMAP ZoomII platform.

Signed-off-by: Chris Hudson chud...@kionix.com
---
 arch/arm/mach-omap2/board-zoom2.c |   58 +
 1 files changed, 58 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/board-zoom2.c 
b/arch/arm/mach-omap2/board-zoom2.c
index 4ad9b94..6a42c18 100644
--- a/arch/arm/mach-omap2/board-zoom2.c
+++ b/arch/arm/mach-omap2/board-zoom2.c
@@ -27,6 +27,47 @@
 #include mmc-twl4030.h
 #include sdram-micron-mt46h32m32lf-6.h
 
+#ifdef CONFIG_INPUT_KXTE9
+/* KIONIX KXTE9 Digital Tri-axis Accelerometer */
+#include plat/mux.h
+#include linux/kxte9.h
+#define ZOOM2_KIONIX_INT_GPIO  156
+
+static void __init zoom2_kionix_init(void)
+{
+   omap_cfg_reg(Y21_34XX_GPIO156);
+   if (gpio_request(ZOOM2_KIONIX_INT_GPIO, kionix_irq)  0) {
+   printk(KERN_ERR kionix error retrieving GPIO\n);
+   return;
+   }
+   gpio_direction_input(ZOOM2_KIONIX_INT_GPIO);
+}
+
+static struct kxte9_platform_data zoom2_kxte9_data = {
+   .min_interval   = 25,
+   .poll_interval  = 200,
+
+   .axis_map_x = 0,
+   .axis_map_y = 1,
+   .axis_map_z = 2,
+
+   .negate_x   = 0,
+   .negate_y   = 0,
+   .negate_z   = 0,
+
+   .ctrl_reg1_init = TPE | WUFE | B2SE,
+   .engine_odr_init= OB2S10 | OWUF40,
+   .int_ctrl_init  = KXTE9_IEN | KXTE9_IEA,
+   .tilt_timer_init= 0x03,
+   .wuf_timer_init = 0x01,
+   .b2s_timer_init = 0x01,
+   .wuf_thresh_init= 0x20,
+   .b2s_thresh_init= 0x60,
+
+   .gpio = ZOOM2_KIONIX_INT_GPIO,
+};
+#endif
+
 /* Zoom2 has Qwerty keyboard*/
 static int board_keymap[] = {
KEY(0, 0, KEY_E),
@@ -256,11 +297,25 @@ static struct i2c_board_info __initdata 
zoom2_i2c_boardinfo[] = {
},
 };
 
+#ifdef CONFIG_INPUT_KXTE9
+static struct i2c_board_info __initdata zoom2_i2c_bus2info[] = {
+   {
+   I2C_BOARD_INFO(kxte9, KXTE9_I2C_ADDR),
+   .platform_data = zoom2_kxte9_data,
+   },
+};
+#endif
+
 static int __init omap_i2c_init(void)
 {
omap_register_i2c_bus(1, 2600, zoom2_i2c_boardinfo,
ARRAY_SIZE(zoom2_i2c_boardinfo));
+#ifndef CONFIG_INPUT_KXTE9
omap_register_i2c_bus(2, 400, NULL, 0);
+#else
+   omap_register_i2c_bus(2, 400, zoom2_i2c_bus2info,
+   ARRAY_SIZE(zoom2_i2c_bus2info));
+#endif
omap_register_i2c_bus(3, 400, NULL, 0);
return 0;
 }
@@ -269,6 +324,9 @@ extern int __init omap_zoom2_debugboard_init(void);
 
 static void __init omap_zoom2_init(void)
 {
+#ifdef CONFIG_INPUT_KXTE9
+   zoom2_kionix_init();
+#endif
omap_i2c_init();
omap_serial_init();
omap_zoom2_debugboard_init();
-- 
1.5.4.3

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


[RFC PATCH v3 1/3] input:misc:driver support for Kionix kxte9 accelerometer

2009-11-11 Thread chudson
From: Chris Hudson chud...@kionix.com

This is a request for comments regarding adding driver support for the Kionix 
KXTE9 digital tri-axis accelerometer.  This part features built-in tilt 
position (orientation), wake-up and back-to-sleep algorithms, which can trigger 
a user-configurable physical interrupt.  The driver uses i2c for device 
communication, a misc node for IOCTLs, and input nodes for reporting 
acceleration data and interrupt status information.  Moved to 
drivers/input/misc after discussion on linux-omap mailing list.

Changes in this version:
*changed CONFIG_SENSORS_KXTE9 to CONFIG_INPUT_KXTE9 in 
drivers/input/misc/Makefile
*removed include statement for linux/input-polldev.h (not used)
*changed disable_irq_nosync(te9-irq) to disable_irq(te9-irq) in 
kxte9_device_power_off
*removed all instances of modifying pdata-poll_interval
-the exception is during validate_pdata, to ensure that poll_interval 
is 
greater than or equal to min_interval
-in all other cases, we use resume_state[RES_INTERVAL], which is 
assigned
in kxte9_probe
*changed if(atomic_read(te9-enabled) to if(te9-enabled) in kxte9_update_odr
*removed conditionals for kxte9_input_open and kxte9_input_close
*removed input_free_device in kxte9_input_cleanup
*added __devinit tag to kxte9_probe declaration
*added #ifdef CONFIG_PM around kxte9_resume and kxte9_suspend functions
*removed pr_info statement from kxte9_init
*removed return statement from kxte9_exit

In response to Dmitry's other questions:
*The ioctl method is just what we have always used.  I am unfamiliar with sysfs,
but if it's the current standard then I can change the driver.  Is there
a good example of this that I could use for reference?
*I have never used threaded interrupt infrastructure, but it does sound like
a good addition.  Is there an example of this that I could use for
reference?

Signed-off-by: Chris Hudson chud...@kionix.com
---
 drivers/input/misc/Kconfig  |   11 +
 drivers/input/misc/Makefile |1 +
 drivers/input/misc/kxte9.c  |  974 +++
 include/linux/kxte9.h   |   95 +
 4 files changed, 1081 insertions(+), 0 deletions(-)
 create mode 100644 drivers/input/misc/kxte9.c
 create mode 100644 include/linux/kxte9.h

diff --git a/drivers/input/misc/Kconfig b/drivers/input/misc/Kconfig
index a9bb254..09acdba 100644
--- a/drivers/input/misc/Kconfig
+++ b/drivers/input/misc/Kconfig
@@ -317,4 +317,15 @@ config INPUT_PCAP
  To compile this driver as a module, choose M here: the
  module will be called pcap_keys.
 
+config INPUT_KXTE9
+   tristate Kionix KXTE9 tri-axis digital accelerometer
+   depends on I2C
+   help
+ If you say yes here you get support for the Kionix KXTE9 digital
+ tri-axis accelerometer.
+
+ This driver can also be built as a module.  If so, the module
+ will be called kxte9.
+
+
 endif
diff --git a/drivers/input/misc/Makefile b/drivers/input/misc/Makefile
index a8b8485..67cae95 100644
--- a/drivers/input/misc/Makefile
+++ b/drivers/input/misc/Makefile
@@ -15,6 +15,7 @@ obj-$(CONFIG_INPUT_DM355EVM)  += dm355evm_keys.o
 obj-$(CONFIG_HP_SDC_RTC)   += hp_sdc_rtc.o
 obj-$(CONFIG_INPUT_IXP4XX_BEEPER)  += ixp4xx-beeper.o
 obj-$(CONFIG_INPUT_KEYSPAN_REMOTE) += keyspan_remote.o
+obj-$(CONFIG_INPUT_KXTE9)  += kxte9.o
 obj-$(CONFIG_INPUT_M68K_BEEP)  += m68kspkr.o
 obj-$(CONFIG_INPUT_PCAP)   += pcap_keys.o
 obj-$(CONFIG_INPUT_PCF50633_PMU)   += pcf50633-input.o
diff --git a/drivers/input/misc/kxte9.c b/drivers/input/misc/kxte9.c
new file mode 100644
index 000..0efe998
--- /dev/null
+++ b/drivers/input/misc/kxte9.c
@@ -0,0 +1,974 @@
+/*
+ * Copyright (C) 2009 Kionix, Inc.
+ * Written by Chris Hudson chud...@kionix.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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA
+ */
+
+#include linux/err.h
+#include linux/errno.h
+#include linux/delay.h
+#include linux/fs.h
+#include linux/i2c.h
+#include linux/input.h
+#include linux/miscdevice.h
+#include linux/uaccess.h
+#include linux/workqueue.h
+#include linux/irq.h
+#include linux/gpio.h
+#include linux/interrupt.h
+#include linux/kxte9.h
+
+#define NAME   kxte9
+#define G_MAX  2000
+/* OUTPUT REGISTERS */

[RFC PATCH v3 3/3] mach-omap2:kxte9 accelerometer mux support for OMAP ZoomII

2009-11-11 Thread chudson
From: Chris Hudson chud...@kionix.com

This patch alters mux.c and mux.h to allow gpio configuration in support of the 
kxte9 accelerometer on the OMAP ZoomII platform.

Signed-off-by: Chris Hudson chud...@kionix.com
---
 arch/arm/mach-omap2/mux.c |2 ++
 arch/arm/plat-omap/include/plat/mux.h |1 +
 2 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c
index 32c953e..1158315 100644
--- a/arch/arm/mach-omap2/mux.c
+++ b/arch/arm/mach-omap2/mux.c
@@ -486,6 +486,8 @@ MUX_CFG_34XX(AF5_34XX_GPIO142, 0x170,
OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT)
 MUX_CFG_34XX(AE5_34XX_GPIO143, 0x172,
OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT)
+MUX_CFG_34XX(Y21_34XX_GPIO156, 0x18c,
+   OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT)
 MUX_CFG_34XX(H19_34XX_GPIO164_OUT, 0x19c,
OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_OUTPUT)
 MUX_CFG_34XX(J25_34XX_GPIO170, 0x1c6,
diff --git a/arch/arm/plat-omap/include/plat/mux.h 
b/arch/arm/plat-omap/include/plat/mux.h
index f3c1d8a..c17905a 100644
--- a/arch/arm/plat-omap/include/plat/mux.h
+++ b/arch/arm/plat-omap/include/plat/mux.h
@@ -803,6 +803,7 @@ enum omap34xx_index {
AE6_34XX_GPIO141,
AF5_34XX_GPIO142,
AE5_34XX_GPIO143,
+   Y21_34XX_GPIO156,
H19_34XX_GPIO164_OUT,
J25_34XX_GPIO170,
 
-- 
1.5.4.3

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


RE: [RFC PATCH v3 1/3] input:misc:driver support for Kionix kxte9 accelerometer

2009-11-11 Thread Pandita, Vikram
Chris

-Original Message-
From: linux-omap-ow...@vger.kernel.org 
[mailto:linux-omap-ow...@vger.kernel.org] On Behalf Of
chud...@kionix.com
Sent: Wednesday, November 11, 2009 2:26 PM
To: linux-omap@vger.kernel.org
Cc: linux-in...@vger.kernel.org; dmitry.torok...@gmail.com; Chris Hudson
Subject: [RFC PATCH v3 1/3] input:misc:driver support for Kionix kxte9 
accelerometer

From: Chris Hudson chud...@kionix.com

This is a request for comments regarding adding driver support for the Kionix
KXTE9 digital tri-axis accelerometer.  This part features built-in tilt
position (orientation), wake-up and back-to-sleep algorithms, which can trigger
a user-configurable physical interrupt.  The driver uses i2c for device
communication, a misc node for IOCTLs, and input nodes for reporting
acceleration data and interrupt status information.  Moved to
drivers/input/misc after discussion on linux-omap mailing list.

Any way to test these features of accelerometer with your set of 3 patches 
applied?

Say with a busybox filesystem or poky?


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


Re: [PATCH 1/1]: Thaws refrigerated bdi flusher threads before invoking kthread_stop on them

2009-11-11 Thread Rafael J. Wysocki
On Wednesday 11 November 2009, Jens Axboe wrote:
 On Wed, Nov 11 2009, Rafael J. Wysocki wrote:
  On Wednesday 11 November 2009, Pavel Machek wrote:
   On Wed 2009-11-11 14:00:16, Romit Dasgupta wrote:
Kicks out frozen bdi flusher task out of the refrigerator when the 
flusher task
needs to exit.
   
   
Signed-off-by: Romit Dasgupta ro...@ti.com
   
   Ok, its slightly interesting, but better than modifying common
   code. Looks ok to me.
   
   ACK.
  
  Agreed.
  
  Jens, any objections?
 
 Nope, looks fine to me. Though I'd probably prefer just doing an
 unconditional PF_FROZEN clear.
 
 /*
  * Force unfreeze of the bdi threads before stopping it, since otherwise
  * it would never exit if it is stuck in the refrigerator.
  */
 list_for_each_entry(wb, bdi-wb_list, list) {
   wb-task-flags = ~PF_FROZEN;
   kthread_stop(wb-task);
 }
 
 And the comment too, it's not enough to stuff this into the commit.

The last version had the changelog fixed.

Romit, please rework as suggested by Jens and resubmit.

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


Re: [RFC PATCH v3 1/3] input:misc:driver support for Kionix kxte9 accelerometer

2009-11-11 Thread Chris Hudson

Pandita, Vikram wrote:

Chris

  

-Original Message-
From: linux-omap-ow...@vger.kernel.org 
[mailto:linux-omap-ow...@vger.kernel.org] On Behalf Of
chud...@kionix.com
Sent: Wednesday, November 11, 2009 2:26 PM
To: linux-omap@vger.kernel.org
Cc: linux-in...@vger.kernel.org; dmitry.torok...@gmail.com; Chris Hudson
Subject: [RFC PATCH v3 1/3] input:misc:driver support for Kionix kxte9 
accelerometer

From: Chris Hudson chud...@kionix.com

This is a request for comments regarding adding driver support for the Kionix
KXTE9 digital tri-axis accelerometer.  This part features built-in tilt
position (orientation), wake-up and back-to-sleep algorithms, which can trigger
a user-configurable physical interrupt.  The driver uses i2c for device
communication, a misc node for IOCTLs, and input nodes for reporting
acceleration data and interrupt status information.  Moved to
drivers/input/misc after discussion on linux-omap mailing list.



Any way to test these features of accelerometer with your set of 3 patches 
applied?

Say with a busybox filesystem or poky?
  
Sure, I've been using busybox with the ZoomII and testing the hardware 
throughout the development process.  You'll need to attach a KXTE9 to 
the i2c-2 bus, vdd, iovdd, ground, and gpio156 on the J43 header if 
using a ZoomII.  I can give you the exact pins I'm using if you would like.

Thank you,
Chris
  

Changes in this version:


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


  

--
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] AM35xx: Clock table updates for AM3505/17

2009-11-11 Thread Kevin Hilman
Ranjith Lohithakshan ranji...@ti.com writes:

 AM3505/17 though a OMAP3530 derivative have the following
 main differences

   - Removal of the following OMAP3 modules
   - IVA
   - ISP/CAM
   - Modem and D2D components (MAD2D, SAD2D)
   - USIM
   - SSI
   - Mailboxes
   - USB OTG
   - ICR
   - MSPRO
   - SmartReflex
   - SDRC replaced with EMIF4 Controller in the SDRC subsystem
 thus adding support for DDR2 memory devices
   - Addition of the following new modules
   - Ethernet MAC (CPGMAC)
   - CAN Controller (HECC)
   - New USB OTG Controller with integrated Phy
   - Video Processing Front End (VPFE)
   - Additional UART (UART4)
   - All security accelerators disabled on GP devices and not to
 be accessed or configured

 This patch defines CPU flags for AM3505/17 and update the clock table.
 Clock support for new modules will be added by subsequent patches.

 Signed-off-by: Ranjith Lohithakshan ranji...@ti.com

A question on the approach here, as I'm wondering if this approach is
really needed.

Rather than handling these details in the clock tree, why not handle
the special cases using the feature checks: omap_has_*().  

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: linux-next: manual merge of the usb tree with the omap tree

2009-11-11 Thread Stephen Rothwell
Hi Tony,

On Wed, 11 Nov 2009 11:20:59 -0800 Tony Lindgren t...@atomide.com wrote:

 * Tony Lindgren t...@atomide.com [09 11:12]:
  
  Oops, sorry. Looks like I accidentally included also 
  drivers/usb/host/ehci-omap.c
  as we were testing it in the linux-omap tree.
  
  I'll drop the drivers/usb/host/ehci-omap.c part from my queue, it should get
  integrated via Greg's queue. I'll just merge the platform init code.
 
 Dropped anything touching drivers/usb from my patch. So no need for Greg
 to do anything, the updated version of the patch below for reference.

OK, thanks.  Just as long as we don't forget the necessary updates when
these are all integrated into Linus' tree.  Some conflicts in linux-next
are not a bad thing for that reason.

-- 
Cheers,
Stephen Rothwells...@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/


pgpttxZabKZBE.pgp
Description: PGP signature


[APPLIED] [PATCH 1/10] omap mailbox: Add build specific changes to support omap mailbox.

2009-11-11 Thread Tony Lindgren
This patch has been applied to the linux-omap
by youw fwiendly patch wobot.

Branch in linux-omap: for-next

Initial commit ID (Likely to change): 5ec8cdd0d5348952a39d979ced74b5996b9c603d

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

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


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


[APPLIED] [PATCH 1/10] omap mailbox: Add build specific changes to support omap mailbox.

2009-11-11 Thread Tony Lindgren
This patch has been applied to the linux-omap
by youw fwiendly patch wobot.

Branch in linux-omap: for-next

Initial commit ID (Likely to change): 8ebf78d26e2cb0784e15b2bbf3ffe8ec17ae9029

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

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


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


[APPLIED] [PATCH 4/10] omap mailbox: remove class interface

2009-11-11 Thread Tony Lindgren
This patch has been applied to the linux-omap
by youw fwiendly patch wobot.

Branch in linux-omap: for-next

Initial commit ID (Likely to change): ba11835276edf5a015ab899e2aa7367ad830c50b

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

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


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


[APPLIED] [PATCH 5/10] omap mailbox: remove disable_/enable_mbox_irq in isr

2009-11-11 Thread Tony Lindgren
This patch has been applied to the linux-omap
by youw fwiendly patch wobot.

Branch in linux-omap: for-next

Initial commit ID (Likely to change): 5219cbeee4a15eaf6c56c5e3fc2610b230d4c99f

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

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


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


[APPLIED] [PATCH 6/10] omap mailbox: remove unnecessary arg for omap_mbox_msg_send

2009-11-11 Thread Tony Lindgren
This patch has been applied to the linux-omap
by youw fwiendly patch wobot.

Branch in linux-omap: for-next

Initial commit ID (Likely to change): 3ce81516044e1c4599eb4a9b95f79c4778f72f28

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

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


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


RE: [RFC PATCH v3 1/3] input:misc:driver support for Kionix kxte9 accelerometer

2009-11-11 Thread Pandita, Vikram

-Original Message-
From: Chris Hudson [mailto:chud...@kionix.com]

Pandita, Vikram wrote:
 Chris
snip

 Any way to test these features of accelerometer with your set of 3 patches 
 applied?

 Say with a busybox filesystem or poky?

Sure, I've been using busybox with the ZoomII and testing the hardware
throughout the development process.  You'll need to attach a KXTE9 to

I thought the accelerometer was a built-in feature of zoom2?
Can you give reference of details of KXTE9 module? Is it to be plugged in to 
come connector on zoom2?

the i2c-2 bus, vdd, iovdd, ground, and gpio156 on the J43 header if
using a ZoomII.  I can give you the exact pins I'm using if you would like.
Thank you,
Chris
--
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 8/10 v3] omap mailbox: OMAP4-Mailbox - Adds code changes to support OMAP4 mailbox.

2009-11-11 Thread Tony Lindgren
* C.A, Subramaniam subramaniam...@ti.com [090924 08:06]:
 Hi all,
 This is the revised version of the patch incorporating Russell's comments.
 
 Regards
 Subbu
  
 From 0c7c506f0a47acc8444bed83fa56ad2aa76c3b7c Mon Sep 17 00:00:00 2001
 From: C A Subramaniam subramaniam...@ti.com
 Date: Thu, 24 Sep 2009 19:16:39 +0530
 Subject: [PATCH 8/10 v3] omap mailbox: OMAP4-Mailbox - Adds code changes to 
 support OMAP4 mailbox.
 
 This patch adds code changes in the mailbox driver module to
 add support for OMAP4 mailbox.

Subbu, can you please repost patch 8/10 and 10/10 against what
I currently have in the omap for-next branch?

I got the other ones applied, but those two need to be refreshed.

Also, please make sure I got the other 8 patches merged right.

Regards,

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


Re: [PATCH 01/11] OMAP3: PM: Fixed padconf save done check

2009-11-11 Thread Kevin Hilman
Tero Kristo tero.kri...@nokia.com writes:

 From: Carlos Chinea carlos.chi...@nokia.com

 Previously the operator precedence dictated that the delay loop was exited
 immediately, potentially causing off-mode to be entered too soon.

 Signed-off-by: Carlos Chinea carlos.chi...@nokia.com
 Signed-off-by: Jouni Hogander jouni.hogan...@nokia.com

Looks good.  Applying to PM branch and will queue in my pm-fixes branch
for after 2.6.32 is released.

Kevin

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

 diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
 index 01260ec..8353764 100644
 --- a/arch/arm/mach-omap2/pm34xx.c
 +++ b/arch/arm/mach-omap2/pm34xx.c
 @@ -146,8 +146,8 @@ static void omap3_core_save_context(void)
   control_padconf_off |= START_PADCONF_SAVE;
   omap_ctrl_writel(control_padconf_off, OMAP343X_CONTROL_PADCONF_OFF);
   /* wait for the save to complete */
 - while (!omap_ctrl_readl(OMAP343X_CONTROL_GENERAL_PURPOSE_STATUS)
 -  PADCONF_SAVE_DONE)
 + while (!(omap_ctrl_readl(OMAP343X_CONTROL_GENERAL_PURPOSE_STATUS)
 +  PADCONF_SAVE_DONE))
   ;
   /* Save the Interrupt controller context */
   omap3_intc_save_context();
 -- 
 1.5.4.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
--
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 02/11] OMAP3: Disable Smartreflex before pwrdm enters RET

2009-11-11 Thread Kevin Hilman
Tero Kristo tero.kri...@nokia.com writes:

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

 Smartreflex for the corresponding powerdomain (MPU/CORE) must be disabled
 before the domain enters retention, otherwise the device may hang. This is
 caused by overlapping smartreflex / auto retention command on the voltage
 channel resulting in incorrect voltage.

 This fix has been confirmed from TI.

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

Thanks, applying to PM branch, queuing in pm-fixes.

Kevin

 ---
  arch/arm/mach-omap2/pm34xx.c |   22 +-
  1 files changed, 17 insertions(+), 5 deletions(-)

 diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
 index 8353764..6782792 100644
 --- a/arch/arm/mach-omap2/pm34xx.c
 +++ b/arch/arm/mach-omap2/pm34xx.c
 @@ -403,11 +403,17 @@ void omap_sram_idle(void)
   if (pwrdm_read_pwrst(cam_pwrdm) == PWRDM_POWER_ON)
   omap2_clkdm_deny_idle(mpu_pwrdm-pwrdm_clkdms[0]);
  
 - /* CORE */
 - if (core_next_state  PWRDM_POWER_ON) {
 - /* Disable smartreflex before entering WFI */
 + /*
 +  * Disable smartreflex before entering WFI.
 +  * Only needed if we are going to enter retention or off.
 +  */
 + if (mpu_next_state = PWRDM_POWER_RET)
   disable_smartreflex(SR1);
 + if (core_next_state = PWRDM_POWER_RET)
   disable_smartreflex(SR2);
 +
 + /* CORE */
 + if (core_next_state  PWRDM_POWER_ON) {
   omap_uart_prepare_idle(0);
   omap_uart_prepare_idle(1);
   if (core_next_state == PWRDM_POWER_OFF) {
 @@ -480,10 +486,16 @@ void omap_sram_idle(void)
   prm_clear_mod_reg_bits(OMAP3430_AUTO_RET,
   OMAP3430_GR_MOD,
   OMAP3_PRM_VOLTCTRL_OFFSET);
 - /* Enable smartreflex after WFI */
 + }
 +
 + /*
 +  * Enable smartreflex after WFI. Only needed if we entered
 +  * retention or off
 +  */
 + if (mpu_next_state = PWRDM_POWER_RET)
   enable_smartreflex(SR1);
 + if (core_next_state = PWRDM_POWER_RET)
   enable_smartreflex(SR2);
 - }
  
   /* PER */
   if (per_next_state  PWRDM_POWER_ON) {
 -- 
 1.5.4.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
--
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


[GIT] pull request: PM CPUidle base support

2009-11-11 Thread Kevin Hilman
Tony,

Here's a pull request for the PM CPUidle support.  This branch
is based on the previous off-mode branch,

Kevin


The following changes since commit f265dc4c5d39f2bd369d97c87a7bd89061b159d4:
  Rajendra Nayak (1):
OMAP3: PM: Program SDRC to send self refresh on timeout of AUTO_CNT

are available in the git repository at:

  ssh://master.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm.git 
pm-upstream/pm-cpuidle

Jouni Hogander (1):
  OMAP3: PM: Use pwrdm_set_next_pwrst instead of set_pwrdm_state in idle 
loop

Kalle Jokiniemi (1):
  OMAP3: PM: CPUidle: fix init sequencing

Kevin Hilman (2):
  OMAP3: PM: CPUidle: obey enable_off_mode flag
  OMAP3: PM: CPUidle: check activity for C2, C3, correct accounting

Peter 'p2' De Schrijver (2):
  OMAP3: PM: CPUidle: Add new lower-latency C1 state
  OMAP3: PM: idle: Remove fclk check for idle loop

Rajendra Nayak (2):
  OMAP3: PM: CPUidle: base driver and support for C1-C2
  OMAP3: PM: CPUidle: support retention and off-mode C-states

Sanjeev Premi (1):
  OMAP3: PM: CPUidle: Start C-state definitions from base 0

Tero Kristo (1):
  OMAP3: PM: Added resched check into idle calls

 arch/arm/mach-omap2/Makefile  |2 +-
 arch/arm/mach-omap2/cpuidle34xx.c |  318 +
 arch/arm/mach-omap2/pm.h  |4 +
 arch/arm/mach-omap2/pm34xx.c  |   55 +--
 4 files changed, 329 insertions(+), 50 deletions(-)
 create mode 100644 arch/arm/mach-omap2/cpuidle34xx.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


Re: [PATCH 03/11] OMAP2/3: DMTIMER: Clear pending interrupts when stopping a timer

2009-11-11 Thread Kevin Hilman
Tero Kristo tero.kri...@nokia.com writes:

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

 OMAP GP timers keep running for a few cycles after they are stopped,
 which can cause the timer to expire and generate an interrupt. The pending
 interrupt will prevent e.g. OMAP from entering suspend, thus we ack it
 manually.

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

Thanks, applying to PM branch, queueing in pm-fixes.

Kevin

 ---
  arch/arm/plat-omap/dmtimer.c |   10 ++
  1 files changed, 10 insertions(+), 0 deletions(-)

 diff --git a/arch/arm/plat-omap/dmtimer.c b/arch/arm/plat-omap/dmtimer.c
 index 830b072..09a623d 100644
 --- a/arch/arm/plat-omap/dmtimer.c
 +++ b/arch/arm/plat-omap/dmtimer.c
 @@ -551,6 +551,16 @@ void omap_dm_timer_stop(struct omap_dm_timer *timer)
   if (l  OMAP_TIMER_CTRL_ST) {
   l = ~0x1;
   omap_dm_timer_write_reg(timer, OMAP_TIMER_CTRL_REG, l);
 + /* Readback to make sure write has completed */
 + omap_dm_timer_read_reg(timer, OMAP_TIMER_CTRL_REG);
 +  /*
 +   * Wait for functional clock period x 3.5 to make sure that
 +   * timer is stopped
 +   */
 + udelay(350 / clk_get_rate(timer-fclk) + 1);
 + /* Ack possibly pending interrupt */
 + omap_dm_timer_write_reg(timer, OMAP_TIMER_STAT_REG,
 + OMAP_TIMER_INT_OVERFLOW);
   }
  }
  EXPORT_SYMBOL_GPL(omap_dm_timer_stop);
 -- 
 1.5.4.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
--
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


[GIT] pull request: PM off-mode for 2.6.33

2009-11-11 Thread Kevin Hilman
Tony,

Here's a pull request for the PM off-mode support already reviewed on
the list.

Kevin


The following changes since commit 774facda20d2f8f0f61fa312d8028dad18ac5ee4:
  Tony Lindgren (1):
Merge branch '7xx-iosplit-plat' with omap-fixes

are available in the git repository at:

  ssh://master.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm.git 
pm-upstream/pm-off

Aaro Koskinen (2):
  OMAP: PM: Clear DMA channel state after a wakeup
  OMAP3: PM: Fix INTC context save/restore

Jouni Hogander (1):
  OMAP3: PM: Save and restore also CM_CLKSEL1_PLL_IVA2

Juha Yrjola (1):
  OMAP: Store reboot mode in scratchpad on OMAP34xx

Kalle Jokiniemi (5):
  OMAP3: PM: Fix secure SRAM context save/restore
  ARM: OMAP: SMS: save/restore of SMS_SYSCONFIG for off-mode
  OMAP3: PM: Fix PLL_MOD CLKEN offset in scratchpad
  PM: Disable usb host HW save and restore
  OMAP3: PM: Enable IO-CHAIN wakeup

Kevin Hilman (3):
  OMAP3: PM debug: allow runtime toggle of PM features
  PM debug: allow configurable wakeup from suspend on OMAP GPtimer
  OMAP3: PM: decouple PER and CORE context save and restore

Peter 'p2' De Schrijver (1):
  OMAP3: PM: Wait for SDRC ready iso a blind delay

Rajendra Nayak (12):
  OMAP3: PM: GPMC context save/restore
  OMAP3: PM: GPIO context save/restore
  OMAP3: PM: INTC context save/restore
  OMAP3: PM: PRCM context save/restore
  OMAP3: PM: Populate scratchpad contents
  OMAP3: PM: SCM context save/restore
  OMAP3: PM: restore SRAM functions after off-mode.
  OMAP3: PM: handle PER/NEON/CORE in idle
  OMAP3: PM: Restore MMU table entry
  OMAP3: PM: MPU off-mode support
  OMAP3: PM: CORE domain off-mode support
  OMAP3: PM: Program SDRC to send self refresh on timeout of AUTO_CNT

Tero Kristo (7):
  OMAP: PM: DMA context save/restore for off-mode support
  OMAP3 PM: off-mode support for HS/EMU devices
  OMAP3: PM: save secure RAM only during init
  OMAP3: PM: Enable SDRAM auto-refresh during sleep
  OMAP3: PM: SDRC auto-refresh workaround for off-mode
  OMAP3: PM: Prevent PER from going OFF when CORE is going INA
  OMAP3: PM: MPU and CORE should stay awake if there is CAM domain ACTIVE

 arch/arm/mach-omap2/control.c |  381 +++
 arch/arm/mach-omap2/gpmc.c|   98 +++-
 arch/arm/mach-omap2/irq.c |   66 +
 arch/arm/mach-omap2/pm-debug.c|   29 ++
 arch/arm/mach-omap2/pm.h  |   10 +
 arch/arm/mach-omap2/pm34xx.c  |  362 +-
 arch/arm/mach-omap2/powerdomains34xx.h|8 +-
 arch/arm/mach-omap2/prcm.c|  407 -
 arch/arm/mach-omap2/prm-regbits-34xx.h|2 +
 arch/arm/mach-omap2/sdrc.c|   27 ++
 arch/arm/mach-omap2/serial.c  |2 -
 arch/arm/mach-omap2/sleep34xx.S   |  218 ++--
 arch/arm/mach-omap2/timer-gp.c|2 +
 arch/arm/plat-omap/dma.c  |   48 -
 arch/arm/plat-omap/gpio.c |   92 +++
 arch/arm/plat-omap/include/plat/control.h |   62 +-
 arch/arm/plat-omap/include/plat/dma.h |5 +
 arch/arm/plat-omap/include/plat/gpio.h|3 +-
 arch/arm/plat-omap/include/plat/gpmc.h|3 +
 arch/arm/plat-omap/include/plat/irqs.h|5 +
 arch/arm/plat-omap/include/plat/prcm.h|6 +-
 arch/arm/plat-omap/include/plat/sdrc.h|8 +
 arch/arm/plat-omap/include/plat/sram.h|7 +
 arch/arm/plat-omap/sram.c |8 +-
 24 files changed, 1809 insertions(+), 50 deletions(-)
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 04/11] OMAP3: PM: Ack pending interrupts before entering suspend

2009-11-11 Thread Kevin Hilman
Tero Kristo tero.kri...@nokia.com writes:

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

 Suspending drivers may still generate interrupts just before their suspend is
 completed. Any pending interrupts here will prevent sleep.

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

Thanks, applying to PM branch, queuing for pm-fixes.

Kevin

 ---
  arch/arm/mach-omap2/irq.c  |6 ++
  arch/arm/mach-omap2/pm34xx.c   |2 +-
  arch/arm/plat-omap/include/mach/irqs.h |1 +
  3 files changed, 8 insertions(+), 1 deletions(-)

 diff --git a/arch/arm/mach-omap2/irq.c b/arch/arm/mach-omap2/irq.c
 index aceedd8..ee8c68a 100644
 --- a/arch/arm/mach-omap2/irq.c
 +++ b/arch/arm/mach-omap2/irq.c
 @@ -266,4 +266,10 @@ void omap3_intc_restore_context(void)
   }
   /* MIRs are saved and restore with other PRCM registers */
  }
 +
 +void omap3_intc_suspend(void)
 +{
 + /* A pending interrupt would prevent OMAP from entering suspend */
 + omap_ack_irq(0);
 +}
  #endif /* CONFIG_ARCH_OMAP3 */
 diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
 index 6782792..53544d3 100644
 --- a/arch/arm/mach-omap2/pm34xx.c
 +++ b/arch/arm/mach-omap2/pm34xx.c
 @@ -640,7 +640,7 @@ static int omap3_pm_suspend(void)
   }
  
   omap_uart_prepare_suspend();
 -
 + omap3_intc_suspend();
   regset_save_on_suspend = 1;
   omap_sram_idle();
   regset_save_on_suspend = 0;
 diff --git a/arch/arm/plat-omap/include/mach/irqs.h 
 b/arch/arm/plat-omap/include/mach/irqs.h
 index 2473910..ff1faa8 100644
 --- a/arch/arm/plat-omap/include/mach/irqs.h
 +++ b/arch/arm/plat-omap/include/mach/irqs.h
 @@ -485,6 +485,7 @@ extern void omap_init_irq(void);
  extern int omap_irq_pending(void);
  void omap3_intc_save_context(void);
  void omap3_intc_restore_context(void);
 +void omap3_intc_suspend(void);
  #endif
  
  #include mach/hardware.h
 -- 
 1.5.4.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
--
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 0/8] Omap fixes for v2.6.32-rc6

2009-11-11 Thread Sid Boyce
On 11/11/09 19:08, Tony Lindgren wrote:
 * Sid Boyce sbo...@blueyonder.co.uk [091110 19:16]:
 I still haven't been able to find the reason why the Ralink drivers
 haven't been offered in make config/menuconfig/xconfig - cross compiling
 on Fedora 12 x86_64 as per my previous post. I downloaded the latest
 linux-omap snapshot Tuesday, 6 hours after it was up.
 
 Sounds like that should be patched via drivers/net.
 
 Regards,
 
 Tony
 
 

CONFIG_CFG80211=m and CONFIG_MAC80211=m fixed that problem, though I'm
sure I tried the same some days ago and it didn't work - your snapshot
of today built and is working.

One remaining problem is getting FB working, the LCD status light lights
up blue, but the display is blank.
For that I shall start another thread.

Regards
Sid.
-- 
Sid Boyce ... Hamradio License G3VBV, Licensed Private Pilot
Emeritus IBM/Amdahl Mainframes and Sun/Fujitsu Servers Tech Support
Specialist, Cricket Coach
Microsoft Windows Free Zone - Linux used for all Computing Tasks

--
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/11] OMAP3: Fixed ARM aux ctrl register save/restore

2009-11-11 Thread Kevin Hilman
Tero Kristo tero.kri...@nokia.com writes:

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

 Current value is stored on SDRAM and it is written back during wakeup.
 Previously a static value of 0x72 was written there.

 Signed-off-by: Tero Kristo tero.kri...@nokia.com
 Signed-off-by: Jouni Hogander jouni.hogan...@nokia.com

Thanks, applying to PM branch, queuing for pm-fixes.

Kevin

 ---
  arch/arm/mach-omap2/control.c   |1 +
  arch/arm/mach-omap2/sleep34xx.S |   23 ---
  2 files changed, 21 insertions(+), 3 deletions(-)

 diff --git a/arch/arm/mach-omap2/control.c b/arch/arm/mach-omap2/control.c
 index 296f2c2..730fc53 100644
 --- a/arch/arm/mach-omap2/control.c
 +++ b/arch/arm/mach-omap2/control.c
 @@ -94,6 +94,7 @@ void *omap3_secure_ram_storage;
   * during the restore path.
   */
  u32 omap3_arm_context[128];
 +u32 omap3_aux_ctrl[2] = { 0x1, 0x0 };
  
  struct omap3_control_regs {
   u32 sysconfig;
 diff --git a/arch/arm/mach-omap2/sleep34xx.S b/arch/arm/mach-omap2/sleep34xx.S
 index f4f5ebe..0b03bf9 100644
 --- a/arch/arm/mach-omap2/sleep34xx.S
 +++ b/arch/arm/mach-omap2/sleep34xx.S
 @@ -26,6 +26,7 @@
   */
  #include linux/linkage.h
  #include asm/assembler.h
 +#include asm/memory.h
  #include mach/io.h
  #include mach/control.h
  
 @@ -278,7 +279,11 @@ restore:
   mov r1, #0  @ set task id for ROM code in r1
   mov r2, #4  @ set some flags in r2, r6
   mov r6, #0xff
 - adr r3, write_aux_control_params@ r3 points to parameters
 + ldr r3, write_aux_control_params@ r3 points to parameters
 + ldr r4, phys_offset
 + addsr3, r3, r4
 + ldr r4, page_offset
 + subsr3, r3, r4
   mcr p15, 0, r0, c7, c10, 4  @ data write barrier
   mcr p15, 0, r0, c7, c10, 5  @ data memory barrier
   .word   0xE1600071  @ call SMI monitor (smi #1)
 @@ -287,13 +292,18 @@ restore:
  l2_inv_api_params:
   .word   0x1, 0x00
  write_aux_control_params:
 - .word   0x1, 0x72
 + .word   omap3_aux_ctrl
  l2_inv_gp:
   /* Execute smi to invalidate L2 cache */
   mov r12, #0x1 @ set up to invalide L2
  smi:.word 0xE1600070 @ Call SMI monitor (smieq)
   /* Write to Aux control register to set some bits */
 - mov r0, #0x72
 + ldr r1, write_aux_control_params
 + ldr r0, phys_offset
 + addsr1, r1, r0
 + ldr r0, page_offset
 + subsr1, r1, r0
 + ldr r0, [r1, #4]
   mov r12, #0x3
   .word 0xE1600070@ Call SMI monitor (smieq)
  logic_l1_restore:
 @@ -420,6 +430,9 @@ usettbr0:
  save_context_wfi:
   /*b save_context_wfi*/  @ enable to debug save code
   mov r8, r0 /* Store SDRAM address in r8 */
 + mrc p15, 0, r4, c1, c0, 1   @ Read Auxiliary Control Register
 + ldr r5, write_aux_control_params
 + str r4, [r5, #4]
  /* Check what that target sleep state is:stored in r1*/
  /* 1 - Only L1 and logic lost */
  /* 2 - Only L2 lost */
 @@ -605,6 +618,10 @@ wait_dll_lock:
  bne wait_dll_lock
  bx  lr
  
 +phys_offset:
 + .word   PHYS_OFFSET
 +page_offset:
 + .word   PAGE_OFFSET
  cm_idlest1_core:
   .word   CM_IDLEST1_CORE_V
  sdrc_dlla_status:
 -- 
 1.5.4.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
--
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 08/11] OMAP3: PM: Disabled I2C4 repeated start operation mode

2009-11-11 Thread Kevin Hilman
Tero Kristo tero.kri...@nokia.com writes:

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

 Repeated start forces I2C4 pads low during idle, which increases power
 consumption through external pull-ups. On the other hand, this change
 increases I2C4 command latencies a bit.

Could you give an idea about how much the latencies increased?

I'll apply this one but would like to update the changelog with some
more details if available.

Kevin

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

 diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
 index fec9c38..154cd31 100644
 --- a/arch/arm/mach-omap2/pm34xx.c
 +++ b/arch/arm/mach-omap2/pm34xx.c
 @@ -1219,7 +1219,7 @@ static void __init configure_vc(void)
   prm_write_mod_reg(OMAP3430_CMD1 | OMAP3430_RAV1, OMAP3430_GR_MOD,
 OMAP3_PRM_VC_CH_CONF_OFFSET);
  
 - prm_write_mod_reg(OMAP3430_MCODE_SHIFT | OMAP3430_HSEN | OMAP3430_SREN,
 + prm_write_mod_reg(OMAP3430_MCODE_SHIFT | OMAP3430_HSEN,
 OMAP3430_GR_MOD,
 OMAP3_PRM_VC_I2C_CFG_OFFSET);
  
 -- 
 1.5.4.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
--
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


N810: problem with watchdog

2009-11-11 Thread Francisco Alecrim
Hi,

I'm trying to get latest linux-omap working with N810. I got an error
with watchdog(commit e7e7a613eded2732b68496f69ff8fc
34f16e1dd0) that I'm trying to solve the problem.

Any idea?

Thanks in advance,
Alecrim.

PS:
RD flags : no-omap-wd, no-retu-wd, no-lifeguard-reset, serial-console .
Kernel output :
Timeout waiting for flashing commands
Loading kernel image info... done.
Loading kernel (1189 kB)... done in 60 ms (19596 kB/s)
Total bootup time 2763 ms
Uncompressing 
Linux..
done, booting the kernel.
[    0.00] Linux version 2.6.32-rc6-06432-ge7e7a61
(alec...@alecrim) (gcc version 4.3.2 (Sourcery G++ Lite 2008q3-72) )
#10 Wed Nov 11 17:05:29 AMT 2009
[    0.00] CPU: ARMv6-compatible processor [4107b362] revision 2
(ARMv6TEJ), cr=00c5387f
[    0.00] CPU: VIPT aliasing data cache, VIPT aliasing instruction cache
[    0.00] Machine: Nokia N810
[    0.00] Ignoring unrecognised tag 0x414f4d50
[    0.00] Memory policy: ECC disabled, Data cache writeback
[    0.00] BUG: mapping for 0x5800 at 0xe000 overlaps vmalloc space
[    0.00] BUG: mapping for 0x5900 at 0xe100 overlaps vmalloc space
[    0.00] BUG: mapping for 0x5a00 at 0xe200 overlaps vmalloc space
[    0.00] OMAP2420
[    0.00]
[    0.00] SRAM: Mapped pa 0x4020 to va 0xfe40 size: 0x10
[    0.00] Built 1 zonelists in Zone order, mobility grouping on.
Total pages: 32512
[    0.00] Kernel command line: root=1f03 rootfstype=jffs2
console=ttyS2,115200n8
[    0.00] PID hash table entries: 512 (order: -1, 2048 bytes)
[    0.00] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.00] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.00] Memory: 64MB 64MB = 128MB total
[    0.00] Memory: 127316KB available (2068K code, 189K data, 104K
init, 0K highmem)
[    0.00] SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0,
CPUs=1, Nodes=1
[    0.00] Hierarchical RCU implementation.
[    0.00] NR_IRQS:368
[    0.00] Clocking rate (Crystal/DPLL/MPU): 19.2/658/329 MHz
[    0.00] GPMC revision 2.0
[    0.00] IRQ: Found an INTC at 0xfa0fe000 (revision 2.0) with 96
interrupts
[    0.00] Total of 96 interrupts on 1 active controller
[    0.00] OMAP GPIO hardware version 1.8
[    0.00] OMAP clockevent source: GPTIMER1 at 32000 Hz
[    0.00] Console: colour dummy device 80x30
[    0.00] Calibrating delay loop... 320.37 BogoMIPS (lpj=1253376)
[    0.00] Mount-cache hash table entries: 512
[    0.00] CPU: Testing write buffer coherency: ok
[    0.00] NET: Registered protocol family 16
[    5.921752] OMAP DMA hardware revision 2.0
[    5.940643] bio: create slab bio-0 at 0
[    5.945556] usbcore: registered new interface driver usbfs
[    5.946472] usbcore: registered new interface driver hub
[    5.947082] usbcore: registered new device driver usb
[    5.949523] Switching to clocksource 32k_counter
[    5.954376] musb_hdrc: version 6.0, tusb-omap-dma, peripheral, debug=0
[    5.955291] NET: Registered protocol family 2
[    5.955566] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
[    5.956024] TCP established hash table entries: 4096 (order: 3, 32768 bytes)
[    5.956329] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
[    5.956542] TCP: Hash tables configured (established 4096 bind 4096)
[    5.956573] TCP reno registered
[    5.956817] NET: Registered protocol family 1
[    5.958831] NetWinder Floating Point Emulator V0.97 (double precision)
[    5.992065] JFFS2 version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    5.994750] msgmni has been set to 248
[    5.994873] io scheduler noop registered
[    5.995849] io scheduler cfq registered (default)
[    6.035827] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    6.059661] serial8250.0: ttyS0 at MMIO 0x4806a000 (irq = 72) is a ST16654
[    6.080871] serial8250.1: ttyS1 at MMIO 0x4806c000 (irq = 73) is a ST16654
[    6.102111] serial8250.2: ttyS2 at MMIO 0x4806e000 (irq = 74) is a ST16654
[    6.420166] console [ttyS2] enabled
[    6.446960] brd: module loaded
[    6.450775] OneNAND driver initializing
[    6.455047] omap2-onenand omap2-onenand: initializing on CS0, phys
base 0x0400, virtual base c888
[    6.464965] Muxed OneNAND 256MB 1.8V 16-bit (0x40)
[    6.469787] OneNAND version = 0x0022
[    6.475006] Scanning device for bad blocks
[    6.489166] onenand_bbt_wait: ecc error = 0x, controller error 0x2440
[    6.496032] Bad eraseblock 183 at 0x016e
[    6.570098] onenand_bbt_wait: ecc error = 0x, controller error 0x2440
[    6.576965] Bad eraseblock 1461 at 0x0b6a
[    6.613372] Creating 5 MTD partitions on omap2-onenand:
[    6.618865] 0x-0x0002 : bootloader
[    6.624938] 0x0002-0x0008 : config
[    6.630554] 

[PATCH v3 1/8] omap: zoom2: split board file for software reuse

2009-11-11 Thread Vikram Pandita
Split zoom2 board file into:
base board file and a board-zoom-peripherals.c file

that way the same peripherals file can be reused for: zoom3 and sdp3630

Following list shows the commonality across the three platforms and hence the
case for software reuse:

Peripheralzoom2zoom3  sdp3630
---
Ethernetsmscsmscsmc
NOR n/a n/a B
Onenand n/a n/a B
HDMIA   A   B (present on different i2c)
NANDA   A   A (same nand)
SDRAM   A   A   A (same sdram)
Keypad  A   A   A (same twl)
Camera  A   A   A (same sensor can be mounted)
LCD Display A   A   A (same wvga display)
OPPsA   A   A (same chip feature)
Audio   A   A   A (same audio via twl5030)

Signed-off-by: Vikram Pandita vikram.pand...@ti.com
---
 arch/arm/mach-omap2/Makefile |1 +
 arch/arm/mach-omap2/board-zoom-peripherals.c |  259 ++
 arch/arm/mach-omap2/board-zoom2.c|  236 +---
 3 files changed, 263 insertions(+), 233 deletions(-)
 create mode 100644 arch/arm/mach-omap2/board-zoom-peripherals.c

diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index 03cb4fc..4d66b42 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -72,6 +72,7 @@ obj-$(CONFIG_MACH_NOKIA_RX51) += board-rx51.o \
   board-rx51-peripherals.o \
   mmc-twl4030.o
 obj-$(CONFIG_MACH_OMAP_ZOOM2)  += board-zoom2.o \
+  board-zoom-peripherals.o \
   mmc-twl4030.o \
   board-zoom-debugboard.o
 obj-$(CONFIG_MACH_CM_T35)  += board-cm-t35.o \
diff --git a/arch/arm/mach-omap2/board-zoom-peripherals.c 
b/arch/arm/mach-omap2/board-zoom-peripherals.c
new file mode 100644
index 000..1bb4a8a
--- /dev/null
+++ b/arch/arm/mach-omap2/board-zoom-peripherals.c
@@ -0,0 +1,259 @@
+/*
+ * Copyright (C) 2009 Texas Instruments Inc.
+ *
+ * Modified from mach-omap2/board-zoom2.c
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include linux/kernel.h
+#include linux/init.h
+#include linux/platform_device.h
+#include linux/input.h
+#include linux/input/matrix_keypad.h
+#include linux/gpio.h
+#include linux/i2c/twl4030.h
+#include linux/regulator/machine.h
+
+#include asm/mach-types.h
+#include asm/mach/arch.h
+#include asm/mach/map.h
+
+#include plat/common.h
+#include plat/usb.h
+
+#include mmc-twl4030.h
+
+/* Zoom2 has Qwerty keyboard*/
+static int board_keymap[] = {
+   KEY(0, 0, KEY_E),
+   KEY(1, 0, KEY_R),
+   KEY(2, 0, KEY_T),
+   KEY(3, 0, KEY_HOME),
+   KEY(6, 0, KEY_I),
+   KEY(7, 0, KEY_LEFTSHIFT),
+   KEY(0, 1, KEY_D),
+   KEY(1, 1, KEY_F),
+   KEY(2, 1, KEY_G),
+   KEY(3, 1, KEY_SEND),
+   KEY(6, 1, KEY_K),
+   KEY(7, 1, KEY_ENTER),
+   KEY(0, 2, KEY_X),
+   KEY(1, 2, KEY_C),
+   KEY(2, 2, KEY_V),
+   KEY(3, 2, KEY_END),
+   KEY(6, 2, KEY_DOT),
+   KEY(7, 2, KEY_CAPSLOCK),
+   KEY(0, 3, KEY_Z),
+   KEY(1, 3, KEY_KPPLUS),
+   KEY(2, 3, KEY_B),
+   KEY(3, 3, KEY_F1),
+   KEY(6, 3, KEY_O),
+   KEY(7, 3, KEY_SPACE),
+   KEY(0, 4, KEY_W),
+   KEY(1, 4, KEY_Y),
+   KEY(2, 4, KEY_U),
+   KEY(3, 4, KEY_F2),
+   KEY(4, 4, KEY_VOLUMEUP),
+   KEY(6, 4, KEY_L),
+   KEY(7, 4, KEY_LEFT),
+   KEY(0, 5, KEY_S),
+   KEY(1, 5, KEY_H),
+   KEY(2, 5, KEY_J),
+   KEY(3, 5, KEY_F3),
+   KEY(5, 5, KEY_VOLUMEDOWN),
+   KEY(6, 5, KEY_M),
+   KEY(4, 5, KEY_ENTER),
+   KEY(7, 5, KEY_RIGHT),
+   KEY(0, 6, KEY_Q),
+   KEY(1, 6, KEY_A),
+   KEY(2, 6, KEY_N),
+   KEY(3, 6, KEY_BACKSPACE),
+   KEY(6, 6, KEY_P),
+   KEY(7, 6, KEY_UP),
+   KEY(6, 7, KEY_SELECT),
+   KEY(7, 7, KEY_DOWN),
+   KEY(0, 7, KEY_PROG1),   /*MACRO 1 User defined */
+   KEY(1, 7, KEY_PROG2),   /*MACRO 2 User defined */
+   KEY(2, 7, KEY_PROG3),   /*MACRO 3 User defined */
+   KEY(3, 7, KEY_PROG4),   /*MACRO 4 User defined */
+   0
+};
+
+static struct matrix_keymap_data board_map_data = {
+   .keymap = board_keymap,
+   .keymap_size= ARRAY_SIZE(board_keymap),
+};
+
+static struct twl4030_keypad_data zoom2_kp_twl4030_data = {
+   .keymap_data= board_map_data,
+   .rows   = 8,
+   .cols   = 8,
+   .rep= 1,
+};
+
+static struct regulator_consumer_supply zoom2_vmmc1_supply = {
+   .supply = vmmc,
+};
+
+static struct regulator_consumer_supply 

[PATCH v3 0/8] introduce 3630 boards

2009-11-11 Thread Vikram Pandita
Introducing 3630 boards: zoom3 and sdp3630

Git tree hosting these patches:
git://dev.omapzoom.org/pub/scm/vikram/omap3.git zoom3

The peripherals are very similar for the two bards as per this discussion:
http://marc.info/?l=linux-omapm=125676595710748w=2
So maximum reuse is done for the board files for zoom3 and sdp3630

Patch History:
V1: Review comments incorporated:
http://marc.info/?l=linux-omapm=125632676504364w=2
http://marc.info/?l=linux-omapm=125632720804869w=2
http://marc.info/?l=linux-omapm=125633994320138w=2
V2: Review comments by Nishanth Menon
http://marc.info/?l=linux-omapm=125728617825678w=2
http://marc.info/?l=linux-omapm=125728665226332w=2
http://marc.info/?l=linux-omapm=125728729027309w=2
http://marc.info/?l=linux-omapm=125728749327603w=2
V3: Added review comments from Tony
Use git-format-patch -M option
Introduce zoom-peripheral file with just code move from zoom2.c
Introduce i2c speed fix for zoom boards

Pending:
Handling 8250 patch for 3630

Vikram Pandita (8):
  omap: zoom2: split board file for software reuse
  omap: zoom: rename zoom2 name to generic zoom
  omap: zoom: drop i2c-1 speed to 2400
  omap: zoom3: introduce zoom3 board support
  omap: 3630sdp: introduce 3630 sdp board support
  omap: zoom2: update defconfig for LL_DEBUG_NONE
  omap: zoom3: defconfig creation
  omap: 3630sdp: defconfig creation

 arch/arm/configs/omap_3630sdp_defconfig| 1606 
 arch/arm/configs/omap_zoom2_defconfig  |3 +-
 arch/arm/configs/omap_zoom3_defconfig  | 1605 +++
 arch/arm/mach-omap2/Kconfig|8 +
 arch/arm/mach-omap2/Makefile   |8 +
 arch/arm/mach-omap2/board-3630sdp.c|  101 ++
 arch/arm/mach-omap2/board-zoom-peripherals.c   |  259 
 arch/arm/mach-omap2/board-zoom2.c  |  236 +---
 arch/arm/mach-omap2/board-zoom3.c  |   60 +
 arch/arm/mach-omap2/sdram-hynix-h8mbx00u0mer-0em.h |   51 +
 10 files changed, 3703 insertions(+), 234 deletions(-)
 create mode 100644 arch/arm/configs/omap_3630sdp_defconfig
 create mode 100644 arch/arm/configs/omap_zoom3_defconfig
 create mode 100755 arch/arm/mach-omap2/board-3630sdp.c
 create mode 100755 arch/arm/mach-omap2/board-zoom-peripherals.c
 create mode 100644 arch/arm/mach-omap2/board-zoom3.c
 create mode 100644 arch/arm/mach-omap2/sdram-hynix-h8mbx00u0mer-0em.h

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


[PATCH v3 2/8] omap: zoom: rename zoom2 name to generic zoom

2009-11-11 Thread Vikram Pandita
Replace zoom2 with zoom name in board-zoom-peripherals.c file
This file has functions reused for boards: Zoom2/Zoom3/sdp3630.
Hence have all functions commonly named as zoom

Signed-off-by: Vikram Pandita vikram.pand...@ti.com
---
 arch/arm/mach-omap2/board-zoom-peripherals.c |   70 +-
 1 files changed, 35 insertions(+), 35 deletions(-)

diff --git a/arch/arm/mach-omap2/board-zoom-peripherals.c 
b/arch/arm/mach-omap2/board-zoom-peripherals.c
index 1bb4a8a..4ca9c20 100644
--- a/arch/arm/mach-omap2/board-zoom-peripherals.c
+++ b/arch/arm/mach-omap2/board-zoom-peripherals.c
@@ -87,27 +87,27 @@ static struct matrix_keymap_data board_map_data = {
.keymap_size= ARRAY_SIZE(board_keymap),
 };
 
-static struct twl4030_keypad_data zoom2_kp_twl4030_data = {
+static struct twl4030_keypad_data zoom_kp_twl4030_data = {
.keymap_data= board_map_data,
.rows   = 8,
.cols   = 8,
.rep= 1,
 };
 
-static struct regulator_consumer_supply zoom2_vmmc1_supply = {
+static struct regulator_consumer_supply zoom_vmmc1_supply = {
.supply = vmmc,
 };
 
-static struct regulator_consumer_supply zoom2_vsim_supply = {
+static struct regulator_consumer_supply zoom_vsim_supply = {
.supply = vmmc_aux,
 };
 
-static struct regulator_consumer_supply zoom2_vmmc2_supply = {
+static struct regulator_consumer_supply zoom_vmmc2_supply = {
.supply = vmmc,
 };
 
 /* VMMC1 for OMAP VDD_MMC1 (i/o) and MMC1 card */
-static struct regulator_init_data zoom2_vmmc1 = {
+static struct regulator_init_data zoom_vmmc1 = {
.constraints = {
.min_uV = 185,
.max_uV = 315,
@@ -118,11 +118,11 @@ static struct regulator_init_data zoom2_vmmc1 = {
| REGULATOR_CHANGE_STATUS,
},
.num_consumer_supplies  = 1,
-   .consumer_supplies  = zoom2_vmmc1_supply,
+   .consumer_supplies  = zoom_vmmc1_supply,
 };
 
 /* VMMC2 for MMC2 card */
-static struct regulator_init_data zoom2_vmmc2 = {
+static struct regulator_init_data zoom_vmmc2 = {
.constraints = {
.min_uV = 185,
.max_uV = 185,
@@ -133,11 +133,11 @@ static struct regulator_init_data zoom2_vmmc2 = {
| REGULATOR_CHANGE_STATUS,
},
.num_consumer_supplies  = 1,
-   .consumer_supplies  = zoom2_vmmc2_supply,
+   .consumer_supplies  = zoom_vmmc2_supply,
 };
 
 /* VSIM for OMAP VDD_MMC1A (i/o for DAT4..DAT7) */
-static struct regulator_init_data zoom2_vsim = {
+static struct regulator_init_data zoom_vsim = {
.constraints = {
.min_uV = 180,
.max_uV = 300,
@@ -148,7 +148,7 @@ static struct regulator_init_data zoom2_vsim = {
| REGULATOR_CHANGE_STATUS,
},
.num_consumer_supplies  = 1,
-   .consumer_supplies  = zoom2_vsim_supply,
+   .consumer_supplies  = zoom_vsim_supply,
 };
 
 static struct twl4030_hsmmc_info mmc[] __initdata = {
@@ -165,7 +165,7 @@ static struct twl4030_hsmmc_info mmc[] __initdata = {
{}  /* Terminator */
 };
 
-static int zoom2_twl_gpio_setup(struct device *dev,
+static int zoom_twl_gpio_setup(struct device *dev,
unsigned gpio, unsigned ngpio)
 {
/* gpio + 0 is mmc0_cd (input/IRQ),
@@ -178,15 +178,15 @@ static int zoom2_twl_gpio_setup(struct device *dev,
/* link regulators to MMC adapters ... we know the
 * regulators will be set up only *after* we return.
*/
-   zoom2_vmmc1_supply.dev = mmc[0].dev;
-   zoom2_vsim_supply.dev = mmc[0].dev;
-   zoom2_vmmc2_supply.dev = mmc[1].dev;
+   zoom_vmmc1_supply.dev = mmc[0].dev;
+   zoom_vsim_supply.dev = mmc[0].dev;
+   zoom_vmmc2_supply.dev = mmc[1].dev;
 
return 0;
 }
 
 
-static int zoom2_batt_table[] = {
+static int zoom_batt_table[] = {
 /* 0 C*/
 30800, 29500, 28300, 27100,
 26000, 24900, 23900, 22900, 22000, 21100, 20300, 19400, 18700, 17900,
@@ -197,55 +197,55 @@ static int zoom2_batt_table[] = {
 4040,  3910,  3790,  3670,  3550
 };
 
-static struct twl4030_bci_platform_data zoom2_bci_data = {
-   .battery_tmp_tbl= zoom2_batt_table,
-   .tblsize= ARRAY_SIZE(zoom2_batt_table),
+static struct twl4030_bci_platform_data zoom_bci_data = {
+   .battery_tmp_tbl= zoom_batt_table,
+   .tblsize= ARRAY_SIZE(zoom_batt_table),
 };
 
-static struct twl4030_usb_data zoom2_usb_data = {
+static struct twl4030_usb_data zoom_usb_data = {
.usb_mode   = T2_USB_MODE_ULPI,
 };
 
-static struct twl4030_gpio_platform_data zoom2_gpio_data = {
+static struct twl4030_gpio_platform_data zoom_gpio_data = {
.gpio_base  = 

[PATCH v3 6/8] omap: zoom2: update defconfig for LL_DEBUG_NONE

2009-11-11 Thread Vikram Pandita
Update DEBUG_LL for zoom2 board as CONFIG_OMAP_LL_DEBUG_NONE

Signed-off-by: Vikram Pandita vikram.pand...@ti.com
---
 arch/arm/configs/omap_zoom2_defconfig |3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/arch/arm/configs/omap_zoom2_defconfig 
b/arch/arm/configs/omap_zoom2_defconfig
index f1739fa..2eec53b 100644
--- a/arch/arm/configs/omap_zoom2_defconfig
+++ b/arch/arm/configs/omap_zoom2_defconfig
@@ -202,7 +202,8 @@ CONFIG_OMAP_32K_TIMER_HZ=128
 CONFIG_OMAP_DM_TIMER=y
 # CONFIG_OMAP_LL_DEBUG_UART1 is not set
 # CONFIG_OMAP_LL_DEBUG_UART2 is not set
-CONFIG_OMAP_LL_DEBUG_UART3=y
+# CONFIG_OMAP_LL_DEBUG_UART3 is not set
+CONFIG_OMAP_LL_DEBUG_NONE=y
 CONFIG_ARCH_OMAP34XX=y
 CONFIG_ARCH_OMAP3430=y
 
-- 
1.6.5.1.69.g36942

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


[PATCH v3 3/8] omap: zoom: drop i2c-1 speed to 2400

2009-11-11 Thread Vikram Pandita
The I2C-1 bus frequency on zoom2/zoom3/sdp3630 should be 2.4 MHz.
The speed is limited by TWL5030/GAIA; a higher speed could lead to errors
on the interface.

The maximum I2C speed depends on the system clock for GAIA:
2.2 MHz (sys-clk = 19.2 MHz)
2.4 MHz (sys-clk = 26 MHz)
2.9 MHz (sys-clk = 38.4 MHz)

For Zoom2/Zoom3/SDP3630 the system clock is 26Mhz
and hence choose 2.4Mhz for I2C1 bus speed

Signed-off-by: Vikram Pandita vikram.pand...@ti.com
---
 arch/arm/mach-omap2/board-zoom-peripherals.c |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
 mode change 100644 = 100755 arch/arm/mach-omap2/board-zoom-peripherals.c

diff --git a/arch/arm/mach-omap2/board-zoom-peripherals.c 
b/arch/arm/mach-omap2/board-zoom-peripherals.c
old mode 100644
new mode 100755
index 4ca9c20..54619d5
--- a/arch/arm/mach-omap2/board-zoom-peripherals.c
+++ b/arch/arm/mach-omap2/board-zoom-peripherals.c
@@ -235,7 +235,7 @@ static struct twl4030_platform_data zoom_twldata = {
 
 static struct i2c_board_info __initdata zoom_i2c_boardinfo[] = {
{
-   I2C_BOARD_INFO(twl4030, 0x48),
+   I2C_BOARD_INFO(twl5030, 0x48),
.flags  = I2C_CLIENT_WAKE,
.irq= INT_34XX_SYS_NIRQ,
.platform_data  = zoom_twldata,
@@ -244,7 +244,7 @@ static struct i2c_board_info __initdata 
zoom_i2c_boardinfo[] = {
 
 static int __init omap_i2c_init(void)
 {
-   omap_register_i2c_bus(1, 2600, zoom_i2c_boardinfo,
+   omap_register_i2c_bus(1, 2400, zoom_i2c_boardinfo,
ARRAY_SIZE(zoom_i2c_boardinfo));
omap_register_i2c_bus(2, 400, NULL, 0);
omap_register_i2c_bus(3, 400, NULL, 0);
-- 
1.6.5.1.69.g36942

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


[PATCH v3 5/8] omap: 3630sdp: introduce 3630 sdp board support

2009-11-11 Thread Vikram Pandita
Add 3630SDP board support

The board shares the same peripherals as a zoom2 main.
So reuse the peripheral file of zoom platform.

Peripheralzoom2zoom3  sdp3630
---
Ethernetsmscsmscsmc
NOR n/a n/a B
Onenand n/a n/a B
HDMIA   A   B (persent on different i2c)
NANDA   A   A (same nand)
SDRAM   A   A   A (same sdram)
Keypad  A   A   A (same twl)
Camera  A   A   A (same sensor can be mounted)
LCD Display A   A   A (same wvga display)
OPPsA   A   A (same chip feature)
Audio   A   A   A (same audio via twl5030)

OMAP3630 details can be found here:
http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123navigationId=12836contentId=52606

Signed-off-by: Vikram Pandita vikram.pand...@ti.com
---
 arch/arm/mach-omap2/Kconfig |4 ++
 arch/arm/mach-omap2/Makefile|3 +
 arch/arm/mach-omap2/board-3630sdp.c |  101 +++
 3 files changed, 108 insertions(+), 0 deletions(-)
 create mode 100755 arch/arm/mach-omap2/board-3630sdp.c

diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index 9824775..83551a8 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -105,6 +105,10 @@ config MACH_OMAP_ZOOM3
bool OMAP3630 Zoom3 board
depends on ARCH_OMAP3  ARCH_OMAP34XX
 
+config MACH_OMAP_3630SDP
+   bool OMAP3630 SDP board
+   depends on ARCH_OMAP3  ARCH_OMAP34XX
+
 config MACH_OMAP_4430SDP
bool OMAP 4430 SDP board
depends on ARCH_OMAP4
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index 712e7fc..90cf2cc 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -79,6 +79,9 @@ obj-$(CONFIG_MACH_OMAP_ZOOM3) += board-zoom3.o \
   board-zoom-peripherals.o \
   mmc-twl4030.o \
   board-zoom-debugboard.o
+obj-$(CONFIG_MACH_OMAP_3630SDP)+= board-3630sdp.o \
+  board-zoom-peripherals.o \
+  mmc-twl4030.o
 obj-$(CONFIG_MACH_CM_T35)  += board-cm-t35.o \
   mmc-twl4030.o
 
diff --git a/arch/arm/mach-omap2/board-3630sdp.c 
b/arch/arm/mach-omap2/board-3630sdp.c
new file mode 100755
index 000..f0bc5c6
--- /dev/null
+++ b/arch/arm/mach-omap2/board-3630sdp.c
@@ -0,0 +1,101 @@
+/*
+ * Copyright (C) 2009 Texas Instruments Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include linux/kernel.h
+#include linux/init.h
+#include linux/platform_device.h
+#include linux/input.h
+#include linux/gpio.h
+
+#include asm/mach-types.h
+#include asm/mach/arch.h
+
+#include plat/common.h
+#include plat/board.h
+#include plat/gpmc-smc91x.h
+#include plat/mux.h
+#include plat/usb.h
+
+#include sdram-hynix-h8mbx00u0mer-0em.h
+
+#if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE)
+
+static struct omap_smc91x_platform_data board_smc91x_data = {
+   .cs = 3,
+   .flags  = GPMC_MUX_ADD_DATA | IORESOURCE_IRQ_LOWLEVEL,
+};
+
+static void __init board_smc91x_init(void)
+{
+   board_smc91x_data.gpio_irq = 158;
+   gpmc_smc91x_init(board_smc91x_data);
+}
+
+#else
+
+static inline void board_smc91x_init(void)
+{
+}
+
+#endif /* defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE) */
+
+static void enable_board_wakeup_source(void)
+{
+   omap_cfg_reg(AF26_34XX_SYS_NIRQ); /* T2 interrupt line (keypad) */
+}
+
+static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = {
+
+   .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY,
+   .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY,
+   .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN,
+
+   .phy_reset  = true,
+   .reset_gpio_port[0]  = 126,
+   .reset_gpio_port[1]  = 61,
+   .reset_gpio_port[2]  = -EINVAL
+};
+
+static void __init omap_sdp_map_io(void)
+{
+   omap2_set_globals_343x();
+   omap2_map_common_io();
+}
+
+static struct omap_board_config_kernel sdp_config[] __initdata = {
+};
+
+static void __init omap_sdp_init_irq(void)
+{
+   omap_board_config = sdp_config;
+   omap_board_config_size = ARRAY_SIZE(sdp_config);
+   omap2_init_common_hw(h8mbx00u0mer0em_sdrc_params,
+   h8mbx00u0mer0em_sdrc_params);
+   omap_init_irq();
+   omap_gpio_init();
+}
+
+extern void __init zoom_peripherals_init(void);
+
+static void __init omap_sdp_init(void)
+{
+   zoom_peripherals_init();
+   board_smc91x_init();
+   enable_board_wakeup_source();
+   

[PATCH v3 7/8] omap: zoom3: defconfig creation

2009-11-11 Thread Vikram Pandita
Create zoom3 defconfig file

Signed-off-by: Vikram Pandita vikram.pand...@ti.com
---
 arch/arm/configs/omap_zoom3_defconfig | 1605 +
 1 files changed, 1605 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/configs/omap_zoom3_defconfig

diff --git a/arch/arm/configs/omap_zoom3_defconfig 
b/arch/arm/configs/omap_zoom3_defconfig
new file mode 100644
index 000..989cedd
--- /dev/null
+++ b/arch/arm/configs/omap_zoom3_defconfig
@@ -0,0 +1,1605 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.32-rc5
+# Tue Nov  3 09:50:40 2009
+#
+CONFIG_ARM=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_GENERIC_TIME=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_ARCH_HAS_CPUFREQ=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+CONFIG_VECTORS_BASE=0x
+CONFIG_DEFCONFIG_LIST=/lib/modules/$UNAME_RELEASE/.config
+CONFIG_CONSTRUCTORS=y
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION=
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+# CONFIG_POSIX_MQUEUE is not set
+CONFIG_BSD_PROCESS_ACCT=y
+# CONFIG_BSD_PROCESS_ACCT_V3 is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_AUDIT is not set
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+# CONFIG_TREE_PREEMPT_RCU is not set
+# CONFIG_RCU_TRACE is not set
+CONFIG_RCU_FANOUT=32
+# CONFIG_RCU_FANOUT_EXACT is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_GROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+# CONFIG_RT_GROUP_SCHED is not set
+CONFIG_USER_SCHED=y
+# CONFIG_CGROUP_SCHED is not set
+# CONFIG_CGROUPS is not set
+CONFIG_SYSFS_DEPRECATED=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+# CONFIG_RELAY is not set
+# CONFIG_NAMESPACES is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=
+CONFIG_RD_GZIP=y
+# CONFIG_RD_BZIP2 is not set
+# CONFIG_RD_LZMA is not set
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+CONFIG_EMBEDDED=y
+CONFIG_UID16=y
+# CONFIG_SYSCTL_SYSCALL is not set
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_KALLSYMS_EXTRA_PASS=y
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_COMPAT_BRK=y
+CONFIG_SLAB=y
+# CONFIG_SLUB is not set
+# CONFIG_SLOB is not set
+# CONFIG_PROFILING is not set
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_KPROBES is not set
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_CLK=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_SLOW_WORK is not set
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+CONFIG_BLOCK=y
+CONFIG_LBDAF=y
+# CONFIG_BLK_DEV_BSG is not set
+# CONFIG_BLK_DEV_INTEGRITY is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED=anticipatory
+CONFIG_FREEZER=y
+
+#
+# System Type
+#
+CONFIG_MMU=y
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_GEMINI is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_MXC is not set
+# CONFIG_ARCH_STMP3XXX is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_NOMADIK is not set
+# CONFIG_ARCH_IOP13XX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_KIRKWOOD is not set
+# CONFIG_ARCH_LOKI is not set
+# CONFIG_ARCH_MV78XX0 is not set
+# CONFIG_ARCH_ORION5X is not set
+# CONFIG_ARCH_MMP is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_NS9XXX is not set
+# CONFIG_ARCH_W90X900 is not set
+# CONFIG_ARCH_PNX4008 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_MSM is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# 

[PATCH v3 8/8] omap: 3630sdp: defconfig creation

2009-11-11 Thread Vikram Pandita
Create 3630sdp defconfig file

Signed-off-by: Vikram Pandita vikram.pand...@ti.com
---
 arch/arm/configs/omap_3630sdp_defconfig | 1606 +++
 1 files changed, 1606 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/configs/omap_3630sdp_defconfig

diff --git a/arch/arm/configs/omap_3630sdp_defconfig 
b/arch/arm/configs/omap_3630sdp_defconfig
new file mode 100644
index 000..eb96b1a
--- /dev/null
+++ b/arch/arm/configs/omap_3630sdp_defconfig
@@ -0,0 +1,1606 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.32-rc5
+# Tue Nov  3 14:18:44 2009
+#
+CONFIG_ARM=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_GENERIC_TIME=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_ARCH_HAS_CPUFREQ=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+CONFIG_VECTORS_BASE=0x
+CONFIG_DEFCONFIG_LIST=/lib/modules/$UNAME_RELEASE/.config
+CONFIG_CONSTRUCTORS=y
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION=
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+# CONFIG_POSIX_MQUEUE is not set
+CONFIG_BSD_PROCESS_ACCT=y
+# CONFIG_BSD_PROCESS_ACCT_V3 is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_AUDIT is not set
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+# CONFIG_TREE_PREEMPT_RCU is not set
+# CONFIG_RCU_TRACE is not set
+CONFIG_RCU_FANOUT=32
+# CONFIG_RCU_FANOUT_EXACT is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_GROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+# CONFIG_RT_GROUP_SCHED is not set
+CONFIG_USER_SCHED=y
+# CONFIG_CGROUP_SCHED is not set
+# CONFIG_CGROUPS is not set
+# CONFIG_SYSFS_DEPRECATED_V2 is not set
+# CONFIG_RELAY is not set
+# CONFIG_NAMESPACES is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=
+CONFIG_RD_GZIP=y
+# CONFIG_RD_BZIP2 is not set
+# CONFIG_RD_LZMA is not set
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+CONFIG_EMBEDDED=y
+CONFIG_UID16=y
+# CONFIG_SYSCTL_SYSCALL is not set
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_KALLSYMS_EXTRA_PASS=y
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_COMPAT_BRK=y
+CONFIG_SLAB=y
+# CONFIG_SLUB is not set
+# CONFIG_SLOB is not set
+# CONFIG_PROFILING is not set
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_KPROBES is not set
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_CLK=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_SLOW_WORK is not set
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+CONFIG_BLOCK=y
+CONFIG_LBDAF=y
+# CONFIG_BLK_DEV_BSG is not set
+# CONFIG_BLK_DEV_INTEGRITY is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED=anticipatory
+CONFIG_FREEZER=y
+
+#
+# System Type
+#
+CONFIG_MMU=y
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_GEMINI is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_MXC is not set
+# CONFIG_ARCH_STMP3XXX is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_NOMADIK is not set
+# CONFIG_ARCH_IOP13XX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_KIRKWOOD is not set
+# CONFIG_ARCH_LOKI is not set
+# CONFIG_ARCH_MV78XX0 is not set
+# CONFIG_ARCH_ORION5X is not set
+# CONFIG_ARCH_MMP is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_NS9XXX is not set
+# CONFIG_ARCH_W90X900 is not set
+# CONFIG_ARCH_PNX4008 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_MSM is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# 

Re: [PATCH 11/11] OMAP3: PM: Disable OTG autoidle when waking up from off-mode

2009-11-11 Thread Kevin Hilman
Tero Kristo tero.kri...@nokia.com writes:

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

 OMAP3 sleep can be prevented in some cases where OTG autoidle is enabled.
 This patch force disables autoidle during wakeup from off-mode. See omap
 errata 1.164.

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

This one needs a refresh against current PM branch.

 ---
  arch/arm/mach-omap2/pm34xx.c  |6 ++
  arch/arm/mach-omap2/usb-musb.c|   14 --
  arch/arm/plat-omap/include/mach/usb.h |3 +++

mach/usb.h moved to plat/usb.h

  3 files changed, 17 insertions(+), 6 deletions(-)

 diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
 index 5eb7321..070a0a2 100644
 --- a/arch/arm/mach-omap2/pm34xx.c
 +++ b/arch/arm/mach-omap2/pm34xx.c
 @@ -39,6 +39,7 @@
  #include mach/gpmc.h
  #include mach/dma.h
  #include mach/dmtimer.h
 +#include mach/usb.h
  
  #include asm/tlbflush.h
  
 @@ -496,6 +497,11 @@ void omap_sram_idle(void)
   omap3_prcm_restore_context();
   omap3_sram_restore_context();
   omap2_sms_restore_context();
 + /*
 +  * Errata 1.164 fix : OTG autoidle can prevent
 +  * sleep
 +  */
 + usb_musb_disable_autoidle();

NAK.  This belongs in the MUSB driver, not in the idle path.

Kevin

   }
   omap_uart_resume_idle(0);
   omap_uart_resume_idle(1);
 diff --git a/arch/arm/mach-omap2/usb-musb.c b/arch/arm/mach-omap2/usb-musb.c
 index 8dde0b7..f4b86c0 100644
 --- a/arch/arm/mach-omap2/usb-musb.c
 +++ b/arch/arm/mach-omap2/usb-musb.c
 @@ -44,10 +44,11 @@ static struct platform_device dummy_pdev = {
   },
  };
  
 +static void __iomem *otg_base;
 +static struct clk *otg_clk;
 +
  static void __init usb_musb_pm_init(void)
  {
 - void __iomem *otg_base;
 - struct clk *otg_clk;
   struct device *dev = dummy_pdev.dev;
  
   if (!cpu_is_omap34xx())
 @@ -74,12 +75,13 @@ static void __init usb_musb_pm_init(void)
   cpu_relax();
   }
  
 - if (otg_clk) {
 + if (otg_clk)
   clk_disable(otg_clk);
 - clk_put(otg_clk);
 - }
 +}

  
 - iounmap(otg_base);
 +void usb_musb_disable_autoidle(void)
 +{
 + __raw_writel(0, otg_base + OTG_SYSCONFIG);
  }
  
  #ifdef CONFIG_USB_MUSB_SOC
 diff --git a/arch/arm/plat-omap/include/mach/usb.h 
 b/arch/arm/plat-omap/include/mach/usb.h
 index a4068a4..310ee17 100644
 --- a/arch/arm/plat-omap/include/mach/usb.h
 +++ b/arch/arm/plat-omap/include/mach/usb.h
 @@ -46,6 +46,9 @@ extern void usb_musb_init(void);
  
  extern void usb_ehci_init(struct ehci_hcd_omap_platform_data *pdata);
  
 +/* This is needed for OMAP3 errata 1.164: enabled autoidle can prevent sleep 
 */
 +extern void usb_musb_disable_autoidle(void);
 +
  #endif
  
  void omap_usb_init(struct omap_usb_config *pdata);
 -- 
 1.5.4.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
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v3 4/8] omap: zoom3: introduce zoom3 board support

2009-11-11 Thread Vikram Pandita
Zoom3 is the next versoin of Zoom2 board.
There has been a silicon update from zoom2 to zoom3.
Zoom2 has OMAP34xx
Zoom3 has OMAP3630 [1]
Zoom3 = OMAP3630 SOM board [2] + same zoom2 main board [3] + same debugboard

Zoom3 has a SDRAM part from Hynix
Zoom2 had SDRAM part from micron

Hynix memory timings are contributed by:
Chalhoub, Nicole and Bour, Vincent

Reuse the zoom2 files as much for zoom3, as at board level,
there is no change at all.

References: (courtesy Nishant Menon)
[1] OMAP3630
http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123navigationId=12836contentId=52606

[2] SOM boards
http://logicpd.com/products/system-modules/texas-instruments-omap35x-som-lv

[3] Zoom2 boards
http://logicpd.com/products/development-kits/texas-instruments-zoom%E2%84%A2-omap34x-ii-mdp
OMAP3630:

Signed-off-by: Vikram Pandita vikram.pand...@ti.com
Cc: Chalhoub, Nicole n-chalh...@ti.com
Cc: Bour, Vincent v-b...@ti.com
---
 arch/arm/mach-omap2/Kconfig|4 +
 arch/arm/mach-omap2/Makefile   |4 +
 arch/arm/mach-omap2/board-zoom3.c  |   60 
 arch/arm/mach-omap2/sdram-hynix-h8mbx00u0mer-0em.h |   51 +
 4 files changed, 119 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/mach-omap2/board-zoom3.c
 create mode 100644 arch/arm/mach-omap2/sdram-hynix-h8mbx00u0mer-0em.h

diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index 8685df5..9824775 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -101,6 +101,10 @@ config MACH_CM_T35
bool CompuLab CM-T35 module
depends on ARCH_OMAP3  ARCH_OMAP34XX
 
+config MACH_OMAP_ZOOM3
+   bool OMAP3630 Zoom3 board
+   depends on ARCH_OMAP3  ARCH_OMAP34XX
+
 config MACH_OMAP_4430SDP
bool OMAP 4430 SDP board
depends on ARCH_OMAP4
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index 4d66b42..712e7fc 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -75,6 +75,10 @@ obj-$(CONFIG_MACH_OMAP_ZOOM2)+= 
board-zoom2.o \
   board-zoom-peripherals.o \
   mmc-twl4030.o \
   board-zoom-debugboard.o
+obj-$(CONFIG_MACH_OMAP_ZOOM3)  += board-zoom3.o \
+  board-zoom-peripherals.o \
+  mmc-twl4030.o \
+  board-zoom-debugboard.o
 obj-$(CONFIG_MACH_CM_T35)  += board-cm-t35.o \
   mmc-twl4030.o
 
diff --git a/arch/arm/mach-omap2/board-zoom3.c 
b/arch/arm/mach-omap2/board-zoom3.c
new file mode 100644
index 000..b031eaa
--- /dev/null
+++ b/arch/arm/mach-omap2/board-zoom3.c
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2009 Texas Instruments Inc.
+ *
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include linux/kernel.h
+#include linux/init.h
+#include linux/platform_device.h
+#include linux/input.h
+#include linux/gpio.h
+
+#include asm/mach-types.h
+#include asm/mach/arch.h
+
+#include plat/common.h
+#include plat/board.h
+
+#include sdram-hynix-h8mbx00u0mer-0em.h
+
+static void __init omap_zoom_map_io(void)
+{
+   omap2_set_globals_343x();
+   omap2_map_common_io();
+}
+
+static struct omap_board_config_kernel zoom_config[] __initdata = {
+};
+
+static void __init omap_zoom_init_irq(void)
+{
+   omap_board_config = zoom_config;
+   omap_board_config_size = ARRAY_SIZE(zoom_config);
+   omap2_init_common_hw(h8mbx00u0mer0em_sdrc_params,
+   h8mbx00u0mer0em_sdrc_params);
+   omap_init_irq();
+   omap_gpio_init();
+}
+
+extern int __init omap_zoom2_debugboard_init(void);
+extern void __init zoom_peripherals_init(void);
+
+static void __init omap_zoom_init(void)
+{
+   zoom_peripherals_init();
+   omap_zoom2_debugboard_init();
+}
+
+MACHINE_START(OMAP_ZOOM3, OMAP Zoom3 board)
+   .phys_io= 0x4800,
+   .io_pg_offst= ((0xfa00)  18)  0xfffc,
+   .boot_params= 0x8100,
+   .map_io = omap_zoom_map_io,
+   .init_irq   = omap_zoom_init_irq,
+   .init_machine   = omap_zoom_init,
+   .timer  = omap_timer,
+MACHINE_END
diff --git a/arch/arm/mach-omap2/sdram-hynix-h8mbx00u0mer-0em.h 
b/arch/arm/mach-omap2/sdram-hynix-h8mbx00u0mer-0em.h
new file mode 100644
index 000..8bfaf34
--- /dev/null
+++ b/arch/arm/mach-omap2/sdram-hynix-h8mbx00u0mer-0em.h
@@ -0,0 +1,51 @@
+/*
+ * SDRC register values for the Hynix H8MBX00U0MER-0EM
+ *
+ * Copyright (C) 2009 Texas Instruments, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it 

Re: [PATCH 09/11] OMAP3: PM: Added support for L2 aux ctrl register save and restore

2009-11-11 Thread Kevin Hilman
Tero Kristo tero.kri...@nokia.com writes:

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

 This patch adds a save and restore mechanism for ARM L2 auxiliary control
 register. This feature is enabled via Kconfig option
 OMAP3_L2_AUX_SECURE_SAVE_RESTORE and the service ID for PPA can be provided
 via option OMAP3_L2_AUX_SECURE_SERVICE_SET_ID. If bootloader does not modify
 L2 aux register, using this save and restore logic for it is not needed.

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

Thanks, pulling into PM branch.

Kevin

 ---
  arch/arm/mach-omap2/control.c   |1 +
  arch/arm/mach-omap2/sleep34xx.S |   31 +++
  arch/arm/plat-omap/Kconfig  |   17 +
  3 files changed, 49 insertions(+), 0 deletions(-)

 diff --git a/arch/arm/mach-omap2/control.c b/arch/arm/mach-omap2/control.c
 index 730fc53..82d8f1a 100644
 --- a/arch/arm/mach-omap2/control.c
 +++ b/arch/arm/mach-omap2/control.c
 @@ -95,6 +95,7 @@ void *omap3_secure_ram_storage;
   */
  u32 omap3_arm_context[128];
  u32 omap3_aux_ctrl[2] = { 0x1, 0x0 };
 +u32 omap3_l2_aux_ctrl[2] = { 0x1, 0x0 };
  
  struct omap3_control_regs {
   u32 sysconfig;
 diff --git a/arch/arm/mach-omap2/sleep34xx.S b/arch/arm/mach-omap2/sleep34xx.S
 index 0b03bf9..e291d6d 100644
 --- a/arch/arm/mach-omap2/sleep34xx.S
 +++ b/arch/arm/mach-omap2/sleep34xx.S
 @@ -288,11 +288,30 @@ restore:
   mcr p15, 0, r0, c7, c10, 5  @ data memory barrier
   .word   0xE1600071  @ call SMI monitor (smi #1)
  
 +#ifdef CONFIG_OMAP3_L2_AUX_SECURE_SAVE_RESTORE
 + /* Restore L2 aux control register */
 + @ set service ID for PPA
 + mov r0, #CONFIG_OMAP3_L2_AUX_SECURE_SERVICE_SET_ID
 + mov r12, r0 @ copy service ID in r12
 + mov r1, #0  @ set task ID for ROM code in r1
 + mov r2, #4  @ set some flags in r2, r6
 + mov r6, #0xff
 + ldr r3, write_l2_aux_control_params @ r3 points to parameters
 + ldr r4, phys_offset
 + addsr3, r3, r4
 + ldr r4, page_offset
 + subsr3, r3, r4
 + mcr p15, 0, r0, c7, c10, 4  @ data write barrier
 + mcr p15, 0, r0, c7, c10, 5  @ data memory barrier
 + .word   0xE1600071  @ call SMI monitor (smi #1)
 +#endif
   b   logic_l1_restore
  l2_inv_api_params:
   .word   0x1, 0x00
  write_aux_control_params:
   .word   omap3_aux_ctrl
 +write_l2_aux_control_params:
 + .word   omap3_l2_aux_ctrl
  l2_inv_gp:
   /* Execute smi to invalidate L2 cache */
   mov r12, #0x1 @ set up to invalide L2
 @@ -306,6 +325,15 @@ smi:.word 0xE1600070 @ Call SMI monitor 
 (smieq)
   ldr r0, [r1, #4]
   mov r12, #0x3
   .word 0xE1600070@ Call SMI monitor (smieq)
 + /* Restore L2 AUX control register */
 + ldr r1, write_l2_aux_control_params
 + ldr r0, phys_offset
 + addsr1, r1, r0
 + ldr r0, page_offset
 + subsr1, r1, r0
 + ldr r0, [r1, #4]
 + mov r12, #0x2
 + .word 0xE1600070@ Call SMI monitor (smieq)
  logic_l1_restore:
   mov r1, #0
   /* Invalidate all instruction caches to PoU
 @@ -433,6 +461,9 @@ save_context_wfi:
   mrc p15, 0, r4, c1, c0, 1   @ Read Auxiliary Control Register
   ldr r5, write_aux_control_params
   str r4, [r5, #4]
 + mrc p15, 1, r4, c9, c0, 2   @ Read L2 AUX ctrl register
 + ldr r5, write_l2_aux_control_params
 + str r4, [r5, #4]
  /* Check what that target sleep state is:stored in r1*/
  /* 1 - Only L1 and logic lost */
  /* 2 - Only L2 lost */
 diff --git a/arch/arm/plat-omap/Kconfig b/arch/arm/plat-omap/Kconfig
 index 2143db5..3ff1a5f 100644
 --- a/arch/arm/plat-omap/Kconfig
 +++ b/arch/arm/plat-omap/Kconfig
 @@ -185,6 +185,23 @@ config OMAP3_DEBOBS
   help
 Use ETK pads for debug observability
  
 +config OMAP3_L2_AUX_SECURE_SAVE_RESTORE
 + bool OMAP3 HS/EMU save and restore for L2 AUX control register
 + depends on ARCH_OMAP3  PM
 + default n
 + help
 +   Without this option, L2 Auxiliary control register contents are
 +   lost during off-mode entry on HS/EMU devices. This feature
 +   requires support from PPA / boot-loader in HS/EMU devices, which
 +   currently does not exist by default.
 +
 +config OMAP3_L2_AUX_SECURE_SERVICE_SET_ID
 + int Service ID for the support routine to set L2 AUX control
 + depends on OMAP3_L2_AUX_SECURE_SAVE_RESTORE
 + default 43
 + help
 +   PPA routine service ID for setting L2 auxiliary control register.
 +
  config OMAP_32K_TIMER_HZ
 int Kernel internal timer frequency for 32KHz timer
 range 32 1024
 -- 
 1.5.4.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  

Re: [PATCH 10/11] OMAP3: PM: Write voltage and clock setup times dynamically in idle loop

2009-11-11 Thread Kevin Hilman
Tero Kristo tero.kri...@nokia.com writes:

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

 It is suggested by TI (SWPA152 February 2009) to write clksetup,
 voltsetup_time1, voltsetup_time2, voltsetup2 dynamically in idle loop.

 This allows us to optimize the voltage + clock setup times according to the
 used power save mode.

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

This one needs a refresh against current PM branch, in particular, Rajendra's
changes to the PRM setup code were merged and conflict with this.

Kevin



 ---
  arch/arm/mach-omap2/pm.h |   10 -
  arch/arm/mach-omap2/pm34xx.c |   86 
 --
  2 files changed, 57 insertions(+), 39 deletions(-)

 diff --git a/arch/arm/mach-omap2/pm.h b/arch/arm/mach-omap2/pm.h
 index f8d11a2..b384eb1 100644
 --- a/arch/arm/mach-omap2/pm.h
 +++ b/arch/arm/mach-omap2/pm.h
 @@ -24,12 +24,18 @@ extern int omap3_can_sleep(void);
  extern int set_pwrdm_state(struct powerdomain *pwrdm, u32 state);
  extern int omap3_idle_init(void);
  
 -struct prm_setup_vc {
 +struct prm_setup_times_vc {
   u16 clksetup;
   u16 voltsetup_time1;
   u16 voltsetup_time2;
 - u16 voltoffset;
   u16 voltsetup2;
 + u16 voltsetup1;
 +};
 +
 +struct prm_setup_vc {
 + struct prm_setup_times_vc *setup_times;
 + struct prm_setup_times_vc *setup_times_off;
 + u16 voltoffset;
  /* PRM_VC_CMD_VAL_0 specific bits */
   u16 vdd0_on;
   u16 vdd0_onlp;
 diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
 index 154cd31..5eb7321 100644
 --- a/arch/arm/mach-omap2/pm34xx.c
 +++ b/arch/arm/mach-omap2/pm34xx.c
 @@ -82,12 +82,17 @@ static struct powerdomain *mpu_pwrdm, *neon_pwrdm;
  static struct powerdomain *core_pwrdm, *per_pwrdm;
  static struct powerdomain *cam_pwrdm;
  
 -static struct prm_setup_vc prm_setup = {
 +static struct prm_setup_times_vc prm_setup_times_default = {
   .clksetup = 0xff,
   .voltsetup_time1 = 0xfff,
   .voltsetup_time2 = 0xfff,
 - .voltoffset = 0xff,
   .voltsetup2 = 0xff,
 +};
 +
 +static struct prm_setup_vc prm_setup_default = {
 + .setup_times = prm_setup_times_default,
 + .setup_times_off = NULL,
 + .voltoffset = 0xff,
   .vdd0_on = 0x30,/* 1.2v */
   .vdd0_onlp = 0x20,  /* 1.0v */
   .vdd0_ret = 0x1e,   /* 0.975v */
 @@ -98,6 +103,8 @@ static struct prm_setup_vc prm_setup = {
   .vdd1_off = 0x00,   /* 0.6v */
  };
  
 +static struct prm_setup_vc *prm_setup = prm_setup_default;
 +
  static inline void omap3_per_save_context(void)
  {
   omap3_gpio_save_context();
 @@ -338,6 +345,16 @@ static void restore_table_entry(void)
   restore_control_register(control_reg_value);
  }
  
 +static void prm_program_setup_times(struct prm_setup_times_vc *times)
 +{
 + prm_write_mod_reg(times-voltsetup1, OMAP3430_GR_MOD,
 + OMAP3_PRM_VOLTSETUP1_OFFSET);
 + prm_write_mod_reg(times-voltsetup2, OMAP3430_GR_MOD,
 + OMAP3_PRM_VOLTSETUP2_OFFSET);
 + prm_write_mod_reg(times-clksetup, OMAP3430_GR_MOD,
 + OMAP3_PRM_CLKSETUP_OFFSET);
 +}
 +
  void omap_sram_idle(void)
  {
   /* Variable to tell what needs to be saved and restored
 @@ -422,6 +439,9 @@ void omap_sram_idle(void)
OMAP3_PRM_VOLTCTRL_OFFSET);
   omap3_core_save_context();
   omap3_prcm_save_context();
 + if (prm_setup-setup_times_off != NULL)
 + prm_program_setup_times(prm_setup-
 + setup_times_off);
   } else if (core_next_state == PWRDM_POWER_RET) {
   prm_set_mod_reg_bits(OMAP3430_AUTO_RET,
   OMAP3430_GR_MOD,
 @@ -479,11 +499,13 @@ void omap_sram_idle(void)
   }
   omap_uart_resume_idle(0);
   omap_uart_resume_idle(1);
 - if (core_next_state == PWRDM_POWER_OFF)
 + if (core_next_state == PWRDM_POWER_OFF) {
   prm_clear_mod_reg_bits(OMAP3430_AUTO_OFF,
  OMAP3430_GR_MOD,
  OMAP3_PRM_VOLTCTRL_OFFSET);
 - else if (core_next_state == PWRDM_POWER_RET)
 + if (prm_setup-setup_times_off != NULL)
 + prm_program_setup_times(prm_setup-setup_times);
 + } else if (core_next_state == PWRDM_POWER_RET)
   prm_clear_mod_reg_bits(OMAP3430_AUTO_RET,
   OMAP3430_GR_MOD,
   OMAP3_PRM_VOLTCTRL_OFFSET);
 @@ -1043,21 +1065,19 @@ int omap3_pm_set_suspend_state(struct powerdomain 
 *pwrdm, int state)
   return -EINVAL;
  }
  
 +static void omap3_init_prm_setup_times(struct prm_setup_times_vc *conf)
 +{
 + if 

MMC related patches

2009-11-11 Thread Madhusudhan
Hi Tony,

Just a ping on the below patches. I did not see any comments on them. Are
you planning to push them?

Regards,
Madhu

http://marc.info/?l=linux-omapm=125668573422479w=2
http://marc.info/?l=linux-omapm=125624185318767w=2
http://marc.info/?l=linux-omapm=125623349405262w=2
http://marc.info/?l=linux-omapm=125623339105103w=2
http://marc.info/?l=linux-omapm=125623327504912w=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


Re: [PATCH] OMAP3: PM: Remove duplicate code blocks

2009-11-11 Thread Kevin Hilman
Sanjeev Premi pr...@ti.com writes:

 This patch removes code blocks that are repeated
 in function prcm_setup_regs().

 Signed-off-by: Sanjeev Premi pr...@ti.com

Thanks, pulling into PM branch, queueing for pm-fixes.

Kevin

 ---
  arch/arm/mach-omap2/pm34xx.c |   18 --
  1 files changed, 0 insertions(+), 18 deletions(-)

 diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
 index fd103a1..11cfe59 100644
 --- a/arch/arm/mach-omap2/pm34xx.c
 +++ b/arch/arm/mach-omap2/pm34xx.c
 @@ -957,24 +957,6 @@ static void __init prcm_setup_regs(void)
   /* Clear any pending PRCM interrupts */
   prm_write_mod_reg(0, OCP_MOD, OMAP3_PRM_IRQSTATUS_MPU_OFFSET);
  
 - /* Don't attach IVA interrupts */
 - prm_write_mod_reg(0, WKUP_MOD, OMAP3430_PM_IVAGRPSEL);
 - prm_write_mod_reg(0, CORE_MOD, OMAP3430_PM_IVAGRPSEL1);
 - prm_write_mod_reg(0, CORE_MOD, OMAP3430ES2_PM_IVAGRPSEL3);
 - prm_write_mod_reg(0, OMAP3430_PER_MOD, OMAP3430_PM_IVAGRPSEL);
 -
 - /* Clear any pending 'reset' flags */
 - prm_write_mod_reg(0x, MPU_MOD, RM_RSTST);
 - prm_write_mod_reg(0x, CORE_MOD, RM_RSTST);
 - prm_write_mod_reg(0x, OMAP3430_PER_MOD, RM_RSTST);
 - prm_write_mod_reg(0x, OMAP3430_EMU_MOD, RM_RSTST);
 - prm_write_mod_reg(0x, OMAP3430_NEON_MOD, RM_RSTST);
 - prm_write_mod_reg(0x, OMAP3430_DSS_MOD, RM_RSTST);
 - prm_write_mod_reg(0x, OMAP3430ES2_USBHOST_MOD, RM_RSTST);
 -
 - /* Clear any pending PRCM interrupts */
 - prm_write_mod_reg(0, OCP_MOD, OMAP3_PRM_IRQSTATUS_MPU_OFFSET);
 -
   omap3_iva_idle();
   omap3_d2d_idle();
  }
 -- 
 1.6.2.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
--
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 0/3] Update CPU idle parameter passing

2009-11-11 Thread Kevin Hilman
Kalle Jokiniemi kalle.jokini...@digia.com writes:

 Hi Kevin,

 Made some patches to enable setting RX-51 cpu idle parameters
 as we use them. Added valid field passing to cpuidle_params
 in the process.

 Tested on RX-51. Applies on top of linux-omap/pm branch.

 Kalle Jokiniemi (3):
   OMAP:PM: Fix non-cpu idle builds using omap3_pm_init_cpuidle
   OMAP3: Add valid field into C-state parameter passing
   OMAP: RX-51: Pass cpu idle parameters

Thanks, applying this series to PM branch.

Kevin

 kajok...@ubuntu:~/work/linux-open/linux-omap$ git diff --stat HEAD~3..HEAD
  arch/arm/mach-omap2/board-3430sdp.c |   14 ++--
  arch/arm/mach-omap2/board-rx51.c|   18 +
  arch/arm/mach-omap2/cpuidle34xx.c   |   37 +-
  arch/arm/mach-omap2/pm.h|8 +++
  4 files changed, 56 insertions(+), 21 deletions(-)
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 2/2] OMAP3: CPUidle: Fixed timer resolution

2009-11-11 Thread Kevin Hilman
Tero Kristo tero.kri...@nokia.com writes:

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

 Previously used u32 as temporary data storage that wraps around at 4.294s.

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

Thanks, applying to PM branch, queing for pm-fixes.

Kevin

 ---
  arch/arm/mach-omap2/cpuidle34xx.c |2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)

 diff --git a/arch/arm/mach-omap2/cpuidle34xx.c 
 b/arch/arm/mach-omap2/cpuidle34xx.c
 index a0d9f56..0ac3b63 100644
 --- a/arch/arm/mach-omap2/cpuidle34xx.c
 +++ b/arch/arm/mach-omap2/cpuidle34xx.c
 @@ -137,7 +137,7 @@ return_sleep_time:
   local_irq_enable();
   local_fiq_enable();
  
 - return (u32)timespec_to_ns(ts_idle)/1000;
 + return ts_idle.tv_nsec / NSEC_PER_USEC + ts_idle.tv_sec * USEC_PER_SEC;
  }
  
  /**
 -- 
 1.5.4.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
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[APPLIED] [PATCH v3 1/8] omap: zoom2: split board file for software reuse

2009-11-11 Thread Tony Lindgren
This patch has been applied to the linux-omap
by youw fwiendly patch wobot.

Branch in linux-omap: for-next

Initial commit ID (Likely to change): 3541a57ebeb4c817e6e25bb0c2a2c174d6edb7c4

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

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


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


[APPLIED] [PATCH v3 2/8] omap: zoom: rename zoom2 name to generic zoom

2009-11-11 Thread Tony Lindgren
This patch has been applied to the linux-omap
by youw fwiendly patch wobot.

Branch in linux-omap: for-next

Initial commit ID (Likely to change): 1a4aaa262bdddcd19fcdb6cd89ffd4ca700a044e

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

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


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


[APPLIED] [PATCH v3 3/8] omap: zoom: drop i2c-1 speed to 2400

2009-11-11 Thread Tony Lindgren
This patch has been applied to the linux-omap
by youw fwiendly patch wobot.

Branch in linux-omap: for-next

Initial commit ID (Likely to change): 7b34b17252b13a1c033b340ea18963c91590243e

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

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


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


Re: [PATCH v3 3/8] omap: zoom: drop i2c-1 speed to 2400

2009-11-11 Thread Tony Lindgren
* Vikram Pandita vikram.pand...@ti.com [09 15:42]:
 The I2C-1 bus frequency on zoom2/zoom3/sdp3630 should be 2.4 MHz.
 The speed is limited by TWL5030/GAIA; a higher speed could lead to errors
 on the interface.
 
 The maximum I2C speed depends on the system clock for GAIA:
 2.2 MHz (sys-clk = 19.2 MHz)
 2.4 MHz (sys-clk = 26 MHz)
 2.9 MHz (sys-clk = 38.4 MHz)
 
 For Zoom2/Zoom3/SDP3630 the system clock is 26Mhz
 and hence choose 2.4Mhz for I2C1 bus speed
 
 Signed-off-by: Vikram Pandita vikram.pand...@ti.com
 ---
  arch/arm/mach-omap2/board-zoom-peripherals.c |4 ++--
  1 files changed, 2 insertions(+), 2 deletions(-)
  mode change 100644 = 100755 arch/arm/mach-omap2/board-zoom-peripherals.c
 
 diff --git a/arch/arm/mach-omap2/board-zoom-peripherals.c 
 b/arch/arm/mach-omap2/board-zoom-peripherals.c
 old mode 100644
 new mode 100755
 index 4ca9c20..54619d5

Left out the mode change..

Tony

 --- a/arch/arm/mach-omap2/board-zoom-peripherals.c
 +++ b/arch/arm/mach-omap2/board-zoom-peripherals.c
 @@ -235,7 +235,7 @@ static struct twl4030_platform_data zoom_twldata = {
  
  static struct i2c_board_info __initdata zoom_i2c_boardinfo[] = {
   {
 - I2C_BOARD_INFO(twl4030, 0x48),
 + I2C_BOARD_INFO(twl5030, 0x48),
   .flags  = I2C_CLIENT_WAKE,
   .irq= INT_34XX_SYS_NIRQ,
   .platform_data  = zoom_twldata,
 @@ -244,7 +244,7 @@ static struct i2c_board_info __initdata 
 zoom_i2c_boardinfo[] = {
  
  static int __init omap_i2c_init(void)
  {
 - omap_register_i2c_bus(1, 2600, zoom_i2c_boardinfo,
 + omap_register_i2c_bus(1, 2400, zoom_i2c_boardinfo,
   ARRAY_SIZE(zoom_i2c_boardinfo));
   omap_register_i2c_bus(2, 400, NULL, 0);
   omap_register_i2c_bus(3, 400, NULL, 0);
 -- 
 1.6.5.1.69.g36942
 
 --
 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


[APPLIED] [PATCH v3 4/8] omap: zoom3: introduce zoom3 board support

2009-11-11 Thread Tony Lindgren
This patch has been applied to the linux-omap
by youw fwiendly patch wobot.

Branch in linux-omap: for-next

Initial commit ID (Likely to change): 9de296858d55f4f188ffe5fd9433a8686e7ba966

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

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


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


[APPLIED] [PATCH v3 5/8] omap: 3630sdp: introduce 3630 sdp board support

2009-11-11 Thread Tony Lindgren
This patch has been applied to the linux-omap
by youw fwiendly patch wobot.

Branch in linux-omap: for-next

Initial commit ID (Likely to change): 45a7be5f118856fbee95077091fa8fd6044a6225

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

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


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


[APPLIED] [PATCH v3 6/8] omap: zoom2: update defconfig for LL_DEBUG_NONE

2009-11-11 Thread Tony Lindgren
This patch has been applied to the linux-omap
by youw fwiendly patch wobot.

Branch in linux-omap: for-next

Initial commit ID (Likely to change): 87e0d6074b20a8b0a4d6219dcd1b701d3ff474a7

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

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


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


[APPLIED] [PATCH v3 7/8] omap: zoom3: defconfig creation

2009-11-11 Thread Tony Lindgren
This patch has been applied to the linux-omap
by youw fwiendly patch wobot.

Branch in linux-omap: for-next

Initial commit ID (Likely to change): dc6b64ab41eebc177e4f114a0c94df2e616cbe22

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

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


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


[APPLIED] [PATCH v3 8/8] omap: 3630sdp: defconfig creation

2009-11-11 Thread Tony Lindgren
This patch has been applied to the linux-omap
by youw fwiendly patch wobot.

Branch in linux-omap: for-next

Initial commit ID (Likely to change): 83f1442357e94b061d1e08507c6219ef3160c74f

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

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


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


Re: [RFC][Patch V1] OMAP3: Mux Changes.

2009-11-11 Thread Tony Lindgren
* Pais, Allen allen.p...@ti.com [091015 02:33]:
 Please ignore my previous mail.
 
 Muxes for OMAP 3630.

Let's put this on hold and do it with the upcoming mux framework
instead. Adding all the missing 3630 mux settings should be easy
then.

Regards,

Tony

 
 Signed-off-by: Allen Pais allen.p...@ti.com diff --git 
 a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c index 
 b5fac32..93abb74 100644
 --- a/arch/arm/mach-omap2/mux.c
 +++ b/arch/arm/mach-omap2/mux.c
 @@ -551,6 +551,42 @@ MUX_CFG_34XX(AF13_3430_MMC3_DAT3, 0x5e2,  
 MUX_CFG_34XX(AF26_34XX_SYS_NIRQ, 0x1E0,
   OMAP3_WAKEUP_EN | OMAP34XX_PIN_INPUT_PULLUP |
   OMAP34XX_MUX_MODE0)
 +
 +/*Muxes for 3630 */
 +MUX_CFG_34XX(H26_3630_DSS_DATA18, 0x100,
 + OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN) 
 +MUX_CFG_34XX(H25_3630_DSS_DATA19, 0x102,
 + OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN) 
 +MUX_CFG_34XX(E28_3630_DSS_DATA20, 0x104,
 + OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN) 
 +MUX_CFG_34XX(J26_3630_DSS_DATA21, 0x106,
 + OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN) 
 +MUX_CFG_34XX(AC27_3630_DSS_DATA22, 0x108,
 + OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN) 
 +MUX_CFG_34XX(AC28_3630_DSS_DATA23, 0x10A,
 + OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN)
 +
 +MUX_CFG_34XX(AF9_3630_ETKD8, 0x5EC,
 + OMAP34XX_MUX_MODE1 | OMAP34XX_PIN_INPUT_PULLDOWN) 
 +MUX_CFG_34XX(AG9_3630_ETKD9, 0x5EE,
 + OMAP34XX_MUX_MODE1 | OMAP34XX_PIN_INPUT_PULLDOWN) 
 +MUX_CFG_34XX(AG7_3630_ETKD12, 0x5F0,
 + OMAP34XX_MUX_MODE1 | OMAP34XX_PIN_INPUT_PULLDOWN)
 +
 +MUX_CFG_34XX(AA25_3630_UART2_TX, 0x178,
 + OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_INPUT_PULLDOWN) 
 +MUX_CFG_34XX(AD25_3630_UART2_RX, 0x17A,
 + OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_INPUT_PULLDOWN) 
 +MUX_CFG_34XX(AB25_3630_UART2_RTS, 0x176,
 + OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_INPUT_PULLDOWN) 
 +MUX_CFG_34XX(AB26_3630_UART2_CTS, 0x174,
 + OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_INPUT_PULLDOWN)
 +
 +MUX_CFG_34XX(H20_UART3_RX_IRRX, 0x19E,
 + OMAP34XX_MUX_MODE2 | OMAP34XX_PIN_INPUT_PULLDOWN) 
 +MUX_CFG_34XX(H21_UART3_TX_IRTX, 0x1A0,
 + OMAP34XX_MUX_MODE2 | OMAP34XX_PIN_INPUT_PULLDOWN)
 +
  };
  
  #define OMAP34XX_PINS_SZ ARRAY_SIZE(omap34xx_pins)
 diff --git a/arch/arm/plat-omap/include/mach/mux.h 
 b/arch/arm/plat-omap/include/mach/mux.h
 index 0f49d2d..8d8cbe1 100644
 --- a/arch/arm/plat-omap/include/mach/mux.h
 +++ b/arch/arm/plat-omap/include/mach/mux.h
 @@ -890,6 +890,32 @@ enum omap34xx_index {
  
   /* SYS_NIRQ T2 INT1 */
   AF26_34XX_SYS_NIRQ,
 +
 + /*Muxes for 3630*/
 + K28_3630_CAM_D6,
 + L28_3630_CAM_D7,
 + K27_3630_CAM_D8,
 + L27_3630_CAM_D9,
 +
 + H26_3630_DSS_DATA18,
 + H25_3630_DSS_DATA19,
 + E28_3630_DSS_DATA20,
 + J26_3630_DSS_DATA21,
 + AC27_3630_DSS_DATA22,
 + AC28_3630_DSS_DATA23,
 +
 + AF9_3630_ETKD8,
 + AG9_3630_ETKD9,
 + AG7_3630_ETK12,
 +
 + AA25_3630_UART2_TX,
 + AD25_3630_UART2_RX,
 + AB25_3630_UART2_RTS,
 + AB26_3630_UART2_CTS,
 +
 + H20_UART3_RX_IRRX,
 + H21_UART3_TX_IRTX,
 +
  };
  
  struct omap_mux_cfg {
--
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 on sdp2420

2009-11-11 Thread Haribabu Narayanan
hi.,

   well., i am pretty much interested in trying it outbut if
omap2420 data-sheet is not in the public domain, i am curious to know
as to how i can contribute much?

   if i were to proceed wo the data-sheet, how can I start? try to
incorporate code from 2.6.14 (which is atleast booting) to the latest
part by part? is there any info that i can get on which modules are
actually supported in 2.6.14 for sdp2420(in addition to the ones
selected by default config)?

-hari

On Fri, Nov 6, 2009 at 6:28 AM, Nishanth Menon menon.nisha...@gmail.com wrote:
 Haribabu Narayanan said the following on 11/06/2009 01:16 AM:
 1. Will the OMAP git kernel be of any use w.r.t 2420? Or is 2420
 completely unsupported after 2.6.14?

 The current mainline kernel is 2.6.32-rc6 or there abouts. I have not
 heard of folks testing OMAP2 (at least not in this list). If you do have
 a 2420 and are interested to get things working with the very latest
 kernel + bootloader etc.., Few folks in this list or in #linux-omap irc
 channel could guide you through it..

 3. Is OMAP2420 data sheet not available in public?

 Unfortunately, no.

 Regards,
 Nishanth Menon

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


[APPLIED] [PATCH] omap3evm: make HSMMC driver built-in.

2009-11-11 Thread Tony Lindgren
This patch has been applied to the linux-omap
by youw fwiendly patch wobot.

Branch in linux-omap: for-next

Initial commit ID (Likely to change): 4c7a71d871497836afb33e371c0a24acf4ae7adb

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

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


--
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: MMC related patches

2009-11-11 Thread Tony Lindgren
* Madhusudhan madhu...@ti.com [09 16:02]:
 Hi Tony,
 
 Just a ping on the below patches. I did not see any comments on them. Are
 you planning to push them?
 
 Regards,
 Madhu
 
 http://marc.info/?l=linux-omapm=125668573422479w=2
 http://marc.info/?l=linux-omapm=125624185318767w=2

OK, adding.

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

This needs to be refreshed against board-zoom-peripherals.c now
in omap for-next. But if it depends on 3630 mux patch,
let's wait on that until we have the new mux framework.

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

Adding.

Also, this needs to be refreshed:

http://patchwork.kernel.org/patch/45196/

Thanks for summarizing the patches, that always helps.
Maybe use patchwork.kernel.org links the next time,
as I can directly apply from those?

Or even better, just set a git branch against some static
commit :) (Not against for-next as that's still changing)

BTW, some of these patches I had to unwrap manually again..

Regards,

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


[PATCH 00/10] omap am35xx, 3630, 7xx cpu changes for merge window after 2.6.32

2009-11-11 Thread Tony Lindgren
Hi all,

This series mostly adds support for new omaps and better
support for 7xx.

Regards,

Tony

---

Alexander Shishkin (1):
  omap: Eliminate OMAP_MAX_NR_PORTS

Cory Maccarrone (2):
  omap1: mmc: Add platform init for omap7xx
  omap1: omap_udc: Add clocking and disable vbus sense for omap7xx

Nishanth Menon (1):
  omap3: Introduce OMAP3630

Ranjith Lohithakshan (1):
  omap3: AM35xx: Initialize omap_chip bits

Sanjeev Premi (3):
  omap3: Runtime detection of Si features
  omap3: Runtime detection of OMAP35x devices
  omap3: AM35xx: Runtime detection of the device

vikram pandita (2):
  omap: introduce OMAP_LL_DEBUG_NONE DEBUG_LL config
  omap3: 3630: update is_chip variable


 arch/arm/mach-omap1/Kconfig  |1 
 arch/arm/mach-omap1/clock.c  |6 +
 arch/arm/mach-omap1/clock.h  |   22 
 arch/arm/mach-omap1/devices.c|   15 ++
 arch/arm/mach-omap1/mux.c|5 +
 arch/arm/mach-omap1/serial.c |2 
 arch/arm/mach-omap2/id.c |  163 --
 arch/arm/mach-omap2/serial.c |6 -
 arch/arm/plat-omap/Kconfig   |5 +
 arch/arm/plat-omap/include/plat/control.h|   34 +
 arch/arm/plat-omap/include/plat/cpu.h|   91 ++-
 arch/arm/plat-omap/include/plat/mux.h|5 +
 arch/arm/plat-omap/include/plat/serial.h |4 -
 arch/arm/plat-omap/include/plat/uncompress.h |6 +
 arch/arm/plat-omap/usb.c |   20 ++-
 drivers/usb/gadget/omap_udc.c|   19 +++
 16 files changed, 364 insertions(+), 40 deletions(-)

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


[PATCH 01/10] omap: Eliminate OMAP_MAX_NR_PORTS

2009-11-11 Thread Tony Lindgren
From: Alexander Shishkin virtu...@slind.org

Eliminate OMAP_MAX_NR_PORTS

Note that also the null terminator entry for omap1
serial_platform_data needs to be now removed to avoid
oopsing.

Note that mach-omap1 uses struct plat_serial8250_port
array, which requires a null terminator at the end,
and that's why we need to use ARRAY_SIZE - 1. This
is not needed on mach-omap2 as the array used is
struct omap_uart_state, and does not use a null
terminator.

Signed-off-by: Alexander Shishkin virtu...@slind.org
Acked-by: Kevin Hilman khil...@deeprootsystems.com
Signed-off-by: Ladislav Michl la...@linux-mips.org
Signed-off-by: Tony Lindgren t...@atomide.com
---
 arch/arm/mach-omap1/serial.c |2 +-
 arch/arm/mach-omap2/serial.c |6 +++---
 arch/arm/plat-omap/include/plat/serial.h |4 
 3 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/arch/arm/mach-omap1/serial.c b/arch/arm/mach-omap1/serial.c
index 5ebf094..6e5207c 100644
--- a/arch/arm/mach-omap1/serial.c
+++ b/arch/arm/mach-omap1/serial.c
@@ -120,7 +120,7 @@ void __init omap_serial_init(void)
serial_platform_data[2].uartclk = OMAP1510_BASE_BAUD * 16;
}
 
-   for (i = 0; i  OMAP_MAX_NR_PORTS; i++) {
+   for (i = 0; i  ARRAY_SIZE(serial_platform_data) - 1; i++) {
 
/* Static mapping, never released */
serial_platform_data[i].membase =
diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c
index 72df1b1..2e17b57 100644
--- a/arch/arm/mach-omap2/serial.c
+++ b/arch/arm/mach-omap2/serial.c
@@ -533,7 +533,7 @@ static inline void omap_uart_idle_init(struct 
omap_uart_state *uart) {}
 #define DEV_CREATE_FILE(dev, attr)
 #endif /* CONFIG_PM */
 
-static struct omap_uart_state omap_uart[OMAP_MAX_NR_PORTS] = {
+static struct omap_uart_state omap_uart[] = {
{
.pdev = {
.name   = serial8250,
@@ -583,7 +583,7 @@ void __init omap_serial_early_init(void)
 * if not needed.
 */
 
-   for (i = 0; i  OMAP_MAX_NR_PORTS; i++) {
+   for (i = 0; i  ARRAY_SIZE(omap_uart); i++) {
struct omap_uart_state *uart = omap_uart[i];
struct platform_device *pdev = uart-pdev;
struct device *dev = pdev-dev;
@@ -635,7 +635,7 @@ void __init omap_serial_init(void)
 {
int i;
 
-   for (i = 0; i  OMAP_MAX_NR_PORTS; i++) {
+   for (i = 0; i  ARRAY_SIZE(omap_uart); i++) {
struct omap_uart_state *uart = omap_uart[i];
struct platform_device *pdev = uart-pdev;
struct device *dev = pdev-dev;
diff --git a/arch/arm/plat-omap/include/plat/serial.h 
b/arch/arm/plat-omap/include/plat/serial.h
index e249186..9951345 100644
--- a/arch/arm/plat-omap/include/plat/serial.h
+++ b/arch/arm/plat-omap/include/plat/serial.h
@@ -20,26 +20,22 @@
 #define OMAP_UART1_BASE0xfffb
 #define OMAP_UART2_BASE0xfffb0800
 #define OMAP_UART3_BASE0xfffb9800
-#define OMAP_MAX_NR_PORTS  3
 #elif defined(CONFIG_ARCH_OMAP2)
 /* OMAP2 serial ports */
 #define OMAP_UART1_BASE0x4806a000
 #define OMAP_UART2_BASE0x4806c000
 #define OMAP_UART3_BASE0x4806e000
-#define OMAP_MAX_NR_PORTS  3
 #elif defined(CONFIG_ARCH_OMAP3)
 /* OMAP3 serial ports */
 #define OMAP_UART1_BASE0x4806a000
 #define OMAP_UART2_BASE0x4806c000
 #define OMAP_UART3_BASE0x4902
-#define OMAP_MAX_NR_PORTS  3
 #elif defined(CONFIG_ARCH_OMAP4)
 /* OMAP4 serial ports */
 #define OMAP_UART1_BASE0x4806a000
 #define OMAP_UART2_BASE0x4806c000
 #define OMAP_UART3_BASE0x4802
 #define OMAP_UART4_BASE0x4806e000
-#define OMAP_MAX_NR_PORTS  4
 #endif
 
 #define OMAP1510_BASE_BAUD (1200/16)

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


  1   2   >