RE: [PATCH] omap3evm: Migrate to smsc911x ethernet driver.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
-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
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
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
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
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
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
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
-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
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
-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
-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
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
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
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
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
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
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
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
* 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
* 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
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
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
* 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
* 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
* 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
* 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
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
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
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
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
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
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
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
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.
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.
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
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
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
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
-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.
* 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
* 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
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
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
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
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
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.
* 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
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.
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
* 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
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
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