Re: [PATCH] arm: omap1/2/3/4: convert clocksource to a platform_driver

2010-04-06 Thread Felipe Balbi

Hi,

On Tue, Apr 06, 2010 at 12:57:16AM +0200, ext Kevin Hilman wrote:

What' you've created is not a generic clocksource driver but one that
can only work with the 32k sync timer.


so I achieved my goal, which was to convert *32k-sync timer* into a 
platform_driver.



If you're going to create a generic driver, it should be generic
enough to work with any timer source: 32k, timer GP, off-chip RTC,
etc.  To do this, it would need a generic read function passed in with
the platform_device.


yeah, I don't really see what you're trying to do. IMO we should just 
register all clocksources to the kernel but it doesn't mean they have to 
all come from the same platform_driver. The driver I wrote is for the 
32k-sync timer, gp timers, mpu-timer they all would have to be 
converted.


I really don't see the point in having all clocksources as one unique 
driver since the kernel is (or should be) smart enough to choose the 
best one for us at runtime.


If you really want one driver that would cope with all clocksources, be 
my guest, but IMO, that's not the way to go.



It would also need a more generic way of handling clock names and
frequencies.  Currently the clock rate is hard-coded to 32kHz.
clk_get_rate() should be used in a generic driver.


but that's what 32k-sync timer uses, right ?

for anything else, then it would need more thinking.

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


Re: [PATCH] omap: Add I2C bus 1 initialisation for OMAP2430

2010-04-06 Thread Felipe Balbi

On Tue, Apr 06, 2010 at 08:23:33AM +0200, ext Viral Mehta wrote:

Initialize isp1301 FS USB transceiver and
add I2C bus1 initialization code for OMAP2430

Signed-off-by: Viral Mehta viral.me...@lntinfotech.com


this should go through linux-omap


---
arch/arm/mach-omap2/board-2430sdp.c |   10 +-
1 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-omap2/board-2430sdp.c 
b/arch/arm/mach-omap2/board-2430sdp.c
index 01d113f..346e1d2 100644
--- a/arch/arm/mach-omap2/board-2430sdp.c
+++ b/arch/arm/mach-omap2/board-2430sdp.c
@@ -174,9 +174,17 @@ static struct i2c_board_info __initdata 
sdp2430_i2c_boardinfo[] = {
   },
};

+static struct i2c_board_info __initdata sdp2430_i2c1_boardinfo[] = {
+   {
+   I2C_BOARD_INFO(isp1301_omap, 0x2D),
+   .flags = I2C_CLIENT_WAKE,
+   .irq = OMAP_GPIO_IRQ(78),
+   },
+}
static int __init omap2430_i2c_init(void)
{
-   omap_register_i2c_bus(1, 400, NULL, 0);
+   omap_register_i2c_bus(1, 100, sdp2430_i2c1_boardinfo,
+   ARRAY_SIZE(sdp2430_i2c1_boardinfo));
   omap_register_i2c_bus(2, 2600, sdp2430_i2c_boardinfo,
   ARRAY_SIZE(sdp2430_i2c_boardinfo));
   return 0;
--
1.6.6

This Email may contain confidential or privileged information for the intended 
recipient (s) If you are not the intended recipient, please do not use or 
disseminate the information, notify the sender and delete it from your system.

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


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


Re: [PATCH] omap: Add OHCI USB platform init for OMAP2430

2010-04-06 Thread Felipe Balbi

On Tue, Apr 06, 2010 at 08:25:25AM +0200, ext Viral Mehta wrote:

Add platform init code for OHCI USB on OMAP2430

Signed-off-by: Viral Mehta viral.me...@lntinfotech.com


this one too


---
arch/arm/mach-omap2/board-2430sdp.c |   10 ++
1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/board-2430sdp.c 
b/arch/arm/mach-omap2/board-2430sdp.c
index 346e1d2..047d5ae 100644
--- a/arch/arm/mach-omap2/board-2430sdp.c
+++ b/arch/arm/mach-omap2/board-2430sdp.c
@@ -206,6 +206,15 @@ static struct omap_musb_board_data musb_board_data = {
   .mode   = MUSB_OTG,
   .power  = 100,
};
+static struct omap_usb_config sdp2430_usb_config __initdata = {
+   .otg= 1,
+#ifdef  CONFIG_USB_GADGET_OMAP
+   .hmc_mode   = 0x0,
+#elif   defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE)
+   .hmc_mode   = 0x1,
+#endif
+   .pins[0]= 3,
+}

static void __init omap_2430sdp_init(void)
{
@@ -216,6 +225,7 @@ static void __init omap_2430sdp_init(void)
   platform_add_devices(sdp2430_devices, ARRAY_SIZE(sdp2430_devices));
   omap_serial_init();
   omap2_hsmmc_init(mmc);
+   omap_usb_init(sdp2430_usb_config);
   usb_musb_init(musb_board_data);
   board_smc91x_init();

--
1.6.6

This Email may contain confidential or privileged information for the intended 
recipient (s) If you are not the intended recipient, please do not use or 
disseminate the information, notify the sender and delete it from your system.

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


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


Re: [PATCH] omap: select ARCH_OMAP_OTG for OMAP2430

2010-04-06 Thread Felipe Balbi

On Tue, Apr 06, 2010 at 08:26:30AM +0200, ext Viral Mehta wrote:

Configuration for OMAP2430 should select ARCH_OMAP_OTG just like
it is done for OMAP2420

Signed-off-by: Viral Mehta viral.me...@lntinfotech.com


and this


---
arch/arm/mach-omap2/Kconfig |1 +
1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index a8a3d1e..8f9d9c9 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -10,6 +10,7 @@ config ARCH_OMAP2420
config ARCH_OMAP2430
   bool OMAP2430 support
   depends on ARCH_OMAP2
+   select ARCH_OMAP_OTG

config ARCH_OMAP3430
   bool OMAP3430 support
--
1.6.6

This Email may contain confidential or privileged information for the intended 
recipient (s) If you are not the intended recipient, please do not use or 
disseminate the information, notify the sender and delete it from your system.

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


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


RE: [PATCH] OMAP: GPIO: Fix OMAP4 GPIO reg access issues

2010-04-06 Thread Varadarajan, Charulatha
Tony,

If there are no review comments, can you please push this patch?

-V Charulatha

 -Original Message-
 From: Varadarajan, Charulatha
 Sent: Monday, March 22, 2010 8:08 PM
 To: linux-omap@vger.kernel.org
 Cc: Varadarajan, Charulatha
 Subject: [PATCH] OMAP: GPIO: Fix OMAP4 GPIO reg access issues
 
 Access to some of the OMAP4 GPIO registers are not properly handled.
 This patch fixes it.
 
 Signed-off-by: Charulatha V ch...@ti.com
 ---
  arch/arm/plat-omap/gpio.c |   61 +++-
  1 files changed, 55 insertions(+), 12 deletions(-)
 
 diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c
 index 76a347b..3a9891c 100644
 --- a/arch/arm/plat-omap/gpio.c
 +++ b/arch/arm/plat-omap/gpio.c
 @@ -137,7 +137,11 @@
  #define OMAP4_GPIO_IRQSTATUSCLR1 0x0040
  #define OMAP4_GPIO_IRQWAKEN0 0x0044
  #define OMAP4_GPIO_IRQWAKEN1 0x0048
 -#define OMAP4_GPIO_SYSSTATUS 0x0104
 +#define OMAP4_GPIO_SYSSTATUS 0x0114
 +#define OMAP4_GPIO_IRQENABLE10x011c
 +#define OMAP4_GPIO_WAKE_EN   0x0120
 +#define OMAP4_GPIO_IRQSTATUS20x0128
 +#define OMAP4_GPIO_IRQENABLE20x012c
  #define OMAP4_GPIO_CTRL  0x0130
  #define OMAP4_GPIO_OE0x0134
  #define OMAP4_GPIO_DATAIN0x0138
 @@ -148,6 +152,10 @@
  #define OMAP4_GPIO_FALLINGDETECT 0x014c
  #define OMAP4_GPIO_DEBOUNCENABLE 0x0150
  #define OMAP4_GPIO_DEBOUNCINGTIME0x0154
 +#define OMAP4_GPIO_CLEARIRQENABLE1   0x0160
 +#define OMAP4_GPIO_SETIRQENABLE1 0x0164
 +#define OMAP4_GPIO_CLEARWKUENA   0x0180
 +#define OMAP4_GPIO_SETWKUENA 0x0184
  #define OMAP4_GPIO_CLEARDATAOUT  0x0190
  #define OMAP4_GPIO_SETDATAOUT0x0194
  /*
 @@ -591,12 +599,16 @@ static int _get_gpio_dataout(struct gpio_bank *bank, int
 gpio)
   reg += OMAP7XX_GPIO_DATA_OUTPUT;
   break;
  #endif
 -#ifdef CONFIG_ARCH_OMAP2PLUS
 +#if defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3)
   case METHOD_GPIO_24XX:
 - case METHOD_GPIO_44XX:
   reg += OMAP24XX_GPIO_DATAOUT;
   break;
  #endif
 +#ifdef CONFIG_ARCH_OMAP4
 + case METHOD_GPIO_44XX:
 + reg += OMAP4_GPIO_DATAOUT;
 + break;
 +#endif
   default:
   return -EINVAL;
   }
 @@ -1200,11 +1215,17 @@ static int omap_gpio_request(struct gpio_chip *chip,
 unsigned offset)
  #endif
   if (!cpu_class_is_omap1()) {
   if (!bank-mod_usage) {
 + void __iomem *reg = bank-base;
   u32 ctrl;
 - ctrl = __raw_readl(bank-base + OMAP24XX_GPIO_CTRL);
 - ctrl = 0xFFFE;
 +
 + if (cpu_is_omap24xx() || cpu_is_omap34xx())
 + reg += OMAP24XX_GPIO_CTRL;
 + else if (cpu_is_omap44xx())
 + reg += OMAP4_GPIO_CTRL;
 + ctrl = __raw_readl(reg);
   /* Module is enabled, clocks are not gated */
 - __raw_writel(ctrl, bank-base + OMAP24XX_GPIO_CTRL);
 + ctrl = 0xFFFE;
 + __raw_writel(ctrl, reg);
   }
   bank-mod_usage |= 1  offset;
   }
 @@ -1226,22 +1247,34 @@ static void omap_gpio_free(struct gpio_chip *chip,
 unsigned offset)
   __raw_writel(1  offset, reg);
   }
  #endif
 -#ifdef CONFIG_ARCH_OMAP2PLUS
 - if ((bank-method == METHOD_GPIO_24XX) ||
 - (bank-method == METHOD_GPIO_44XX)) {
 +#if defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3)
 + if (bank-method == METHOD_GPIO_24XX) {
   /* Disable wake-up during idle for dynamic tick */
   void __iomem *reg = bank-base + OMAP24XX_GPIO_CLEARWKUENA;
   __raw_writel(1  offset, reg);
   }
  #endif
 +#ifdef CONFIG_ARCH_OMAP4
 + if (bank-method == METHOD_GPIO_44XX) {
 + /* Disable wake-up during idle for dynamic tick */
 + void __iomem *reg = bank-base + OMAP4_GPIO_IRQWAKEN0;
 + __raw_writel(1  offset, reg);
 + }
 +#endif
   if (!cpu_class_is_omap1()) {
   bank-mod_usage = ~(1  offset);
   if (!bank-mod_usage) {
 + void __iomem *reg = bank-base;
   u32 ctrl;
 - ctrl = __raw_readl(bank-base + OMAP24XX_GPIO_CTRL);
 +
 + if (cpu_is_omap24xx() || cpu_is_omap34xx())
 + reg += OMAP24XX_GPIO_CTRL;
 + else if (cpu_is_omap44xx())
 + reg += OMAP4_GPIO_CTRL;
 + ctrl = __raw_readl(reg);
   /* Module is disabled, clocks are gated */
   ctrl |= 1;
 - __raw_writel(ctrl, bank-base + 

Re: [PATCH 0/5] OMAP: RX51: Add LCD Panel Support for N900

2010-04-06 Thread Arnaud Ebalard
Hi Roger,

Roger Quadros roger.quad...@nokia.com writes:

 These patches get the N900 LCD panel working.
 Apply's cleanly on 2.6.34-rc2

 Pre-requisites:
 https://patchwork.kernel.org/patch/86318/
 https://patchwork.kernel.org/patch/86319/
 https://patchwork.kernel.org/patch/86320/

First, thanks for pushing the missing bits for N900 hardware support
upstream! I wanted to give your patches a try and test a l-o kernel on
my N900 (I know I won't have full hardware support ... at the moment).

Using current l-o tree with your 5 panel patches and the 3 you link on
patchwork, I initially ended up with a kernel panic in
omap3_onenand_write_bufferram() (i.e. unrelated to your patches).

With http://patchwork.ozlabs.org/patch/48337/ (mtd: OneNAND: OMAP3:
unmap correct DMA buffer), I am able to get the official Nokia
/sbin/preinit called: then, getbootstate reports a malfunction but
AFAICT, the panel is working ok.

If there are additional patches I should be aware of regarding N900
support, I am also interested.

Cheers,

a+
--
To unsubscribe from this list: send the line unsubscribe 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: USB on omap2430

2010-04-06 Thread Gadiyar, Anand
Felipe Balbi wrote:
 On Mon, Apr 05, 2010 at 07:32:06PM +0530, Viral Mehta wrote:
   After adding the above code, isp1301's probe is called but that fails
   before it does otg_set_transceiver()
   And I am debugging further on that path.
  
  ok, cool. When you get that done, please send a cleaned up
  diff with your signed-off-by line so it can be integrated.
  
  I continued debugging further. It fails during USB initialisation.
  More specifically, in omap_otg_init() function in arch/arm/plat-omap/usb.c
  It gives a crash dump on the first line itself
  syscon = omap_readl(OTG_SYSCON_1)  0x;
 
 without the crash itself, it's pretty difficult to help. It could even
 be just a missing clk_enable(). Although I believe that code shouldn't
 be running for 2430, only for 2420.
 
 Can you try the patch below:
 
  Apart from that, can I submit the 3 patches that we discussed earlier ?
  
 (http://www.mail-archive.com/linux-omap@vger.kernel.org/msg25932.html)
  These will not make FS USB functional on OMAP2430 but these changes are 
  anyway necessary.
 
 clean those patches first. And I'd like someone else with the 2430sdp
 board to test it before I add my SOB.

I dug up a 2430 board (VG5.0.1 - a later version than Viral's) , but
these patches don't work for me.

I also found the board schematics. Looks like there are different
versions of the 2430 SDP, each with different layouts and components
for the USBtransceivers. I believe there's no one-size fits all.

I think the best bet is to go with Viral's patch series, as long as they
work for him - don't think anyone else is using the 2430SDP these days.

We can fix up as and when required.

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


Re: [PATCH 0/5] OMAP: RX51: Add LCD Panel Support for N900

2010-04-06 Thread Roger Quadros

Hi,

ext Arnaud Ebalard wrote:

Hi Roger,

Roger Quadros roger.quad...@nokia.com writes:


These patches get the N900 LCD panel working.
Apply's cleanly on 2.6.34-rc2

Pre-requisites:
https://patchwork.kernel.org/patch/86318/
https://patchwork.kernel.org/patch/86319/
https://patchwork.kernel.org/patch/86320/


First, thanks for pushing the missing bits for N900 hardware support
upstream! I wanted to give your patches a try and test a l-o kernel on
my N900 (I know I won't have full hardware support ... at the moment).

Using current l-o tree with your 5 panel patches and the 3 you link on
patchwork, I initially ended up with a kernel panic in
omap3_onenand_write_bufferram() (i.e. unrelated to your patches).

With http://patchwork.ozlabs.org/patch/48337/ (mtd: OneNAND: OMAP3:
unmap correct DMA buffer), I am able to get the official Nokia
/sbin/preinit called: then, getbootstate reports a malfunction but
AFAICT, the panel is working ok.

The getbootstate malfunction is expected as there is no support for it yet in 
mainline. But you should get to shell without that.


You could hack the startup script to spawn a getty on ttyS2. This should get you 
to shell.


so in /sbin/preinit, in start_shell()

-/sbin/getty 115200 ttyS0 -n -l /bin/sh
+/sbin/getty 115200 ttyS2 -n -l /bin/sh

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


[PM-WIP-OPP][PATCH] OMAP3 PM: Fix issue with opp_find_freq_floor

2010-04-06 Thread Vishwanath BS
opp_find_freq_floor should return the lower enabled* OPP from a starting freq
from a start opp list. But current code returns next lower opp. This patch fixes
this issue.

Signed-off-by: Vishwanath BS vishwanath...@ti.com
---
diff --git a/arch/arm/plat-omap/opp.c b/arch/arm/plat-omap/opp.c
index bb8120e..13da451
--- a/arch/arm/plat-omap/opp.c
+++ b/arch/arm/plat-omap/opp.c
@@ -208,7 +208,7 @@ struct omap_opp *opp_find_freq_floor(enum opp_t opp_type, 
unsigned long *freq)
 
*freq = prev_opp-rate;
 
-   return oppl;
+   return prev_opp;
 }
 
 /* wrapper to reuse converting opp_def to opp struct */
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PM-WIP-OPP][PATCH] OMAP3630 PM: Update for OPP 1GHz

2010-04-06 Thread Vishwanath BS
It is found that system is not very stable with current 1GHz OPP configuration 
(a...@1g, i...@880m, v...@1.31v) and it has been recommended to 
use below configuration for stable 1GHz OPP. 
(a...@1g, i...@800m, v...@1.35v).

Signed-off-by: Vishwanath BS vishwanath...@ti.com
---
diff --git a/arch/arm/mach-omap2/cpufreq34xx.c 
b/arch/arm/mach-omap2/cpufreq34xx.c
index c453ec5..189c42e
--- a/arch/arm/mach-omap2/cpufreq34xx.c
+++ b/arch/arm/mach-omap2/cpufreq34xx.c
@@ -82,7 +82,7 @@ static struct omap_opp_def __initdata 
omap36xx_mpu_rate_table[] = {
/* OPP3 - OPP-Turbo */
OMAP_OPP_DEF(false, 8, 126),
/* OPP4 - OPP-SB */
-   OMAP_OPP_DEF(false, 10, 131),
+   OMAP_OPP_DEF(false, 10, 135),
/* Terminator */
OMAP_OPP_DEF(0, 0, 0)
 };
@@ -104,7 +104,7 @@ static struct omap_opp_def __initdata 
omap36xx_dsp_rate_table[] = {
/* OPP3 - OPP-Turbo */
OMAP_OPP_DEF(false, 66000, 126),
/* OPP4 - OPP-SB */
-   OMAP_OPP_DEF(false, 87500, 131),
+   OMAP_OPP_DEF(false, 8, 135),
/* Terminator */
OMAP_OPP_DEF(0, 0, 0)
 };
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 0/2] OMAP: Flash device support 3630 sdp board

2010-04-06 Thread Sukumar Ghorai
Sukumar Ghorai (2):
  OMAP3630SDP: Add support for Flash
  OMAP3630SDP: enable Flash device support

 arch/arm/mach-omap2/Makefile  |1 +
 arch/arm/mach-omap2/board-3630sdp.c   |  111 +
 arch/arm/mach-omap2/board-sdp-flash.c |2 +
 arch/arm/configs/omap_3630sdp_defconfig |   77 ++-


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


[PATCH 1/2] OMAP3630SDP: Add support for Flash

2010-04-06 Thread Sukumar Ghorai
Add support for NAND, OneNAND, NOR on OMAP 3630-sdp board.

Signed-off-by: Sukumar Ghorai s-gho...@ti.com
---
---
 arch/arm/mach-omap2/Makefile  |1 +
 arch/arm/mach-omap2/board-3630sdp.c   |  111 +
 arch/arm/mach-omap2/board-sdp-flash.c |2 +
 3 files changed, 114 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index 4b9fc57..0cf463c 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -133,6 +133,7 @@ obj-$(CONFIG_MACH_OMAP_ZOOM3)   += 
board-zoom3.o \
   board-zoom-debugboard.o
 obj-$(CONFIG_MACH_OMAP_3630SDP)+= board-3630sdp.o \
   board-zoom-peripherals.o \
+  board-sdp-flash.o \
   hsmmc.o
 obj-$(CONFIG_MACH_CM_T35)  += board-cm-t35.o \
   hsmmc.o
diff --git a/arch/arm/mach-omap2/board-3630sdp.c 
b/arch/arm/mach-omap2/board-3630sdp.c
index 504d2bd..a2ce116 100644
--- a/arch/arm/mach-omap2/board-3630sdp.c
+++ b/arch/arm/mach-omap2/board-3630sdp.c
@@ -22,9 +22,11 @@
 #include plat/usb.h
 
 #include mach/board-zoom.h
+#include mach/board-sdp.h
 
 #include mux.h
 #include sdram-hynix-h8mbx00u0mer-0em.h
+extern void sdp_flash_init(struct flash_partitions[]);
 
 #if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE)
 
@@ -93,12 +95,121 @@ static struct omap_board_mux board_mux[] __initdata = {
 #define board_mux  NULL
 #endif
 
+static struct mtd_partition sdp_nor_partitions[] = {
+   /* bootloader (U-Boot, etc) in first sector */
+   {
+   .name   = Bootloader-NOR,
+   .offset = 0,
+   .size   = SZ_256K,
+   .mask_flags = MTD_WRITEABLE, /* force read-only */
+   },
+   /* bootloader params in the next sector */
+   {
+   .name   = Params-NOR,
+   .offset = MTDPART_OFS_APPEND,
+   .size   = SZ_256K,
+   .mask_flags = 0,
+   },
+   /* kernel */
+   {
+   .name   = Kernel-NOR,
+   .offset = MTDPART_OFS_APPEND,
+   .size   = SZ_2M,
+   .mask_flags = 0
+   },
+   /* file system */
+   {
+   .name   = Filesystem-NOR,
+   .offset = MTDPART_OFS_APPEND,
+   .size   = MTDPART_SIZ_FULL,
+   .mask_flags = 0
+   }
+};
+
+static struct mtd_partition sdp_onenand_partitions[] = {
+   {
+   .name   = X-Loader-OneNAND,
+   .offset = 0,
+   .size   = 4 * (64 * 2048),
+   .mask_flags = MTD_WRITEABLE  /* force read-only */
+   },
+   {
+   .name   = U-Boot-OneNAND,
+   .offset = MTDPART_OFS_APPEND,
+   .size   = 2 * (64 * 2048),
+   .mask_flags = MTD_WRITEABLE  /* force read-only */
+   },
+   {
+   .name   = U-Boot Environment-OneNAND,
+   .offset = MTDPART_OFS_APPEND,
+   .size   = 1 * (64 * 2048),
+   },
+   {
+   .name   = Kernel-OneNAND,
+   .offset = MTDPART_OFS_APPEND,
+   .size   = 16 * (64 * 2048),
+   },
+   {
+   .name   = File System-OneNAND,
+   .offset = MTDPART_OFS_APPEND,
+   .size   = MTDPART_SIZ_FULL,
+   },
+};
+
+static struct mtd_partition sdp_nand_partitions[] = {
+   /* All the partition sizes are listed in terms of NAND block size */
+   {
+   .name   = X-Loader-NAND,
+   .offset = 0,
+   .size   = 4 * (64 * 2048),
+   .mask_flags = MTD_WRITEABLE,/* force read-only */
+   },
+   {
+   .name   = U-Boot-NAND,
+   .offset = MTDPART_OFS_APPEND,   /* Offset = 0x8 */
+   .size   = 10 * (64 * 2048),
+   .mask_flags = MTD_WRITEABLE,/* force read-only */
+   },
+   {
+   .name   = Boot Env-NAND,
+
+   .offset = MTDPART_OFS_APPEND,   /* Offset = 0x1c */
+   .size   = 6 * (64 * 2048),
+   },
+   {
+   .name   = Kernel-NAND,
+   .offset = MTDPART_OFS_APPEND,   /* Offset = 0x28 */
+   .size   = 40 * (64 * 2048),
+   },
+   {
+   .name   = File System - NAND,
+   .size   = MTDPART_SIZ_FULL,
+   .offset = MTDPART_OFS_APPEND,   /* Offset = 

[PATCH 2/2] OMAP3630SDP: enable Flash device support

2010-04-06 Thread Sukumar Ghorai
update config file to support for NAND, OneNAND, NOR on OMAP 3630-sdp board.

Signed-off-by: Sukumar Ghorai s-gho...@ti.com
---
---
 arch/arm/configs/omap_3630sdp_defconfig |   77 ++-
 1 files changed, 76 insertions(+), 1 deletions(-)

diff --git a/arch/arm/configs/omap_3630sdp_defconfig 
b/arch/arm/configs/omap_3630sdp_defconfig
index 609f348..a623927 100644
--- a/arch/arm/configs/omap_3630sdp_defconfig
+++ b/arch/arm/configs/omap_3630sdp_defconfig
@@ -461,7 +461,82 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
 # CONFIG_SYS_HYPERVISOR is not set
 CONFIG_CONNECTOR=y
 CONFIG_PROC_EVENTS=y
-# CONFIG_MTD is not set
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_TESTS is not set
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+# CONFIG_MTD_AR7_PARTS is not set
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_MTD_OOPS is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=y
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+CONFIG_MTD_CFI_INTELEXT=y
+# CONFIG_MTD_CFI_AMDSTD is not set
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+CONFIG_MTD_PHYSMAP=y
+# CONFIG_MTD_PHYSMAP_COMPAT is not set
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+# CONFIG_MTD_PLATRAM is not set
+
+CONFIG_MTD_NAND=y
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+# CONFIG_MTD_NAND_ECC_SMC is not set
+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
+# CONFIG_MTD_NAND_GPIO is not set
+CONFIG_MTD_NAND_OMAP2=y
+CONFIG_MTD_NAND_OMAP_PREFETCH=y
+# CONFIG_MTD_NAND_OMAP_PREFETCH_DMA is not set
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+# CONFIG_MTD_NAND_NANDSIM is not set
+# CONFIG_MTD_NAND_PLATFORM is not set
+# CONFIG_MTD_ALAUDA is not set
+CONFIG_MTD_ONENAND=y
+# CONFIG_MTD_ONENAND_VERIFY_WRITE is not set
+# CONFIG_MTD_ONENAND_GENERIC is not set
+CONFIG_MTD_ONENAND_OMAP2=y
+# CONFIG_MTD_ONENAND_OTP is not set
+# CONFIG_MTD_ONENAND_2X_PROGRAM is not set
+# CONFIG_MTD_ONENAND_SIM is not set
 # CONFIG_PARPORT is not set
 CONFIG_BLK_DEV=y
 # CONFIG_BLK_DEV_COW_COMMON is not set
-- 
1.5.4.7

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


Re: [PATCH 1/2] OMAP3630SDP: Add support for Flash

2010-04-06 Thread Vimal Singh
On Tue, Apr 6, 2010 at 5:59 PM, Sukumar Ghorai s-gho...@ti.com wrote:
 Add support for NAND, OneNAND, NOR on OMAP 3630-sdp board.

 Signed-off-by: Sukumar Ghorai s-gho...@ti.com
 ---

Feel free to add my acked-by:
Acked-by: Vimal Singh vimal.neww...@gmail.com

Regards,
Vimal
--
To unsubscribe from this list: send the line unsubscribe 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: [PATCHV3 1/2] OMAP3: Set MPU and IVA bypass Clock Divider

2010-04-06 Thread Sripathy, Vishwanath


 -Original Message-
 From: Premi, Sanjeev
 Sent: Monday, April 05, 2010 6:39 PM
 To: Sripathy, Vishwanath; Paul Walmsley
 Cc: linux-omap@vger.kernel.org
 Subject: RE: [PATCHV3 1/2] OMAP3: Set MPU and IVA bypass Clock Divider
 
  -Original Message-
  From: linux-omap-ow...@vger.kernel.org
  [mailto:linux-omap-ow...@vger.kernel.org] On Behalf Of
  Sripathy, Vishwanath
  Sent: Monday, April 05, 2010 5:23 PM
  To: Paul Walmsley
  Cc: linux-omap@vger.kernel.org
  Subject: RE: [PATCHV3 1/2] OMAP3: Set MPU and IVA bypass Clock Divider
 
 
 
   -Original Message-
   From: Paul Walmsley [mailto:p...@pwsan.com]
   Sent: Monday, April 05, 2010 4:44 PM
   To: Sripathy, Vishwanath
   Cc: linux-omap@vger.kernel.org
   Subject: RE: [PATCHV3 1/2] OMAP3: Set MPU and IVA bypass
  Clock Divider
  
   On Mon, 5 Apr 2010, Sripathy, Vishwanath wrote:
  
 -Original Message-
 From: Paul Walmsley [mailto:p...@pwsan.com]

 On Thu, 1 Apr 2010, Vishwanath BS wrote:

  diff --git a/arch/arm/mach-omap2/clock3xxx_data.c
  b/arch/arm/mach-
 omap2/clock3xxx_data.c
  index d5153b6..d8e57a6
  --- a/arch/arm/mach-omap2/clock3xxx_data.c
  +++ b/arch/arm/mach-omap2/clock3xxx_data.c
  @@ -3597,5 +3601,13 @@ int __init omap3xxx_clk_init(void)
  sdrc_ick_p = clk_get(NULL, sdrc_ick);
  arm_fck_p = clk_get(NULL, arm_fck);
 
  +   /* Set the bypass clock dividers for DPLL1 and DPLL2 */
  +   if (cpu_is_omap3630()) {
  +   clk_set_rate(dpll1_fck, 4/2);
  +   clk_set_rate(dpll2_fck, 4/2);
  +   } else {
  +   clk_set_rate(dpll1_fck, 33200/4);
  +   clk_set_rate(dpll2_fck, 33200/4);
  +   }

 This code is highly OPP-specific.  Why is this code needed here?
 Shouldn't the code in resource34xx.c be sufficient?
   
Code in resource34xx.c will be executed only when DVFS is
  executed.
However above code makes sure that initial values of Bypass clock
dividers are good. This will ensure that even if DVFS is disabled,
IVA/MPU are never overclocked when they enter bypass mode.
  
   My point is that you don't know how the bootloader has
  configured the
   system at the point when this code executes.  You don't
  know what voltage
   level VDD1 and VDD2 are at; you don't know what state the
  clock tree is
   in.  You only know this when you change OPPs.  And the
  selection of the
   OPP at startup is use-case dependent.
  
  May be I can move this code to init_opp?
 
 I have been trying to find a good place for the same myself. Though,
 my reason is different. The default kernel boots with the OPP3 for
 OMAP34xx; but when mpurate is used to set 720; I feel sometimes the
 boot may fail if the voltage isn't right.
I thought uboot would have set the right voltage while setting the MPU rate. 
Isn't that true?
 
 The voltage does stabilize when smartrelex reflex is initialized.
Why do you have dependency on SR for voltage stabilization? You can set the 
right voltage even w/o SR (via VP). SR is only for optimizing Voltage for a 
given OPP. 

Regards
Vishwa
 
 I was trying to move smartreflex above in the init sequence; after
 i2c has been initialized.
 
 Comments/ thoughts?
 
 Best regards,
 Sanjeev
 
 
   So as far as I can tell, this code shouldn't be there.  If
  you want to do
   something like this, then you should add some generic way
  (e.g., a kernel
   command line parameter) to set the VDD1 and VDD2 OPPs at boot.
  
  
   - Paul
  --
  To unsubscribe from this list: send the line unsubscribe
  linux-omap in
  the body of a message to majord...@vger.kernel.org
  More majordomo info at  http://vger.kernel.org/majordomo-info.html
 
--
To unsubscribe from this list: send the line unsubscribe 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] arm: omap1/2/3/4: convert clocksource to a platform_driver

2010-04-06 Thread Felipe Balbi

On Tue, Apr 06, 2010 at 04:43:52PM +0200, ext Kevin Hilman wrote:

so I achieved my goal, which was to convert *32k-sync timer* into a
platform_driver.


OK, then I misunderstood your goal.  Based on $SUBJECT, I thought
you were trying to create a generic clocksource driver.


ok, so it was my bad on the subject choice, maybe something like arm: 
omap1/2/3/4: convert 32k-sync timer driver into a platform_driver 
would've been better.



Sorry for the confusion,


np. Sorry for the bad $SUBJECT

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


Re: [PM-WIP-OPP][PATCH] OMAP3630 PM: Update for OPP 1GHz

2010-04-06 Thread Nishanth Menon

Sripathy, Vishwanath had written, on 04/06/2010 01:06 PM, the following:
It is found that system is not very stable with current 1GHz OPP configuration 
(a...@1g, i...@880m, v...@1.31v) and it has been recommended to 
use below configuration for stable 1GHz OPP. 
(a...@1g, i...@800m, v...@1.35v).


Signed-off-by: Vishwanath BS vishwanath...@ti.com
---
diff --git a/arch/arm/mach-omap2/cpufreq34xx.c 
b/arch/arm/mach-omap2/cpufreq34xx.c
index c453ec5..189c42e
--- a/arch/arm/mach-omap2/cpufreq34xx.c
+++ b/arch/arm/mach-omap2/cpufreq34xx.c
@@ -82,7 +82,7 @@ static struct omap_opp_def __initdata 
omap36xx_mpu_rate_table[] = {
/* OPP3 - OPP-Turbo */
OMAP_OPP_DEF(false, 8, 126),
/* OPP4 - OPP-SB */
-   OMAP_OPP_DEF(false, 10, 131),
+   OMAP_OPP_DEF(false, 10, 135),
/* Terminator */
OMAP_OPP_DEF(0, 0, 0)
 };
@@ -104,7 +104,7 @@ static struct omap_opp_def __initdata 
omap36xx_dsp_rate_table[] = {
/* OPP3 - OPP-Turbo */
OMAP_OPP_DEF(false, 66000, 126),
/* OPP4 - OPP-SB */
-   OMAP_OPP_DEF(false, 87500, 131),
+   OMAP_OPP_DEF(false, 8, 135),
/* Terminator */
OMAP_OPP_DEF(0, 0, 0)
 };


Acked-by: Nishanth Menon n...@ti.com

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


Re: [PATCHv2 0/3] OMAP: DSS2: Allow us to use SDI

2010-04-06 Thread Roger Quadros

hi Tomi,

Valkeinen Tomi (Nokia-D/Helsinki) wrote:

Hi,

On Wed, 2010-03-17 at 13:35 +0100, Quadros Roger (Nokia-D/Helsinki)
wrote:

SDI now makes use of vdds_sdi regulator supply.
DPI can now be disabled on systems that don't have it

changes since v1:
- Incorporated review comments
- no more omap3xx checks for regulator enable/disable in SDI
- Added Kconfig option to enable/disable DPI

Roger Quadros (3):
  OMAP: DSS2: Add Kconfig option for DPI display type
  OMAP: DSS2: Remove redundant enable/disable calls from SDI
  OMAP: DSS2: Use vdds_sdi regulator supply in SDI


I think this patch set looks ok. Thanks!

 Tomi

Ps. I took the liberty of removing an extra #include plat/cpu.h



What is the status of this patch set?
Is it supposed to go into your tree or Tony's tree?

cheers
-roger
--
To unsubscribe from this list: send the line unsubscribe 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: [PM-WIP-OPP][PATCH] OMAP3 PM: Fix issue with opp_find_freq_floor

2010-04-06 Thread Nishanth Menon

Sripathy, Vishwanath had written, on 04/06/2010 12:56 PM, the following:

opp_find_freq_floor should return the lower enabled* OPP from a starting freq
from a start opp list. But current code returns next lower opp. This patch fixes
this issue.

Signed-off-by: Vishwanath BS vishwanath...@ti.com
---
diff --git a/arch/arm/plat-omap/opp.c b/arch/arm/plat-omap/opp.c
index bb8120e..13da451
--- a/arch/arm/plat-omap/opp.c
+++ b/arch/arm/plat-omap/opp.c
@@ -208,7 +208,7 @@ struct omap_opp *opp_find_freq_floor(enum opp_t opp_type, 
unsigned long *freq)
 
 	*freq = prev_opp-rate;
 
-	return oppl;

+   return prev_opp;
 }
 
Thanks. yep. since we return *freq with the right rate, we should point 
also to the right opp.


Acked-by: Nishanth Menon n...@ti.com

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


RE: [PATCH v3] OMAP: Fix for bus width which improves SD card's peformance.

2010-04-06 Thread Madhusudhan


 -Original Message-
 From: Felipe Balbi [mailto:m...@felipebalbi.com]
 Sent: Tuesday, April 06, 2010 12:01 AM
 To: Madhusudhan
 Cc: m...@felipebalbi.com; 'kishore kadiyala'; 'Vimal Singh';
 t...@atomide.com; svenk...@ti.com; linux-omap@vger.kernel.org; linux-
 ker...@vger.kernel.org; jarkko.lavi...@nokia.com
 Subject: Re: [PATCH v3] OMAP: Fix for bus width which improves SD card's
 peformance.
 
 Hi,
 
 On Mon, Apr 05, 2010 at 12:19:29PM -0500, Madhusudhan wrote:
  Since the first if command already checks for the 8-bit the second check
  like = 4 is definitely not readable in my opinion.
 
 how come ???
 
  Functionally do you see anything wrong with this patch??
 
 functionally no, but (hypothetical situation) and if on
 omap4/5/6/whatever, omap controller supports a bigger bus width then
 you'll have to add a line like:
 
 + if (mmc_slot(host).wires == 16)
 + mmc-caps |= (MMC_CAP_16_BIT_DATA | MMC_CAP_8_BIT_DATA |
 + MMC_CAP_4_BIT_DATA);
 - if (mmc_slot(host).wires == 8)
 + else if (mmc_slot(host).wires == 8)
 
 do you see the problem ?? In my opinion it doesn't scale well.
 

The point we should note here is that MMC spec supports a max bus width of
8-bit. So anything beyond 8-bit is not in the picture as of today.

But, my bad on miss interpreting the snippet Felipe sent earlier.

if (mmc_slot(host).wires = 8)
mmc-caps |= MMC_CAP_8_BIT_DATA;
if (mmc_slot(host).wires = 4)
mmc-caps |= MMC_CAP_4_BIT_DATA;

I missed the fact that you removed the setting of 4-bit from the first
check.

I am okay with the above snippet as it is a trivial change that we are
trying to patch here which fixes an important issue.

Regards,
Madhu
 --
 balbi

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


Re: [PATCH v3] OMAP: Fix for bus width which improves SD card's peformance.

2010-04-06 Thread Felipe Balbi

On Tue, Apr 06, 2010 at 06:16:01PM +0200, ext Madhusudhan wrote:




-Original Message-
From: Felipe Balbi [mailto:m...@felipebalbi.com]
Sent: Tuesday, April 06, 2010 12:01 AM
To: Madhusudhan
Cc: m...@felipebalbi.com; 'kishore kadiyala'; 'Vimal Singh';
t...@atomide.com; svenk...@ti.com; linux-omap@vger.kernel.org; linux-
ker...@vger.kernel.org; jarkko.lavi...@nokia.com
Subject: Re: [PATCH v3] OMAP: Fix for bus width which improves SD card's
peformance.

Hi,

On Mon, Apr 05, 2010 at 12:19:29PM -0500, Madhusudhan wrote:
 Since the first if command already checks for the 8-bit the second check
 like = 4 is definitely not readable in my opinion.

how come ???

 Functionally do you see anything wrong with this patch??

functionally no, but (hypothetical situation) and if on
omap4/5/6/whatever, omap controller supports a bigger bus width then
you'll have to add a line like:

+   if (mmc_slot(host).wires == 16)
+   mmc-caps |= (MMC_CAP_16_BIT_DATA | MMC_CAP_8_BIT_DATA |
+   MMC_CAP_4_BIT_DATA);
-   if (mmc_slot(host).wires == 8)
+   else if (mmc_slot(host).wires == 8)

do you see the problem ?? In my opinion it doesn't scale well.



The point we should note here is that MMC spec supports a max bus width of
8-bit. So anything beyond 8-bit is not in the picture as of today.


in that case, the code could be:

WARN_ON(mmc_slot(host).wires  8);

if (mmc_slot(host).wires == 8)
mmc-caps |= MMC_CAP_8_BIT_DATA;
if (mmc_slot(host).wires = 4)
mmc-caps |= MMC_CAP_4_BIT_DATA;

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


RE: [PATCH 1/2] OMAP2/3 V4L2: Add support for OMAP2/3 V4L2 driver on top of DSS2

2010-04-06 Thread Hiremath, Vaibhav
 -Original Message-
 From: Muralidharan Karicheri [mailto:mkarich...@gmail.com]
 Sent: Saturday, April 03, 2010 1:33 AM
 To: Hiremath, Vaibhav
 Cc: linux-me...@vger.kernel.org; Karicheri, Muralidharan;
 mche...@redhat.com; linux-omap@vger.kernel.org; t...@atomide.com
 Subject: Re: [PATCH 1/2] OMAP2/3 V4L2: Add support for OMAP2/3 V4L2 driver
 on top of DSS2

 Vaibhav,

 I have some comments on this patch. Please address them.

[Hiremath, Vaibhav] Thanks Murali, I really appreciate your comments here. 
Please find response below -

  +
  +#include asm/processor.h

 Add a line here??

  +#include plat/dma.h
  +#include plat/vram.h
  +#include plat/vrfb.h
  +#include plat/display.h
  +
  +#include omap_voutlib.h
  +#include omap_voutdef.h
  +
  +MODULE_AUTHOR(Texas Instruments);
  +MODULE_DESCRIPTION(OMAP Video for Linux Video out driver);
  +MODULE_LICENSE(GPL);
  +
  +
  +/* Driver Configuration macros */
  +#define VOUT_NAME  omap_vout
  +
  +enum omap_vout_channels {
  +   OMAP_VIDEO1 = 0,
 Why do we have to initialize this to 0. It always start with a value 0
 by default.

  +   OMAP_VIDEO2,
  +};
  +
  +enum dma_channel_state {
  +   DMA_CHAN_NOT_ALLOTED = 0,

 Ditto.

  +   DMA_CHAN_ALLOTED,
  +};
  +
  +#define QQVGA_WIDTH160
  +#define QQVGA_HEIGHT   120
  +
  +/* Max Resolution supported by the driver */
  +#define VID_MAX_WIDTH  1280/* Largest width */
  +#define VID_MAX_HEIGHT 720 /* Largest height */
  +

 -

  +
  +module_param(debug, bool, S_IRUGO);
  +MODULE_PARM_DESC(debug, Debug level (0-1));
  +
  +/* Local Helper functions */
  +static void omap_vout_isr(void *arg, unsigned int irqstatus);
  +static void omap_vout_cleanup_device(struct omap_vout_device *vout);
  +

 Is there a reason why you need these prototypes? I think we could
 remove these prototypes and move the function ahead in the file before
 it is called.

[Hiremath, Vaibhav] Do you see any harm with this? I think its only 
implementation part. But still I will incorporate in next version.

  +/* list of image formats supported by OMAP2 video pipelines */
  +const static struct v4l2_fmtdesc omap_formats[] = {
  +   {
  +   /* Note:  V4L2 defines RGB565 as:
  +*
  +*  Byte 0Byte 1
  +*  g2 g1 g0 r4 r3 r2 r1 r0   b4 b3 b2 b1 b0 g5 g4 g3
  +*
  +* We interpret RGB565 as:
  +*
  +*  Byte 0Byte 1
  +*  g2 g1 g0 b4 b3 b2 b1 b0   r4 r3 r2 r1 r0 g5 g4 g3
  +*/
  +   .description = RGB565, le,
  +   .pixelformat = V4L2_PIX_FMT_RGB565,
  +   },
  +   {
  +   /* Note:  V4L2 defines RGB32 as: RGB-8-8-8-8  we use
  +*  this for RGB24 unpack mode, the last 8 bits are
 ignored
  +* */
  +   .description = RGB32, le,
  +   .pixelformat = V4L2_PIX_FMT_RGB32,
  +   },
  +   {
  +   /* Note:  V4L2 defines RGB24 as: RGB-8-8-8  we use
  +*this for RGB24 packed mode
  +*
  +*/
  +   .description = RGB24, le,
  +   .pixelformat = V4L2_PIX_FMT_RGB24,
  +   },
  +   {
  +   .description = YUYV (YUV 4:2:2), packed,
  +   .pixelformat = V4L2_PIX_FMT_YUYV,
  +   },
  +   {
  +   .description = UYVY, packed,
  +   .pixelformat = V4L2_PIX_FMT_UYVY,
  +   },
  +};
  +
  +#define NUM_OUTPUT_FORMATS (ARRAY_SIZE(omap_formats))
  +
  +/*
  + * Allocate buffers
  + */

 --

  +
  +/*
  + * omap_vout_uservirt_to_phys: This inline function is used to convert
 user
  + * space virtual address to physical address.
  + */
  +static u32 omap_vout_uservirt_to_phys(u32 virtp)
  +{
  +   unsigned long physp = 0;
  +   struct vm_area_struct *vma;
  +   struct mm_struct *mm = current-mm;
  +
  +   vma = find_vma(mm, virtp);
  +   /* For kernel direct-mapped memory, take the easy way */
  +   if (virtp = PAGE_OFFSET) {
  +   physp = virt_to_phys((void *) virtp);
  +   } else if (vma  (vma-vm_flags  VM_IO)
  +vma-vm_pgoff) {
  +   /* this will catch, kernel-allocated,
  +  mmaped-to-usermode addresses */
  +   physp = (vma-vm_pgoff  PAGE_SHIFT) + (virtp - vma-
 vm_start);
  +   } else {
  +   /* otherwise, use get_user_pages() for general userland
 pages */
  +   int res, nr_pages = 1;
  +   struct page *pages;
  +   down_read(current-mm-mmap_sem);
  +
  +   res = get_user_pages(current, current-mm, virtp,
 nr_pages,
  +   1, 0, pages, NULL);
  +   

RE: [PATCH] arm: Fix DEBUG_LL for omap zoom2/3

2010-04-06 Thread Aguirre, Sergio


 -Original Message-
 From: linux-omap-ow...@vger.kernel.org [mailto:linux-omap-
 ow...@vger.kernel.org] On Behalf Of Tony Lindgren
 Sent: Tuesday, March 23, 2010 10:27 AM
 To: Pais, Allen
 Cc: linux-arm-ker...@lists.infradead.org; linux-omap@vger.kernel.org;
 Pandita, Vikram
 Subject: Re: [PATCH] arm: Fix DEBUG_LL for omap zoom2/3
 
 * Pais, Allen allen.p...@ti.com [100322 22:42]:
   
 With this patch[DEBUG_LL + earlyprintk],
 I still haven't been able to boot the kernel.
 Is it working on your side.
   
 The commit am using is : a842b5f9ce70e1b738eabb4d719860070180ed1c
  
   I think you will also need the 3630 serial fixes series posted
   recently.
  
   I just merged those into omap-fixes-for-linus (and master)
   branch(es). Maybe give it a try with at commit
   b3c7740a120c8a7775cb63b4d094466da5c01692 + this patch?
 
Thanks, I'll pull in those fixes.
   I believe the mux errors are fixed. Have a look at
   http://dev.omapzoom.org/?p=manju/kernel-omap3-
 dev.git;a=commit;h=3499f5023ee90dc6ee3868a3147b87fe22a1d9b7
 
   Patch must have been missed some how.
 
 OK, we really should get fixes like that to mainline kernel ASAP
 to avoid duplicating the effort.

Hi,

Without doing cherry-pick of above patch url (that Allen mentioned),
there's an error when trying to get uart4_[i,f]ck clocks during
bootup.

Is this patch being pushed anywhere already? IMHO, at least it should be on 
omap-testing, but ideally on omap-fixes-for-linus branch.

What do you think?

Regards,
Sergio

 
 Then at least one issue remains for zoom3 to be usable..
 I'm getting tons of MMC errors trying to mount root on it:
 
 mmcblk1: error -110 transferring data, sector 2097024, nr 8, card status
 0x900
 end_request: I/O error, dev mmcblk1, sector 2097024
 ...
 
 Any ideas if that's fixed somewhere also?
 
 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
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3] OMAP: Fix for bus width which improves SD card's peformance.

2010-04-06 Thread Nishanth Menon

Felipe Balbi had written, on 04/06/2010 11:32 AM, the following:

On Tue, Apr 06, 2010 at 06:16:01PM +0200, ext Madhusudhan wrote:



-Original Message-
From: Felipe Balbi [mailto:m...@felipebalbi.com]
Sent: Tuesday, April 06, 2010 12:01 AM
To: Madhusudhan
Cc: m...@felipebalbi.com; 'kishore kadiyala'; 'Vimal Singh';
t...@atomide.com; svenk...@ti.com; linux-omap@vger.kernel.org; linux-
ker...@vger.kernel.org; jarkko.lavi...@nokia.com
Subject: Re: [PATCH v3] OMAP: Fix for bus width which improves SD card's
peformance.

Hi,

On Mon, Apr 05, 2010 at 12:19:29PM -0500, Madhusudhan wrote:

Since the first if command already checks for the 8-bit the second check
like = 4 is definitely not readable in my opinion.

how come ???


Functionally do you see anything wrong with this patch??

functionally no, but (hypothetical situation) and if on
omap4/5/6/whatever, omap controller supports a bigger bus width then
you'll have to add a line like:

+   if (mmc_slot(host).wires == 16)
+   mmc-caps |= (MMC_CAP_16_BIT_DATA | MMC_CAP_8_BIT_DATA |
+   MMC_CAP_4_BIT_DATA);
-   if (mmc_slot(host).wires == 8)
+   else if (mmc_slot(host).wires == 8)

do you see the problem ?? In my opinion it doesn't scale well.


The point we should note here is that MMC spec supports a max bus width of
8-bit. So anything beyond 8-bit is not in the picture as of today.


in that case, the code could be:

WARN_ON(mmc_slot(host).wires  8);

if (mmc_slot(host).wires == 8)
mmc-caps |= MMC_CAP_8_BIT_DATA;
if (mmc_slot(host).wires = 4)
mmc-caps |= MMC_CAP_4_BIT_DATA;

some reasons why i love switch statements ;) since I dont expect other 
than precisely 4 and 8 (do we expect 5,6,7 - i might be wrong).. but if 
it is so, wont the following be better?


switch (mmc_slot(host).wires)
{
case 8:
mmc-caps |= MMC_CAP_8_BIT_DATA;
/* fall thru*/
case 4:
mmc-caps |= MMC_CAP_4_BIT_DATA;
break;
default:
WARN(bad width);
}   
--
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


Re: [PATCH v3] OMAP: Fix for bus width which improves SD card's peformance.

2010-04-06 Thread Felipe Balbi

On Tue, Apr 06, 2010 at 06:55:03PM +0200, ext Nishanth Menon wrote:

some reasons why i love switch statements ;) since I dont expect other
than precisely 4 and 8 (do we expect 5,6,7 - i might be wrong).. but if
it is so, wont the following be better?

switch (mmc_slot(host).wires)
{
case 8:
mmc-caps |= MMC_CAP_8_BIT_DATA;
/* fall thru*/
case 4:
mmc-caps |= MMC_CAP_4_BIT_DATA;
break;
default:
WARN(bad width);
}


I like that, but I remember Madhu (or someone else) saying he thinks 
it's less readable this way. Go figure...


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


[PATCH 0/5] Initial change for merge of new board

2010-04-06 Thread Laine Walker-Avina
Hi all,

I'm beginning to merge some of the changes for my new board. These include:
   * Adding macros to compute the ACTIM values for the SDRAM timings, 
eliminating magic numbers. The original authors may want to verify their 
timings were converted correctly.
   * Adding the ability to use the clock API to select the divider for 
sys_clkout2
   * Making the GPRC timing API aware of the time-granularity flag

Let me know if there are any comments or questions.

Cheers,
Laine Walker-Avina
PASCO scientific



Laine Walker-Avina (5):
  OMAP: Add in helper macros for the SDRAM timings
  OMAP: Convert the sdram-*.h timings to use the SDRAM timing macros
  OMAP: Add SDRAM timings for Micron mt46h16m32lf-6
  OMAP: Add support for setting the divider for sys_clkout2 using
clk_set_rate
  OMAP: Make set_gpmc_timing_reg aware of the TIMEPARAGRANULARITY flag

 arch/arm/mach-omap2/clock3xxx_data.c   |1 +
 arch/arm/mach-omap2/gpmc.c |   14 +++-
 arch/arm/mach-omap2/sdram-hynix-h8mbx00u0mer-0em.h |   44 -
 arch/arm/mach-omap2/sdram-micron-mt46h16m32lf-6.h  |   67 
 arch/arm/mach-omap2/sdram-micron-mt46h32m32lf-6.h  |   44 -
 arch/arm/mach-omap2/sdram-numonyx-m65kam.h |   52 +--
 .../mach-omap2/sdram-qimonda-hyb18m512160af-6.h|   50 +--
 arch/arm/plat-omap/include/plat/sdrc.h |   23 +++
 8 files changed, 220 insertions(+), 75 deletions(-)
 create mode 100644 arch/arm/mach-omap2/sdram-micron-mt46h16m32lf-6.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/5] OMAP: Add in helper macros for the SDRAM timings

2010-04-06 Thread Laine Walker-Avina

Signed-off-by: Laine Walker-Avina lwalk...@ieee.org
---
 arch/arm/plat-omap/include/plat/sdrc.h |   23 +++
 1 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/arch/arm/plat-omap/include/plat/sdrc.h 
b/arch/arm/plat-omap/include/plat/sdrc.h
index 7b76f50..c74d1e7 100644
--- a/arch/arm/plat-omap/include/plat/sdrc.h
+++ b/arch/arm/plat-omap/include/plat/sdrc.h
@@ -124,6 +124,29 @@ struct omap_sdrc_params {
u32 mr;
 };
 
+/* Helper macros and defines for the omap_sdrc_params registers */
+#define ACTIM_TRFC(a)  (((a)  0x1f)27)
+#define ACTIM_TRC(a)   (((a)  0x1f)22)
+#define ACTIM_TRAS(a)  (((a)  0xf)18)
+#define ACTIM_TRP(a)   (((a)  0x3)15)
+#define ACTIM_TRCD(a)  (((a)  0x3)12)
+#define ACTIM_TRRD(a)  (((a)  0x3)9)
+#define ACTIM_TDPL(a)  (((a)  0x3)6)
+#define ACTIM_TDAL(a)  (((a)  0x1f)0)
+
+#define ACTIM_TWTR(a)  (((a)  0x3)16)
+#define ACTIM_TCKE(a)  (((a)  0x7)12)
+#define ACTIM_TXP(a)   (((a)  0x7)8)
+#define ACTIM_TXSR(a)  (((a)  0xff)0)
+
+#define RFR_CTRL_ARCV(a)   (((a)  0x)8)
+#define RFR_CTRL_ARE(a)(((a)  0x3)0)
+
+#define MR_WBST(a) (((a)  0x1)9)
+#define MR_CASL(a) (((a)  0x7)4)
+#define MR_BL(a)   (((a)  0x7)0)
+
+
 void __init omap2_sdrc_init(struct omap_sdrc_params *sdrc_cs0,
struct omap_sdrc_params *sdrc_cs1);
 int omap2_sdrc_get_params(unsigned long r,
-- 
1.6.3.3

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


[PATCH 2/5] OMAP: Convert the sdram-*.h timings to use the SDRAM timing macros

2010-04-06 Thread Laine Walker-Avina

Signed-off-by: Laine Walker-Avina lwalk...@ieee.org
---
 arch/arm/mach-omap2/sdram-hynix-h8mbx00u0mer-0em.h |   44 +++--
 arch/arm/mach-omap2/sdram-micron-mt46h32m32lf-6.h  |   44 +++--
 arch/arm/mach-omap2/sdram-numonyx-m65kam.h |   52 
 .../mach-omap2/sdram-qimonda-hyb18m512160af-6.h|   50 ---
 4 files changed, 119 insertions(+), 71 deletions(-)

diff --git a/arch/arm/mach-omap2/sdram-hynix-h8mbx00u0mer-0em.h 
b/arch/arm/mach-omap2/sdram-hynix-h8mbx00u0mer-0em.h
index 8bfaf34..2e6a606 100644
--- a/arch/arm/mach-omap2/sdram-hynix-h8mbx00u0mer-0em.h
+++ b/arch/arm/mach-omap2/sdram-hynix-h8mbx00u0mer-0em.h
@@ -17,31 +17,43 @@
 static struct omap_sdrc_params h8mbx00u0mer0em_sdrc_params[] = {
[0] = {
.rate= 2,
-   .actim_ctrla = 0xa2e1b4c6,
-   .actim_ctrlb = 0x0002131c,
-   .rfr_ctrl= 0x0005e601,
-   .mr  = 0x0032,
+   .actim_ctrla = ACTIM_TRFC(20) | ACTIM_TRC(11) | ACTIM_TRAS(8) |
+   ACTIM_TRP(3) | ACTIM_TRCD(3) | ACTIM_TRRD(2) | 
ACTIM_TDPL(3) |
+   ACTIM_TDAL(6),
+   .actim_ctrlb = ACTIM_TWTR(2) | ACTIM_TCKE(1) | ACTIM_TXP(3) |
+   ACTIM_TXSR(28),
+   .rfr_ctrl= RFR_CTRL_ARCV(1510) | RFR_CTRL_ARE(1),
+   .mr  = MR_WBST(0) | MR_CASL(3) | MR_BL(2),
},
[1] = {
.rate= 16600,
-   .actim_ctrla = 0x629db4c6,
-   .actim_ctrlb = 0x00012214,
-   .rfr_ctrl= 0x0004dc01,
-   .mr  = 0x0032,
+   .actim_ctrla = ACTIM_TRFC(12) | ACTIM_TRC(10) | ACTIM_TRAS(7) |
+   ACTIM_TRP(3) | ACTIM_TRCD(3) | ACTIM_TRRD(2) | 
ACTIM_TDPL(3) |
+   ACTIM_TDAL(6),
+   .actim_ctrlb = ACTIM_TWTR(1) | ACTIM_TCKE(2) | ACTIM_TXP(2) |
+   ACTIM_TXSR(20),
+   .rfr_ctrl= RFR_CTRL_ARCV(1244) | RFR_CTRL_ARE(1),
+   .mr  = MR_WBST(0) | MR_CASL(3) | MR_BL(2),
},
[2] = {
.rate= 1,
-   .actim_ctrla = 0x51912284,
-   .actim_ctrlb = 0x0002120e,
-   .rfr_ctrl= 0x0002d101,
-   .mr  = 0x0022,
+   .actim_ctrla = ACTIM_TRFC(10) | ACTIM_TRC(6) | ACTIM_TRAS(4) |
+   ACTIM_TRP(2) | ACTIM_TRCD(2) | ACTIM_TRRD(1) | 
ACTIM_TDPL(2) |
+   ACTIM_TDAL(4),
+   .actim_ctrlb = ACTIM_TWTR(2) | ACTIM_TCKE(1) | ACTIM_TXP(2) |
+   ACTIM_TXSR(14),
+   .rfr_ctrl= RFR_CTRL_ARCV(721) | RFR_CTRL_ARE(1),
+   .mr  = MR_WBST(0) | MR_CASL(2) | MR_BL(2),
},
[3] = {
.rate= 8300,
-   .actim_ctrla = 0x31512283,
-   .actim_ctrlb = 0x0001220a,
-   .rfr_ctrl= 0x00025501,
-   .mr  = 0x0022,
+   .actim_ctrla = ACTIM_TRFC(6) | ACTIM_TRC(5) | ACTIM_TRAS(4) |
+   ACTIM_TRP(2) | ACTIM_TRCD(2) | ACTIM_TRRD(1) | 
ACTIM_TDPL(2) |
+   ACTIM_TDAL(3),
+   .actim_ctrlb = ACTIM_TWTR(1) | ACTIM_TCKE(2) | ACTIM_TXP(2) |
+   ACTIM_TXSR(10),
+   .rfr_ctrl= RFR_CTRL_ARCV(597) | RFR_CTRL_ARE(1),
+   .mr  = MR_WBST(0) | MR_CASL(2) | MR_BL(2),
},
[4] = {
.rate= 0
diff --git a/arch/arm/mach-omap2/sdram-micron-mt46h32m32lf-6.h 
b/arch/arm/mach-omap2/sdram-micron-mt46h32m32lf-6.h
index a391b49..00accf2 100644
--- a/arch/arm/mach-omap2/sdram-micron-mt46h32m32lf-6.h
+++ b/arch/arm/mach-omap2/sdram-micron-mt46h32m32lf-6.h
@@ -21,31 +21,43 @@
 static struct omap_sdrc_params mt46h32m32lf6_sdrc_params[] = {
[0] = {
.rate= 16600,
-   .actim_ctrla = 0x9a9db4c6,
-   .actim_ctrlb = 0x00011217,
-   .rfr_ctrl= 0x0004dc01,
-   .mr  = 0x0032,
+   .actim_ctrla = ACTIM_TRFC(19) | ACTIM_TRC(10) | ACTIM_TRAS(7) |
+   ACTIM_TRP(3) | ACTIM_TRCD(3) | ACTIM_TRRD(2) | 
ACTIM_TDPL(3) |
+   ACTIM_TDAL(6),
+   .actim_ctrlb = ACTIM_TWTR(1) | ACTIM_TCKE(1) | ACTIM_TXP(2) |
+   ACTIM_TXSR(23),
+   .rfr_ctrl= RFR_CTRL_ARCV(1244) | RFR_CTRL_ARE(1),
+   .mr  = MR_WBST(0) | MR_CASL(3) | MR_BL(2),
},
[1] = {
.rate= 165941176,
-   .actim_ctrla = 0x9a9db4c6,
-   .actim_ctrlb = 0x00011217,
-   .rfr_ctrl= 0x0004dc01,
-   .mr  = 0x0032,
+   .actim_ctrla = ACTIM_TRFC(19) | ACTIM_TRC(10) | ACTIM_TRAS(7) |
+

[PATCH 3/5] OMAP: Add SDRAM timings for Micron mt46h16m32lf-6

2010-04-06 Thread Laine Walker-Avina

Signed-off-by: Laine Walker-Avina lwalk...@ieee.org
---
 arch/arm/mach-omap2/sdram-micron-mt46h16m32lf-6.h |   67 +
 1 files changed, 67 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/mach-omap2/sdram-micron-mt46h16m32lf-6.h

diff --git a/arch/arm/mach-omap2/sdram-micron-mt46h16m32lf-6.h 
b/arch/arm/mach-omap2/sdram-micron-mt46h16m32lf-6.h
new file mode 100644
index 000..5e7c3e8
--- /dev/null
+++ b/arch/arm/mach-omap2/sdram-micron-mt46h16m32lf-6.h
@@ -0,0 +1,67 @@
+/*
+ * SDRC register values for the Micron MT46H16M32LF-6
+ *
+ * Copyright (C) 2010 PASCO scientifc
+ *
+ * Laine Walker-Avina
+ *
+ * Based on the file for the Micron MT46H32M32LF-6 by Paul Walmsley
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#ifndef ARCH_ARM_MACH_OMAP2_SDRAM_MICRON_MT46H16M32LF
+#define ARCH_ARM_MACH_OMAP2_SDRAM_MICRON_MT46H16M32LF
+
+#include plat/sdrc.h
+
+/* Micron MT46H16M32LF-6 */
+static struct omap_sdrc_params mt46h16m32lf6_sdrc_params[] = {
+   [0] = {
+   .rate= 16600,
+   .actim_ctrla = ACTIM_TRFC(17) | ACTIM_TRC(10) | ACTIM_TRAS(7) |
+   ACTIM_TRP(3) | ACTIM_TRCD(3) | ACTIM_TRRD(2) | 
ACTIM_TDPL(3) |
+   ACTIM_TDAL(6),
+   .actim_ctrlb = ACTIM_TWTR(2) | ACTIM_TCKE(1) | ACTIM_TXP(1) |
+   ACTIM_TXSR(20),
+   .rfr_ctrl= RFR_CTRL_ARCV(1244) | RFR_CTRL_ARE(1),
+   .mr  = MR_WBST(0) | MR_CASL(3) | MR_BL(2),
+   },
+   [1] = {
+   .rate= 165941176,
+   .actim_ctrla = ACTIM_TRFC(17) | ACTIM_TRC(10) | ACTIM_TRAS(7) |
+   ACTIM_TRP(3)   | ACTIM_TRCD(3) | ACTIM_TRRD(2) | 
ACTIM_TDPL(3) |
+   ACTIM_TDAL(6),
+   .actim_ctrlb = ACTIM_TWTR(2)  | ACTIM_TCKE(1) | ACTIM_TXP(1) |
+   ACTIM_TXSR(20),
+   .rfr_ctrl= RFR_CTRL_ARCV(1244) | RFR_CTRL_ARE(1),
+   .mr  = MR_WBST(0) | MR_CASL(3) | MR_BL(2),
+   },
+   [2] = {
+   .rate= 8300,
+   .actim_ctrla = ACTIM_TRFC(9) | ACTIM_TRC(5) | ACTIM_TRAS(4) |
+   ACTIM_TRP(2) | ACTIM_TRCD(2) | ACTIM_TRRD(1) | 
ACTIM_TDPL(2) |
+   ACTIM_TDAL(3),
+   .actim_ctrlb = ACTIM_TWTR(1) | ACTIM_TCKE(1) | ACTIM_TXP(1) |
+   ACTIM_TXSR(10),
+   .rfr_ctrl= RFR_CTRL_ARCV(597) | RFR_CTRL_ARE(1),
+   .mr  = MR_WBST(0) | MR_CASL(3) | MR_BL(2),
+   },
+   [3] = {
+   .rate= 82970588,
+   .actim_ctrla = ACTIM_TRFC(10) | ACTIM_TRC(5) | ACTIM_TRAS(4) |
+   ACTIM_TRP(2) | ACTIM_TRCD(2) | ACTIM_TRRD(1) | 
ACTIM_TDPL(2) |
+   ACTIM_TDAL(3),
+   .actim_ctrlb = ACTIM_TWTR(1) | ACTIM_TCKE(1) | ACTIM_TXP(2) |
+   ACTIM_TXSR(12),
+   .rfr_ctrl= RFR_CTRL_ARCV(597) | RFR_CTRL_ARE(1),
+   .mr  = MR_WBST(0) | MR_CASL(3) | MR_BL(2),
+   },
+   [4] = {
+   .rate= 0
+   },
+};
+
+#endif
-- 
1.6.3.3

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


[PATCH 4/5] OMAP: Add support for setting the divider for sys_clkout2 using clk_set_rate

2010-04-06 Thread Laine Walker-Avina

Signed-off-by: Laine Walker-Avina lwalk...@ieee.org
---
 arch/arm/mach-omap2/clock3xxx_data.c |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/clock3xxx_data.c 
b/arch/arm/mach-omap2/clock3xxx_data.c
index d5153b6..2a62779 100644
--- a/arch/arm/mach-omap2/clock3xxx_data.c
+++ b/arch/arm/mach-omap2/clock3xxx_data.c
@@ -,6 +,7 @@ static struct clk sys_clkout2 = {
.clksel_mask= OMAP3430_CLKOUT2_DIV_MASK,
.clksel = sys_clkout2_clksel,
.recalc = omap2_clksel_recalc,
+   .set_rate   = omap2_clksel_set_rate,
 };
 
 /* CM OUTPUT CLOCKS */
-- 
1.6.3.3

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


[PATCH 5/5] OMAP: Make set_gpmc_timing_reg aware of the TIMEPARAGRANULARITY flag

2010-04-06 Thread Laine Walker-Avina

Signed-off-by: Laine Walker-Avina lwalk...@ieee.org
---
 arch/arm/mach-omap2/gpmc.c |   14 ++
 1 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c
index 5bc3ca0..9fa80e3 100644
--- a/arch/arm/mach-omap2/gpmc.c
+++ b/arch/arm/mach-omap2/gpmc.c
@@ -171,12 +171,15 @@ static int set_gpmc_timing_reg(int cs, int reg, int 
st_bit, int end_bit,
 #endif
 {
u32 l;
-   int ticks, mask, nr_bits;
+   int ticks, mask, nr_bits, para_gran;
+
+   para_gran = (gpmc_cs_read_reg(cs, GPMC_CS_CONFIG1) 
+   GPMC_CONFIG1_TIME_PARA_GRAN ? 2 : 1);
 
if (time == 0)
ticks = 0;
else
-   ticks = gpmc_ns_to_ticks(time);
+   ticks = gpmc_ns_to_ticks(time/para_gran);
nr_bits = end_bit - st_bit + 1;
if (ticks = 1  nr_bits) {
 #ifdef DEBUG
@@ -191,8 +194,8 @@ static int set_gpmc_timing_reg(int cs, int reg, int st_bit, 
int end_bit,
 #ifdef DEBUG
printk(KERN_INFO
GPMC CS%d: %-10s: %3d ticks, %3lu ns (was %3i ticks) %3d ns\n,
-  cs, name, ticks, gpmc_get_fclk_period() * ticks / 1000,
-   (l  st_bit)  mask, time);
+  cs, name, ticks, gpmc_get_fclk_period() * para_gran *
+  ticks / 1000, (l  st_bit)  mask, time);
 #endif
l = ~(mask  st_bit);
l |= ticks  st_bit;
@@ -231,6 +234,9 @@ int gpmc_cs_set_timings(int cs, const struct gpmc_timings 
*t)
 {
int div;
u32 l;
+#ifdef DEBUG
+   printk(KERN_INFO GPMC_FCLK: %ld\n, gpmc_get_fclk_period());
+#endif
 
div = gpmc_cs_calc_divider(cs, t-sync_clk);
if (div  0)
-- 
1.6.3.3

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


Re: [PATCH 1/5] OMAP: Add in helper macros for the SDRAM timings

2010-04-06 Thread Felipe Balbi

On Tue, Apr 06, 2010 at 06:51:04PM +0200, ext Laine Walker-Avina wrote:


Signed-off-by: Laine Walker-Avina lwalk...@ieee.org
---
arch/arm/plat-omap/include/plat/sdrc.h |   23 +++
1 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/arch/arm/plat-omap/include/plat/sdrc.h 
b/arch/arm/plat-omap/include/plat/sdrc.h
index 7b76f50..c74d1e7 100644
--- a/arch/arm/plat-omap/include/plat/sdrc.h
+++ b/arch/arm/plat-omap/include/plat/sdrc.h
@@ -124,6 +124,29 @@ struct omap_sdrc_params {
u32 mr;
};

+/* Helper macros and defines for the omap_sdrc_params registers */
+#define ACTIM_TRFC(a)  (((a)  0x1f)27)


you need to add more spacing in all these macros, something like:

#define ACTIM_TRFC(a)   (((a)  0x1f)  27)

similar to all others.

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


Re: [PATCH 1/5] OMAP: Add in helper macros for the SDRAM timings

2010-04-06 Thread Laine Walker-Avina
On Tue, Apr 6, 2010 at 10:17 AM, Felipe Balbi felipe.ba...@nokia.com wrote:
 +/* Helper macros and defines for the omap_sdrc_params registers */
 +#define ACTIM_TRFC(a)          (((a)  0x1f)27)

 you need to add more spacing in all these macros, something like:

 #define ACTIM_TRFC(a)           (((a)  0x1f)  27)

 similar to all others.

 --
 balbi


I'll do it, however checkpatch.pl didn't flag that as a warning.
-- 
Laine Walker-Avina
Firmware Engineer
PASCO scientific
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/5] OMAP: Add in helper macros for the SDRAM timings

2010-04-06 Thread Felipe Balbi

On Tue, Apr 06, 2010 at 07:26:48PM +0200, ext Laine Walker-Avina wrote:

I'll do it, however checkpatch.pl didn't flag that as a warning.


I guess you need to call it with --strict :-)

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


[PATCH v2 1/5] OMAP: Add in helper macros for the SDRAM timings

2010-04-06 Thread Laine Walker-Avina
Signed-off-by: Laine Walker-Avina lwalk...@ieee.org
---
 arch/arm/plat-omap/include/plat/sdrc.h |   23 +++
 1 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/arch/arm/plat-omap/include/plat/sdrc.h 
b/arch/arm/plat-omap/include/plat/sdrc.h
index 7b76f50..c74d1e7 100644
--- a/arch/arm/plat-omap/include/plat/sdrc.h
+++ b/arch/arm/plat-omap/include/plat/sdrc.h
@@ -124,6 +124,29 @@ struct omap_sdrc_params {
u32 mr;
 };
 
+/* Helper macros and defines for the omap_sdrc_params registers */
+#define ACTIM_TRFC(a)  (((a)  0x1f)  27)
+#define ACTIM_TRC(a)   (((a)  0x1f)  22)
+#define ACTIM_TRAS(a)  (((a)  0xf)  18)
+#define ACTIM_TRP(a)   (((a)  0x3)  15)
+#define ACTIM_TRCD(a)  (((a)  0x3)  12)
+#define ACTIM_TRRD(a)  (((a)  0x3)  9)
+#define ACTIM_TDPL(a)  (((a)  0x3)  6)
+#define ACTIM_TDAL(a)  (((a)  0x1f)  0)
+
+#define ACTIM_TWTR(a)  (((a)  0x3)  16)
+#define ACTIM_TCKE(a)  (((a)  0x7)  12)
+#define ACTIM_TXP(a)   (((a)  0x7)  8)
+#define ACTIM_TXSR(a)  (((a)  0xff)  0)
+
+#define RFR_CTRL_ARCV(a)   (((a)  0x)  8)
+#define RFR_CTRL_ARE(a)(((a)  0x3)  0)
+
+#define MR_WBST(a) (((a)  0x1)  9)
+#define MR_CASL(a) (((a)  0x7)  4)
+#define MR_BL(a)   (((a)  0x7)  0)
+
+
 void __init omap2_sdrc_init(struct omap_sdrc_params *sdrc_cs0,
struct omap_sdrc_params *sdrc_cs1);
 int omap2_sdrc_get_params(unsigned long r,
-- 
1.6.3.3

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


[PATCH 0/3] DSPBRIDGE: Cleanup hw directory and module parameter

2010-04-06 Thread Guzman Lugo, Fernando
From 4fb9fc015cea65dcd47172a8b180f380fe86be46 Mon Sep 17 00:00:00 2001
From: Fernando Guzman Lugo x0095...@ti.com
Date: Tue, 30 Mar 2010 22:03:27 -0600
Subject: [PATCH] DSPBRIDGE: Cleanup hw directory and module parameter

This patches does a clenaup of unused module paremeters and
also a clenaup in hw directory.

Fernando Guzman Lugo (3):
  DSPBRIDGE: remove unused module parameters
  DSPBRIDGE: remove HW_DSPSS_BootModeSet function
  DSPBRIDGE: remove hw_prcm module and related functions

 arch/arm/mach-omap2/dspbridge.c|9 +-
 arch/arm/plat-omap/include/dspbridge/cfgdefs.h |2 -
 arch/arm/plat-omap/include/dspbridge/host_os.h |8 +
 drivers/dsp/bridge/Makefile|2 +-
 drivers/dsp/bridge/hw/IPIAccInt.h  |   26 -
 drivers/dsp/bridge/hw/IVA2RegAcM.h |   26 -
 drivers/dsp/bridge/hw/PRCMAccInt.h |  303 
 drivers/dsp/bridge/hw/PRCMRegAcM.h |  615 
 drivers/dsp/bridge/hw/hw_dspssC64P.c   |   47 --
 drivers/dsp/bridge/hw/hw_dspssC64P.h   |   37 --
 drivers/dsp/bridge/hw/hw_prcm.c|  161 --
 drivers/dsp/bridge/hw/hw_prcm.h|  156 --
 drivers/dsp/bridge/rmgr/drv.c  |   14 -
 drivers/dsp/bridge/rmgr/drv_interface.c|   24 +-
 drivers/dsp/bridge/wmd/_tiomap.h   |4 +
 drivers/dsp/bridge/wmd/tiomap3430.c|  176 +++-
 drivers/dsp/bridge/wmd/tiomap3430_pwr.c|   57 +--
 drivers/dsp/bridge/wmd/tiomap_io.c |   15 +-
 18 files changed, 116 insertions(+), 1566 deletions(-)
 delete mode 100644 drivers/dsp/bridge/hw/IPIAccInt.h
 delete mode 100644 drivers/dsp/bridge/hw/IVA2RegAcM.h
 delete mode 100644 drivers/dsp/bridge/hw/PRCMAccInt.h
 delete mode 100644 drivers/dsp/bridge/hw/PRCMRegAcM.h
 delete mode 100644 drivers/dsp/bridge/hw/hw_dspssC64P.c
 delete mode 100644 drivers/dsp/bridge/hw/hw_dspssC64P.h
 delete mode 100644 drivers/dsp/bridge/hw/hw_prcm.c
 delete mode 100644 drivers/dsp/bridge/hw/hw_prcm.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/3] DSPBRIDGE: remove unused module parameters

2010-04-06 Thread Guzman Lugo, Fernando
From 0923c8f7c0cca3a2d308d673092adcc4de74088b Mon Sep 17 00:00:00 2001
From: Fernando Guzman Lugo x0095...@ti.com
Date: Sat, 27 Mar 2010 02:01:20 -0600
Subject: [PATCH] DSPBRIDGE: remove unused module parameters

This patch removes unused module parameters:
-phys_mempool_base
-phys_mempool_base

Signed-off-by: Fernando Guzman Lugo x0095...@ti.com
---
 drivers/dsp/bridge/rmgr/drv_interface.c |   24 +++-
 1 files changed, 3 insertions(+), 21 deletions(-)

diff --git a/drivers/dsp/bridge/rmgr/drv_interface.c 
b/drivers/dsp/bridge/rmgr/drv_interface.c
index 5f01ab9..3d22f8c 100644
--- a/drivers/dsp/bridge/rmgr/drv_interface.c
+++ b/drivers/dsp/bridge/rmgr/drv_interface.c
@@ -88,8 +88,6 @@ static s32 driver_major;
 static char *base_img;
 char *iva_img;
 static s32 shm_size = 0x50;/* 5 MB */
-static u32 phys_mempool_base;
-static u32 phys_mempool_size;
 static int tc_wordswapon;  /* Default value is always false */
 #ifdef CONFIG_BRIDGE_RECOVERY
 #define REC_TIMEOUT 5000   /*recovery timeout in msecs */
@@ -133,13 +131,6 @@ MODULE_PARM_DESC(base_img, DSP base image, default = 
NULL);
 module_param(shm_size, int, 0);
 MODULE_PARM_DESC(shm_size, shm size, default = 4 MB, minimum = 64 KB);
 
-module_param(phys_mempool_base, uint, 0);
-MODULE_PARM_DESC(phys_mempool_base,
-Physical memory pool base passed to driver);
-
-module_param(phys_mempool_size, uint, 0);
-MODULE_PARM_DESC(phys_mempool_size,
-Physical memory pool size passed to driver);
 module_param(tc_wordswapon, int, 0);
 MODULE_PARM_DESC(tc_wordswapon, TC Word Swap Option. default = 0);
 
@@ -316,18 +307,9 @@ static int __devinit omap34_xx_bridge_probe(struct 
platform_device *pdev)
}
dev_dbg(bridge, %s: requested shm_size = 0x%x\n, __func__, shm_size);
 
-   if (pdata-phys_mempool_base  pdata-phys_mempool_size) {
-   phys_mempool_base = pdata-phys_mempool_base;
-   phys_mempool_size = pdata-phys_mempool_size;
-   }
-
-   dev_dbg(bridge, %s: phys_mempool_base = 0x%x \n, __func__,
-   phys_mempool_base);
-
-   dev_dbg(bridge, %s: phys_mempool_size = 0x%x\n, __func__,
-   phys_mempool_base);
-   if ((phys_mempool_base  0x0)  (phys_mempool_size  0x0))
-   mem_ext_phys_pool_init(phys_mempool_base, phys_mempool_size);
+   if ((pdata-phys_mempool_base  0)  (pdata-phys_mempool_size  0))
+   mem_ext_phys_pool_init(pdata-phys_mempool_base,
+   pdata-phys_mempool_size);
if (tc_wordswapon) {
dev_dbg(bridge, %s: TC Word Swap is enabled\n, __func__);
reg_set_value(TCWORDSWAP, (u8 *) tc_wordswapon,
-- 
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


[PATCH 2/3] DSPBRIDGE: remove HW_DSPSS_BootModeSet function

2010-04-06 Thread Guzman Lugo, Fernando
From 4cc1e01fbd78fcf8084b75566a750a3c88fc5dc6 Mon Sep 17 00:00:00 2001
From: Fernando Guzman Lugo x0095...@ti.com
Date: Sat, 27 Mar 2010 21:22:29 -0600
Subject: [PATCH] DSPBRIDGE: remove HW_DSPSS_BootModeSet function

This patch removes HW_DSPSS_BootModeSet function and uses
kernel functions instead, also remove all the files related.

Signed-off-by: Fernando Guzman Lugo x0095...@ti.com
---
 drivers/dsp/bridge/Makefile |2 +-
 drivers/dsp/bridge/hw/IPIAccInt.h   |   26 -
 drivers/dsp/bridge/hw/IVA2RegAcM.h  |   26 -
 drivers/dsp/bridge/hw/hw_dspssC64P.c|   47 ---
 drivers/dsp/bridge/hw/hw_dspssC64P.h|   37 
 drivers/dsp/bridge/wmd/tiomap3430.c |   27 +++--
 drivers/dsp/bridge/wmd/tiomap3430_pwr.c |1 -
 7 files changed, 12 insertions(+), 154 deletions(-)
 delete mode 100644 drivers/dsp/bridge/hw/IPIAccInt.h
 delete mode 100644 drivers/dsp/bridge/hw/IVA2RegAcM.h
 delete mode 100644 drivers/dsp/bridge/hw/hw_dspssC64P.c
 delete mode 100644 drivers/dsp/bridge/hw/hw_dspssC64P.h

diff --git a/drivers/dsp/bridge/Makefile b/drivers/dsp/bridge/Makefile
index ce85ba6..1350362 100644
--- a/drivers/dsp/bridge/Makefile
+++ b/drivers/dsp/bridge/Makefile
@@ -15,7 +15,7 @@ librmgr = rmgr/dbdcd.o rmgr/disp.o rmgr/drv.o rmgr/mgr.o 
rmgr/node.o \
rmgr/nldr.o rmgr/drv_interface.o
 libdload = dynload/cload.o dynload/getsection.o dynload/reloc.o \
 dynload/tramp.o
-libhw = hw/hw_prcm.o hw/hw_dspssC64P.o hw/hw_mmu.o
+libhw = hw/hw_prcm.o hw/hw_mmu.o
 
 bridgedriver-objs = $(libgen) $(libservices) $(libwmd) $(libpmgr) $(librmgr) \
$(libdload) $(libhw)
diff --git a/drivers/dsp/bridge/hw/IPIAccInt.h 
b/drivers/dsp/bridge/hw/IPIAccInt.h
deleted file mode 100644
index 644fd0d..000
--- a/drivers/dsp/bridge/hw/IPIAccInt.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * IPIAccInt.h
- *
- * DSP-BIOS Bridge driver support functions for TI OMAP processors.
- *
- * Copyright (C) 2005-2006 Texas Instruments, Inc.
- *
- * This package 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 PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#ifndef _IPI_ACC_INT_H
-#define _IPI_ACC_INT_H
-
-/* Bitfield mask and offset declarations */
-#define SYSC_IVA2BOOTMOD_OFFSET   0x404
-#define SYSC_IVA2BOOTADDR_OFFSET0x400
-#define SYSC_IVA2BOOTADDR_MASK 0xfc00
-
-#endif /* _IPI_ACC_INT_H */
-/* EOF */
diff --git a/drivers/dsp/bridge/hw/IVA2RegAcM.h 
b/drivers/dsp/bridge/hw/IVA2RegAcM.h
deleted file mode 100644
index 181374f..000
--- a/drivers/dsp/bridge/hw/IVA2RegAcM.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * IVA1RegAcM.h
- *
- * DSP-BIOS Bridge driver support functions for TI OMAP processors.
- *
- * Copyright (C) 2005-2006 Texas Instruments, Inc.
- *
- * This package 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 PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#ifndef _IVA2_REG_ACM_H
-#define _IVA2_REG_ACM_H
-
-#include GlobalTypes.h
-#include EasiGlobal.h
-
-#define SYSC_IVA2BOOTMOD_OFFSET0x404
-#define SYSC_IVA2BOOTADDR_OFFSET   0x400
-
-#endif
diff --git a/drivers/dsp/bridge/hw/hw_dspssC64P.c 
b/drivers/dsp/bridge/hw/hw_dspssC64P.c
deleted file mode 100644
index 89e9316..000
--- a/drivers/dsp/bridge/hw/hw_dspssC64P.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * hw_dspss64P.c
- *
- * DSP-BIOS Bridge driver support functions for TI OMAP processors.
- *
- * API definitions to configure DSP Subsystem modules like IPI
- *
- * Copyright (C) 2005-2006 Texas Instruments, Inc.
- *
- * This package 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 PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-/* PROJECT SPECIFIC INCLUDE FILES */
-#include GlobalTypes.h
-#include linux/io.h
-#include hw_defs.h
-#include hw_dspssC64P.h
-#include IVA2RegAcM.h
-#include IPIAccInt.h
-
-/* HW FUNCTIONS */
-hw_status hw_dspss_boot_mode_set(const void __iomem *baseAddress,
-enum hw_dspsysc_boot_mode_t bootMode,
-

RE: [PATCH 1/2] OMAP2/3 V4L2: Add support for OMAP2/3 V4L2 driver on top of DSS2

2010-04-06 Thread Karicheri, Muralidharan

Vaibhav,


[Hiremath, Vaibhav] Thanks Murali, I really appreciate your comments here.
Please find response below -

You had responded only to some comments. Can I assume that you are taking care 
of the other comments as well? I have also asked Hans to provide
his comments since this is a new driver that he might have to approve. Did he 
review the code in the past?

-Murali

  +
  +#include asm/processor.h

 Add a line here??

  +#include plat/dma.h
  +#include plat/vram.h
  +#include plat/vrfb.h
  +#include plat/display.h
  +
  +#include omap_voutlib.h
  +#include omap_voutdef.h
  +
  +MODULE_AUTHOR(Texas Instruments);
  +MODULE_DESCRIPTION(OMAP Video for Linux Video out driver);
  +MODULE_LICENSE(GPL);
  +
  +
  +/* Driver Configuration macros */
  +#define VOUT_NAME  omap_vout
  +
  +enum omap_vout_channels {
  +   OMAP_VIDEO1 = 0,
 Why do we have to initialize this to 0. It always start with a value 0
 by default.

  +   OMAP_VIDEO2,
  +};
  +
  +enum dma_channel_state {
  +   DMA_CHAN_NOT_ALLOTED = 0,

 Ditto.

  +   DMA_CHAN_ALLOTED,
  +};
  +
  +#define QQVGA_WIDTH160
  +#define QQVGA_HEIGHT   120
  +
  +/* Max Resolution supported by the driver */
  +#define VID_MAX_WIDTH  1280/* Largest width */
  +#define VID_MAX_HEIGHT 720 /* Largest height */
  +

 -

  +
  +module_param(debug, bool, S_IRUGO);
  +MODULE_PARM_DESC(debug, Debug level (0-1));
  +
  +/* Local Helper functions */
  +static void omap_vout_isr(void *arg, unsigned int irqstatus);
  +static void omap_vout_cleanup_device(struct omap_vout_device *vout);
  +

 Is there a reason why you need these prototypes? I think we could
 remove these prototypes and move the function ahead in the file before
 it is called.

[Hiremath, Vaibhav] Do you see any harm with this? I think its only
implementation part. But still I will incorporate in next version.

  +/* list of image formats supported by OMAP2 video pipelines */
  +const static struct v4l2_fmtdesc omap_formats[] = {
  +   {
  +   /* Note:  V4L2 defines RGB565 as:
  +*
  +*  Byte 0Byte 1
  +*  g2 g1 g0 r4 r3 r2 r1 r0   b4 b3 b2 b1 b0 g5 g4
g3
  +*
  +* We interpret RGB565 as:
  +*
  +*  Byte 0Byte 1
  +*  g2 g1 g0 b4 b3 b2 b1 b0   r4 r3 r2 r1 r0 g5 g4
g3
  +*/
  +   .description = RGB565, le,
  +   .pixelformat = V4L2_PIX_FMT_RGB565,
  +   },
  +   {
  +   /* Note:  V4L2 defines RGB32 as: RGB-8-8-8-8  we use
  +*  this for RGB24 unpack mode, the last 8 bits are
 ignored
  +* */
  +   .description = RGB32, le,
  +   .pixelformat = V4L2_PIX_FMT_RGB32,
  +   },
  +   {
  +   /* Note:  V4L2 defines RGB24 as: RGB-8-8-8  we use
  +*this for RGB24 packed mode
  +*
  +*/
  +   .description = RGB24, le,
  +   .pixelformat = V4L2_PIX_FMT_RGB24,
  +   },
  +   {
  +   .description = YUYV (YUV 4:2:2), packed,
  +   .pixelformat = V4L2_PIX_FMT_YUYV,
  +   },
  +   {
  +   .description = UYVY, packed,
  +   .pixelformat = V4L2_PIX_FMT_UYVY,
  +   },
  +};
  +
  +#define NUM_OUTPUT_FORMATS (ARRAY_SIZE(omap_formats))
  +
  +/*
  + * Allocate buffers
  + */

 --

  +
  +/*
  + * omap_vout_uservirt_to_phys: This inline function is used to convert
 user
  + * space virtual address to physical address.
  + */
  +static u32 omap_vout_uservirt_to_phys(u32 virtp)
  +{
  +   unsigned long physp = 0;
  +   struct vm_area_struct *vma;
  +   struct mm_struct *mm = current-mm;
  +
  +   vma = find_vma(mm, virtp);
  +   /* For kernel direct-mapped memory, take the easy way */
  +   if (virtp = PAGE_OFFSET) {
  +   physp = virt_to_phys((void *) virtp);
  +   } else if (vma  (vma-vm_flags  VM_IO)
  +vma-vm_pgoff) {
  +   /* this will catch, kernel-allocated,
  +  mmaped-to-usermode addresses */
  +   physp = (vma-vm_pgoff  PAGE_SHIFT) + (virtp - vma-
 vm_start);
  +   } else {
  +   /* otherwise, use get_user_pages() for general userland
 pages */
  +   int res, nr_pages = 1;
  +   struct page *pages;
  +   down_read(current-mm-mmap_sem);
  +
  +   res = get_user_pages(current, current-mm, virtp,
 nr_pages,
  +   1, 0, pages, NULL);
  +   up_read(current-mm-mmap_sem);
  +
  +   if (res == nr_pages) {
  +   physp =  __pa(page_address(pages[0]) +
  +   

Re: [PM-WIP-OPP][PATCH] OMAP3 PM: Fix issue with opp_find_freq_floor

2010-04-06 Thread Kevin Hilman
Nishanth Menon n...@ti.com writes:

 Sripathy, Vishwanath had written, on 04/06/2010 12:56 PM, the following:
 opp_find_freq_floor should return the lower enabled* OPP from a starting 
 freq
 from a start opp list. But current code returns next lower opp. This patch 
 fixes
 this issue.

 Signed-off-by: Vishwanath BS vishwanath...@ti.com
 ---
 diff --git a/arch/arm/plat-omap/opp.c b/arch/arm/plat-omap/opp.c
 index bb8120e..13da451
 --- a/arch/arm/plat-omap/opp.c
 +++ b/arch/arm/plat-omap/opp.c
 @@ -208,7 +208,7 @@ struct omap_opp *opp_find_freq_floor(enum opp_t 
 opp_type, unsigned long *freq)
  *freq = prev_opp-rate;
  -   return oppl;
 +return prev_opp;
  }
  
 Thanks. yep. since we return *freq with the right rate, we should
 point also to the right opp.

 Acked-by: Nishanth Menon n...@ti.com

Thanks, pushed to pm-wip-opp

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: [PM-WIP-OPP][PATCH] OMAP3630 PM: Update for OPP 1GHz

2010-04-06 Thread Kevin Hilman
Nishanth Menon n...@ti.com writes:

 Sripathy, Vishwanath had written, on 04/06/2010 01:06 PM, the following:
 It is found that system is not very stable with current 1GHz OPP
 configuration (a...@1g, i...@880m, v...@1.31v) and it has been
 recommended to use below configuration for stable 1GHz OPP. (a...@1g,
 i...@800m, v...@1.35v).

 Signed-off-by: Vishwanath BS vishwanath...@ti.com
 ---
 diff --git a/arch/arm/mach-omap2/cpufreq34xx.c 
 b/arch/arm/mach-omap2/cpufreq34xx.c
 index c453ec5..189c42e
 --- a/arch/arm/mach-omap2/cpufreq34xx.c
 +++ b/arch/arm/mach-omap2/cpufreq34xx.c
 @@ -82,7 +82,7 @@ static struct omap_opp_def __initdata 
 omap36xx_mpu_rate_table[] = {
  /* OPP3 - OPP-Turbo */
  OMAP_OPP_DEF(false, 8, 126),
  /* OPP4 - OPP-SB */
 -OMAP_OPP_DEF(false, 10, 131),
 +OMAP_OPP_DEF(false, 10, 135),
  /* Terminator */
  OMAP_OPP_DEF(0, 0, 0)
  };
 @@ -104,7 +104,7 @@ static struct omap_opp_def __initdata 
 omap36xx_dsp_rate_table[] = {
  /* OPP3 - OPP-Turbo */
  OMAP_OPP_DEF(false, 66000, 126),
  /* OPP4 - OPP-SB */
 -OMAP_OPP_DEF(false, 87500, 131),
 +OMAP_OPP_DEF(false, 8, 135),
  /* Terminator */
  OMAP_OPP_DEF(0, 0, 0)
  };

 Acked-by: Nishanth Menon n...@ti.com


Thanks, pushed to pm-wip-opp

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: [ASK] OMAP 3430 LDP Trouble

2010-04-06 Thread Tar Gz
if NAND support is currently missing for OMAP3430 LDP,,how i boot my
ldp again like before?...any idea?

best regards,
Aldyth M

On 4/5/10, Vimal Singh vimal.neww...@gmail.com wrote:
 AFAIK, NAND support is currently missing for OMAP3430 LDP boards in LO.

 -Vimal

 On Sun, Apr 4, 2010 at 9:34 PM, Ghorai, Sukumar s-gho...@ti.com wrote:
 Aldyth,
 1. Do you mean that NAND boot is not working?
 2. Does MMC/SD boot working? If yes, boot the platform from MMC/SD using
 the latest x-loade/ u-boot and flush the same binaries to NAND using the
 following commands.
 mmcinit 0
 nand unlock 8 8
 nand erase 8 8
 fatload mmc 0 8000 u-boot.bin
 nand write.i 8000 8 ${filesize}

 nand unlock 0 8
 nand erase 0 8
 fatload mmc 0 8000 MLO
 nand write.i 8000 0 ${filesize}

 Regards,
 Ghorai

 -Original Message-
 From: linux-omap-ow...@vger.kernel.org [mailto:linux-omap-
 ow...@vger.kernel.org] On Behalf Of Tar Gz
 Sent: 2010-04-04 11:13
 To: linux-omap
 Subject: [ASK] OMAP 3430 LDP Trouble

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

 I try to porting linux to omap 3430 LDP..but my board have trouble
 after i running this command:

 nand ecc sw
 nand unlock 8 8
 nand erase 8 8

 nand ecc hw
 nand unlock 0 8
 nand erase 0 8

 and if i try to turn on my board, BT led [blue led] always on and my
 minicom can't show anything...and i forget to setting the enviroment
 variable mmcinit..

 my question is, how to make my board can run normally like before?

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

--
To unsubscribe from this list: send the line unsubscribe 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: [ASK] OMAP 3430 LDP Trouble

2010-04-06 Thread Gadiyar, Anand
Tar Gz wrote:
 if NAND support is currently missing for OMAP3430 LDP,,how i boot my
 ldp again like before?...any idea?
 

snip

If I understand you correctly, you now have a non-booting LDP, and want
to get a bootloader flashed on it?

You may need to do a serial boot.

Maybe this (old, and no longer maintained) page will help?

https://gforge.ti.com/gf/project/omapzoom/wiki/?pagename=BootingAndFlashing

- 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: [ASK] OMAP 3430 LDP Trouble

2010-04-06 Thread Gadiyar, Anand
Gadiyar, Anand wrote:
 Tar Gz wrote:
  if NAND support is currently missing for OMAP3430 LDP,,how i boot my
  ldp again like before?...any idea?
  
 
 snip
 
 If I understand you correctly, you now have a non-booting 
 LDP, and want
 to get a bootloader flashed on it?
 
 You may need to do a serial boot.
 
 Maybe this (old, and no longer maintained) page will help?
 
 https://gforge.ti.com/gf/project/omapzoom/wiki/?pagename=BootingAndFlashing
 

Or this one:
http://omappedia.org/wiki/Zoom_Flashing#Serial_Boot_Procedure

--
To unsubscribe from this list: send the line unsubscribe 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] [PATCH v4 2/5] omap3: pm: Using separate clk/volt setup_time for RET and OFF states

2010-04-06 Thread Kevin Hilman
Lesly A M lesl...@ti.com writes:

 This patch will use separate clk/volt setup_time for RET and OFF state,
 also create separate copies of vc parameters for each Si in voltage.c.

 Updates the clksetup time from board file, since clksetup time depends on
 the OSC/XTAL used on the board. Re-programing the setup time according
 to the target state of CORE power domain.
 The voltsetup2 is used only when the device exits sys_off mode
 (with PRM_VOLTCTRL[3]SEL_OFF set to 1).

 Changed vdd0_/vdd1_ to vdd1_/vdd2_ in prcm vc setuptime structure.

 Signed-off-by: Lesly A M x0080...@ti.com
 Cc: Nishanth Menon n...@ti.com
 Cc: David Derrick dderr...@ti.com
 Cc: Samuel Ortiz sa...@linux.intel.com
 ---
  arch/arm/mach-omap2/board-3430sdp.c |   28 +++
  arch/arm/mach-omap2/board-3630sdp.c |   15 
  arch/arm/mach-omap2/board-zoom2.c   |   15 
  arch/arm/mach-omap2/board-zoom3.c   |   15 
  arch/arm/mach-omap2/pm.h|   17 
  arch/arm/mach-omap2/pm34xx.c|   14 +++-
  arch/arm/mach-omap2/voltage.c   |  150 
 ++-
  arch/arm/mach-omap2/voltage.h   |   30 +++
  8 files changed, 209 insertions(+), 75 deletions(-)

 diff --git a/arch/arm/mach-omap2/board-3430sdp.c 
 b/arch/arm/mach-omap2/board-3430sdp.c
 index 6ee9f20..4439813 100644
 --- a/arch/arm/mach-omap2/board-3430sdp.c
 +++ b/arch/arm/mach-omap2/board-3430sdp.c
 @@ -77,21 +77,16 @@ static struct cpuidle_params omap3_cpuidle_params_table[] 
 = {
   {1, 1, 3, 30},
  };
  
 -/* FIXME: These are not the optimal setup values to be used on 3430sdp*/
 -static struct prm_setup_vc omap3_setuptime_table = {
 - .clksetup = 0xff,
 - .voltsetup_time1 = 0xfff,
 - .voltsetup_time2 = 0xfff,
 - .voltoffset = 0xff,
 - .voltsetup2 = 0xff,
 - .vdd0_on = 0x30,
 - .vdd0_onlp = 0x20,
 - .vdd0_ret = 0x1e,
 - .vdd0_off = 0x00,
 - .vdd1_on = 0x2c,
 - .vdd1_onlp = 0x20,
 - .vdd1_ret = 0x1e,
 - .vdd1_off = 0x00,
 +/* CLKSETUP TIME which depends on the OSC/XTAL used on the board */
 +static struct prm_setup_vc omap3_setuptime = {
 + /* CLK SETUPTIME for RET */
 + .ret = {
 + .clksetup = 0x1,
 + },
 + /* CLK SETUPTIME for OFF */
 + .off = {
 + .clksetup = 0x14A,
 + },
  };
  
  static int board_keymap[] = {
 @@ -345,7 +340,6 @@ static void __init omap_3430sdp_init_irq(void)
   omap_board_config = sdp3430_config;
   omap_board_config_size = ARRAY_SIZE(sdp3430_config);
   omap3_pm_init_cpuidle(omap3_cpuidle_params_table);
 - omap_voltage_init_vc(omap3_setuptime_table);
   omap2_init_common_hw(hyb18m512160af6_sdrc_params, NULL, 
 omap3_mpu_rate_table,
omap3_dsp_rate_table, omap3_l3_rate_table);
   omap_init_irq();
 @@ -895,6 +889,8 @@ static struct omap_musb_board_data musb_board_data = {
  
  static void __init omap_3430sdp_init(void)
  {
 + omap_voltage_init_vc(omap3_setuptime);
 +
   omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
   omap3430_i2c_init();
   platform_add_devices(sdp3430_devices, ARRAY_SIZE(sdp3430_devices));
 diff --git a/arch/arm/mach-omap2/board-3630sdp.c 
 b/arch/arm/mach-omap2/board-3630sdp.c
 index 3937a47..d04987d 100644
 --- a/arch/arm/mach-omap2/board-3630sdp.c
 +++ b/arch/arm/mach-omap2/board-3630sdp.c
 @@ -25,6 +25,19 @@
  
  #include mux.h
  #include sdram-hynix-h8mbx00u0mer-0em.h
 +#include voltage.h
 +
 +/* CLKSETUP TIME which depends on the OSC/XTAL used on the board */
 +static struct prm_setup_vc omap3_setuptime = {
 + /* CLK SETUPTIME for RET */
 + .ret = {
 + .clksetup = 0x1,
 + },
 + /* CLK SETUPTIME for OFF */
 + .off = {
 + .clksetup = 0x14A,
 + },
 +};
  
  #if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE)
  
 @@ -96,6 +109,8 @@ static struct omap_board_mux board_mux[] __initdata = {
  
  static void __init omap_sdp_init(void)
  {
 + omap_voltage_init_vc(omap3_setuptime);
 +
   omap3_mux_init(board_mux, OMAP_PACKAGE_CBP);
   zoom_peripherals_init();
   board_smc91x_init();
 diff --git a/arch/arm/mach-omap2/board-zoom2.c 
 b/arch/arm/mach-omap2/board-zoom2.c
 index a2cdfdd..37f43dd 100644
 --- a/arch/arm/mach-omap2/board-zoom2.c
 +++ b/arch/arm/mach-omap2/board-zoom2.c
 @@ -26,6 +26,19 @@
  #include mux.h
  #include sdram-micron-mt46h32m32lf-6.h
  #include omap3-opp.h
 +#include voltage.h
 +
 +/* CLKSETUP TIME which depends on the OSC/XTAL used on the board */
 +static struct prm_setup_vc omap3_setuptime = {
 + /* CLK SETUPTIME for RET */
 + .ret = {
 + .clksetup = 0x1,
 + },
 + /* CLK SETUPTIME for OFF */
 + .off = {
 + .clksetup = 0x14A,
 + },
 +};
  
  static void __init omap_zoom2_init_irq(void)
  {
 @@ -81,6 +94,8 @@ static struct omap_board_mux board_mux[] __initdata = {
  
  static void __init omap_zoom2_init(void)
  {
 + omap_voltage_init_vc(omap3_setuptime);
 +
   

Re: [ASK] OMAP 3430 LDP Trouble

2010-04-06 Thread Tar Gz
yes, i can't boot from nand because i erase it and i can't boot from
my sd card..

okey i will try boot from serial..hope this help

best regards,
Aldyth M

On 4/7/10, Gadiyar, Anand gadi...@ti.com wrote:
 Gadiyar, Anand wrote:
 Tar Gz wrote:
  if NAND support is currently missing for OMAP3430 LDP,,how i boot my
  ldp again like before?...any idea?
 

 snip

 If I understand you correctly, you now have a non-booting
 LDP, and want
 to get a bootloader flashed on it?

 You may need to do a serial boot.

 Maybe this (old, and no longer maintained) page will help?

 https://gforge.ti.com/gf/project/omapzoom/wiki/?pagename=BootingAndFlashing


 Or this one:
 http://omappedia.org/wiki/Zoom_Flashing#Serial_Boot_Procedure


--
To unsubscribe from this list: send the line unsubscribe 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: [ASK] OMAP 3430 LDP Trouble

2010-04-06 Thread Tar Gz
i don't know, i'm forget to setting up my environment variable mmcinit
or my sd card can't booting / bootablebut if i'm boot from nadn
and can enter prompt, my ldp board can read my sd card...can load
kernel from my sd card

best regards,
Aldyth M

On 4/7/10, Gary Thomas g...@mlbassoc.com wrote:
 On 04/06/2010 02:27 PM, Tar Gz wrote:
 yes, i can't boot from nand because i erase it and i can't boot from
 my sd card..

 Why can't you boot from the SD card?

 okey i will try boot from serial..hope this help

 best regards,
 Aldyth M

 On 4/7/10, Gadiyar, Anandgadi...@ti.com  wrote:
 Gadiyar, Anand wrote:
 Tar Gz wrote:
 if NAND support is currently missing for OMAP3430 LDP,,how i boot my
 ldp again like before?...any idea?


 snip

 If I understand you correctly, you now have a non-booting
 LDP, and want
 to get a bootloader flashed on it?

 You may need to do a serial boot.

 Maybe this (old, and no longer maintained) page will help?

 https://gforge.ti.com/gf/project/omapzoom/wiki/?pagename=BootingAndFlashing

 --
 
 Gary Thomas |  Consulting for the
 MLB Associates  |Embedded world
 

--
To unsubscribe from this list: send the line unsubscribe 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/5] OMAP: RX51: Add LCD Panel Support for N900

2010-04-06 Thread Arnaud Ebalard
Hi,

 Roger Quadros roger.quad...@nokia.com writes:

 These patches get the N900 LCD panel working.
 Apply's cleanly on 2.6.34-rc2

 Pre-requisites:
 https://patchwork.kernel.org/patch/86318/
 https://patchwork.kernel.org/patch/86319/
 https://patchwork.kernel.org/patch/86320/

 First, thanks for pushing the missing bits for N900 hardware support
 upstream! I wanted to give your patches a try and test a l-o kernel on
 my N900 (I know I won't have full hardware support ... at the moment).

 Using current l-o tree with your 5 panel patches and the 3 you link on
 patchwork, I initially ended up with a kernel panic in
 omap3_onenand_write_bufferram() (i.e. unrelated to your patches).

 With http://patchwork.ozlabs.org/patch/48337/ (mtd: OneNAND: OMAP3:
 unmap correct DMA buffer), I am able to get the official Nokia
 /sbin/preinit called: then, getbootstate reports a malfunction but
 AFAICT, the panel is working ok.

 The getbootstate malfunction is expected as there is no support for it
 yet in mainline. But you should get to shell without that.

 You could hack the startup script to spawn a getty on ttyS2. This
 should get you to shell.

 so in /sbin/preinit, in start_shell()

 -/sbin/getty 115200 ttyS0 -n -l /bin/sh
 +/sbin/getty 115200 ttyS2 -n -l /bin/sh

For the records, just in case someone wants to do the same, I had to
use: 

   /sbin/getty 115200 tty0 -n -l /bin/sh

I also had to set CONFIG_KEYBOARD_TWL4030 to get the keyboard
working. Any reason for that option not be enabled by default in
rx51_defconfig?

Additionally, after something like 25 seconds, the screen goes black and
the device stops. Any clue? Can be panel realted?

Cheers,

a+
--
To unsubscribe from this list: send the line unsubscribe 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: [ASK] OMAP 3430 LDP Trouble

2010-04-06 Thread Gary Thomas

On 04/06/2010 02:40 PM, Tar Gz wrote:

i don't know, i'm forget to setting up my environment variable mmcinit
or my sd card can't booting / bootablebut if i'm boot from nadn
and can enter prompt, my ldp board can read my sd card...can load
kernel from my sd card


You'll be much better off figuring out how to boot from the SD card.
There are many how to documents on this for the OMAP - just follow
the cookbook.  Then you'll have the pieces you need to repair your
NAND copy and move on.


On 4/7/10, Gary Thomasg...@mlbassoc.com  wrote:

On 04/06/2010 02:27 PM, Tar Gz wrote:

yes, i can't boot from nand because i erase it and i can't boot from
my sd card..


Why can't you boot from the SD card?


okey i will try boot from serial..hope this help

best regards,
Aldyth M

On 4/7/10, Gadiyar, Anandgadi...@ti.com   wrote:

Gadiyar, Anand wrote:

Tar Gz wrote:

if NAND support is currently missing for OMAP3430 LDP,,how i boot my
ldp again like before?...any idea?



snip

If I understand you correctly, you now have a non-booting
LDP, and want
to get a bootloader flashed on it?

You may need to do a serial boot.

Maybe this (old, and no longer maintained) page will help?

https://gforge.ti.com/gf/project/omapzoom/wiki/?pagename=BootingAndFlashing


--

Gary Thomas |  Consulting for the
MLB Associates  |Embedded world



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


--

Gary Thomas |  Consulting for the
MLB Associates  |Embedded world

--
To unsubscribe from this list: send the line unsubscribe 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: [ASK] OMAP 3430 LDP Trouble

2010-04-06 Thread Tar Gz
i try following the procedure..start from make partitions using
fdisk...everything is ok but if i'm booting from my ldp it's doesn't
work...i don't know what's problem about my sd card?...ldp can support
my sd card or not?...i'm using v-gen, using transcend same too..

best regards,
Aldyth M

On 4/7/10, Gary Thomas g...@mlbassoc.com wrote:
 On 04/06/2010 02:40 PM, Tar Gz wrote:
 i don't know, i'm forget to setting up my environment variable mmcinit
 or my sd card can't booting / bootablebut if i'm boot from nadn
 and can enter prompt, my ldp board can read my sd card...can load
 kernel from my sd card

 You'll be much better off figuring out how to boot from the SD card.
 There are many how to documents on this for the OMAP - just follow
 the cookbook.  Then you'll have the pieces you need to repair your
 NAND copy and move on.

 On 4/7/10, Gary Thomasg...@mlbassoc.com  wrote:
 On 04/06/2010 02:27 PM, Tar Gz wrote:
 yes, i can't boot from nand because i erase it and i can't boot from
 my sd card..

 Why can't you boot from the SD card?

 okey i will try boot from serial..hope this help

 best regards,
 Aldyth M

 On 4/7/10, Gadiyar, Anandgadi...@ti.com   wrote:
 Gadiyar, Anand wrote:
 Tar Gz wrote:
 if NAND support is currently missing for OMAP3430 LDP,,how i boot my
 ldp again like before?...any idea?


 snip

 If I understand you correctly, you now have a non-booting
 LDP, and want
 to get a bootloader flashed on it?

 You may need to do a serial boot.

 Maybe this (old, and no longer maintained) page will help?

 https://gforge.ti.com/gf/project/omapzoom/wiki/?pagename=BootingAndFlashing

 --
 
 Gary Thomas |  Consulting for the
 MLB Associates  |Embedded world
 

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

 --
 
 Gary Thomas |  Consulting for the
 MLB Associates  |Embedded world
 

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


[PATCH] OMAP: omap_device: add omap_device_has_lost_context()

2010-04-06 Thread Kevin Hilman
Add new function omap_device_has_lost_context() as a simple check
to be used after omap_device_enable() to determine if device has
lost context (and thus needs context restore.)

Motivation: Currently, each driver needs to read the context-loss
count before suspend, and again upon resume to determine if
device context needs to be restored.  Rather than duplicating
this process across all drivers, move it into omap_device.  After
omap_device_enable(), omap_device_has_lost_context() can be called
to determine if context was lost.

The hard work is done inside the powerdomain layer where a simple flag
is checked.  The flag is cleared in the pre-transition call back,
and conditionally set post-transition based on either an off-mode
transition or a memory or logic off transition.

Signed-off-by: Kevin Hilman khil...@deeprootsystems.com
---
 arch/arm/mach-omap2/powerdomain.c |   11 +++-
 arch/arm/plat-omap/include/plat/omap_device.h |1 +
 arch/arm/plat-omap/include/plat/powerdomain.h |2 +-
 arch/arm/plat-omap/omap_device.c  |   29 +
 4 files changed, 40 insertions(+), 3 deletions(-)

diff --git a/arch/arm/mach-omap2/powerdomain.c 
b/arch/arm/mach-omap2/powerdomain.c
index 9a0fb38..ac54607 100644
--- a/arch/arm/mach-omap2/powerdomain.c
+++ b/arch/arm/mach-omap2/powerdomain.c
@@ -145,15 +145,19 @@ static void _update_logic_membank_counters(struct 
powerdomain *pwrdm)
 
prev_logic_pwrst = pwrdm_read_prev_logic_pwrst(pwrdm);
if ((pwrdm-pwrsts_logic_ret == PWRSTS_OFF_RET) 
-   (prev_logic_pwrst == PWRDM_POWER_OFF))
+   (prev_logic_pwrst == PWRDM_POWER_OFF)) {
pwrdm-ret_logic_off_counter++;
+   pwrdm-lost_context = true;
+   }
 
for (i = 0; i  pwrdm-banks; i++) {
prev_mem_pwrst = pwrdm_read_prev_mem_pwrst(pwrdm, i);
 
if ((pwrdm-pwrsts_mem_ret[i] == PWRSTS_OFF_RET) 
-   (prev_mem_pwrst == PWRDM_POWER_OFF))
+   (prev_mem_pwrst == PWRDM_POWER_OFF)) {
pwrdm-ret_mem_off_counter[i]++;
+   pwrdm-lost_context = true;
+   }
}
 }
 
@@ -176,6 +180,8 @@ static int _pwrdm_state_switch(struct powerdomain *pwrdm, 
int flag)
prev = pwrdm_read_prev_pwrst(pwrdm);
if (pwrdm-state != prev)
pwrdm-state_counter[prev]++;
+   if (prev == PWRDM_POWER_OFF)
+   pwrdm-lost_context = true;
if (prev == PWRDM_POWER_RET)
_update_logic_membank_counters(pwrdm);
break;
@@ -197,6 +203,7 @@ static int _pwrdm_pre_transition_cb(struct powerdomain 
*pwrdm, void *unused)
 {
pwrdm_clear_all_prev_pwrst(pwrdm);
_pwrdm_state_switch(pwrdm, PWRDM_STATE_NOW);
+   pwrdm-lost_context = false;
return 0;
 }
 
diff --git a/arch/arm/plat-omap/include/plat/omap_device.h 
b/arch/arm/plat-omap/include/plat/omap_device.h
index 3694b62..b6ef94c 100644
--- a/arch/arm/plat-omap/include/plat/omap_device.h
+++ b/arch/arm/plat-omap/include/plat/omap_device.h
@@ -79,6 +79,7 @@ struct omap_device {
 int omap_device_enable(struct platform_device *pdev);
 int omap_device_idle(struct platform_device *pdev);
 int omap_device_shutdown(struct platform_device *pdev);
+bool omap_device_has_lost_context(struct platform_device *pdev);
 
 /* Core code interface */
 
diff --git a/arch/arm/plat-omap/include/plat/powerdomain.h 
b/arch/arm/plat-omap/include/plat/powerdomain.h
index d82b2c0..bd5ab48 100644
--- a/arch/arm/plat-omap/include/plat/powerdomain.h
+++ b/arch/arm/plat-omap/include/plat/powerdomain.h
@@ -102,7 +102,7 @@ struct powerdomain {
unsigned state_counter[PWRDM_MAX_PWRSTS];
unsigned ret_logic_off_counter;
unsigned ret_mem_off_counter[PWRDM_MAX_MEM_BANKS];
-
+   bool lost_context;
 #ifdef CONFIG_PM_DEBUG
s64 timer;
s64 state_timer[PWRDM_MAX_PWRSTS];
diff --git a/arch/arm/plat-omap/omap_device.c b/arch/arm/plat-omap/omap_device.c
index 5904358..0340b40 100644
--- a/arch/arm/plat-omap/omap_device.c
+++ b/arch/arm/plat-omap/omap_device.c
@@ -84,6 +84,7 @@
 
 #include plat/omap_device.h
 #include plat/omap_hwmod.h
+#include plat/powerdomain.h
 
 /* These parameters are passed to _omap_device_{de,}activate() */
 #define USE_WAKEUP_LAT 0
@@ -579,6 +580,34 @@ int omap_device_shutdown(struct platform_device *pdev)
 }
 
 /**
+ * omap_device_has_lost_context() - check if omap_device has lost context
+ * @od: struct omap_device *
+ *
+ * When an omap_device has been deactivated via omap_device_idle() or
+ * omap_device_shutdown() and then (re)activated using omap_device_enable()
+ * This function should be used to determine if the omap_device has
+ * lost context (due to an off-mode transistion)
+ */
+bool omap_device_has_lost_context(struct platform_device *pdev)
+{
+   struct omap_device *od;
+   

Re: [PATCH v4 0/5] omap3: pm: Update TRITON power scripts and making it generic

2010-04-06 Thread Kevin Hilman
Lesly A M lesl...@ti.com writes:

 This series of patch implements a updated TRITON power scripts.
 Also moving the sleep, wakeup  warm_reset sequence to a generic script file,
 which can be used by different OMAP3 board with the power companion chip 
 TWL4030.

 This patch series is based off Kevin's tree origin/pm branch.

Hmm, I don't think so.  It appears to be based off of Thara's SR
series.

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: [RFC/PATCH 2/3] arm: omap1: remove dead code from timer32k.c

2010-04-06 Thread Kevin Hilman
Felipe Balbi felipe.ba...@nokia.com writes:

 Trivial patch, no functional changes

 Signed-off-by: Felipe Balbi felipe.ba...@nokia.com

Acked-by: Kevin Hilman khil...@deeprootsystems.com

 ---
  arch/arm/mach-omap1/timer32k.c |   15 ---
  1 files changed, 0 insertions(+), 15 deletions(-)

 diff --git a/arch/arm/mach-omap1/timer32k.c b/arch/arm/mach-omap1/timer32k.c
 index 9ad1185..20cfbcc 100644
 --- a/arch/arm/mach-omap1/timer32k.c
 +++ b/arch/arm/mach-omap1/timer32k.c
 @@ -68,12 +68,6 @@ struct sys_timer omap_timer;
   * 
 ---
   */
  
 -#if defined(CONFIG_ARCH_OMAP16XX)
 -#define TIMER_32K_SYNCHRONIZED   0xfffbc410
 -#else
 -#error OMAP 32KHz timer does not currently work on 15XX!
 -#endif
 -
  /* 16xx specific defines */
  #define OMAP1_32K_TIMER_BASE 0xfffb9000
  #define OMAP1_32K_TIMER_CR   0x08
 @@ -150,15 +144,6 @@ static struct clock_event_device clockevent_32k_timer = {
   .set_mode   = omap_32k_timer_set_mode,
  };
  
 -/*
 - * The 32KHz synchronized timer is an additional timer on 16xx.
 - * It is always running.
 - */
 -static inline unsigned long omap_32k_sync_timer_read(void)
 -{
 - return omap_readl(TIMER_32K_SYNCHRONIZED);
 -}
 -
  static irqreturn_t omap_32k_timer_interrupt(int irq, void *dev_id)
  {
   struct clock_event_device *evt = clockevent_32k_timer;
 -- 
 1.7.0.rc0.33.g7c3932

 --
 To unsubscribe from this list: send the line unsubscribe 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: [RFC/PATCH 3/3] arm: omap1/2/3/4: convert clocksource to a platform_driver

2010-04-06 Thread Kevin Hilman
Felipe Balbi felipe.ba...@nokia.com writes:

 Convert the omap32k clocksource driver into a platform_driver
 and while at that, also remove the ifdeferry around the code.

 Signed-off-by: Felipe Balbi felipe.ba...@nokia.com

This looks mostly good to me.  One cosmetic request.

There is some standardized naming happening for devices based on
Benoits work of auto-generating hwmod data.  As part of this, this
device will now be called counter_32k instead of '32k sync timer'
since it's just a simple counter and nobody really knew what the 'sync'
was intended to mean.  To that end, renaming things to use counter_32k
instead of sync timer would be helpful.

[...]

  
 +static struct resource omap_32k_resources[] = {
 + {
 + .start  = -EINVAL,  /* gets changed later */
 + .end= -EINVAL,  /* gets changed later */

It's more common to just not assign these and leave them as zero.

 + .flags  = IORESOURCE_MEM,
 + },
 +};

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


Re: [PATCH 5/8] OMAP2PLUS:GPIO:Add OMAP2PLUS specific gpio support

2010-04-06 Thread Kevin Hilman
Tony Lindgren t...@atomide.com writes:

 * Charulatha V ch...@ti.com [100331 05:15]:
 --- /dev/null
 +++ b/arch/arm/mach-omap2/gpio.c
 @@ -0,0 +1,36 @@
 +/*
 + * gpio.c - OMAP2PLUS architecture specific common gpio code
 + *
 + * Copyright (C) 2010 Texas Instruments, Inc.
 + *
 + * Author:
 + *  Charulatha V ch...@ti.com
 + *
 + * This program is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License version 2 as
 + * published by the Free Software Foundation.
 + */
 +
 +#include mach/gpio.h

 Should be include linux/gpio.h

 +void __init omap_gpio_early_init(void)
 +{
 +struct platform_device **pdev;
 +int no_of_dev;
 +
 +if (cpu_is_omap24xx()) {
 +omap2_gpio_init_data();
 +no_of_dev = omap2_early_init_gpio(pdev);
 +} else if (cpu_is_omap34xx()) {
 +omap3_gpio_init_data();
 +no_of_dev = omap3_early_init_gpio(pdev);
 +} else if (cpu_is_omap44xx()) {
 +omap4_gpio_init_data();
 +no_of_dev = omap4_early_init_gpio(pdev);
 +} else
 +return;
 +
 +early_platform_add_devices(pdev, no_of_dev);
 +early_platform_driver_register_all(earlygpio);
 +early_platform_driver_probe(earlygpio, no_of_dev, 0);
 +}
 diff --git a/arch/arm/mach-omap2/include/mach/gpio.h 
 b/arch/arm/mach-omap2/include/mach/gpio.h
 index d2d9d17..3a0fcb1 100644
 --- a/arch/arm/mach-omap2/include/mach/gpio.h
 +++ b/arch/arm/mach-omap2/include/mach/gpio.h
 @@ -115,4 +115,5 @@ extern void omap4_gpio_init_data(void);
  extern int omap2_early_init_gpio(struct platform_device ***pdev);
  extern int omap3_early_init_gpio(struct platform_device ***pdev);
  extern int omap4_early_init_gpio(struct platform_device ***pdev);
 +extern void __init omap_gpio_early_init(void);
  #endif

 Uhh, is this some April fool's day joke? :)

 To me it looks like you have no need for ***pdev, just swap the init
 code around so the omap specific code calls omap_gpio_init with the
 platform data.

Or better yet, just use hwmod + omap_device for early platform_devices
and drop this patch entirely.

Kevin

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


Re: [PATCH 7/8] OMAP2PLUS:GPIO:Move gpio_init from board files to init_common_hw

2010-04-06 Thread Kevin Hilman
Charulatha V ch...@ti.com writes:

 This is preparation for early platform device implementation
 for GPIO in OMAP2PLUS. This patch moves initialization of gpio
 from board files to omap2_init_common_hw API in io.c

Why?

Not a helpful description.

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


Re: [PATCH 0/8 RFC] OMAP: GPIO: Split OMAP1 and OMAP2PLUS

2010-04-06 Thread Kevin Hilman
Charulatha V ch...@ti.com writes:

 This patch series is in preparation to adapt GPIO to HWMOD FW.
 It creates OMAP architecture specific gpio files to handle
 SoC specific gpio_init. The common plat-omap/gpio.c handles all
 common GPIO APIs.

 OMAP2PLUS GPIO module is implemented as early platform device and
 OMAP1 GPIO is still handled in old way via gpio_init from board files.

 Save/restore context, gpio_prepare_for_retention and
 gpio_resume_after_retention APIs are also handled in plat-omap layer.
 These APIs are currently not used in OMAP1, but still they might
 become common for different OMAP architectures in the future.
 Hence they are handled in plat-omap layer. If they need to be moved
 to mach-omap2 layer, additional patches may be sent during
 next version of this patch series.

 This patch series is generated on top of linux-omap-2.6 branch: master
 and tested on 3430SDP, 4430SDP  zoom3.

I have many problems with this series, but without going into the
specifics of each patch, I have a big problem with the general
approach being taken here.

You say this is in preparation for adaptation to hwmod, but in fact,
this series is duplicating a lot of the work you would get for free by
starting with hwmod.

You're generating a bunch of code that will be completely thrown away
with a hwmod conversion.  Instead, you should *start* by using hwmod +
omap_device to generate the platform_devices for you.  Doing this, you
will drop patches 2, 3 and 4 entirely (they are mostly identical
anyways, except for the search-and-replace) and also eliminate the
need for patch 5.

What is needed here is a way to introduce the platform_device
conversion without introducing signifcant functional changes at the
same time.  Here's a proposal to do that, and which should also be
considerably easier to review for sanity:

- use hwmod + omap_device to generate (early) platform_devices
- modify plat-omap/gpio.c to use base addr and IRQ from platform_device
- modify plat-omap/gpio.c to get clocks based on 'struct device'

For an example, you can see the pm-wip/hwmods branch in my tree for
how this was done for UART and the pm-wip/mmc branch for how this was
done for MMC.

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


Re: [PATCH 5/5] OMAP: Make set_gpmc_timing_reg aware of the TIMEPARAGRANULARITY flag

2010-04-06 Thread Kevin Hilman
Laine Walker-Avina lwalk...@ieee.org writes:

 Signed-off-by: Laine Walker-Avina lwalk...@ieee.org

All of the patches in this series should have a more descriptive
changelog.  Typically that means answering why? to the subject, and
for more complicated series, also answering how?

[...]

 +#ifdef DEBUG
 + printk(KERN_INFO GPMC_FCLK: %ld\n, gpmc_get_fclk_period());
 +#endif

should just use pr_debug(...)

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


Re: [PATCH] OMAP: GPIO: Fix OMAP4 GPIO reg access issues

2010-04-06 Thread Kevin Hilman
Charulatha V ch...@ti.com writes:

 Access to some of the OMAP4 GPIO registers are not properly handled.
 This patch fixes it.


Tested on... ?

 Signed-off-by: Charulatha V ch...@ti.com
 ---
  arch/arm/plat-omap/gpio.c |   61 +++-
  1 files changed, 55 insertions(+), 12 deletions(-)

 diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c
 index 76a347b..3a9891c 100644
 --- a/arch/arm/plat-omap/gpio.c
 +++ b/arch/arm/plat-omap/gpio.c
 @@ -137,7 +137,11 @@
  #define OMAP4_GPIO_IRQSTATUSCLR1 0x0040
  #define OMAP4_GPIO_IRQWAKEN0 0x0044
  #define OMAP4_GPIO_IRQWAKEN1 0x0048
 -#define OMAP4_GPIO_SYSSTATUS 0x0104
 +#define OMAP4_GPIO_SYSSTATUS 0x0114
 +#define OMAP4_GPIO_IRQENABLE10x011c
 +#define OMAP4_GPIO_WAKE_EN   0x0120
 +#define OMAP4_GPIO_IRQSTATUS20x0128
 +#define OMAP4_GPIO_IRQENABLE20x012c
  #define OMAP4_GPIO_CTRL  0x0130
  #define OMAP4_GPIO_OE0x0134
  #define OMAP4_GPIO_DATAIN0x0138
 @@ -148,6 +152,10 @@
  #define OMAP4_GPIO_FALLINGDETECT 0x014c
  #define OMAP4_GPIO_DEBOUNCENABLE 0x0150
  #define OMAP4_GPIO_DEBOUNCINGTIME0x0154
 +#define OMAP4_GPIO_CLEARIRQENABLE1   0x0160
 +#define OMAP4_GPIO_SETIRQENABLE1 0x0164
 +#define OMAP4_GPIO_CLEARWKUENA   0x0180
 +#define OMAP4_GPIO_SETWKUENA 0x0184
  #define OMAP4_GPIO_CLEARDATAOUT  0x0190

[...]

 @@ -1570,9 +1603,14 @@ static int gpio_is_input(struct gpio_bank *bank, int 
 mask)
   reg += OMAP7XX_GPIO_DIR_CONTROL;
   break;
   case METHOD_GPIO_24XX:
 - case METHOD_GPIO_44XX:
   reg += OMAP24XX_GPIO_OE;
   break;
 + case METHOD_GPIO_44XX:
 + reg += OMAP4_GPIO_OE;
 + break;
 + default:
 + WARN_ON(1);
 + return -EINVAL;

If you add a WARN, please add a helpful string.

Otherwise, this looks OK to me.

Acked-by: Kevin Hilman khil...@deeprootsystems.com

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


RE: [PATCH v3] OMAP: Fix for bus width which improves SD card's peformance.

2010-04-06 Thread Madhusudhan


 -Original Message-
 From: Felipe Balbi [mailto:felipe.ba...@nokia.com]
 Sent: Tuesday, April 06, 2010 11:57 AM
 To: ext Nishanth Menon
 Cc: Balbi Felipe (Nokia-D/Helsinki); Chikkature Rajashekar, Madhusudhan;
 m...@felipebalbi.com; 'kishore kadiyala'; 'Vimal Singh'; t...@atomide.com;
 S, Venkatraman; linux-omap@vger.kernel.org; linux-ker...@vger.kernel.org;
 Lavinen Jarkko (Nokia-D/Helsinki)
 Subject: Re: [PATCH v3] OMAP: Fix for bus width which improves SD card's
 peformance.
 
 On Tue, Apr 06, 2010 at 06:55:03PM +0200, ext Nishanth Menon wrote:
 some reasons why i love switch statements ;) since I dont expect other
 than precisely 4 and 8 (do we expect 5,6,7 - i might be wrong).. but if
 it is so, wont the following be better?
 
 switch (mmc_slot(host).wires)
 {
 case 8:
  mmc-caps |= MMC_CAP_8_BIT_DATA;
  /* fall thru*/
 case 4:
  mmc-caps |= MMC_CAP_4_BIT_DATA;
  break;
 default:
  WARN(bad width);
 }
 
 I like that, but I remember Madhu (or someone else) saying he thinks
 it's less readable this way. Go figure...
 
Well, I did not comment on the usage of switch here. Note we only need to
handle 8-bit and 4-bit.The board files need not setup 8-bit or 4-bit if the
configuration of that board is 1-bit. The driver will still work in 1-bit
mode which would mean there is nothing to do in default case and should not
err out.

Regards,
Madhu

 --
 balbi

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


Re: [PATCH v3] OMAP: Fix for bus width which improves SD card's peformance.

2010-04-06 Thread Nishanth Menon
Chikkature Rajashekar, Madhusudhan had written, on 04/06/2010 06:23 PM, 
the following:



-Original Message-
From: Felipe Balbi [mailto:felipe.ba...@nokia.com]
Sent: Tuesday, April 06, 2010 11:57 AM
To: ext Nishanth Menon
Cc: Balbi Felipe (Nokia-D/Helsinki); Chikkature Rajashekar, Madhusudhan;
m...@felipebalbi.com; 'kishore kadiyala'; 'Vimal Singh'; t...@atomide.com;
S, Venkatraman; linux-omap@vger.kernel.org; linux-ker...@vger.kernel.org;
Lavinen Jarkko (Nokia-D/Helsinki)
Subject: Re: [PATCH v3] OMAP: Fix for bus width which improves SD card's
peformance.

On Tue, Apr 06, 2010 at 06:55:03PM +0200, ext Nishanth Menon wrote:

some reasons why i love switch statements ;) since I dont expect other
than precisely 4 and 8 (do we expect 5,6,7 - i might be wrong).. but if
it is so, wont the following be better?

switch (mmc_slot(host).wires)
{
case 8:
mmc-caps |= MMC_CAP_8_BIT_DATA;
/* fall thru*/
case 4:
mmc-caps |= MMC_CAP_4_BIT_DATA;
break;
default:
WARN(bad width);
}

I like that, but I remember Madhu (or someone else) saying he thinks
it's less readable this way. Go figure...


Well, I did not comment on the usage of switch here. Note we only need to
handle 8-bit and 4-bit.The board files need not setup 8-bit or 4-bit if the
configuration of that board is 1-bit. The driver will still work in 1-bit
mode which would mean there is nothing to do in default case and should not
err out.
check the attachment out.. hope that takes care of it.. just as a 
reference alone ofcourse..

--
Regards,
Nishanth Menon
From 09b55eb33749d308586c19485bf1e1723009fc9a Mon Sep 17 00:00:00 2001
From: kishore kadiyala kishorek.kadiy...@gmail.com
Date: Wed, 31 Mar 2010 07:03:01 +
Subject: [PATCH Vn] OMAP: Fix for bus width which improves SD card's peformance.

This patch improves low speeds for SD cards.
OMAP-MMC controller's can support maximum bus width of '8'.
when bus width is mentioned as 8 in controller data,the SD
stack will check whether bus width is 4 and if not it will
set bus width to 1 and there by degrading performance.
This patch fixes the issue and improves the performance of
SD cards.

Signed-off-by: Kishore Kadiyala kishore.kadiy...@ti.com
Signed-off-by: Venkatraman S svenk...@ti.com
Acked-by: Madhusudhan Chikkature madhu...@ti.com
Tested-by: Jarkko Nikula jhnik...@gmail.com
---
NM Note:
	Completely untested/unreviewed.. just holding on to
	what was in https://patchwork.kernel.org/patch/89898/
	with my suggested mods
 drivers/mmc/host/omap_hsmmc.c |   32 +---
 1 files changed, 29 insertions(+), 3 deletions(-)

diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index 83f0aff..89e26bc 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -2091,10 +2091,36 @@ static int __init omap_hsmmc_probe(struct platform_device *pdev)
 	mmc-caps |= MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED |
 		 MMC_CAP_WAIT_WHILE_BUSY;
 
-	if (mmc_slot(host).wires = 8)
+	switch(mmc_slot(host).wires) {
+	case 8:
 		mmc-caps |= MMC_CAP_8_BIT_DATA;
-	else if (mmc_slot(host).wires = 4)
-		mmc-caps |= MMC_CAP_4_BIT_DATA;
+		/* Fall through */
+	case 4:
+		mmc-caps |= MMC_CAP_8_BIT_DATA;
+		break;
+	case 1:
+		/*
+		 * I will still survive with this config.. but warn
+		 * if the board file was goofed up
+		 */
+		dev_warn(mmc_dev(host-mmc), Using potentially
+unoptimal 1bit config\n);
+		break;
+	default:
+		/* Completely unexpected.. dont wanna croak and die */
+		dev_crit(mmc_dev(host-mmc), Unknown width %d
+used!\n,mmc_slot(host).wires);
+		mmc_host_disable(host-mmc);
+		if (host-got_dbclk) {
+			 clk_disable(host-dbclk);
+			 clk_put(host-dbclk);
+		}
+		clk_disable(host-iclk);
+		clk_put(host-iclk);
+		clk_put(host-fclk);
+		goto err1;
+
+	}
 
 	if (mmc_slot(host).nonremovable)
 		mmc-caps |= MMC_CAP_NONREMOVABLE;
-- 
1.6.3.3



RE: [PATCH v3] OMAP: Fix for bus width which improves SD card's peformance.

2010-04-06 Thread Madhusudhan


 -Original Message-
 From: Nishanth Menon [mailto:n...@ti.com]
 Sent: Tuesday, April 06, 2010 6:39 PM
 To: Chikkature Rajashekar, Madhusudhan
 Cc: felipe.ba...@nokia.com; m...@felipebalbi.com; 'kishore kadiyala'; 'Vimal
 Singh'; t...@atomide.com; S, Venkatraman; linux-omap@vger.kernel.org;
 linux-ker...@vger.kernel.org; 'Lavinen Jarkko (Nokia-D/Helsinki)'
 Subject: Re: [PATCH v3] OMAP: Fix for bus width which improves SD card's
 peformance.
 
 Chikkature Rajashekar, Madhusudhan had written, on 04/06/2010 06:23 PM,
 the following:
 
  -Original Message-
  From: Felipe Balbi [mailto:felipe.ba...@nokia.com]
  Sent: Tuesday, April 06, 2010 11:57 AM
  To: ext Nishanth Menon
  Cc: Balbi Felipe (Nokia-D/Helsinki); Chikkature Rajashekar,
 Madhusudhan;
  m...@felipebalbi.com; 'kishore kadiyala'; 'Vimal Singh';
 t...@atomide.com;
  S, Venkatraman; linux-omap@vger.kernel.org; linux-
 ker...@vger.kernel.org;
  Lavinen Jarkko (Nokia-D/Helsinki)
  Subject: Re: [PATCH v3] OMAP: Fix for bus width which improves SD
 card's
  peformance.
 
  On Tue, Apr 06, 2010 at 06:55:03PM +0200, ext Nishanth Menon wrote:
  some reasons why i love switch statements ;) since I dont expect other
  than precisely 4 and 8 (do we expect 5,6,7 - i might be wrong).. but
 if
  it is so, wont the following be better?
 
  switch (mmc_slot(host).wires)
  {
  case 8:
mmc-caps |= MMC_CAP_8_BIT_DATA;
/* fall thru*/
  case 4:
mmc-caps |= MMC_CAP_4_BIT_DATA;
break;
  default:
WARN(bad width);
  }
  I like that, but I remember Madhu (or someone else) saying he thinks
  it's less readable this way. Go figure...
 
  Well, I did not comment on the usage of switch here. Note we only need
 to
  handle 8-bit and 4-bit.The board files need not setup 8-bit or 4-bit if
 the
  configuration of that board is 1-bit. The driver will still work in 1-
 bit
  mode which would mean there is nothing to do in default case and should
 not
  err out.
 check the attachment out.. hope that takes care of it.. just as a
 reference alone ofcourse..

Nope. The default case is wrong. The assumption followed by controller
drivers is that if the board file says 4-bit or 8-bit set the capabilities
otherwise don't do any thing. The host will continue to work in 1-bit mode
which is a must. Your patch violates that (can not design a board without
connecting one data line at least :))

Also you can not say 1-bit is non-optimal because the board file dictates
the configuration based on what it is capable of. Why through a warning?
It is subjective.

Regards,
Madhu

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


Re: [PATCH v3] OMAP: Fix for bus width which improves SD card's peformance.

2010-04-06 Thread Nishanth Menon
Chikkature Rajashekar, Madhusudhan had written, on 04/06/2010 07:16 PM, 
the following:



-Original Message-
From: Nishanth Menon [mailto:n...@ti.com]
Sent: Tuesday, April 06, 2010 6:39 PM
To: Chikkature Rajashekar, Madhusudhan
Cc: felipe.ba...@nokia.com; m...@felipebalbi.com; 'kishore kadiyala'; 'Vimal
Singh'; t...@atomide.com; S, Venkatraman; linux-omap@vger.kernel.org;
linux-ker...@vger.kernel.org; 'Lavinen Jarkko (Nokia-D/Helsinki)'
Subject: Re: [PATCH v3] OMAP: Fix for bus width which improves SD card's
peformance.

Chikkature Rajashekar, Madhusudhan had written, on 04/06/2010 06:23 PM,
the following:

-Original Message-
From: Felipe Balbi [mailto:felipe.ba...@nokia.com]
Sent: Tuesday, April 06, 2010 11:57 AM
To: ext Nishanth Menon
Cc: Balbi Felipe (Nokia-D/Helsinki); Chikkature Rajashekar,

Madhusudhan;

m...@felipebalbi.com; 'kishore kadiyala'; 'Vimal Singh';

t...@atomide.com;

S, Venkatraman; linux-omap@vger.kernel.org; linux-

ker...@vger.kernel.org;

Lavinen Jarkko (Nokia-D/Helsinki)
Subject: Re: [PATCH v3] OMAP: Fix for bus width which improves SD

card's

peformance.

On Tue, Apr 06, 2010 at 06:55:03PM +0200, ext Nishanth Menon wrote:

some reasons why i love switch statements ;) since I dont expect other
than precisely 4 and 8 (do we expect 5,6,7 - i might be wrong).. but

if

it is so, wont the following be better?

switch (mmc_slot(host).wires)
{
case 8:
mmc-caps |= MMC_CAP_8_BIT_DATA;
/* fall thru*/
case 4:
mmc-caps |= MMC_CAP_4_BIT_DATA;
break;
default:
WARN(bad width);
}

I like that, but I remember Madhu (or someone else) saying he thinks
it's less readable this way. Go figure...


Well, I did not comment on the usage of switch here. Note we only need

to

handle 8-bit and 4-bit.The board files need not setup 8-bit or 4-bit if

the

configuration of that board is 1-bit. The driver will still work in 1-

bit

mode which would mean there is nothing to do in default case and should

not

err out.

check the attachment out.. hope that takes care of it.. just as a
reference alone ofcourse..


Nope. The default case is wrong. The assumption followed by controller
drivers is that if the board file says 4-bit or 8-bit set the capabilities
otherwise don't do any thing. The host will continue to work in 1-bit mode
which is a must. Your patch violates that (can not design a board without
connecting one data line at least :))

Also you can not say 1-bit is non-optimal because the board file dictates
the configuration based on what it is capable of. Why through a warning?
It is subjective.

Point noted. try n++:
switch(mmc_slot(host).wires) {
case 8:
mmc-caps |= MMC_CAP_8_BIT_DATA;
/* Fall through */
case 4:
mmc-caps |= MMC_CAP_4_BIT_DATA;
break;
case 0:
/* assuming nothing was given by board, use 1 */
case 1:
/* nothing to crib here */
break;
default:
/* Completely unexpected.. try 1 bit instead  */
dev_crit(mmc_dev(host-mmc), Invalid width %d
 used! using 1 instead\n,
mmc_slot(host).wires);
}

note: we should crib if the board file made a mistake here.. say it gave 
10 wire or so.. I agree that we can recover by stepping back to 1 bit 
mode.. but we gotta tell the log that something aint right..


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


RE: [PATCH] OMAP: GPIO: Fix OMAP4 GPIO reg access issues

2010-04-06 Thread Varadarajan, Charulatha

 From: Kevin Hilman [khil...@deeprootsystems.com]
 Sent: Wednesday, April 07, 2010 4:21 AM
 To: Varadarajan, Charulatha
 Cc: linux-omap@vger.kernel.org
 Subject: Re: [PATCH] OMAP: GPIO: Fix OMAP4 GPIO reg access issues
 
 Charulatha V ch...@ti.com writes:
 
  Access to some of the OMAP4 GPIO registers are not properly handled.
  This patch fixes it.
 
 
 Tested on... ?

Tested on 3430SDP and 4430SDP.

  Signed-off-by: Charulatha V ch...@ti.com
 ---

[...]

  @@ -1570,9 +1603,14 @@ static int gpio_is_input(struct gpio_bank *bank, int 
  mask)
reg += OMAP7XX_GPIO_DIR_CONTROL;
break;
case METHOD_GPIO_24XX:
  - case METHOD_GPIO_44XX:
reg += OMAP24XX_GPIO_OE;
break;
  + case METHOD_GPIO_44XX:
  + reg += OMAP4_GPIO_OE;
  + break;
  + default:
  + WARN_ON(1);
  + return -EINVAL;
 
 If you add a WARN, please add a helpful string.

Added this WARN in the same way as in other functions 
of the same file.

 
 Otherwise, this looks OK to me.
 
 Acked-by: Kevin Hilman khil...@deeprootsystems.com

Thanks.--
To unsubscribe from this list: send the line unsubscribe 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-omap-pm troubles on Gumstix Overo

2010-04-06 Thread Peter Tseng
Hey there,

My name's Peter and I'm working with the linux-omap-pm kernel on the
Gumstix Overo board for an academic project.

Back when the linux-omap-pm branch was still on 2.6.33-rc8, I could
compile and run the kernel on the Overo without any problems. Suspend to
memory (via mem  /sys/power/state) worked just fine. Unfortunately,
ever since 2.6.34-rcX releases started coming out, I have been running
into problems:

First of all, I was under the impression that omap3_pm_defconfig was
supposed to more-or-less work out of the box. This has not been the
case, as when I try to compile:

make ARCH=arm omap3_pm_defconfig
make ARCH=arm -j4 uImage
CROSS_COMPILE=/opt/arm-2009q3/bin/arm-none-linux-gnueabi-

I get these error messages back.

arch/arm/mach-omap2/omap44xx-smc.S: Assembler messages:
arch/arm/mach-omap2/omap44xx-smc.S:30: Error: missing expression -- `smc'
make[1]: *** [arch/arm/mach-omap2/omap44xx-smc.o] Error 1
make: *** [arch/arm/mach-omap2] Error 2

Fortunately, this is solved by using menuconfig and un-checking the
OMAP4 in System Type (this shouldn't affect anything, as the Overo is
using the OMAP3...)

Unfortunately, after building that, when I try to boot the Overo, this
is as far as it gets:

## Booting kernel from Legacy Image at 8200 ...
   Image Name:   Linux-2.6.34-rc3-09551-gb301cc7
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:1994520 Bytes =  1.9 MB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.

I have no idea if it simply hangs here, or it is working and simply not
printing anything to the serial console. (If it helps at all, the
processor *seems* warm, but I cannot be sure of this).

To see if the problem can be solved by going back to 2.6.33, I do a git
checkout of the corresponding branch:

git checkout -b stable v2.6.33

I compile with the attached .config file, and the overo boots up just
fine (though at some point in the process modprobe complains to me about
omaplfb not found...)

However, now when I try to suspend, I get this:

r...@overo:~# echo mem  /sys/power/state
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.01 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
Suspending console(s) (use no_console_suspend to debug)
PM: suspend of devices complete after 109.004 msecs
PM: late suspend of devices complete after 0.274 msecs
Class driver suspend failed for cpu0
PM: early resume of devices complete after 0.030 msecs
PM: resume of devices complete after 343.597 msecs
Restarting tasks ... done.

The Class driver suspend failed for cpu0 is what concerns me, and I've
tried a lot of stuff and have remained unable to get suspend working again.

To summarize, my questions are:

1. Why do the 2.6.34-rcX kernels stop at Uncompressing Linux... done,
booting the kernel.?
2. Why does the 2.6.33 kernel fail to suspend with Class driver suspend
failed for cpu0? Did I incorrectly perform the git checkout, or did I
misconfigure something?
3. And finally, for my future work, since I am interested in power
management, is there a possible solution to suspending to disk? (Perhaps
termed hibernate)

I would greatly appreciate any pointers in the right direction so I can
get this working again. Thanks a lot for your time and attention.

Peter Tseng
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.33
# Thu Mar 18 00:59:57 2010
#
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_OPROFILE_ARMV7=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_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=
CONFIG_LOCALVERSION_AUTO=y
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_LZO is not set
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_TINY_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=y
CONFIG_IKCONFIG_PROC=y

[PATCH 2/2] Setup LCD reset for Devkit8000

2010-04-06 Thread Kan-Ru Chen
This patch corrects the LCD reset pin config

Original code from early devkit8000 patch sets the TWL4030 GPIO_1
to EHCI_nOC and TWL4030_GPIO_MAX+1 to ledA. Indeed these two pins
are both LCD_PWREN. Setup the lcd reset_gpio properly so it can be
disabled when other display is turned on.

Signed-off-by: Kan-Ru Chen ka...@0xlab.org
---
 arch/arm/mach-omap2/board-devkit8000.c |   24 
 1 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/arch/arm/mach-omap2/board-devkit8000.c 
b/arch/arm/mach-omap2/board-devkit8000.c
index 2e7a539..b744433 100644
--- a/arch/arm/mach-omap2/board-devkit8000.c
+++ b/arch/arm/mach-omap2/board-devkit8000.c
@@ -135,11 +135,15 @@ static int devkit8000_panel_enable_lcd(struct 
omap_dss_device *dssdev)
twl_i2c_write_u8(TWL4030_MODULE_GPIO, 0x80, REG_GPIODATADIR1);
twl_i2c_write_u8(TWL4030_MODULE_LED, 0x0, 0x0);
 
+   if (dssdev-reset_gpio != -EINVAL)
+   gpio_set_value(dssdev-reset_gpio, 1);
return 0;
 }
 
 static void devkit8000_panel_disable_lcd(struct omap_dss_device *dssdev)
 {
+   if (dssdev-reset_gpio != -EINVAL)
+   gpio_set_value(dssdev-reset_gpio, 0);
 }
 
 static int devkit8000_panel_enable_dvi(struct omap_dss_device *dssdev)
@@ -177,9 +181,10 @@ static struct regulator_consumer_supply 
devkit8000_vsim_supply = {
 
 static struct omap_dss_device devkit8000_lcd_device = {
.name   = lcd,
-   .driver_name= innolux_at_panel,
+   .driver_name= generic_panel,
.type   = OMAP_DISPLAY_TYPE_DPI,
.phy.dpi.data_lines = 24,
+   .reset_gpio = -EINVAL, /* will be replaced */
.platform_enable= devkit8000_panel_enable_lcd,
.platform_disable   = devkit8000_panel_disable_lcd,
 };
@@ -275,20 +280,15 @@ static int devkit8000_twl_gpio_setup(struct device *dev,
devkit8000_vmmc1_supply.dev = mmc[0].dev;
devkit8000_vsim_supply.dev = mmc[0].dev;
 
-   /* REVISIT: need ehci-omap hooks for external VBUS
-* power switch and overcurrent detect
-*/
-
-   gpio_request(gpio + 1, EHCI_nOC);
-   gpio_direction_input(gpio + 1);
-
-   /* TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, active low) */
-   gpio_request(gpio + TWL4030_GPIO_MAX, nEN_USB_PWR);
-   gpio_direction_output(gpio + TWL4030_GPIO_MAX, 1);
-
/* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */
gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1;
 
+/* gpio + 1 is LCD_PWREN (out, active low) */
+   devkit8000_lcd_device.reset_gpio = gpio + 1;
+   gpio_request(devkit8000_lcd_device.reset_gpio, LCD_PWREN);
+   /* Disable until needed */
+   gpio_direction_output(devkit8000_lcd_device.reset_gpio, 1);
+
/* gpio + 7 is DVI_PUD (out, active low) */
devkit8000_dvi_device.reset_gpio = gpio + 7;
gpio_request(devkit8000_dvi_device.reset_gpio, DVI_PUD);
-- 
1.7.0.4

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


[PATCH 1/2] Enable DVI-D output for Devkit8000

2010-04-06 Thread Kan-Ru Chen
This patch corrects the DVI-D output setup of Devkit8000

Devkit8000 has different DVI reset pin with the BeagleBoard. On Devkit8000
the TWL4030 GPIO_7 is assigned to do the job.

Signed-off-by: Kan-Ru Chen ka...@0xlab.org
---
 arch/arm/mach-omap2/board-devkit8000.c |   20 +---
 1 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/arch/arm/mach-omap2/board-devkit8000.c 
b/arch/arm/mach-omap2/board-devkit8000.c
index 5bfc13b..2e7a539 100644
--- a/arch/arm/mach-omap2/board-devkit8000.c
+++ b/arch/arm/mach-omap2/board-devkit8000.c
@@ -141,13 +141,18 @@ static int devkit8000_panel_enable_lcd(struct 
omap_dss_device *dssdev)
 static void devkit8000_panel_disable_lcd(struct omap_dss_device *dssdev)
 {
 }
+
 static int devkit8000_panel_enable_dvi(struct omap_dss_device *dssdev)
 {
+   if (dssdev-reset_gpio != -EINVAL)
+   gpio_set_value(dssdev-reset_gpio, 1);
return 0;
 }
 
 static void devkit8000_panel_disable_dvi(struct omap_dss_device *dssdev)
 {
+   if (dssdev-reset_gpio != -EINVAL)
+   gpio_set_value(dssdev-reset_gpio, 0);
 }
 
 static int devkit8000_panel_enable_tv(struct omap_dss_device *dssdev)
@@ -183,6 +188,7 @@ static struct omap_dss_device devkit8000_dvi_device = {
.driver_name= generic_panel,
.type   = OMAP_DISPLAY_TYPE_DPI,
.phy.dpi.data_lines = 24,
+   .reset_gpio = -EINVAL, /* will be replaced */
.platform_enable= devkit8000_panel_enable_dvi,
.platform_disable   = devkit8000_panel_disable_dvi,
 };
@@ -283,6 +289,12 @@ static int devkit8000_twl_gpio_setup(struct device *dev,
/* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */
gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1;
 
+   /* gpio + 7 is DVI_PUD (out, active low) */
+   devkit8000_dvi_device.reset_gpio = gpio + 7;
+   gpio_request(devkit8000_dvi_device.reset_gpio, DVI_PUD);
+   /* Disable until needed */
+   gpio_direction_output(devkit8000_dvi_device.reset_gpio, 1);
+
return 0;
 }
 
@@ -303,7 +315,7 @@ static struct regulator_consumer_supply 
devkit8000_vpll2_supplies[] = {
.dev= devkit8000_lcd_device.dev,
},
{
-   .supply = vdss_dsi,
+   .supply = vdds_dsi,
.dev= devkit8000_dss_device.dev,
}
 };
@@ -665,12 +677,6 @@ static void __init devkit8000_init(void)
 
devkit8000_ads7846_init();
 
-   omap_mux_init_gpio(170, OMAP_PIN_INPUT);
-
-   gpio_request(170, DVI_nPD);
-   /* REVISIT leave DVI powered down until it's needed ... */
-   gpio_direction_output(170, true);
-
usb_musb_init(musb_board_data);
usb_ehci_init(ehci_pdata);
devkit8000_flash_init();
-- 
1.7.0.4

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


Re: [ASK] OMAP 3430 LDP Trouble

2010-04-06 Thread Vimal Singh
On Wed, Apr 7, 2010 at 1:19 AM, Gadiyar, Anand gadi...@ti.com wrote:
 Gadiyar, Anand wrote:
 Tar Gz wrote:
  if NAND support is currently missing for OMAP3430 LDP,,how i boot my
  ldp again like before?...any idea?

You can still have x-loader and u-boot on NAND (flash them from u-boot
prompt, once you get booted up by any other method. for example serial
boot as mentioned by Anand) and use NFS filesystem to work with.

NAND driver support is missing in kernel, so, you will not be able to
see/mount NAND partitions from kernel.

-- 
Regards,
Vimal Singh


 snip

 If I understand you correctly, you now have a non-booting
 LDP, and want
 to get a bootloader flashed on it?

 You may need to do a serial boot.

 Maybe this (old, and no longer maintained) page will help?

 https://gforge.ti.com/gf/project/omapzoom/wiki/?pagename=BootingAndFlashing


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


Re: [PATCHv2 0/3] OMAP: DSS2: Allow us to use SDI

2010-04-06 Thread Tomi Valkeinen
Hi,

On Tue, 2010-04-06 at 18:03 +0200, Quadros Roger (Nokia-D/Helsinki)
wrote:
 hi Tomi,
 
 Valkeinen Tomi (Nokia-D/Helsinki) wrote:
  Hi,
  
  On Wed, 2010-03-17 at 13:35 +0100, Quadros Roger (Nokia-D/Helsinki)
  wrote:
  SDI now makes use of vdds_sdi regulator supply.
  DPI can now be disabled on systems that don't have it
 
  changes since v1:
  - Incorporated review comments
  - no more omap3xx checks for regulator enable/disable in SDI
  - Added Kconfig option to enable/disable DPI
 
  Roger Quadros (3):
OMAP: DSS2: Add Kconfig option for DPI display type
OMAP: DSS2: Remove redundant enable/disable calls from SDI
OMAP: DSS2: Use vdds_sdi regulator supply in SDI
  
  I think this patch set looks ok. Thanks!
  
   Tomi
  
  Ps. I took the liberty of removing an extra #include plat/cpu.h
  
  
 What is the status of this patch set?
 Is it supposed to go into your tree or Tony's tree?

I applied the patches to my tree yesterday. Sorry it took so long.

 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 0/5] OMAP: RX51: Add LCD Panel Support for N900

2010-04-06 Thread Tomi Valkeinen
On Tue, 2010-04-06 at 22:41 +0200, ext Arnaud Ebalard wrote:

 
 For the records, just in case someone wants to do the same, I had to
 use: 
 
/sbin/getty 115200 tty0 -n -l /bin/sh
 
 I also had to set CONFIG_KEYBOARD_TWL4030 to get the keyboard
 working. Any reason for that option not be enabled by default in
 rx51_defconfig?
 
 Additionally, after something like 25 seconds, the screen goes black and
 the device stops. Any clue? Can be panel realted?

I'm guessing here, but it could be the HW watchdog kicking in if by
device stops you mean that serial etc also stops. Although it should
reboot, not stop...

 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