Re: [U-Boot] arm: omap: configs: various: Remove references to OMAP34XX_UARTx

2018-08-25 Thread Grazvydas Ignotas
On Sat, Aug 25, 2018 at 7:22 PM, Tom Rini  wrote:
> On Sat, Aug 25, 2018 at 06:58:19PM +0300, Grazvydas Ignotas wrote:
>> On Mon, Aug 20, 2018 at 8:43 PM, Tom Rini  wrote:
>> > On Mon, Aug 20, 2018 at 07:45:16AM -0500, Adam Ford wrote:
>> >> On Mon, Aug 20, 2018 at 6:21 AM Tom Rini  wrote:
>> >> >
>> >> > On Tue, Aug 07, 2018 at 07:28:11AM -0500, Adam Ford wrote:
>> >> >
>> >> Wasn't there a requirement that we need to move all boards to support
>> >> CONFIG_DM at one point?
>> >
>> > Yes, things should get moved to DM.  So, adding the omap3_pandora listed
>> > maintainer to the email.
>>
>> I'm sorry I haven't been following u-boot development for some years,
>> what exactly needs to be done here?
>> I've tried enabling CONFIG_DM_SERIAL, but then the board only prints
>> some garbage and resets. Without changes current u-boot built from git
>> boots fine.
>>
>> Note that the device is old and only pre- device tree kernels are
>> shipped and officially supported. However the mainline kernel still
>> has incomplete board support (including device tree) for those wanting
>> to use it.
>
> So over in U-Boot, we're moving towards the point where having some
> device tree that describes the board will be a lot easier than not in
> terms of continuing to support the board.  So, there's a few ways to
> look at things:
> - If you take a look at 0d43fded20e3 you can see how omap3_evm was
>   updated to use DM_SERIAL and a bunch of other modern things.
> - You can also just say that it's time to retire omap3_pandora from
>   mainline U-Boot and that v2018.09 (or v2018.11, but I don't want to
>   wait too long) is the last release with support for the platform.
> - See if there's anyone else you know that would like to pick up and
>   maintain the board and make the kind of changes that were made to
>   omap3_evm.

Thanks for the info. I've sent a patch, I hope it is sufficient.

Gražvydas
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH] omap3: pandora: Enable DM_SERIAL

2018-08-25 Thread Grazvydas Ignotas
This patch enables DM_SERIAL for the pandora board. Verified that
the default kernel can still be booted with this.

Signed-off-by: Grazvydas Ignotas 
---
 board/pandora/pandora.c | 14 ++
 configs/omap3_pandora_defconfig |  4 +++-
 include/configs/omap3_pandora.h | 17 -
 3 files changed, 17 insertions(+), 18 deletions(-)

diff --git a/board/pandora/pandora.c b/board/pandora/pandora.c
index 4f91dc3bee..a9aae7951d 100644
--- a/board/pandora/pandora.c
+++ b/board/pandora/pandora.c
@@ -13,6 +13,8 @@
  * Texas Instruments, 
  */
 #include 
+#include 
+#include 
 #include 
 #include 
 #include 
@@ -33,6 +35,18 @@ DECLARE_GLOBAL_DATA_PTR;
 #define GPIO_IO_PWRDNZ (1 << 6)
 #define PBIASLITEVMODE1(1 << 8)
 
+static const struct ns16550_platdata pandora_serial = {
+   .base = OMAP34XX_UART3,
+   .reg_shift = 2,
+   .clock = V_NS16550_CLK,
+   .fcr = UART_FCR_DEFVAL,
+};
+
+U_BOOT_DEVICE(pandora_uart) = {
+   "ns16550_serial",
+   _serial
+};
+
 /*
  * Routine: board_init
  * Description: Early hardware init.
diff --git a/configs/omap3_pandora_defconfig b/configs/omap3_pandora_defconfig
index 6dce53834d..c2b4a4f0d2 100644
--- a/configs/omap3_pandora_defconfig
+++ b/configs/omap3_pandora_defconfig
@@ -1,6 +1,7 @@
 CONFIG_ARM=y
 CONFIG_ARCH_OMAP2PLUS=y
 CONFIG_SYS_TEXT_BASE=0x80008000
+CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_OMAP3_PANDORA=y
 CONFIG_DISTRO_DEFAULTS=y
 CONFIG_NR_DRAM_BANKS=2
@@ -25,11 +26,12 @@ CONFIG_MTDIDS_DEFAULT="nand0=omap2-nand.0"
 
CONFIG_MTDPARTS_DEFAULT="mtdparts=omap2-nand.0:512k(xloader),1920k(uboot),128k(uboot-env),10m(boot),-(rootfs)"
 CONFIG_CMD_UBI=y
 CONFIG_ENV_IS_IN_NAND=y
+CONFIG_DM=y
 CONFIG_TWL4030_LED=y
 CONFIG_MMC_OMAP_HS=y
 CONFIG_NAND=y
 CONFIG_SYS_NAND_BUSWIDTH_16BIT=y
-CONFIG_CONS_INDEX=3
+CONFIG_DM_SERIAL=y
 CONFIG_SYS_NS16550=y
 CONFIG_SPI=y
 CONFIG_OMAP3_SPI=y
diff --git a/include/configs/omap3_pandora.h b/include/configs/omap3_pandora.h
index 5a82cbee71..82c66c4b8c 100644
--- a/include/configs/omap3_pandora.h
+++ b/include/configs/omap3_pandora.h
@@ -19,23 +19,6 @@
 
 #define CONFIG_SYS_DEVICE_NULLDEV  1
 
-/*
- * Hardware drivers
- */
-
-/* TWL4030 LED */
-
-/*
- * NS16550 Configuration
- */
-#undef CONFIG_SYS_NS16550_CLK
-#define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE(-4)
-#define CONFIG_SYS_NS16550_CLK V_NS16550_CLK
-#define CONFIG_SYS_NS16550_COM3OMAP34XX_UART3
-
-/* commands to include */
-
 /*
  * Board NAND Info.
  */
-- 
2.17.1

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] arm: omap: configs: various: Remove references to OMAP34XX_UARTx

2018-08-25 Thread Grazvydas Ignotas
On Mon, Aug 20, 2018 at 8:43 PM, Tom Rini  wrote:
> On Mon, Aug 20, 2018 at 07:45:16AM -0500, Adam Ford wrote:
>> On Mon, Aug 20, 2018 at 6:21 AM Tom Rini  wrote:
>> >
>> > On Tue, Aug 07, 2018 at 07:28:11AM -0500, Adam Ford wrote:
>> >
>> > > Two boards include a reference to ti_omap3_common.h which
>> > > points the UART driver to OMAP34XX_UARTx so the extra define
>> > > should be unnecessary.
>> > >
>> > > Signed-off-by: Adam Ford 
>> > > ---
>> > >  include/configs/omap3_evm.h | 1 -
>> > >  include/configs/omap3_pandora.h | 1 -
>> > >  2 files changed, 2 deletions(-)
>> > >
>> > > diff --git a/include/configs/omap3_evm.h b/include/configs/omap3_evm.h
>> > > index 34418309cb..779087a949 100644
>> > > --- a/include/configs/omap3_evm.h
>> > > +++ b/include/configs/omap3_evm.h
>> > > @@ -34,7 +34,6 @@
>> > >  #define CONFIG_REVISION_TAG
>> > >
>> > >  /* Override OMAP3 serial console configuration */
>> > > -#define CONFIG_SYS_NS16550_COM1 OMAP34XX_UART1
>> > >
>> > >  /* NAND */
>> > >  #if defined(CONFIG_NAND)
>> > > diff --git a/include/configs/omap3_pandora.h 
>> > > b/include/configs/omap3_pandora.h
>> > > index 68e1d6f82d..1fc40e05ff 100644
>> > > --- a/include/configs/omap3_pandora.h
>> > > +++ b/include/configs/omap3_pandora.h
>> > > @@ -36,7 +36,6 @@
>> > >  #define CONFIG_SYS_NS16550_SERIAL
>> > >  #define CONFIG_SYS_NS16550_REG_SIZE  (-4)
>> > >  #define CONFIG_SYS_NS16550_CLK   V_NS16550_CLK
>> > > -#define CONFIG_SYS_NS16550_COM3  OMAP34XX_UART3
>> > >
>> > >  /* commands to include */
>> >
>> > This results in:
>> > +(omap3_pandora) ../drivers/serial/serial_ns16550.c:31:2: error: #error 
>> > "Console port 3 defined but not configured."
>> > +(omap3_pandora)  #error "Console port 3 defined but not configured."
>> > +(omap3_pandora)   ^
>> > +(omap3_pandora) make[2]: *** [../scripts/Makefile.build:279: 
>> > drivers/serial/serial_ns16550.o] Error 1
>> > +(omap3_pandora) make[1]: *** [Makefile:1373: drivers/serial] Error 2
>>
>> argh.  I made the assumption that people who include ti_omap3_common.h
>> migrated to DM.
>>  I could go back and modify ti_omap3_common.h to wrap
>> the  CONFIG_SYS_NS16550_COMx entries under #if !defined(DM_SERIAL)
>> instead of CONFIG_SPL_BUILD
>>
>> Do you have an opinion?  I may not get back to this before I leave on
>> my trip, but I can take a look again in 2 weeks when I return.
>>
>> Wasn't there a requirement that we need to move all boards to support
>> CONFIG_DM at one point?
>
> Yes, things should get moved to DM.  So, adding the omap3_pandora listed
> maintainer to the email.

I'm sorry I haven't been following u-boot development for some years,
what exactly needs to be done here?
I've tried enabling CONFIG_DM_SERIAL, but then the board only prints
some garbage and resets. Without changes current u-boot built from git
boots fine.

Note that the device is old and only pre- device tree kernels are
shipped and officially supported. However the mainline kernel still
has incomplete board support (including device tree) for those wanting
to use it.

Gražvydas
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH 2/2] omap3_pandora: Switch to using "load" command to load the autoboot script.

2016-08-29 Thread Grazvydas Ignotas
On Mon, Aug 29, 2016 at 10:56 AM, Vagrant Cascadian <vagr...@debian.org> wrote:
> CONFIG_CMD_FS_GENERIC is enabled; use it to load the autoboot script,
> rather than first attempting with fatload and falling back to
> ext2load.
>
> Signed-off-by: Vagrant Cascadian <vagr...@debian.org>

Acked-by: Grazvydas Ignotas <nota...@gmail.com>

> ---
>
>  include/configs/omap3_pandora.h | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/include/configs/omap3_pandora.h b/include/configs/omap3_pandora.h
> index 6ff9375..0d733bd 100644
> --- a/include/configs/omap3_pandora.h
> +++ b/include/configs/omap3_pandora.h
> @@ -93,8 +93,7 @@
> "mtdparts=" MTDPARTS_DEFAULT "\0" \
>
>  #define CONFIG_BOOTCOMMAND \
> -   "if mmc rescan && fatload mmc 0:1 ${loadaddr} autoboot.scr || " \
> -   "ext2load mmc 0:1 ${loadaddr} autoboot.scr; then " \
> +   "if mmc rescan && load mmc 0:1 ${loadaddr} autoboot.scr; then " \
> "source ${loadaddr}; " \
> "fi; " \
> "ubi part boot && ubifsmount ubi:boot && " \
> --
> 2.9.3
>
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 1/2] omap3_pandora: Fix mmc loading of autoboot script to use correct syntax.

2016-08-29 Thread Grazvydas Ignotas
On Mon, Aug 29, 2016 at 10:56 AM, Vagrant Cascadian <vagr...@debian.org> wrote:
> fatload/ext2load both require that the device and partition be
> specified after specifying the device type. Specify the first
> partition on mmc device 0, which is the only mmc device currently
> configured on the pandora.
>
> Signed-off-by: Vagrant Cascadian <vagr...@debian.org>

Acked-by: Grazvydas Ignotas <nota...@gmail.com>

> ---
>
>  include/configs/omap3_pandora.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/include/configs/omap3_pandora.h b/include/configs/omap3_pandora.h
> index 380ec12..6ff9375 100644
> --- a/include/configs/omap3_pandora.h
> +++ b/include/configs/omap3_pandora.h
> @@ -93,8 +93,8 @@
> "mtdparts=" MTDPARTS_DEFAULT "\0" \
>
>  #define CONFIG_BOOTCOMMAND \
> -   "if mmc rescan && fatload mmc1 0 ${loadaddr} autoboot.scr || " \
> -   "ext2load mmc1 0 ${loadaddr} autoboot.scr; then " \
> +   "if mmc rescan && fatload mmc 0:1 ${loadaddr} autoboot.scr || " \
> +   "ext2load mmc 0:1 ${loadaddr} autoboot.scr; then " \
> "source ${loadaddr}; " \
> "fi; " \
> "ubi part boot && ubifsmount ubi:boot && " \
> --
> 2.9.3
>
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH v2] omap3: pandora: use common configuration

2015-04-08 Thread Grazvydas Ignotas
This allows to clean up the config a good deal and also converts
pandora to Generic Board.

Signed-off-by: Grazvydas Ignotas nota...@gmail.com
---
v2: dropped unintended From: line.

 include/configs/omap3_pandora.h | 177 
 1 file changed, 36 insertions(+), 141 deletions(-)

diff --git a/include/configs/omap3_pandora.h b/include/configs/omap3_pandora.h
index 11d7b86..8d3531c 100644
--- a/include/configs/omap3_pandora.h
+++ b/include/configs/omap3_pandora.h
@@ -10,22 +10,13 @@
 #ifndef __CONFIG_H
 #define __CONFIG_H
 
-/*
- * High Level Configuration Options
- */
-#define CONFIG_OMAP1   /* in a TI OMAP core */
-#define CONFIG_OMAP3_PANDORA   1   /* working with pandora */
-#define CONFIG_OMAP_GPIO
-#define CONFIG_OMAP_COMMON
-/* Common ARM Erratas */
-#define CONFIG_ARM_ERRATA_454179
-#define CONFIG_ARM_ERRATA_430973
-#define CONFIG_ARM_ERRATA_621766
+#define CONFIG_NR_DRAM_BANKS   2   /* CS1 may or may not be populated */
+#define CONFIG_NAND
 
-#define CONFIG_SDRC/* The chip has SDRC controller */
+/* override base for compatibility with MLO the device ships with */
+#define CONFIG_SYS_TEXT_BASE   0x80008000
 
-#include asm/arch/cpu.h  /* get chip and board defs */
-#include asm/arch/omap.h
+#include configs/ti_omap3_common.h
 
 /*
  * Display CPU and Board information
@@ -33,79 +24,42 @@
 #define CONFIG_DISPLAY_CPUINFO 1
 #define CONFIG_DISPLAY_BOARDINFO   1
 
-/* Clock Defines */
-#define V_OSCK 2600/* Clock output from T2 */
-#define V_SCLK (V_OSCK  1)
-
 #define CONFIG_MISC_INIT_R
-
-#define CONFIG_CMDLINE_TAG 1   /* enable passing of ATAGs */
-#define CONFIG_SETUP_MEMORY_TAGS   1
-#define CONFIG_INITRD_TAG  1
 #define CONFIG_REVISION_TAG1
 
-#define CONFIG_OF_LIBFDT   1
-
-/*
- * Size of malloc() pool
- */
 #define CONFIG_ENV_SIZE(128  10) /* 128 KiB */
-#define CONFIG_SYS_MALLOC_LEN  (1024 * 1024 + CONFIG_ENV_SIZE)
+
+#define CONFIG_SYS_CONSOLE_IS_IN_ENV   1
+#define CONFIG_SYS_DEVICE_NULLDEV  1
 
 /*
  * Hardware drivers
  */
 
-#define CONFIG_SYS_CONSOLE_IS_IN_ENV   1
-#define CONFIG_SYS_DEVICE_NULLDEV  1
+/* I2C Support */
+#define CONFIG_SYS_I2C_OMAP34XX
 
-/* USB */
-#define CONFIG_MUSB_UDC1
-#define CONFIG_USB_OMAP3   1
-#define CONFIG_TWL4030_USB 1
+/* TWL4030 LED */
+#define CONFIG_TWL4030_LED
 
-/* USB device configuration */
-#define CONFIG_USB_DEVICE  1
-#define CONFIG_USB_TTY 1
+/* Initialize GPIOs by default */
+#define CONFIG_OMAP3_GPIO_4/* GPIO96..127 is in GPIO Bank 4 */
+#define CONFIG_OMAP3_GPIO_6/* GPIO160..191 is in GPIO Bank 6 */
 
 /*
  * NS16550 Configuration
  */
-#define V_NS16550_CLK  4800/* 48MHz (APLL96/2) */
-
-#define CONFIG_SYS_NS16550
+#undef CONFIG_OMAP_SERIAL
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE(-4)
 #define CONFIG_SYS_NS16550_CLK V_NS16550_CLK
-
-/*
- * select serial console configuration
- */
-#define CONFIG_CONS_INDEX  3
 #define CONFIG_SYS_NS16550_COM3OMAP34XX_UART3
 #define CONFIG_SERIAL3 3
 
-/* allow to overwrite serial and ethaddr */
-#define CONFIG_ENV_OVERWRITE
-#define CONFIG_BAUDRATE115200
-#define CONFIG_SYS_BAUDRATE_TABLE  {4800, 9600, 19200, 38400, 57600, \
-   115200}
-#define CONFIG_GENERIC_MMC 1
-#define CONFIG_MMC 1
-#define CONFIG_OMAP_HSMMC  1
-#define CONFIG_DOS_PARTITION   1
-
 /* commands to include */
 #include config_cmd_default.h
 
-#define CONFIG_CMD_EXT2/* EXT2 Support */
-#define CONFIG_CMD_FAT /* FAT support  */
-
-#define CONFIG_CMD_I2C /* I2C serial bus support   */
-#define CONFIG_CMD_MMC /* MMC support  */
-#define CONFIG_CMD_NAND/* NAND support */
 #define CONFIG_CMD_CACHE   /* Cache control*/
-
 #undef CONFIG_CMD_FLASH/* flinfo, erase, protect   */
 #undef CONFIG_CMD_FPGA /* FPGA configuration Support   */
 #undef CONFIG_CMD_IMI  /* iminfo   */
@@ -113,53 +67,36 @@
 #undef CONFIG_CMD_NET  /* bootp, tftpboot, rarpboot*/
 #undef CONFIG_CMD_NFS  /* NFS support  */
 
-#define CONFIG_SYS_NO_FLASH
-#define CONFIG_SYS_I2C
-#define CONFIG_SYS_OMAP24_I2C_SPEED10
-#define CONFIG_SYS_OMAP24_I2C_SLAVE1
-#define CONFIG_SYS_I2C_OMAP34XX
-
-/*
- * TWL4030
- */
-#define CONFIG_TWL4030_POWER   1
-#define CONFIG_TWL4030_LED 1
-
 /*
  * Board NAND Info.
  */
-#define CONFIG_NAND_OMAP_GPMC
 #define CONFIG_SYS_NAND_ADDR   NAND_BASE

[U-Boot] [PATCH] omap3: pandora: use common configuration

2015-04-08 Thread Grazvydas Ignotas
From: notaz nota...@gmail.com

This allows to clean up the config a good deal and also converts
pandora to Generic Board.

Signed-off-by: Grazvydas Ignotas nota...@gmail.com
---
 include/configs/omap3_pandora.h | 177 
 1 file changed, 36 insertions(+), 141 deletions(-)

diff --git a/include/configs/omap3_pandora.h b/include/configs/omap3_pandora.h
index 11d7b86..8d3531c 100644
--- a/include/configs/omap3_pandora.h
+++ b/include/configs/omap3_pandora.h
@@ -10,22 +10,13 @@
 #ifndef __CONFIG_H
 #define __CONFIG_H
 
-/*
- * High Level Configuration Options
- */
-#define CONFIG_OMAP1   /* in a TI OMAP core */
-#define CONFIG_OMAP3_PANDORA   1   /* working with pandora */
-#define CONFIG_OMAP_GPIO
-#define CONFIG_OMAP_COMMON
-/* Common ARM Erratas */
-#define CONFIG_ARM_ERRATA_454179
-#define CONFIG_ARM_ERRATA_430973
-#define CONFIG_ARM_ERRATA_621766
+#define CONFIG_NR_DRAM_BANKS   2   /* CS1 may or may not be populated */
+#define CONFIG_NAND
 
-#define CONFIG_SDRC/* The chip has SDRC controller */
+/* override base for compatibility with MLO the device ships with */
+#define CONFIG_SYS_TEXT_BASE   0x80008000
 
-#include asm/arch/cpu.h  /* get chip and board defs */
-#include asm/arch/omap.h
+#include configs/ti_omap3_common.h
 
 /*
  * Display CPU and Board information
@@ -33,79 +24,42 @@
 #define CONFIG_DISPLAY_CPUINFO 1
 #define CONFIG_DISPLAY_BOARDINFO   1
 
-/* Clock Defines */
-#define V_OSCK 2600/* Clock output from T2 */
-#define V_SCLK (V_OSCK  1)
-
 #define CONFIG_MISC_INIT_R
-
-#define CONFIG_CMDLINE_TAG 1   /* enable passing of ATAGs */
-#define CONFIG_SETUP_MEMORY_TAGS   1
-#define CONFIG_INITRD_TAG  1
 #define CONFIG_REVISION_TAG1
 
-#define CONFIG_OF_LIBFDT   1
-
-/*
- * Size of malloc() pool
- */
 #define CONFIG_ENV_SIZE(128  10) /* 128 KiB */
-#define CONFIG_SYS_MALLOC_LEN  (1024 * 1024 + CONFIG_ENV_SIZE)
+
+#define CONFIG_SYS_CONSOLE_IS_IN_ENV   1
+#define CONFIG_SYS_DEVICE_NULLDEV  1
 
 /*
  * Hardware drivers
  */
 
-#define CONFIG_SYS_CONSOLE_IS_IN_ENV   1
-#define CONFIG_SYS_DEVICE_NULLDEV  1
+/* I2C Support */
+#define CONFIG_SYS_I2C_OMAP34XX
 
-/* USB */
-#define CONFIG_MUSB_UDC1
-#define CONFIG_USB_OMAP3   1
-#define CONFIG_TWL4030_USB 1
+/* TWL4030 LED */
+#define CONFIG_TWL4030_LED
 
-/* USB device configuration */
-#define CONFIG_USB_DEVICE  1
-#define CONFIG_USB_TTY 1
+/* Initialize GPIOs by default */
+#define CONFIG_OMAP3_GPIO_4/* GPIO96..127 is in GPIO Bank 4 */
+#define CONFIG_OMAP3_GPIO_6/* GPIO160..191 is in GPIO Bank 6 */
 
 /*
  * NS16550 Configuration
  */
-#define V_NS16550_CLK  4800/* 48MHz (APLL96/2) */
-
-#define CONFIG_SYS_NS16550
+#undef CONFIG_OMAP_SERIAL
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE(-4)
 #define CONFIG_SYS_NS16550_CLK V_NS16550_CLK
-
-/*
- * select serial console configuration
- */
-#define CONFIG_CONS_INDEX  3
 #define CONFIG_SYS_NS16550_COM3OMAP34XX_UART3
 #define CONFIG_SERIAL3 3
 
-/* allow to overwrite serial and ethaddr */
-#define CONFIG_ENV_OVERWRITE
-#define CONFIG_BAUDRATE115200
-#define CONFIG_SYS_BAUDRATE_TABLE  {4800, 9600, 19200, 38400, 57600, \
-   115200}
-#define CONFIG_GENERIC_MMC 1
-#define CONFIG_MMC 1
-#define CONFIG_OMAP_HSMMC  1
-#define CONFIG_DOS_PARTITION   1
-
 /* commands to include */
 #include config_cmd_default.h
 
-#define CONFIG_CMD_EXT2/* EXT2 Support */
-#define CONFIG_CMD_FAT /* FAT support  */
-
-#define CONFIG_CMD_I2C /* I2C serial bus support   */
-#define CONFIG_CMD_MMC /* MMC support  */
-#define CONFIG_CMD_NAND/* NAND support */
 #define CONFIG_CMD_CACHE   /* Cache control*/
-
 #undef CONFIG_CMD_FLASH/* flinfo, erase, protect   */
 #undef CONFIG_CMD_FPGA /* FPGA configuration Support   */
 #undef CONFIG_CMD_IMI  /* iminfo   */
@@ -113,53 +67,36 @@
 #undef CONFIG_CMD_NET  /* bootp, tftpboot, rarpboot*/
 #undef CONFIG_CMD_NFS  /* NFS support  */
 
-#define CONFIG_SYS_NO_FLASH
-#define CONFIG_SYS_I2C
-#define CONFIG_SYS_OMAP24_I2C_SPEED10
-#define CONFIG_SYS_OMAP24_I2C_SLAVE1
-#define CONFIG_SYS_I2C_OMAP34XX
-
-/*
- * TWL4030
- */
-#define CONFIG_TWL4030_POWER   1
-#define CONFIG_TWL4030_LED 1
-
 /*
  * Board NAND Info.
  */
-#define CONFIG_NAND_OMAP_GPMC
 #define CONFIG_SYS_NAND_ADDR   NAND_BASE

Re: [U-Boot] [PATCH 3/3] ARM: omap3: remove non-generic boards

2015-04-08 Thread Grazvydas Ignotas
On Wed, Apr 8, 2015 at 12:15 PM, Masahiro Yamada
yamada.masah...@socionext.com wrote:
 Remove board support for sdp3430, pandora, dig297, mcx, and mvblx.

If you can hold this off, I'll try updating pandora during this week.


Gražvydas
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] OMAP3: pandora: pin mux updates for DM3730 board variant

2012-03-22 Thread Grazvydas Ignotas
DM3730 needs some additional pin mux configuration for GPIOs
126-129 to work, add it.

Signed-off-by: Grazvydas Ignotas nota...@gmail.com
---
 arch/arm/include/asm/arch-omap3/mux.h |6 ++
 board/pandora/pandora.c   |3 +++
 board/pandora/pandora.h   |6 ++
 3 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/arch/arm/include/asm/arch-omap3/mux.h 
b/arch/arm/include/asm/arch-omap3/mux.h
index 6daef49..71f183d 100644
--- a/arch/arm/include/asm/arch-omap3/mux.h
+++ b/arch/arm/include/asm/arch-omap3/mux.h
@@ -445,6 +445,12 @@
 #define CONTROL_PADCONF_STRBEN_DLY10x0224
 #define CONTROL_PADCONF_SYS_BOOT8  0x0226
 
+/* AM/DM37xx specific */
+#define CONTROL_PADCONF_GPIO1270x0A54
+#define CONTROL_PADCONF_GPIO1260x0A56
+#define CONTROL_PADCONF_GPIO1280x0A58
+#define CONTROL_PADCONF_GPIO1290x0A5A
+
 #define MUX_VAL(OFFSET,VALUE)\
writew((VALUE), OMAP34XX_CTRL_BASE + (OFFSET));
 
diff --git a/board/pandora/pandora.c b/board/pandora/pandora.c
index 58a676d..70d2d82 100644
--- a/board/pandora/pandora.c
+++ b/board/pandora/pandora.c
@@ -103,6 +103,9 @@ int misc_init_r(void)
 void set_muxconf_regs(void)
 {
MUX_PANDORA();
+   if (get_cpu_family() == CPU_OMAP36XX) {
+   MUX_PANDORA_3730();
+   }
 }
 
 #ifdef CONFIG_GENERIC_MMC
diff --git a/board/pandora/pandora.h b/board/pandora/pandora.h
index f0ad16b..fea8bf2 100644
--- a/board/pandora/pandora.h
+++ b/board/pandora/pandora.h
@@ -399,4 +399,10 @@ const omap3_sysinfo sysinfo = {
MUX_VAL(CP(SDRC_CKE0),  (IDIS | PTU | EN  | M0)) /*sdrc_cke0*/\
MUX_VAL(CP(SDRC_CKE1),  (IDIS | PTU | EN  | M0)) /*sdrc_cke1*/
 
+#define MUX_PANDORA_3730() \
+   MUX_VAL(CP(GPIO126),(IEN  | PTD | DIS | M4)) /*GPIO_126 - 
MMC1_WP*/\
+   MUX_VAL(CP(GPIO127),(IEN  | PTD | DIS | M4)) /*GPIO_127 - 
MMC2_WP*/\
+   MUX_VAL(CP(GPIO128),(IDIS | PTD | DIS | M4)) /*GPIO_128 - 
LED_MMC1*/\
+   MUX_VAL(CP(GPIO129),(IDIS | PTD | DIS | M4)) /*GPIO_129 - 
LED_MMC2*/
+
 #endif
-- 
1.7.0.4

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] OMAP3: pandora: revise GPIO configuration

2012-03-22 Thread Grazvydas Ignotas
Update pandora's GPIO setup code with these changes:
- convert to gpiolib
- set up dual voltage GPIOs to match supply of 1.8V by clearing VMODE1
- add GPIO_IO_PWRDNZ configuration for DM3730 variation of pandora
  (required to enable GPIO 126, 127, and 129 I/O cells in DM3730)
- add wifi reset pulse as recommended by wifi chip's manufacturer
- drop configuration of GPIOs that u-boot doesn't need

Signed-off-by: Grazvydas Ignotas nota...@gmail.com
---
 board/pandora/pandora.c |   54 +++---
 1 files changed, 41 insertions(+), 13 deletions(-)

diff --git a/board/pandora/pandora.c b/board/pandora/pandora.c
index 70d2d82..4702612 100644
--- a/board/pandora/pandora.c
+++ b/board/pandora/pandora.c
@@ -32,6 +32,7 @@
 #include common.h
 #include twl4030.h
 #include asm/io.h
+#include asm/gpio.h
 #include asm/arch/mmc_host_def.h
 #include asm/arch/mux.h
 #include asm/arch/gpio.h
@@ -45,6 +46,10 @@ DECLARE_GLOBAL_DATA_PTR;
 #define TWL4030_BB_CFG_BBSEL_3200MV(3  2)
 #define TWL4030_BB_CFG_BBISEL_500UA2
 
+#define CONTROL_WKUP_CTRL  0x48002a5c
+#define GPIO_IO_PWRDNZ (1  6)
+#define PBIASLITEVMODE1(1  8)
+
 /*
  * Routine: board_init
  * Description: Early hardware init.
@@ -60,29 +65,52 @@ int board_init(void)
return 0;
 }
 
+static void set_output_gpio(unsigned int gpio, int value)
+{
+   int ret;
+
+   ret = gpio_request(gpio, );
+   if (ret != 0) {
+   printf(could not request GPIO %u\n, gpio);
+   return;
+   }
+   ret = gpio_direction_output(gpio, value);
+   if (ret != 0)
+   printf(could not set GPIO %u to %d\n, gpio, value);
+}
+
 /*
  * Routine: misc_init_r
  * Description: Configure board specific parts
  */
 int misc_init_r(void)
 {
-   struct gpio *gpio1_base = (struct gpio *)OMAP34XX_GPIO1_BASE;
-   struct gpio *gpio4_base = (struct gpio *)OMAP34XX_GPIO4_BASE;
-   struct gpio *gpio5_base = (struct gpio *)OMAP34XX_GPIO5_BASE;
-   struct gpio *gpio6_base = (struct gpio *)OMAP34XX_GPIO6_BASE;
+   t2_t *t2_base = (t2_t *)T2_BASE;
+   u32 pbias_lite;
 
twl4030_led_init(TWL4030_LED_LEDEN_LEDBON);
 
-   /* Configure GPIOs to output */
-   writel(~(GPIO14 | GPIO15 | GPIO16 | GPIO23), gpio1_base-oe);
-   writel(~GPIO22, gpio4_base-oe);   /* 118 */
-   writel(~(GPIO0 | GPIO1 | GPIO28 | GPIO29 | GPIO30 | GPIO31),
-   gpio5_base-oe);   /* 128, 129, 156-159 */
-   writel(~GPIO4, gpio6_base-oe);/* 164 */
+   /* set up dual-voltage GPIOs to 1.8V */
+   pbias_lite = readl(t2_base-pbias_lite);
+   pbias_lite = ~PBIASLITEVMODE1;
+   pbias_lite |= PBIASLITEPWRDNZ1;
+   writel(pbias_lite, t2_base-pbias_lite);
+   if (get_cpu_family() == CPU_OMAP36XX)
+   writel(readl(CONTROL_WKUP_CTRL) | GPIO_IO_PWRDNZ,
+   CONTROL_WKUP_CTRL);
+
+   /* make sure audio and BT chips are in powerdown state */
+   set_output_gpio(14, 0);
+   set_output_gpio(15, 0);
+   set_output_gpio(118, 0);
+
+   /* enable USB supply */
+   set_output_gpio(164, 1);
 
-   /* Set GPIOs */
-   writel(GPIO28, gpio5_base-setdataout);
-   writel(GPIO4, gpio6_base-setdataout);
+   /* wifi needs a short pulse to enter powersave state */
+   set_output_gpio(23, 1);
+   udelay(5000);
+   gpio_direction_output(23, 0);
 
/* Enable battery backup capacitor (3.2V, 0.5mA charge current) */
twl4030_i2c_write_u8(TWL4030_CHIP_PM_RECEIVER,
-- 
1.7.0.4

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] OMAP3: pandora: drop console kernel argument

2012-03-22 Thread Grazvydas Ignotas
As ttyS0 is no longer valid for newer OMAP kernels, and pandora serial
cables are not widespread, simply drop console argument. This should
allow booting old and new kernels with default arguments, and those who
need serial can use a boot script on SD card.

Signed-off-by: Grazvydas Ignotas nota...@gmail.com
---
 include/configs/omap3_pandora.h |3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/include/configs/omap3_pandora.h b/include/configs/omap3_pandora.h
index 4df5f5d..d02f338 100644
--- a/include/configs/omap3_pandora.h
+++ b/include/configs/omap3_pandora.h
@@ -174,8 +174,7 @@
usbtty=cdc_acm\0 \
loadaddr=0x8200\0 \
bootargs=ubi.mtd=4 ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs  \
-   rw rootflags=bulk_read console=ttyS0,115200n8  \
-   vram=6272K omapfb.vram=0:3000K\0 \
+   rw rootflags=bulk_read vram=6272K omapfb.vram=0:3000K\0 \
mtdparts= MTDPARTS_DEFAULT \0 \
 
 #define CONFIG_BOOTCOMMAND \
-- 
1.7.0.4

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] twl4030: fix potential power supply handling issues

2012-03-19 Thread Grazvydas Ignotas
twl4030_pmrecv_vsel_cfg currently first sets up device group (effectively
enabling the supply), and only then sets vsel (selects voltage). This could
lead to wrong voltage for a short time, or even long time if second i2c
write fails.

Fix this by writing vsel first and device group after that. Also
introduce error checking to not enable the supply if we failed to set
the voltage, and start logging errors as power supply problems are
usually important.

Signed-off-by: Grazvydas Ignotas nota...@gmail.com
---
 drivers/power/twl4030.c |   18 ++
 1 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/drivers/power/twl4030.c b/drivers/power/twl4030.c
index 4a4ddeb..36b2144 100644
--- a/drivers/power/twl4030.c
+++ b/drivers/power/twl4030.c
@@ -65,13 +65,23 @@ void twl4030_power_reset_init(void)
 void twl4030_pmrecv_vsel_cfg(u8 vsel_reg, u8 vsel_val,
u8 dev_grp, u8 dev_grp_sel)
 {
-   /* Select the Device Group */
-   twl4030_i2c_write_u8(TWL4030_CHIP_PM_RECEIVER, dev_grp_sel,
-   dev_grp);
+   int ret;
 
/* Select the Voltage */
-   twl4030_i2c_write_u8(TWL4030_CHIP_PM_RECEIVER, vsel_val,
+   ret = twl4030_i2c_write_u8(TWL4030_CHIP_PM_RECEIVER, vsel_val,
vsel_reg);
+   if (ret != 0) {
+   printf(Could could not write vsel to reg %02x (%d)\n,
+   vsel_reg, ret);
+   return;
+   }
+
+   /* Select the Device Group (enable the supply if dev_grp_sel != 0) */
+   ret = twl4030_i2c_write_u8(TWL4030_CHIP_PM_RECEIVER, dev_grp_sel,
+   dev_grp);
+   if (ret != 0)
+   printf(Could could not write grp_sel to reg %02x (%d)\n,
+   dev_grp, ret);
 }
 
 void twl4030_power_init(void)
-- 
1.7.0.4

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] mmc: omap: follow TRM procedure to power on cards

2012-03-19 Thread Grazvydas Ignotas
According to OMAP3 TRM, PBIASLITEPWRDNZ bits must be cleared while MMC
power supply is being enabled and is ramping up (those bits might be
left set by the previous bootloader). It doesn't say what happens if
this procedure is violated, but better not to risk here and do things
as required.

Signed-off-by: Grazvydas Ignotas nota...@gmail.com
---
 drivers/mmc/omap_hsmmc.c |   16 +++-
 1 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/drivers/mmc/omap_hsmmc.c b/drivers/mmc/omap_hsmmc.c
index 12ff0a2..e9e1d2a 100644
--- a/drivers/mmc/omap_hsmmc.c
+++ b/drivers/mmc/omap_hsmmc.c
@@ -62,15 +62,21 @@ static void omap4_vmmc_pbias_config(struct mmc *mmc)
 
 unsigned char mmc_board_init(struct mmc *mmc)
 {
-#if defined(CONFIG_TWL4030_POWER)
-   twl4030_power_mmc_init();
-#endif
-
 #if defined(CONFIG_OMAP34XX)
t2_t *t2_base = (t2_t *)T2_BASE;
struct prcm *prcm_base = (struct prcm *)PRCM_BASE;
+   u32 pbias_lite;
 
-   writel(readl(t2_base-pbias_lite) | PBIASLITEPWRDNZ1 |
+   pbias_lite = readl(t2_base-pbias_lite);
+   pbias_lite = ~(PBIASLITEPWRDNZ1 | PBIASLITEPWRDNZ0);
+   writel(pbias_lite, t2_base-pbias_lite);
+#endif
+#if defined(CONFIG_TWL4030_POWER)
+   twl4030_power_mmc_init();
+   mdelay(100);/* ramp-up delay from Linux code */
+#endif
+#if defined(CONFIG_OMAP34XX)
+   writel(pbias_lite | PBIASLITEPWRDNZ1 |
PBIASSPEEDCTRL0 | PBIASLITEPWRDNZ0,
t2_base-pbias_lite);
 
-- 
1.7.0.4

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] mmc: omap: follow TRM procedure to power on cards

2012-03-19 Thread Grazvydas Ignotas
On Mon, Mar 19, 2012 at 6:44 PM, Tom Rini tr...@ti.com wrote:
 On 03/19/2012 06:50 AM, Grazvydas Ignotas wrote:

 According to OMAP3 TRM, PBIASLITEPWRDNZ bits must be cleared while MMC
 power supply is being enabled and is ramping up (those bits might be
 left set by the previous bootloader). It doesn't say what happens if
 this procedure is violated, but better not to risk here and do things
 as required.


 While in favor of correctness (and putting / moving up reconciling Linux and
 U-Boot omap MMC drivers on my TODO list), does this help with the problem
 you had reported before?  Thanks!

Unfortunately not, but I'm still looking for a cause and might have
some more similar patches.


-- 
Gražvydas
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] mmc: omap: improve stat wait message

2012-03-19 Thread Grazvydas Ignotas
The message didn't state that it's waiting for STAT to _clear_,
and printing the STAT value itself can help to identify problems.

Signed-off-by: Grazvydas Ignotas nota...@gmail.com
---
 drivers/mmc/omap_hsmmc.c |3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/mmc/omap_hsmmc.c b/drivers/mmc/omap_hsmmc.c
index 547acd5..4b81d0d 100644
--- a/drivers/mmc/omap_hsmmc.c
+++ b/drivers/mmc/omap_hsmmc.c
@@ -215,7 +215,8 @@ static int mmc_send_cmd(struct mmc *mmc, struct mmc_cmd 
*cmd,
start = get_timer(0);
while (readl(mmc_base-stat)) {
if (get_timer(0) - start  MAX_RETRY_MS) {
-   printf(%s: timedout waiting for stat!\n, __func__);
+   printf(%s: timedout waiting for STAT (%x) to clear\n,
+   __func__, readl(mmc_base-stat));
return TIMEOUT;
}
}
-- 
1.7.0.4

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] mmc: omap: handle controller errors properly

2012-03-19 Thread Grazvydas Ignotas
According to OMAP3 TRM, when the controller reports certain errors,
driver must perform a software reset. This is done by setting a bit
in SYSCTL and waiting it to clear:
- SRC on command timeout (CTO)
- SRD on data errors (DTO, DCRC and DEB)

This fixes a problem seen on OMAP3 pandora board with some cards
that won't work with a message printed multiple times:
  timedout waiting on cmd inhibit to clear

Code loosely based on Linux omap_hsmmc driver.

Signed-off-by: Grazvydas Ignotas nota...@gmail.com
---
 drivers/mmc/omap_hsmmc.c |   36 ++--
 1 files changed, 34 insertions(+), 2 deletions(-)

diff --git a/drivers/mmc/omap_hsmmc.c b/drivers/mmc/omap_hsmmc.c
index 4b81d0d..06cbebf 100644
--- a/drivers/mmc/omap_hsmmc.c
+++ b/drivers/mmc/omap_hsmmc.c
@@ -33,6 +33,10 @@
 #include asm/arch/mmc_host_def.h
 #include asm/arch/sys_proto.h
 
+/* common definitions for all OMAPs */
+#define SYSCTL_SRC (1  25)
+#define SYSCTL_SRD (1  26)
+
 /* If we fail after 1 second wait, something is really bad */
 #define MAX_RETRY_MS   1000
 
@@ -195,6 +199,27 @@ static int mmc_init_setup(struct mmc *mmc)
return 0;
 }
 
+/*
+ * MMC controller internal finite state machine reset
+ *
+ * Used to reset command or data internal state machines, using respectively
+ * SRC or SRD bit of SYSCTL register
+ */
+static void mmc_reset_controller_fsm(struct hsmmc *mmc_base, u32 bit)
+{
+   ulong start;
+
+   mmc_reg_out(mmc_base-sysctl, bit, bit);
+
+   start = get_timer(0);
+   while ((readl(mmc_base-sysctl)  bit) != 0) {
+   if (get_timer(0) - start  MAX_RETRY_MS) {
+   printf(%s: timedout waiting for sysctl %x to clear\n,
+   __func__, bit);
+   return;
+   }
+   }
+}
 
 static int mmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd,
struct mmc_data *data)
@@ -284,9 +309,10 @@ static int mmc_send_cmd(struct mmc *mmc, struct mmc_cmd 
*cmd,
}
} while (!mmc_stat);
 
-   if ((mmc_stat  IE_CTO) != 0)
+   if ((mmc_stat  IE_CTO) != 0) {
+   mmc_reset_controller_fsm(mmc_base, SYSCTL_SRC);
return TIMEOUT;
-   else if ((mmc_stat  ERRI_MASK) != 0)
+   } else if ((mmc_stat  ERRI_MASK) != 0)
return -1;
 
if (mmc_stat  CC_MASK) {
@@ -337,6 +363,9 @@ static int mmc_read_data(struct hsmmc *mmc_base, char *buf, 
unsigned int size)
}
} while (mmc_stat == 0);
 
+   if ((mmc_stat  (IE_DTO | IE_DCRC | IE_DEB)) != 0)
+   mmc_reset_controller_fsm(mmc_base, SYSCTL_SRD);
+
if ((mmc_stat  ERRI_MASK) != 0)
return 1;
 
@@ -389,6 +418,9 @@ static int mmc_write_data(struct hsmmc *mmc_base, const 
char *buf,
}
} while (mmc_stat == 0);
 
+   if ((mmc_stat  (IE_DTO | IE_DCRC | IE_DEB)) != 0)
+   mmc_reset_controller_fsm(mmc_base, SYSCTL_SRD);
+
if ((mmc_stat  ERRI_MASK) != 0)
return 1;
 
-- 
1.7.0.4

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] ARM: OMAP3: pandora: re-enable NAND soft ECC

2012-03-19 Thread Grazvydas Ignotas
Commin 4fee6c2f295f9 nand: make 1-bit software ECC configurable
disabled software ECC by default, but pandora always used (and still
does use) software ECC to store it's firmware, so enable it in board
file.

Signed-off-by: Grazvydas Ignotas nota...@gmail.com
---
 include/configs/omap3_pandora.h |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/include/configs/omap3_pandora.h b/include/configs/omap3_pandora.h
index 4df5f5d..492b5e1 100644
--- a/include/configs/omap3_pandora.h
+++ b/include/configs/omap3_pandora.h
@@ -154,6 +154,7 @@
 #define CONFIG_CMD_MTDPARTS
 #define CONFIG_MTD_PARTITIONS
 #define CONFIG_MTD_DEVICE
+#define CONFIG_MTD_ECC_SOFT
 #define CONFIG_CMD_UBI
 #define CONFIG_CMD_UBIFS
 #define CONFIG_RBTREE
-- 
1.7.0.4

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] ARM: OMAP3: pandora: re-enable NAND soft ECC

2012-03-19 Thread Grazvydas Ignotas
On Tue, Mar 20, 2012 at 12:16 AM, Tom Rini tr...@ti.com wrote:
 On 03/19/2012 03:12 PM, Grazvydas Ignotas wrote:

 Commin 4fee6c2f295f9 nand: make 1-bit software ECC configurable
 disabled software ECC by default, but pandora always used (and still
 does use) software ECC to store it's firmware, so enable it in board
 file.

 Signed-off-by: Grazvydas Ignotasnota...@gmail.com


 This is an artifact of u-boot-arm (and thus u-boot-ti) being behind
 u-boot/master.  The change that requires this change has been reverted.

Thanks for the info, I don't follow u-boot development that closely..


-- 
Gražvydas
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] MMC broken after a7778f8fbee098c78b1fa1e1331313a7e217fb30

2012-03-18 Thread Grazvydas Ignotas
On Sun, Mar 4, 2012 at 10:06 PM, Pali Rohár pali.ro...@gmail.com wrote:
 Hi,

 this commit is breaking MMC support on Nokia N900:
 a7778f8fbee098c78b1fa1e1331313a7e217fb30 omap_hsmmc: Wait for CMDI to be clear

 I'm geting only error message timedout waiting on cmd inhibit to clear and I
 cannot read files from eMMC and SD card. When I reverted commit that commit I
 all is OK.

Same problem here on pandora board, I have old 512MB SanDisk, 4GB SDHC
A-data, 64 SDXC Transcend and only A-data one works with this patch,
after revert all of them work fine.



-- 
Gražvydas
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v2 2/3] OMAP3: pandora: remove unused config macros

2010-11-19 Thread Grazvydas Ignotas
On Fri, Nov 19, 2010 at 10:29 PM, Paulraj, Sandeep s-paul...@ti.com wrote:
 On Fri, Nov 5, 2010 at 10:07 PM, Paulraj, Sandeep s-paul...@ti.com
 wrote:
 
 
  Pandora's config has various flash related macros that are either
  not referenced anywhere in the code or are used by drivers that
  are not enabled. Remove them.
 
  Signed-off-by: Grazvydas Ignotas nota...@gmail.com
  ---
  Alternatively this old patch can be applied to clean up more OMAP
 boards:
  http://lists.denx.de/pipermail/u-boot/2010-April/070860.html
 
  Do you think this patch still applies clean?
 
  It will be better if you repost to refresh us all.

 Yes it still does, attaching for your convenience (with Steve's ack
 from June 9).

 This does not apply. This is probably because I added your other patches

Yeah this this was supposed to be applied instead of OMAP3: pandora:
remove unused config macros (it covers pandora and other boards, you
applied pandora-only version).

I see my email got mangled in u-boot-ti.git, could you fix it up if
you haven't sent pull request yet? You could replace this patch with
2/3 along the way too (can be done easily with git rebase -i).
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH v2 0/3] Pandora config fixes and updates

2010-11-05 Thread Grazvydas Ignotas
These patches update pandora's config for relocations and memory
layout changes. They also sync the config with one shipped on
production units.

Please apply at least the first patch for v2010.12 so that we have
pandora buildable.
Patches generated on top of u-boot-ti, also applies on mainline u-boot.

Grazvydas Ignotas (3):
  OMAP3: pandora: fix relocation and init memory map
  OMAP3: pandora: remove unused config macros
  OMAP3: pandora: update config for production

 board/pandora/config.mk |   33 ---
 include/configs/omap3_pandora.h |  117 +-
 2 files changed, 52 insertions(+), 98 deletions(-)
 delete mode 100644 board/pandora/config.mk

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH v2 1/3] OMAP3: pandora: fix relocation and init memory map

2010-11-05 Thread Grazvydas Ignotas
Fix the build breakage introduced by the recent relocation
and memory layout changes for ARM.

Signed-off-by: Grazvydas Ignotas nota...@gmail.com
---
 board/pandora/config.mk |   33 -
 include/configs/omap3_pandora.h |8 
 2 files changed, 8 insertions(+), 33 deletions(-)
 delete mode 100644 board/pandora/config.mk

diff --git a/board/pandora/config.mk b/board/pandora/config.mk
deleted file mode 100644
index 0fab80c..000
--- a/board/pandora/config.mk
+++ /dev/null
@@ -1,33 +0,0 @@
-#
-# (C) Copyright 2006
-# Texas Instruments, www.ti.com
-#
-# Pandora uses OMAP3 (ARM-CortexA8) cpu
-# see http://www.ti.com/ for more information on Texas Instruments
-#
-# See file CREDITS for list of people who contributed to this
-# project.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-# MA 02111-1307 USA
-#
-# Physical Address:
-# 8000' (bank0)
-# A000/ (bank1)
-# Linux-Kernel is expected to be at 8000'8000, entry 8000'8000
-# (mem base + reserved)
-
-# For use with external or internal boots.
-CONFIG_SYS_TEXT_BASE = 0x80e8
diff --git a/include/configs/omap3_pandora.h b/include/configs/omap3_pandora.h
index b78aacf..b8cd2cd 100644
--- a/include/configs/omap3_pandora.h
+++ b/include/configs/omap3_pandora.h
@@ -243,6 +243,14 @@
 /* SDRAM Bank Allocation method */
 #define SDRC_R_B_C 1
 
+#define CONFIG_SYS_TEXT_BASE   0x80008000
+#define CONFIG_SYS_SDRAM_BASE  PHYS_SDRAM_1
+#define CONFIG_SYS_INIT_RAM_ADDR   0x4020f800
+#define CONFIG_SYS_INIT_RAM_SIZE   0x800
+#define CONFIG_SYS_INIT_SP_ADDR(CONFIG_SYS_INIT_RAM_ADDR + \
+   CONFIG_SYS_INIT_RAM_SIZE - \
+   GENERATED_GBL_DATA_SIZE)
+
 /*---
  * FLASH and environment organization
  */
-- 
1.6.3.3

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH v2 2/3] OMAP3: pandora: remove unused config macros

2010-11-05 Thread Grazvydas Ignotas
Pandora's config has various flash related macros that are either
not referenced anywhere in the code or are used by drivers that
are not enabled. Remove them.

Signed-off-by: Grazvydas Ignotas nota...@gmail.com
---
Alternatively this old patch can be applied to clean up more OMAP boards:
http://lists.denx.de/pipermail/u-boot/2010-April/070860.html

 include/configs/omap3_pandora.h |   20 
 1 files changed, 0 insertions(+), 20 deletions(-)

diff --git a/include/configs/omap3_pandora.h b/include/configs/omap3_pandora.h
index b8cd2cd..f386bc4 100644
--- a/include/configs/omap3_pandora.h
+++ b/include/configs/omap3_pandora.h
@@ -261,40 +261,20 @@
 #define PISMO1_NAND_SIZE   GPMC_SIZE_128M
 #define PISMO1_ONEN_SIZE   GPMC_SIZE_128M
 
-#define CONFIG_SYS_MAX_FLASH_SECT  520 /* max number of sectors on */
-   /* one chip */
-#define CONFIG_SYS_MAX_FLASH_BANKS 2   /* max number of flash banks */
 #define CONFIG_SYS_MONITOR_LEN (256  10) /* Reserve 2 sectors */
 
 #define CONFIG_SYS_FLASH_BASE  boot_flash_base
 
 /* Monitor at start of flash */
 #define CONFIG_SYS_MONITOR_BASECONFIG_SYS_FLASH_BASE
-#define CONFIG_SYS_ONENAND_BASEONENAND_MAP
 
 #define CONFIG_ENV_IS_IN_NAND  1
-#define ONENAND_ENV_OFFSET 0x24 /* environment starts here */
 #define SMNAND_ENV_OFFSET  0x24 /* environment starts here */
 
 #define CONFIG_SYS_ENV_SECT_SIZE   boot_flash_sec
 #define CONFIG_ENV_OFFSET  boot_flash_off
 #define CONFIG_ENV_ADDRSMNAND_ENV_OFFSET
 
-/*---
- * CFI FLASH driver setup
- */
-/* timeout values are in ticks */
-#define CONFIG_SYS_FLASH_ERASE_TOUT(100 * CONFIG_SYS_HZ)
-#define CONFIG_SYS_FLASH_WRITE_TOUT(100 * CONFIG_SYS_HZ)
-
-/* Flash banks JFFS2 should use */
-#define CONFIG_SYS_MAX_MTD_BANKS   (CONFIG_SYS_MAX_FLASH_BANKS + \
-   CONFIG_SYS_MAX_NAND_DEVICE)
-#define CONFIG_SYS_JFFS2_MEM_NAND
-/* use flash_info[2] */
-#define CONFIG_SYS_JFFS2_FIRST_BANKCONFIG_SYS_MAX_FLASH_BANKS
-#define CONFIG_SYS_JFFS2_NUM_BANKS 1
-
 #ifndef __ASSEMBLY__
 extern unsigned int boot_flash_base;
 extern volatile unsigned int boot_flash_env_addr;
-- 
1.6.3.3

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH v2 3/3] OMAP3: pandora: update config for production

2010-11-05 Thread Grazvydas Ignotas
Update pandora's config so that it can boot production kernels from NAND.
This enables UBI, USB, sets up NAND layout and default boot command.
It also expands malloc area so that UBI works.

Signed-off-by: Grazvydas Ignotas nota...@gmail.com
---
 include/configs/omap3_pandora.h |   89 +++
 1 files changed, 44 insertions(+), 45 deletions(-)

diff --git a/include/configs/omap3_pandora.h b/include/configs/omap3_pandora.h
index f386bc4..72b0cc2 100644
--- a/include/configs/omap3_pandora.h
+++ b/include/configs/omap3_pandora.h
@@ -1,6 +1,6 @@
 /*
- * (C) Copyright 2008
- * Grazvydas Ignotas nota...@gmail.com
+ * (C) Copyright 2008-2010
+ * Gražvydas Ignotas nota...@gmail.com
  *
  * Configuration settings for the OMAP3 Pandora.
  *
@@ -59,14 +59,24 @@
  * Size of malloc() pool
  */
 #define CONFIG_ENV_SIZE(128  10) /* 128 KiB */
-   /* Sector */
-#define CONFIG_SYS_MALLOC_LEN  (CONFIG_ENV_SIZE + (128  10))
-   /* initial data */
+#define CONFIG_SYS_MALLOC_LEN  (1024 * 1024 + CONFIG_ENV_SIZE)
 
 /*
  * Hardware drivers
  */
 
+#define CONFIG_SYS_CONSOLE_IS_IN_ENV   1
+#define CONFIG_SYS_DEVICE_NULLDEV  1
+
+/* USB */
+#define CONFIG_MUSB_UDC1
+#define CONFIG_USB_OMAP3   1
+#define CONFIG_TWL4030_USB 1
+
+/* USB device configuration */
+#define CONFIG_USB_DEVICE  1
+#define CONFIG_USB_TTY 1
+
 /*
  * NS16550 Configuration
  */
@@ -101,11 +111,11 @@
 
 #define CONFIG_CMD_EXT2/* EXT2 Support */
 #define CONFIG_CMD_FAT /* FAT support  */
-#define CONFIG_CMD_JFFS2   /* JFFS2 Support*/
 
 #define CONFIG_CMD_I2C /* I2C serial bus support   */
 #define CONFIG_CMD_MMC /* MMC support  */
 #define CONFIG_CMD_NAND/* NAND support */
+#define CONFIG_CMD_CACHE   /* Cache control*/
 
 #undef CONFIG_CMD_FLASH/* flinfo, erase, protect   */
 #undef CONFIG_CMD_FPGA /* FPGA configuration Support   */
@@ -141,52 +151,41 @@
 
 #define CONFIG_SYS_MAX_NAND_DEVICE 1   /* Max number of NAND */
/* devices */
-#define CONFIG_JFFS2_NAND
-/* nand device jffs2 lives on */
-#define CONFIG_JFFS2_DEV   nand0
-/* start of jffs2 partition */
-#define CONFIG_JFFS2_PART_OFFSET   0x68
-#define CONFIG_JFFS2_PART_SIZE 0xf98   /* size of jffs2 */
-   /* partition */
+
+#ifdef CONFIG_CMD_NAND
+#define CONFIG_CMD_MTDPARTS
+#define CONFIG_MTD_PARTITIONS
+#define CONFIG_MTD_DEVICE
+#define CONFIG_CMD_UBI
+#define CONFIG_CMD_UBIFS
+#define CONFIG_RBTREE
+#define CONFIG_LZO
+
+#define MTDIDS_DEFAULT nand0=nand
+#define MTDPARTS_DEFAULT   mtdparts=nand:512k(xloader),\
+   1920k(uboot),128k(uboot-env),\
+   10m(boot),-(rootfs)
+#else
+#define MTDPARTS_DEFAULT
+#endif
 
 /* Environment information */
 #define CONFIG_BOOTDELAY   1
 
 #define CONFIG_EXTRA_ENV_SETTINGS \
+   usbtty=cdc_acm\0 \
loadaddr=0x8200\0 \
-   console=ttyS0,115200n8\0 \
-   videospec=omapfb:vram:2M,vram:4M\0 \
-   mmcargs=setenv bootargs console=${console}  \
-   video=${videospec}  \
-   root=/dev/mmcblk0p2 rw  \
-   rootfstype=ext3 rootwait\0 \
-   nandargs=setenv bootargs console=${console}  \
-   video=${videospec}  \
-   root=/dev/mtdblock4 rw  \
-   rootfstype=jffs2\0 \
-   loadbootscript=fatload mmc 0 ${loadaddr} boot.scr\0 \
-   bootscript=echo Running bootscript from mmc ...;  \
-   source ${loadaddr}\0 \
-   loaduimage=fatload mmc 0 ${loadaddr} uImage\0 \
-   mmcboot=echo Booting from mmc ...;  \
-   run mmcargs;  \
-   bootm ${loadaddr}\0 \
-   nandboot=echo Booting from nand ...;  \
-   run nandargs;  \
-   nand read ${loadaddr} 28 40;  \
-   bootm ${loadaddr}\0 \
+   bootargs=ubi.mtd=4 ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs  \
+   rw rootflags=bulk_read console=ttyS0,115200n8  \
+   vram=6272K omapfb.vram=0:3000K\0 \
+   mtdparts= MTDPARTS_DEFAULT \0 \
 
 #define CONFIG_BOOTCOMMAND \
-   if mmc init; then  \
-   if run loadbootscript; then  \
-   run bootscript;  \
-   else  \
-   if run loaduimage; then  \
-   run mmcboot;  \
-   else run nandboot;  \
-   fi;  \
-   fi;  \
-   else run nandboot; fi
+   if mmc init

Re: [U-Boot] patches added to u-boot-ti

2010-11-05 Thread Grazvydas Ignotas
On Thu, Nov 4, 2010 at 10:25 PM, Paulraj, Sandeep s-paul...@ti.com wrote:
 I have added quite a few patches to u-boot-ti but MAKEALL returns several 
 errors.

 I think most boards have not been updated since the ARM relocation patch.

Just sent patches to fix up OMAP3 pandora,
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 1/3] ARMV7: OMAP3: pandora: implement relocation

2010-10-20 Thread Grazvydas Ignotas
Fixes the build breakage introduced by the recent relocation
changes for ARMV7.

Signed-off-by: Grazvydas Ignotas nota...@gmail.com
---
 board/pandora/config.mk |2 +-
 include/configs/omap3_pandora.h |3 +++
 2 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/board/pandora/config.mk b/board/pandora/config.mk
index 0fab80c..4e6d074 100644
--- a/board/pandora/config.mk
+++ b/board/pandora/config.mk
@@ -30,4 +30,4 @@
 # (mem base + reserved)
 
 # For use with external or internal boots.
-CONFIG_SYS_TEXT_BASE = 0x80e8
+CONFIG_SYS_TEXT_BASE = 0x80008000
diff --git a/include/configs/omap3_pandora.h b/include/configs/omap3_pandora.h
index 3308ace..1b6f5ba 100644
--- a/include/configs/omap3_pandora.h
+++ b/include/configs/omap3_pandora.h
@@ -244,6 +244,9 @@
 /* SDRAM Bank Allocation method */
 #define SDRC_R_B_C 1
 
+#define CONFIG_SYS_SDRAM_BASE  PHYS_SDRAM_1
+#define CONFIG_SYS_INIT_SP_ADDR(LOW_LEVEL_SRAM_STACK - 
CONFIG_SYS_GBL_DATA_SIZE)
+
 /*---
  * FLASH and environment organization
  */
-- 
1.6.3.3

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 3/3] ARMV7: OMAP3: pandora: update config for production

2010-10-20 Thread Grazvydas Ignotas
Update pandora's config so that it can boot production kernels from NAND.
This enables UBI, USB, sets up NAND layout and default boot command.
It also expands malloc area so that UBI works.

Signed-off-by: Grazvydas Ignotas nota...@gmail.com
---
 include/configs/omap3_pandora.h |   87 ---
 1 files changed, 44 insertions(+), 43 deletions(-)

diff --git a/include/configs/omap3_pandora.h b/include/configs/omap3_pandora.h
index 8a3bf11..ccc0578 100644
--- a/include/configs/omap3_pandora.h
+++ b/include/configs/omap3_pandora.h
@@ -1,6 +1,6 @@
 /*
- * (C) Copyright 2008
- * Grazvydas Ignotas nota...@gmail.com
+ * (C) Copyright 2008-2010
+ * Gražvydas Ignotas nota...@gmail.com
  *
  * Configuration settings for the OMAP3 Pandora.
  *
@@ -60,10 +60,22 @@
  */
 #define CONFIG_ENV_SIZE(128  10) /* 128 KiB */
/* Sector */
-#define CONFIG_SYS_MALLOC_LEN  (CONFIG_ENV_SIZE + (128  10))
+#define CONFIG_SYS_MALLOC_LEN  (1024 * 1024 + CONFIG_ENV_SIZE)
 #define CONFIG_SYS_GBL_DATA_SIZE   128 /* bytes reserved for */
/* initial data */
 
+#define CONFIG_SYS_CONSOLE_IS_IN_ENV   1
+#define CONFIG_SYS_DEVICE_NULLDEV  1
+
+/* USB */
+#define CONFIG_MUSB_UDC1
+#define CONFIG_USB_OMAP3   1
+#define CONFIG_TWL4030_USB 1
+
+/* USB device configuration */
+#define CONFIG_USB_DEVICE  1
+#define CONFIG_USB_TTY 1
+
 /*
  * Hardware drivers
  */
@@ -102,11 +114,11 @@
 
 #define CONFIG_CMD_EXT2/* EXT2 Support */
 #define CONFIG_CMD_FAT /* FAT support  */
-#define CONFIG_CMD_JFFS2   /* JFFS2 Support*/
 
 #define CONFIG_CMD_I2C /* I2C serial bus support   */
 #define CONFIG_CMD_MMC /* MMC support  */
 #define CONFIG_CMD_NAND/* NAND support */
+#define CONFIG_CMD_CACHE   /* Cache control*/
 
 #undef CONFIG_CMD_FLASH/* flinfo, erase, protect   */
 #undef CONFIG_CMD_FPGA /* FPGA configuration Support   */
@@ -142,52 +154,41 @@
 
 #define CONFIG_SYS_MAX_NAND_DEVICE 1   /* Max number of NAND */
/* devices */
-#define CONFIG_JFFS2_NAND
-/* nand device jffs2 lives on */
-#define CONFIG_JFFS2_DEV   nand0
-/* start of jffs2 partition */
-#define CONFIG_JFFS2_PART_OFFSET   0x68
-#define CONFIG_JFFS2_PART_SIZE 0xf98   /* size of jffs2 */
-   /* partition */
+
+#ifdef CONFIG_CMD_NAND
+#define CONFIG_CMD_MTDPARTS
+#define CONFIG_MTD_PARTITIONS
+#define CONFIG_MTD_DEVICE
+#define CONFIG_CMD_UBI
+#define CONFIG_CMD_UBIFS
+#define CONFIG_RBTREE
+#define CONFIG_LZO
+
+#define MTDIDS_DEFAULT nand0=nand
+#define MTDPARTS_DEFAULT   mtdparts=nand:512k(xloader),\
+   1920k(uboot),128k(uboot-env),\
+   10m(boot),-(rootfs)
+#else
+#define MTDPARTS_DEFAULT
+#endif
 
 /* Environment information */
 #define CONFIG_BOOTDELAY   1
 
 #define CONFIG_EXTRA_ENV_SETTINGS \
+   usbtty=cdc_acm\0 \
loadaddr=0x8200\0 \
-   console=ttyS0,115200n8\0 \
-   videospec=omapfb:vram:2M,vram:4M\0 \
-   mmcargs=setenv bootargs console=${console}  \
-   video=${videospec}  \
-   root=/dev/mmcblk0p2 rw  \
-   rootfstype=ext3 rootwait\0 \
-   nandargs=setenv bootargs console=${console}  \
-   video=${videospec}  \
-   root=/dev/mtdblock4 rw  \
-   rootfstype=jffs2\0 \
-   loadbootscript=fatload mmc 0 ${loadaddr} boot.scr\0 \
-   bootscript=echo Running bootscript from mmc ...;  \
-   source ${loadaddr}\0 \
-   loaduimage=fatload mmc 0 ${loadaddr} uImage\0 \
-   mmcboot=echo Booting from mmc ...;  \
-   run mmcargs;  \
-   bootm ${loadaddr}\0 \
-   nandboot=echo Booting from nand ...;  \
-   run nandargs;  \
-   nand read ${loadaddr} 28 40;  \
-   bootm ${loadaddr}\0 \
+   bootargs=ubi.mtd=4 ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs  \
+   rw rootflags=bulk_read console=ttyS0,115200n8  \
+   vram=6272K omapfb.vram=0:3000K\0 \
+   mtdparts= MTDPARTS_DEFAULT \0 \
 
 #define CONFIG_BOOTCOMMAND \
-   if mmc init; then  \
-   if run loadbootscript; then  \
-   run bootscript;  \
-   else  \
-   if run loaduimage; then  \
-   run mmcboot;  \
-   else run nandboot;  \
-   fi;  \
-   fi;  \
-   else run nandboot; fi
+   if mmc

[U-Boot] [PATCH 0/3] Pandora config updates

2010-10-20 Thread Grazvydas Ignotas
These patches update pandora's config for relocations
and syncs it with one shipped on production units.
Patches generated on top of u-boot-arm.

Grazvydas Ignotas (3):
  ARMV7: OMAP3: pandora: implement relocation
  ARMV7: OMAP3: pandora: remove unused config macros
  ARMV7: OMAP3: pandora: update config for production

 board/pandora/config.mk |2 +-
 include/configs/omap3_pandora.h |  110 +--
 2 files changed, 48 insertions(+), 64 deletions(-)

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 2/3] ARMV7: OMAP3: pandora: remove unused config macros

2010-10-20 Thread Grazvydas Ignotas
Pandora's config has various flash related macros that are either
not referenced anywhere in the code or are used by drivers that
are not enabled. Remove them.

Signed-off-by: Grazvydas Ignotas nota...@gmail.com
---
Alternatively this old patch can be applied to clean up more OMAP boards:
http://lists.denx.de/pipermail/u-boot/2010-April/070860.html

 include/configs/omap3_pandora.h |   20 
 1 files changed, 0 insertions(+), 20 deletions(-)

diff --git a/include/configs/omap3_pandora.h b/include/configs/omap3_pandora.h
index 1b6f5ba..8a3bf11 100644
--- a/include/configs/omap3_pandora.h
+++ b/include/configs/omap3_pandora.h
@@ -257,40 +257,20 @@
 #define PISMO1_NAND_SIZE   GPMC_SIZE_128M
 #define PISMO1_ONEN_SIZE   GPMC_SIZE_128M
 
-#define CONFIG_SYS_MAX_FLASH_SECT  520 /* max number of sectors on */
-   /* one chip */
-#define CONFIG_SYS_MAX_FLASH_BANKS 2   /* max number of flash banks */
 #define CONFIG_SYS_MONITOR_LEN (256  10) /* Reserve 2 sectors */
 
 #define CONFIG_SYS_FLASH_BASE  boot_flash_base
 
 /* Monitor at start of flash */
 #define CONFIG_SYS_MONITOR_BASECONFIG_SYS_FLASH_BASE
-#define CONFIG_SYS_ONENAND_BASEONENAND_MAP
 
 #define CONFIG_ENV_IS_IN_NAND  1
-#define ONENAND_ENV_OFFSET 0x24 /* environment starts here */
 #define SMNAND_ENV_OFFSET  0x24 /* environment starts here */
 
 #define CONFIG_SYS_ENV_SECT_SIZE   boot_flash_sec
 #define CONFIG_ENV_OFFSET  boot_flash_off
 #define CONFIG_ENV_ADDRSMNAND_ENV_OFFSET
 
-/*---
- * CFI FLASH driver setup
- */
-/* timeout values are in ticks */
-#define CONFIG_SYS_FLASH_ERASE_TOUT(100 * CONFIG_SYS_HZ)
-#define CONFIG_SYS_FLASH_WRITE_TOUT(100 * CONFIG_SYS_HZ)
-
-/* Flash banks JFFS2 should use */
-#define CONFIG_SYS_MAX_MTD_BANKS   (CONFIG_SYS_MAX_FLASH_BANKS + \
-   CONFIG_SYS_MAX_NAND_DEVICE)
-#define CONFIG_SYS_JFFS2_MEM_NAND
-/* use flash_info[2] */
-#define CONFIG_SYS_JFFS2_FIRST_BANKCONFIG_SYS_MAX_FLASH_BANKS
-#define CONFIG_SYS_JFFS2_NUM_BANKS 1
-
 #ifndef __ASSEMBLY__
 extern unsigned int boot_flash_base;
 extern volatile unsigned int boot_flash_env_addr;
-- 
1.6.3.3

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 1/2] mmc: omap3: make local symbols static

2010-08-13 Thread Grazvydas Ignotas
 Unfortunately the patches didn't apply cleanly, but the fixes were
 simple.  I have the modified patches in the omap4-next-upstream branch
 of my repo for convenience:

 http://www.sakoman.com/cgi-bin/gitweb.cgi?p=u-
 boot.git;a=shortlog;h=refs/heads/omap4-next-upstream

 Regards,

 Steve

 I have added to u-boot-ti master.

 The e-mail address in the signed-off-by was incorrect.
 I believe using at is not allowed.

 I manually edited. I'll send a pull request to Wolfgang.

Looking good, thanks Steve and Sandeep!
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] OMAP3: remove unused config macros

2010-08-13 Thread Grazvydas Ignotas
Another ping for this old patch.. This still applies cleanly, and I
have verified those macros are unused by those boards. There were no
objections so far, and Steve ACKed it.

On Wed, Jun 9, 2010 at 12:30 AM, Paulraj, Sandeep s-paul...@ti.com wrote:
 Just a ping.
 Sandeep, maybe you could pick this? Those defines are mostly dead code.

 Not pushed yet.

 I have cc'ed all the concerned board maintainers in case they have an 
 objection.



 On Thu, Apr 29, 2010 at 5:19 PM, Grazvydas Ignotas nota...@gmail.com
 wrote:
  Most OMAP3 boards have various flash related macros in their configs
  that are either not referenced anywhere in the code or are used by
  drivers that are not enabled. Remove them.
 
  Signed-off-by: Grazvydas Ignotas nota...@gmail.com
  ---
   include/configs/omap3_beagle.h  |   18 --
   include/configs/omap3_evm.h     |   18 --
   include/configs/omap3_overo.h   |   18 --
   include/configs/omap3_pandora.h |   20 
   include/configs/omap3_sdp3430.h |    7 ---
   include/configs/omap3_zoom1.h   |   18 --
   include/configs/omap3_zoom2.h   |   10 --
   7 files changed, 0 insertions(+), 109 deletions(-)
 
  diff --git a/include/configs/omap3_beagle.h
 b/include/configs/omap3_beagle.h
  index 08d79ac..f8266b1 100644
  --- a/include/configs/omap3_beagle.h
  +++ b/include/configs/omap3_beagle.h
  @@ -291,9 +291,6 @@
   #define PISMO1_NAND_SIZE               GPMC_SIZE_128M
   #define PISMO1_ONEN_SIZE               GPMC_SIZE_128M
 
  -#define CONFIG_SYS_MAX_FLASH_SECT      520     /* max number of sectors
 on */
  -                                               /* one chip */
  -#define CONFIG_SYS_MAX_FLASH_BANKS     2       /* max number of flash
 banks */
   #define CONFIG_SYS_MONITOR_LEN         (256  10)     /* Reserve 2
 sectors */
 
   #define CONFIG_SYS_FLASH_BASE          boot_flash_base
  @@ -310,21 +307,6 @@
   #define CONFIG_ENV_OFFSET              boot_flash_off
   #define CONFIG_ENV_ADDR                        SMNAND_ENV_OFFSET
 
  -/*-
 --
  - * CFI FLASH driver setup
  - */
  -/* timeout values are in ticks */
  -#define CONFIG_SYS_FLASH_ERASE_TOUT    (100 * CONFIG_SYS_HZ)
  -#define CONFIG_SYS_FLASH_WRITE_TOUT    (100 * CONFIG_SYS_HZ)
  -
  -/* Flash banks JFFS2 should use */
  -#define CONFIG_SYS_MAX_MTD_BANKS       (CONFIG_SYS_MAX_FLASH_BANKS + \
  -                                       CONFIG_SYS_MAX_NAND_DEVICE)
  -#define CONFIG_SYS_JFFS2_MEM_NAND
  -/* use flash_info[2] */
  -#define CONFIG_SYS_JFFS2_FIRST_BANK    CONFIG_SYS_MAX_FLASH_BANKS
  -#define CONFIG_SYS_JFFS2_NUM_BANKS     1
  -
   #ifndef __ASSEMBLY__
   extern unsigned int boot_flash_base;
   extern volatile unsigned int boot_flash_env_addr;
  diff --git a/include/configs/omap3_evm.h b/include/configs/omap3_evm.h
  index 0d99f7d..39eb4b5 100644
  --- a/include/configs/omap3_evm.h
  +++ b/include/configs/omap3_evm.h
  @@ -295,9 +295,6 @@
   #define PISMO1_NAND_SIZE               GPMC_SIZE_128M
   #define PISMO1_ONEN_SIZE               GPMC_SIZE_128M
 
  -#define CONFIG_SYS_MAX_FLASH_SECT      520     /* max number of sectors
 */
  -                                               /* on one chip */
  -#define CONFIG_SYS_MAX_FLASH_BANKS     2       /* max number of flash
 banks */
   #define CONFIG_SYS_MONITOR_LEN         (256  10)     /* Reserve 2
 sectors */
 
   #define CONFIG_SYS_FLASH_BASE          boot_flash_base
  @@ -314,21 +311,6 @@
   #define CONFIG_ENV_OFFSET              boot_flash_off
   #define CONFIG_ENV_ADDR                        boot_flash_env_addr
 
  -/*-
 --
  - * CFI FLASH driver setup
  - */
  -/* timeout values are in ticks */
  -#define CONFIG_SYS_FLASH_ERASE_TOUT    (100 * CONFIG_SYS_HZ)
  -#define CONFIG_SYS_FLASH_WRITE_TOUT    (100 * CONFIG_SYS_HZ)
  -
  -/* Flash banks JFFS2 should use */
  -#define CONFIG_SYS_MAX_MTD_BANKS       (CONFIG_SYS_MAX_FLASH_BANKS + \
  -                                       CONFIG_SYS_MAX_NAND_DEVICE)
  -#define CONFIG_SYS_JFFS2_MEM_NAND
  -/* use flash_info[2] */
  -#define CONFIG_SYS_JFFS2_FIRST_BANK    CONFIG_SYS_MAX_FLASH_BANKS
  -#define CONFIG_SYS_JFFS2_NUM_BANKS     1
  -
   #ifndef __ASSEMBLY__
   extern unsigned int boot_flash_base;
   extern volatile unsigned int boot_flash_env_addr;
  diff --git a/include/configs/omap3_overo.h
 b/include/configs/omap3_overo.h
  index a43500b..b5b2dbe 100644
  --- a/include/configs/omap3_overo.h
  +++ b/include/configs/omap3_overo.h
  @@ -260,9 +260,6 @@
   #define PISMO1_NAND_SIZE               GPMC_SIZE_128M
   #define PISMO1_ONEN_SIZE               GPMC_SIZE_128M
 
  -#define CONFIG_SYS_MAX_FLASH_SECT      520     /* max number of sectors
 on */
  -                                               /* one chip */
  -#define CONFIG_SYS_MAX_FLASH_BANKS     2       /* max number of flash

Re: [U-Boot] [PATCH v2 01/10] ARM: Rename arch/arm/cpu/arm_cortexa8 to armv7

2010-06-18 Thread Grazvydas Ignotas
On Fri, Jun 18, 2010 at 1:17 AM, Steve Sakoman st...@sakoman.com wrote:
 The purpose of this patch is to prepare for adding the OMAP4 architecture, 
 which is Cortex A9

 Cortex A8 and A9 both belong to the armv7 architecture, hence the name change.

 The two architectures are similar enough that substantial code can be shared.

 Signed-off-by: Aneesh V ane...@ti.com
 Signed-off-by: Steve Sakoman st...@sakoman.com
 ---

snip

 diff --git a/MAINTAINERS b/MAINTAINERS
 index 7a13d28..b9c6af2 100644
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
 @@ -536,7 +536,7 @@ Stefano Babic sba...@denx.de

  Dirk Behme dirk.be...@gmail.com

 -       omap3_beagle    ARM CORTEX-A8 (OMAP3530 SoC)
 +       omap3_beagle    ARM ARMV7 (OMAP3530 SoC)

hm, do we really need to rename these? The heading above states:
# ARM Systems:
#
# Maintainer Name, Email Address
#   Board   CPU

ARMV7 is a name of the ISA, not CPU..
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] Building omap3_sdp3430 fails with older compilers

2010-06-18 Thread Grazvydas Ignotas
On Fri, Jun 18, 2010 at 12:25 PM, Wolfgang Denk w...@denx.de wrote:
 The changes introduced by this commit:

        commit 7a2aa8b68120f333ed2edc33475ca195810d6cb1
        Author: Tom Rix tom@windriver.com
        Date:   Thu Sep 10 15:27:57 2009 -0400

            OMAP3 Move cache routine to cache.S

 added, among other things, a number of push and pop instructions
 to arch/arm/cpu/arm_cortexa8/omap3/cache.S; older tool chains (like
 GCC 4.0.0 as included for example with ELDK 4.1) barf on these:

 - eldk-switch -r 4.1 arm
 Setup for arm-linux (using ELDK 4.1)
 - ./MAKEALL omap3_sdp3430
 Configuring for omap3_sdp3430 board...
 cache.S: Assembler messages:
 cache.S:133: Error: bad instruction `push {r0,r1,r2,lr}'
 cache.S:160: Error: bad instruction `pop {r1,r2,r3,pc}'
 cache.S:164: Error: bad instruction `push {r0,r1,r2,lr}'
 cache.S:191: Error: bad instruction `pop {r1,r2,r3,pc}'
 make[1]: *** [cache.o] Error 1
 make: *** [arch/arm/cpu/arm_cortexa8/omap3/libomap3.a] Error 2

 Is there a way to write this code without suing these insns?

Yes, this can be changed to stm/ldm.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 2/2] mmc: omap3: fix block read function

2010-06-16 Thread Grazvydas Ignotas
The OMAP3 block read function is not following API and always returning
1 instead of read block count, fix it. Also to simplify code, merge it
with with a helper function, which was only called from the block read
function.

After this patch ext2 filesystem can be used properly.

Signed-off-by: Grazvydas Ignotas nota...@gmail.com
---
 drivers/mmc/omap3_mmc.c |   47 +--
 1 files changed, 21 insertions(+), 26 deletions(-)

diff --git a/drivers/mmc/omap3_mmc.c b/drivers/mmc/omap3_mmc.c
index dc331a0..af74997 100644
--- a/drivers/mmc/omap3_mmc.c
+++ b/drivers/mmc/omap3_mmc.c
@@ -397,42 +397,45 @@ static unsigned char mmc_read_cardsize(mmc_card_data 
*mmc_dev_data,
return 1;
 }
 
-static unsigned char omap_mmc_read_sect(unsigned int start_sec,
-   unsigned int num_bytes, mmc_card_data *mmc_c,
-   unsigned long *output_buf)
+static unsigned long mmc_bread(int dev_num, unsigned long blknr,
+   lbaint_t blkcnt, void *dst)
 {
unsigned char err;
unsigned int argument;
unsigned int resp[4];
-   unsigned int num_sec_val =
-   (num_bytes + (MMCSD_SECTOR_SIZE - 1)) / MMCSD_SECTOR_SIZE;
+   unsigned int *output_buf = dst;
unsigned int sec_inc_val;
+   lbaint_t i;
 
-   if (num_sec_val == 0)
-   return 1;
+   if (blkcnt == 0)
+   return 0;
 
-   if (mmc_c-mode == SECTOR_MODE) {
-   argument = start_sec;
+   if (cur_card_data.mode == SECTOR_MODE) {
+   argument = blknr;
sec_inc_val = 1;
} else {
-   argument = start_sec * MMCSD_SECTOR_SIZE;
+   argument = blknr * MMCSD_SECTOR_SIZE;
sec_inc_val = MMCSD_SECTOR_SIZE;
}
 
-   while (num_sec_val) {
+   for (i = 0; i  blkcnt; i++) {
err = mmc_send_cmd(MMC_CMD17, argument, resp);
-   if (err != 1)
-   return err;
+   if (err != 1) {
+   printf(mmc: CMD17 failed, status = %08x\n, err);
+   break;
+   }
 
-   err = mmc_read_data((unsigned int *) output_buf);
-   if (err != 1)
-   return err;
+   err = mmc_read_data(output_buf);
+   if (err != 1) {
+   printf(mmc: read failed, status = %08x\n, err);
+   break;
+   }
 
output_buf += (MMCSD_SECTOR_SIZE / 4);
argument += sec_inc_val;
-   num_sec_val--;
}
-   return 1;
+
+   return i;
 }
 
 static unsigned char configure_mmc(mmc_card_data *mmc_card_cur)
@@ -505,14 +508,6 @@ static unsigned char configure_mmc(mmc_card_data 
*mmc_card_cur)
return 1;
 }
 
-static unsigned long mmc_bread(int dev_num, unsigned long blknr,
-   lbaint_t blkcnt, void *dst)
-{
-   omap_mmc_read_sect(blknr, (blkcnt * MMCSD_SECTOR_SIZE), cur_card_data,
-   (unsigned long *) dst);
-   return 1;
-}
-
 int mmc_legacy_init(int verbose)
 {
if (configure_mmc(cur_card_data) != 1)
-- 
1.6.3.3

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 1/2] mmc: omap3: make local symbols static

2010-06-16 Thread Grazvydas Ignotas
Make driver local variables and functions static and
remove them from the arch header.

Signed-off-by: Grazvydas Ignotas nota...@gmail.com
---
 arch/arm/include/asm/arch-omap3/mmc.h |9 -
 drivers/mmc/omap3_mmc.c   |   33 +
 2 files changed, 17 insertions(+), 25 deletions(-)

diff --git a/arch/arm/include/asm/arch-omap3/mmc.h 
b/arch/arm/include/asm/arch-omap3/mmc.h
index 196ffdc..3e3e631 100644
--- a/arch/arm/include/asm/arch-omap3/mmc.h
+++ b/arch/arm/include/asm/arch-omap3/mmc.h
@@ -230,13 +230,4 @@ typedef union {
mmc_csd_reg_t Card_CSD;
 } mmc_resp_t;
 
-extern mmc_card_data mmc_dev;
-
-unsigned char mmc_lowlevel_init(void);
-unsigned char mmc_send_command(unsigned int cmd, unsigned int arg,
-  unsigned int *response);
-unsigned char mmc_setup_clock(unsigned int iclk, unsigned short clkd);
-unsigned char mmc_set_opendrain(unsigned char state);
-unsigned char mmc_read_data(unsigned int *output_buf);
-
 #endif /* MMC_H */
diff --git a/drivers/mmc/omap3_mmc.c b/drivers/mmc/omap3_mmc.c
index 96c0e65..dc331a0 100644
--- a/drivers/mmc/omap3_mmc.c
+++ b/drivers/mmc/omap3_mmc.c
@@ -32,7 +32,7 @@
 #include asm/io.h
 #include asm/arch/mmc.h
 
-const unsigned short mmc_transspeed_val[15][4] = {
+static const unsigned short mmc_transspeed_val[15][4] = {
{CLKD(10, 1), CLKD(10, 10), CLKD(10, 100), CLKD(10, 1000)},
{CLKD(12, 1), CLKD(12, 10), CLKD(12, 100), CLKD(12, 1000)},
{CLKD(13, 1), CLKD(13, 10), CLKD(13, 100), CLKD(13, 1000)},
@@ -50,7 +50,7 @@ const unsigned short mmc_transspeed_val[15][4] = {
{CLKD(80, 1), CLKD(80, 10), CLKD(80, 100), CLKD(80, 1000)}
 };
 
-mmc_card_data cur_card_data;
+static mmc_card_data cur_card_data;
 static block_dev_desc_t mmc_blk_dev;
 static hsmmc_t *mmc_base = (hsmmc_t *)OMAP_HSMMC_BASE;
 
@@ -59,7 +59,7 @@ block_dev_desc_t *mmc_get_dev(int dev)
return (block_dev_desc_t *) mmc_blk_dev;
 }
 
-unsigned char mmc_board_init(void)
+static unsigned char mmc_board_init(void)
 {
t2_t *t2_base = (t2_t *)T2_BASE;
 
@@ -77,7 +77,7 @@ unsigned char mmc_board_init(void)
return 1;
 }
 
-void mmc_init_stream(void)
+static void mmc_init_stream(void)
 {
writel(readl(mmc_base-con) | INIT_INITSTREAM, mmc_base-con);
 
@@ -92,7 +92,7 @@ void mmc_init_stream(void)
writel(readl(mmc_base-con)  ~INIT_INITSTREAM, mmc_base-con);
 }
 
-unsigned char mmc_clock_config(unsigned int iclk, unsigned short clk_div)
+static unsigned char mmc_clock_config(unsigned int iclk, unsigned short 
clk_div)
 {
unsigned int val;
 
@@ -121,7 +121,7 @@ unsigned char mmc_clock_config(unsigned int iclk, unsigned 
short clk_div)
return 1;
 }
 
-unsigned char mmc_init_setup(void)
+static unsigned char mmc_init_setup(void)
 {
unsigned int reg_val;
 
@@ -155,7 +155,7 @@ unsigned char mmc_init_setup(void)
return 1;
 }
 
-unsigned char mmc_send_cmd(unsigned int cmd, unsigned int arg,
+static unsigned char mmc_send_cmd(unsigned int cmd, unsigned int arg,
unsigned int *response)
 {
unsigned int mmc_stat;
@@ -191,7 +191,7 @@ unsigned char mmc_send_cmd(unsigned int cmd, unsigned int 
arg,
return 1;
 }
 
-unsigned char mmc_read_data(unsigned int *output_buf)
+static unsigned char mmc_read_data(unsigned int *output_buf)
 {
unsigned int mmc_stat;
unsigned int read_count = 0;
@@ -232,7 +232,7 @@ unsigned char mmc_read_data(unsigned int *output_buf)
return 1;
 }
 
-unsigned char mmc_detect_card(mmc_card_data *mmc_card_cur)
+static unsigned char mmc_detect_card(mmc_card_data *mmc_card_cur)
 {
unsigned char err;
unsigned int argument = 0;
@@ -343,7 +343,7 @@ unsigned char mmc_detect_card(mmc_card_data *mmc_card_cur)
return 1;
 }
 
-unsigned char mmc_read_cardsize(mmc_card_data *mmc_dev_data,
+static unsigned char mmc_read_cardsize(mmc_card_data *mmc_dev_data,
mmc_csd_reg_t *cur_csd)
 {
mmc_extended_csd_reg_t ext_csd;
@@ -397,9 +397,9 @@ unsigned char mmc_read_cardsize(mmc_card_data *mmc_dev_data,
return 1;
 }
 
-unsigned char omap_mmc_read_sect(unsigned int start_sec, unsigned int 
num_bytes,
-mmc_card_data *mmc_c,
-unsigned long *output_buf)
+static unsigned char omap_mmc_read_sect(unsigned int start_sec,
+   unsigned int num_bytes, mmc_card_data *mmc_c,
+   unsigned long *output_buf)
 {
unsigned char err;
unsigned int argument;
@@ -435,7 +435,7 @@ unsigned char omap_mmc_read_sect(unsigned int start_sec, 
unsigned int num_bytes,
return 1;
 }
 
-unsigned char configure_mmc(mmc_card_data *mmc_card_cur)
+static unsigned char configure_mmc(mmc_card_data *mmc_card_cur)
 {
unsigned char ret_val;
unsigned int argument;
@@ -504,8 +504,9 @@ unsigned char configure_mmc(mmc_card_data *mmc_card_cur

Re: [U-Boot] [PATCH] OMAP3: remove unused config macros

2010-06-08 Thread Grazvydas Ignotas
Just a ping.
Sandeep, maybe you could pick this? Those defines are mostly dead code.

On Thu, Apr 29, 2010 at 5:19 PM, Grazvydas Ignotas nota...@gmail.com wrote:
 Most OMAP3 boards have various flash related macros in their configs
 that are either not referenced anywhere in the code or are used by
 drivers that are not enabled. Remove them.

 Signed-off-by: Grazvydas Ignotas nota...@gmail.com
 ---
  include/configs/omap3_beagle.h  |   18 --
  include/configs/omap3_evm.h     |   18 --
  include/configs/omap3_overo.h   |   18 --
  include/configs/omap3_pandora.h |   20 
  include/configs/omap3_sdp3430.h |    7 ---
  include/configs/omap3_zoom1.h   |   18 --
  include/configs/omap3_zoom2.h   |   10 --
  7 files changed, 0 insertions(+), 109 deletions(-)

 diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
 index 08d79ac..f8266b1 100644
 --- a/include/configs/omap3_beagle.h
 +++ b/include/configs/omap3_beagle.h
 @@ -291,9 +291,6 @@
  #define PISMO1_NAND_SIZE               GPMC_SIZE_128M
  #define PISMO1_ONEN_SIZE               GPMC_SIZE_128M

 -#define CONFIG_SYS_MAX_FLASH_SECT      520     /* max number of sectors on */
 -                                               /* one chip */
 -#define CONFIG_SYS_MAX_FLASH_BANKS     2       /* max number of flash banks 
 */
  #define CONFIG_SYS_MONITOR_LEN         (256  10)     /* Reserve 2 sectors 
 */

  #define CONFIG_SYS_FLASH_BASE          boot_flash_base
 @@ -310,21 +307,6 @@
  #define CONFIG_ENV_OFFSET              boot_flash_off
  #define CONFIG_ENV_ADDR                        SMNAND_ENV_OFFSET

 -/*---
 - * CFI FLASH driver setup
 - */
 -/* timeout values are in ticks */
 -#define CONFIG_SYS_FLASH_ERASE_TOUT    (100 * CONFIG_SYS_HZ)
 -#define CONFIG_SYS_FLASH_WRITE_TOUT    (100 * CONFIG_SYS_HZ)
 -
 -/* Flash banks JFFS2 should use */
 -#define CONFIG_SYS_MAX_MTD_BANKS       (CONFIG_SYS_MAX_FLASH_BANKS + \
 -                                       CONFIG_SYS_MAX_NAND_DEVICE)
 -#define CONFIG_SYS_JFFS2_MEM_NAND
 -/* use flash_info[2] */
 -#define CONFIG_SYS_JFFS2_FIRST_BANK    CONFIG_SYS_MAX_FLASH_BANKS
 -#define CONFIG_SYS_JFFS2_NUM_BANKS     1
 -
  #ifndef __ASSEMBLY__
  extern unsigned int boot_flash_base;
  extern volatile unsigned int boot_flash_env_addr;
 diff --git a/include/configs/omap3_evm.h b/include/configs/omap3_evm.h
 index 0d99f7d..39eb4b5 100644
 --- a/include/configs/omap3_evm.h
 +++ b/include/configs/omap3_evm.h
 @@ -295,9 +295,6 @@
  #define PISMO1_NAND_SIZE               GPMC_SIZE_128M
  #define PISMO1_ONEN_SIZE               GPMC_SIZE_128M

 -#define CONFIG_SYS_MAX_FLASH_SECT      520     /* max number of sectors */
 -                                               /* on one chip */
 -#define CONFIG_SYS_MAX_FLASH_BANKS     2       /* max number of flash banks 
 */
  #define CONFIG_SYS_MONITOR_LEN         (256  10)     /* Reserve 2 sectors 
 */

  #define CONFIG_SYS_FLASH_BASE          boot_flash_base
 @@ -314,21 +311,6 @@
  #define CONFIG_ENV_OFFSET              boot_flash_off
  #define CONFIG_ENV_ADDR                        boot_flash_env_addr

 -/*---
 - * CFI FLASH driver setup
 - */
 -/* timeout values are in ticks */
 -#define CONFIG_SYS_FLASH_ERASE_TOUT    (100 * CONFIG_SYS_HZ)
 -#define CONFIG_SYS_FLASH_WRITE_TOUT    (100 * CONFIG_SYS_HZ)
 -
 -/* Flash banks JFFS2 should use */
 -#define CONFIG_SYS_MAX_MTD_BANKS       (CONFIG_SYS_MAX_FLASH_BANKS + \
 -                                       CONFIG_SYS_MAX_NAND_DEVICE)
 -#define CONFIG_SYS_JFFS2_MEM_NAND
 -/* use flash_info[2] */
 -#define CONFIG_SYS_JFFS2_FIRST_BANK    CONFIG_SYS_MAX_FLASH_BANKS
 -#define CONFIG_SYS_JFFS2_NUM_BANKS     1
 -
  #ifndef __ASSEMBLY__
  extern unsigned int boot_flash_base;
  extern volatile unsigned int boot_flash_env_addr;
 diff --git a/include/configs/omap3_overo.h b/include/configs/omap3_overo.h
 index a43500b..b5b2dbe 100644
 --- a/include/configs/omap3_overo.h
 +++ b/include/configs/omap3_overo.h
 @@ -260,9 +260,6 @@
  #define PISMO1_NAND_SIZE               GPMC_SIZE_128M
  #define PISMO1_ONEN_SIZE               GPMC_SIZE_128M

 -#define CONFIG_SYS_MAX_FLASH_SECT      520     /* max number of sectors on */
 -                                               /* one chip */
 -#define CONFIG_SYS_MAX_FLASH_BANKS     2       /* max number of flash banks 
 */
  #define CONFIG_SYS_MONITOR_LEN         (256  10)     /* Reserve 2 sectors 
 */

  #define CONFIG_SYS_FLASH_BASE          boot_flash_base
 @@ -279,21 +276,6 @@
  #define CONFIG_ENV_OFFSET              boot_flash_off
  #define CONFIG_ENV_ADDR                        SMNAND_ENV_OFFSET

 -/*---
 - * CFI FLASH driver setup
 - */
 -/* timeout values are in ticks */
 -#define

Re: [U-Boot] [PATCH] OMAP3: pandora: enable battery backup capacitor

2010-06-08 Thread Grazvydas Ignotas
CCing Sandeep.

On Thu, Apr 29, 2010 at 5:52 PM, Grazvydas Ignotas nota...@gmail.com wrote:
 Pandora has a capacitor connected as backup battery, which allows
 retaining RTC for some time while main battery is removed. Enable backup
 battery charge function to charge that capacitor.

 Signed-off-by: Grazvydas Ignotas nota...@gmail.com
 ---
  board/pandora/pandora.c |    9 +
  1 files changed, 9 insertions(+), 0 deletions(-)

 diff --git a/board/pandora/pandora.c b/board/pandora/pandora.c
 index 75e4330..355e9ea 100644
 --- a/board/pandora/pandora.c
 +++ b/board/pandora/pandora.c
 @@ -37,6 +37,10 @@
  #include asm/mach-types.h
  #include pandora.h

 +#define TWL4030_BB_CFG_BBCHEN          (1  4)
 +#define TWL4030_BB_CFG_BBSEL_3200MV    (3  2)
 +#define TWL4030_BB_CFG_BBISEL_500UA    2
 +
  /*
  * Routine: board_init
  * Description: Early hardware init.
 @@ -78,6 +82,11 @@ int misc_init_r(void)
        writel(GPIO28, gpio5_base-setdataout);
        writel(GPIO4, gpio6_base-setdataout);

 +       /* Enable battery backup capacitor (3.2V, 0.5mA charge current) */
 +       twl4030_i2c_write_u8(TWL4030_CHIP_PM_RECEIVER,
 +               TWL4030_BB_CFG_BBCHEN | TWL4030_BB_CFG_BBSEL_3200MV |
 +               TWL4030_BB_CFG_BBISEL_500UA, TWL4030_PM_RECEIVER_BB_CFG);
 +
        dieid_num_r();

        return 0;
 --
 1.6.3.3


___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] OMAP3: remove unused config macros

2010-04-29 Thread Grazvydas Ignotas
Most OMAP3 boards have various flash related macros in their configs
that are either not referenced anywhere in the code or are used by
drivers that are not enabled. Remove them.

Signed-off-by: Grazvydas Ignotas nota...@gmail.com
---
 include/configs/omap3_beagle.h  |   18 --
 include/configs/omap3_evm.h |   18 --
 include/configs/omap3_overo.h   |   18 --
 include/configs/omap3_pandora.h |   20 
 include/configs/omap3_sdp3430.h |7 ---
 include/configs/omap3_zoom1.h   |   18 --
 include/configs/omap3_zoom2.h   |   10 --
 7 files changed, 0 insertions(+), 109 deletions(-)

diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
index 08d79ac..f8266b1 100644
--- a/include/configs/omap3_beagle.h
+++ b/include/configs/omap3_beagle.h
@@ -291,9 +291,6 @@
 #define PISMO1_NAND_SIZE   GPMC_SIZE_128M
 #define PISMO1_ONEN_SIZE   GPMC_SIZE_128M
 
-#define CONFIG_SYS_MAX_FLASH_SECT  520 /* max number of sectors on */
-   /* one chip */
-#define CONFIG_SYS_MAX_FLASH_BANKS 2   /* max number of flash banks */
 #define CONFIG_SYS_MONITOR_LEN (256  10) /* Reserve 2 sectors */
 
 #define CONFIG_SYS_FLASH_BASE  boot_flash_base
@@ -310,21 +307,6 @@
 #define CONFIG_ENV_OFFSET  boot_flash_off
 #define CONFIG_ENV_ADDRSMNAND_ENV_OFFSET
 
-/*---
- * CFI FLASH driver setup
- */
-/* timeout values are in ticks */
-#define CONFIG_SYS_FLASH_ERASE_TOUT(100 * CONFIG_SYS_HZ)
-#define CONFIG_SYS_FLASH_WRITE_TOUT(100 * CONFIG_SYS_HZ)
-
-/* Flash banks JFFS2 should use */
-#define CONFIG_SYS_MAX_MTD_BANKS   (CONFIG_SYS_MAX_FLASH_BANKS + \
-   CONFIG_SYS_MAX_NAND_DEVICE)
-#define CONFIG_SYS_JFFS2_MEM_NAND
-/* use flash_info[2] */
-#define CONFIG_SYS_JFFS2_FIRST_BANKCONFIG_SYS_MAX_FLASH_BANKS
-#define CONFIG_SYS_JFFS2_NUM_BANKS 1
-
 #ifndef __ASSEMBLY__
 extern unsigned int boot_flash_base;
 extern volatile unsigned int boot_flash_env_addr;
diff --git a/include/configs/omap3_evm.h b/include/configs/omap3_evm.h
index 0d99f7d..39eb4b5 100644
--- a/include/configs/omap3_evm.h
+++ b/include/configs/omap3_evm.h
@@ -295,9 +295,6 @@
 #define PISMO1_NAND_SIZE   GPMC_SIZE_128M
 #define PISMO1_ONEN_SIZE   GPMC_SIZE_128M
 
-#define CONFIG_SYS_MAX_FLASH_SECT  520 /* max number of sectors */
-   /* on one chip */
-#define CONFIG_SYS_MAX_FLASH_BANKS 2   /* max number of flash banks */
 #define CONFIG_SYS_MONITOR_LEN (256  10) /* Reserve 2 sectors */
 
 #define CONFIG_SYS_FLASH_BASE  boot_flash_base
@@ -314,21 +311,6 @@
 #define CONFIG_ENV_OFFSET  boot_flash_off
 #define CONFIG_ENV_ADDRboot_flash_env_addr
 
-/*---
- * CFI FLASH driver setup
- */
-/* timeout values are in ticks */
-#define CONFIG_SYS_FLASH_ERASE_TOUT(100 * CONFIG_SYS_HZ)
-#define CONFIG_SYS_FLASH_WRITE_TOUT(100 * CONFIG_SYS_HZ)
-
-/* Flash banks JFFS2 should use */
-#define CONFIG_SYS_MAX_MTD_BANKS   (CONFIG_SYS_MAX_FLASH_BANKS + \
-   CONFIG_SYS_MAX_NAND_DEVICE)
-#define CONFIG_SYS_JFFS2_MEM_NAND
-/* use flash_info[2] */
-#define CONFIG_SYS_JFFS2_FIRST_BANKCONFIG_SYS_MAX_FLASH_BANKS
-#define CONFIG_SYS_JFFS2_NUM_BANKS 1
-
 #ifndef __ASSEMBLY__
 extern unsigned int boot_flash_base;
 extern volatile unsigned int boot_flash_env_addr;
diff --git a/include/configs/omap3_overo.h b/include/configs/omap3_overo.h
index a43500b..b5b2dbe 100644
--- a/include/configs/omap3_overo.h
+++ b/include/configs/omap3_overo.h
@@ -260,9 +260,6 @@
 #define PISMO1_NAND_SIZE   GPMC_SIZE_128M
 #define PISMO1_ONEN_SIZE   GPMC_SIZE_128M
 
-#define CONFIG_SYS_MAX_FLASH_SECT  520 /* max number of sectors on */
-   /* one chip */
-#define CONFIG_SYS_MAX_FLASH_BANKS 2   /* max number of flash banks */
 #define CONFIG_SYS_MONITOR_LEN (256  10) /* Reserve 2 sectors */
 
 #define CONFIG_SYS_FLASH_BASE  boot_flash_base
@@ -279,21 +276,6 @@
 #define CONFIG_ENV_OFFSET  boot_flash_off
 #define CONFIG_ENV_ADDRSMNAND_ENV_OFFSET
 
-/*---
- * CFI FLASH driver setup
- */
-/* timeout values are in ticks */
-#define CONFIG_SYS_FLASH_ERASE_TOUT(100 * CONFIG_SYS_HZ)
-#define CONFIG_SYS_FLASH_WRITE_TOUT(100 * CONFIG_SYS_HZ)
-
-/* Flash banks JFFS2 should use */
-#define CONFIG_SYS_MAX_MTD_BANKS   (CONFIG_SYS_MAX_FLASH_BANKS

[U-Boot] [PATCH] OMAP3: pandora: enable battery backup capacitor

2010-04-29 Thread Grazvydas Ignotas
Pandora has a capacitor connected as backup battery, which allows
retaining RTC for some time while main battery is removed. Enable backup
battery charge function to charge that capacitor.

Signed-off-by: Grazvydas Ignotas nota...@gmail.com
---
 board/pandora/pandora.c |9 +
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/board/pandora/pandora.c b/board/pandora/pandora.c
index 75e4330..355e9ea 100644
--- a/board/pandora/pandora.c
+++ b/board/pandora/pandora.c
@@ -37,6 +37,10 @@
 #include asm/mach-types.h
 #include pandora.h
 
+#define TWL4030_BB_CFG_BBCHEN  (1  4)
+#define TWL4030_BB_CFG_BBSEL_3200MV(3  2)
+#define TWL4030_BB_CFG_BBISEL_500UA2
+
 /*
  * Routine: board_init
  * Description: Early hardware init.
@@ -78,6 +82,11 @@ int misc_init_r(void)
writel(GPIO28, gpio5_base-setdataout);
writel(GPIO4, gpio6_base-setdataout);
 
+   /* Enable battery backup capacitor (3.2V, 0.5mA charge current) */
+   twl4030_i2c_write_u8(TWL4030_CHIP_PM_RECEIVER,
+   TWL4030_BB_CFG_BBCHEN | TWL4030_BB_CFG_BBSEL_3200MV |
+   TWL4030_BB_CFG_BBISEL_500UA, TWL4030_PM_RECEIVER_BB_CFG);
+
dieid_num_r();
 
return 0;
-- 
1.6.3.3

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] TI:OMAP: [PATCH] API to select twl4030 voltage and dev group

2010-01-11 Thread Grazvydas Ignotas
On Sat, Jan 9, 2010 at 6:42 AM, Khasim Syed Mohammed
kha...@beagleboard.org wrote:
 From cc1b24cb290d428f2e1aefec9c7878b46380f592 Mon Sep 17 00:00:00 2001
 From: Syed Mohammed Khasim kha...@ti.com
 Date: Sat, 9 Jan 2010 09:28:03 +0530
 Subject: [PATCH] API to select twl4030 voltage and dev group

 Adds a new API twl4030_pmrecv_vsel_cfg to select voltage
 and its device group

 Signed-off-by: Syed Mohammed Khasim kha...@ti.com
 ---

snip

 @@ -113,3 +104,18 @@ void twl4030_power_mmc_init(void)
        twl4030_i2c_write_u8(TWL4030_CHIP_PM_RECEIVER, byte,
                             TWL4030_PM_RECEIVER_VMMC1_DEDICATED);
  }
 +
 +/*
 + * Generic function to select Device Group and Voltage
 + */
 +void twl4030_pmrecv_vsel_cfg(u8 vsel_reg, u8 vsel_val,
 +                               u8 dev_grp, u8 dev_grp_sel)
 +{
 +       /* Select the Device Group */
 +       twl4030_i2c_write_u8(TWL4030_CHIP_PM_RECEIVER, dev_grp_sel,
 +                               dev_grp);
 +
 +       /* Select the Voltage */
 +       twl4030_i2c_write_u8(TWL4030_CHIP_PM_RECEIVER, vsel_val,
 +                               vsel_reg);
 +}

I was always wondering why TI code first sets the device group (which
effectively enables the supply), and configures voltage after that.
Doesn't that cause wrong voltage output for a short interval of time
(knowing that i2c transfers take some time to complete)? What happens
if second write fails due to some i2c error?
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [beagleboard] TI:OMAP: [PATCH 4/4] Minimal Display driver for OMAP3

2010-01-11 Thread Grazvydas Ignotas
On Sun, Jan 10, 2010 at 7:46 PM, Khasim Syed Mohammed
kha...@beagleboard.org wrote:
 On Sun, Jan 10, 2010 at 9:11 PM, Nishanth Menon
 menon.nisha...@gmail.com wrote:
 Khasim Syed Mohammed said the following on 01/09/2010 09:16 PM:

 On Sat, Jan 9, 2010 at 8:18 PM, Nishanth Menon menon.nisha...@gmail.com
 wrote:

 Khasim Syed Mohammed said the following on 01/08/2010 09:00 PM:

 On Sat, Jan 9, 2010 at 1:31 AM, Nishanth Menon
 menon.nisha...@gmail.com
 wrote:

 On Fri, Jan 8, 2010 at 9:40 AM, Khasim Syed Mohammed
 kha...@beagleboard.org wrote:

 From 239c47a4180fb4d5b5217f892955524d476916cf Mon Sep 17 00:00:00 2001
 From: Syed Mohammed Khasim kha...@ti.com

 [...]

 The recomendation here is to move from #defines to struct based register
 usage. I am ok with the rest(except for need to split).

 Split is done, posted yesterday.

 Struct based register needs more comments, not that I am lazy to
 implement that. I need to know the reason for doing the same when no
 multiple instances are used.

 You can add a new panel or a new tv standard with these structures
 easily. Structures are not used for register accesses.


 here is what I think:
 venc_config {
 }

 if it is organized as the register definitions,

 configure_venc(struct venc_config *values)
 struct venc_config * d = BASE_ADDRESS_OF_OMAP3_VENC;
 writel(values-regx, d-regx);

 refer: drivers/mtd/nand/omap_gpmc.c


 GPIO, GPMC and other controllers have multiple instances in OMAP, it
 makes sense to organize such register set in structure mode. I did
 start with that but found no use for DSS as it is just one instance.
 Structures don't give any value here.

 there were other reasons mentioned when nand got split - one of them had
 to
 do with the compiler or something. Dirk might remember - unfortunately,
 this
 was more than a year back.. if I recollect right..

 Will try doing a google. May be some one can point me to that
 decision. It would help developing drivers which have single instance
 of controller being used.

 the reference I got:
 http://old.nabble.com/-U-Boot---PATCH-08-13-v4--ARM%3A-OMAP3%3A-Add-NAND-support-tp20039673p20039673.html

 V5 became:
 http://old.nabble.com/-U-Boot---PATCH-07-13-v5--ARM%3A-OMAP3%3A-Add-NAND-support-tp20292477p20292477.html

 similar changes happend for GPMC etc..

 Quote:
 Is GPMC_BASE an integer or a pointer?

 Nothing. A macro:

 #define OMAP34XX_GPMC_BASE                (0x6E00)
 #define GPMC_BASE (OMAP34XX_GPMC_BASE)

 So it's an integer.

 It's then casted to volatile pointer by ARM's readx/writex.

 The cast should be done by the driver, or you'll get warnings if
 readx/writex ever become inline functions (as they are on other arches).

 might help explain..

 This is a valid comment, many thanks for digging this out. Considering
 this comment, my dss_read_reg and dss_write_reg should become as shown
 below

 +static inline void dss_write_reg(int reg, u32 val)
 +{
 +       __raw_writel(val, (uint32_t *) reg);
 +}
 +
 +static inline u32 dss_read_reg(int reg)
 +{
 +       u32 l = __raw_readl((uint32_t *) reg);
 +       return l;
 +}

 I will do the above changes and re-submit the patch.

 But Kindly NOTE: This still doesn't give me a reason to implement the
 register definition as structures when we have single instance of
 register set. I am still not considering the structure based
 read/write currently.

IIRC the main reason was that Wolfgang would refuse to merge initial
OMAP3 support unless _all_ register accesses were structure based,
single instance or not. He gave his reasons but they didn't look
convincing to me (personal humble opinion only), CCed him for a
possible comments or reminder :)




 More over I am introducing minimal DSS driver with minimal register
 set. It doesn't help any to give structure based register access for
 single instance drivers.

 moving to struct based is easy and done once and improves your chance of
 your driver getting upstreamed :).

 DSS in OMAP3 has following register domains.

 DSI Protocol Engine           0x4804 FC00            512 bytes
 DSI_PHY                           0x4804 FE00             64 bytes
 DSI PLL Controller              0x4804 FF00             32 bytes
 Display Subsystem            0x4805             512 bytes
 Display Controller               0x4805 0400             1K byte
 Display Controller VID1       0x4805 0400             1K byte
 Display Controller VID2       0x4805 0400             1K byte
 RFBI                                 0x4805 0800            256 bytes
 Video Encode                    0x4805 0C00           256 bytes

 I am not sure why one would ask me to give struct definitions for
 these 500 (approx) registers when only 50 of these are required to
 implement background and color bar. As I am saying all the way, DSS is
 not multiple instance module like GPMC (NAND) and GPIO it is just one
 module.

 Aren't you extrapolating this a bit out of scope? DSI,RFBI etc.. is not
 relevant to your patch.
 For Beagle it is 

[U-Boot] [PATCH] pandora: don't enable VAUX3, VDAC and VPLL2 regulators

2009-12-11 Thread Grazvydas Ignotas
These regulators are not needed to start the kernel and only
cause incomplete constraints warnings from kernel, so don't
turn them on to save power.

Signed-off-by: Grazvydas Ignotas nota...@gmail.com
---
 this patch depends on TWL4030: make LEDs selectable for twl4030_led_init()
 http://lists.denx.de/pipermail/u-boot/2009-December/065285.html

 board/pandora/pandora.c |1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/board/pandora/pandora.c b/board/pandora/pandora.c
index e84c946..75e4330 100644
--- a/board/pandora/pandora.c
+++ b/board/pandora/pandora.c
@@ -65,7 +65,6 @@ int misc_init_r(void)
struct gpio *gpio5_base = (struct gpio *)OMAP34XX_GPIO5_BASE;
struct gpio *gpio6_base = (struct gpio *)OMAP34XX_GPIO6_BASE;
 
-   twl4030_power_init();
twl4030_led_init(TWL4030_LED_LEDEN_LEDBON);
 
/* Configure GPIOs to output */
-- 
1.6.3.3

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH v3] TWL4030: make LEDs selectable for twl4030_led_init()

2009-12-10 Thread Grazvydas Ignotas
Not all boards have both LEDs hooked, so enabling both on
boards with single LED will just waste power. Make it
possible to choose LEDs by adding argument to
twl4030_led_init().

Using this turn on only LEDB for pandora, leave both LEDs
on for all other boards, as it was before this patch.

Signed-off-by: Grazvydas Ignotas nota...@gmail.com
---
 board/logicpd/zoom1/zoom1.c |2 +-
 board/logicpd/zoom2/zoom2.c |2 +-
 board/overo/overo.c |2 +-
 board/pandora/pandora.c |2 +-
 board/ti/beagle/beagle.c|2 +-
 board/timll/devkit8000/devkit8000.c |2 +-
 drivers/misc/twl4030_led.c  |   18 +++---
 include/twl4030.h   |6 +-
 8 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/board/logicpd/zoom1/zoom1.c b/board/logicpd/zoom1/zoom1.c
index f4d3754..da501a7 100644
--- a/board/logicpd/zoom1/zoom1.c
+++ b/board/logicpd/zoom1/zoom1.c
@@ -62,7 +62,7 @@ int board_init(void)
 int misc_init_r(void)
 {
twl4030_power_init();
-   twl4030_led_init();
+   twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON);
dieid_num_r();
 
/*
diff --git a/board/logicpd/zoom2/zoom2.c b/board/logicpd/zoom2/zoom2.c
index dadbeb6..560470f 100644
--- a/board/logicpd/zoom2/zoom2.c
+++ b/board/logicpd/zoom2/zoom2.c
@@ -148,7 +148,7 @@ int misc_init_r(void)
 {
zoom2_identify();
twl4030_power_init();
-   twl4030_led_init();
+   twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON);
dieid_num_r();
 
/*
diff --git a/board/overo/overo.c b/board/overo/overo.c
index d42dc13..f363281 100644
--- a/board/overo/overo.c
+++ b/board/overo/overo.c
@@ -67,7 +67,7 @@ int board_init(void)
 int misc_init_r(void)
 {
twl4030_power_init();
-   twl4030_led_init();
+   twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON);
 
 #if defined(CONFIG_CMD_NET)
setup_net_chip();
diff --git a/board/pandora/pandora.c b/board/pandora/pandora.c
index 460ed12..e84c946 100644
--- a/board/pandora/pandora.c
+++ b/board/pandora/pandora.c
@@ -66,7 +66,7 @@ int misc_init_r(void)
struct gpio *gpio6_base = (struct gpio *)OMAP34XX_GPIO6_BASE;
 
twl4030_power_init();
-   twl4030_led_init();
+   twl4030_led_init(TWL4030_LED_LEDEN_LEDBON);
 
/* Configure GPIOs to output */
writel(~(GPIO14 | GPIO15 | GPIO16 | GPIO23), gpio1_base-oe);
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
index 32d501e..3b4c9e7 100644
--- a/board/ti/beagle/beagle.c
+++ b/board/ti/beagle/beagle.c
@@ -107,7 +107,7 @@ int misc_init_r(void)
struct gpio *gpio6_base = (struct gpio *)OMAP34XX_GPIO6_BASE;
 
twl4030_power_init();
-   twl4030_led_init();
+   twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON);
 
/* Configure GPIOs to output */
writel(~(GPIO23 | GPIO10 | GPIO8 | GPIO2 | GPIO1), gpio6_base-oe);
diff --git a/board/timll/devkit8000/devkit8000.c 
b/board/timll/devkit8000/devkit8000.c
index db7d2e2..95afaaa 100644
--- a/board/timll/devkit8000/devkit8000.c
+++ b/board/timll/devkit8000/devkit8000.c
@@ -76,7 +76,7 @@ int misc_init_r(void)
 
twl4030_power_init();
 #ifdef CONFIG_TWL4030_LED
-   twl4030_led_init();
+   twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON);
 #endif
 
 #ifdef CONFIG_DRIVER_DM9000
diff --git a/drivers/misc/twl4030_led.c b/drivers/misc/twl4030_led.c
index bfdafef..33cea11 100644
--- a/drivers/misc/twl4030_led.c
+++ b/drivers/misc/twl4030_led.c
@@ -34,19 +34,15 @@
 
 #include twl4030.h
 
-#define LEDAON (0x1  0)
-#define LEDBON (0x1  1)
-#define LEDAPWM(0x1  4)
-#define LEDBPWM(0x1  5)
-
-void twl4030_led_init(void)
+void twl4030_led_init(unsigned char ledon_mask)
 {
-   unsigned char byte;
-
-   /* enable LED */
-   byte = LEDBPWM | LEDAPWM | LEDBON | LEDAON;
+   /* LEDs need to have corresponding PWMs enabled */
+   if (ledon_mask  TWL4030_LED_LEDEN_LEDAON)
+   ledon_mask |= TWL4030_LED_LEDEN_LEDAPWM;
+   if (ledon_mask  TWL4030_LED_LEDEN_LEDBON)
+   ledon_mask |= TWL4030_LED_LEDEN_LEDBPWM;
 
-   twl4030_i2c_write_u8(TWL4030_CHIP_LED, byte,
+   twl4030_i2c_write_u8(TWL4030_CHIP_LED, ledon_mask,
 TWL4030_LED_LEDEN);
 
 }
diff --git a/include/twl4030.h b/include/twl4030.h
index f260ecb..df30d42 100644
--- a/include/twl4030.h
+++ b/include/twl4030.h
@@ -306,6 +306,10 @@
 
 /* LED */
 #define TWL4030_LED_LEDEN  0xEE
+#define TWL4030_LED_LEDEN_LEDAON   (1  0)
+#define TWL4030_LED_LEDEN_LEDBON   (1  1)
+#define TWL4030_LED_LEDEN_LEDAPWM  (1  4)
+#define TWL4030_LED_LEDEN_LEDBPWM  (1  5)
 
 /* Keypad */
 #define

[U-Boot] [PATCH] TWL4030: make LEDs selectable in twl4030_led_init()

2009-12-02 Thread Grazvydas Ignotas
Not all boards have both LEDs hooked, so enabling both on
boards with single LED will just waste power. Make it
possible to choose LEDs by adding argument to
twl4030_led_init().

Using this turn on only LEDB for pandora, leave both LEDs
on for all other boards, as it was before this patch.

Signed-off-by: Grazvydas Ignotas nota...@gmail.com
---
 board/logicpd/zoom1/zoom1.c |2 +-
 board/logicpd/zoom2/zoom2.c |2 +-
 board/overo/overo.c |2 +-
 board/pandora/pandora.c |2 +-
 board/ti/beagle/beagle.c|2 +-
 board/timll/devkit8000/devkit8000.c |2 +-
 drivers/misc/twl4030_led.c  |   11 +++
 include/twl4030.h   |5 -
 8 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/board/logicpd/zoom1/zoom1.c b/board/logicpd/zoom1/zoom1.c
index f4d3754..9b308da 100644
--- a/board/logicpd/zoom1/zoom1.c
+++ b/board/logicpd/zoom1/zoom1.c
@@ -62,7 +62,7 @@ int board_init(void)
 int misc_init_r(void)
 {
twl4030_power_init();
-   twl4030_led_init();
+   twl4030_led_init(TWL4030_LEDON_LEDA | TWL4030_LEDON_LEDB);
dieid_num_r();
 
/*
diff --git a/board/logicpd/zoom2/zoom2.c b/board/logicpd/zoom2/zoom2.c
index dadbeb6..f40bbc6 100644
--- a/board/logicpd/zoom2/zoom2.c
+++ b/board/logicpd/zoom2/zoom2.c
@@ -148,7 +148,7 @@ int misc_init_r(void)
 {
zoom2_identify();
twl4030_power_init();
-   twl4030_led_init();
+   twl4030_led_init(TWL4030_LEDON_LEDA | TWL4030_LEDON_LEDB);
dieid_num_r();
 
/*
diff --git a/board/overo/overo.c b/board/overo/overo.c
index d42dc13..a2942ce 100644
--- a/board/overo/overo.c
+++ b/board/overo/overo.c
@@ -67,7 +67,7 @@ int board_init(void)
 int misc_init_r(void)
 {
twl4030_power_init();
-   twl4030_led_init();
+   twl4030_led_init(TWL4030_LEDON_LEDA | TWL4030_LEDON_LEDB);
 
 #if defined(CONFIG_CMD_NET)
setup_net_chip();
diff --git a/board/pandora/pandora.c b/board/pandora/pandora.c
index 460ed12..df2c71a 100644
--- a/board/pandora/pandora.c
+++ b/board/pandora/pandora.c
@@ -66,7 +66,7 @@ int misc_init_r(void)
struct gpio *gpio6_base = (struct gpio *)OMAP34XX_GPIO6_BASE;
 
twl4030_power_init();
-   twl4030_led_init();
+   twl4030_led_init(TWL4030_LEDON_LEDB);
 
/* Configure GPIOs to output */
writel(~(GPIO14 | GPIO15 | GPIO16 | GPIO23), gpio1_base-oe);
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
index 32d501e..e23f7ee 100644
--- a/board/ti/beagle/beagle.c
+++ b/board/ti/beagle/beagle.c
@@ -107,7 +107,7 @@ int misc_init_r(void)
struct gpio *gpio6_base = (struct gpio *)OMAP34XX_GPIO6_BASE;
 
twl4030_power_init();
-   twl4030_led_init();
+   twl4030_led_init(TWL4030_LEDON_LEDA | TWL4030_LEDON_LEDB);
 
/* Configure GPIOs to output */
writel(~(GPIO23 | GPIO10 | GPIO8 | GPIO2 | GPIO1), gpio6_base-oe);
diff --git a/board/timll/devkit8000/devkit8000.c 
b/board/timll/devkit8000/devkit8000.c
index db7d2e2..997a7cf 100644
--- a/board/timll/devkit8000/devkit8000.c
+++ b/board/timll/devkit8000/devkit8000.c
@@ -76,7 +76,7 @@ int misc_init_r(void)
 
twl4030_power_init();
 #ifdef CONFIG_TWL4030_LED
-   twl4030_led_init();
+   twl4030_led_init(TWL4030_LEDON_LEDA | TWL4030_LEDON_LEDB);
 #endif
 
 #ifdef CONFIG_DRIVER_DM9000
diff --git a/drivers/misc/twl4030_led.c b/drivers/misc/twl4030_led.c
index bfdafef..d2cc3c8 100644
--- a/drivers/misc/twl4030_led.c
+++ b/drivers/misc/twl4030_led.c
@@ -39,12 +39,15 @@
 #define LEDAPWM(0x1  4)
 #define LEDBPWM(0x1  5)
 
-void twl4030_led_init(void)
+void twl4030_led_init(unsigned int ledon_mask)
 {
-   unsigned char byte;
+   unsigned char byte = 0;
 
-   /* enable LED */
-   byte = LEDBPWM | LEDAPWM | LEDBON | LEDAON;
+   /* enable LEDs */
+   if (ledon_mask  TWL4030_LEDON_LEDA)
+   byte |= LEDAPWM | LEDAON;
+   if (ledon_mask  TWL4030_LEDON_LEDB)
+   byte |= LEDBPWM | LEDBON;
 
twl4030_i2c_write_u8(TWL4030_CHIP_LED, byte,
 TWL4030_LED_LEDEN);
diff --git a/include/twl4030.h b/include/twl4030.h
index f260ecb..d0c62c3 100644
--- a/include/twl4030.h
+++ b/include/twl4030.h
@@ -396,6 +396,9 @@ void twl4030_power_mmc_init(void);
 /*
  * LED
  */
-void twl4030_led_init(void);
+#define TWL4030_LEDON_LEDA (1  0)
+#define TWL4030_LEDON_LEDB (1  1)
+
+void twl4030_led_init(unsigned int ledon_mask);
 
 #endif /* TWL4030_H */
-- 
1.6.3.3

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] TWL4030: make LEDs selectable in twl4030_led_init()

2009-12-02 Thread Grazvydas Ignotas
On Wed, Dec 2, 2009 at 4:55 PM, Tom tom@windriver.com wrote:
 Grazvydas Ignotas wrote:


snip

 diff --git a/drivers/misc/twl4030_led.c b/drivers/misc/twl4030_led.c
 index bfdafef..d2cc3c8 100644
 --- a/drivers/misc/twl4030_led.c
 +++ b/drivers/misc/twl4030_led.c
 @@ -39,12 +39,15 @@
  #define LEDAPWM                        (0x1  4)
  #define LEDBPWM                        (0x1  5)
  -void twl4030_led_init(void)
 +void twl4030_led_init(unsigned int ledon_mask)
  {
 -       unsigned char byte;
 +       unsigned char byte = 0;
  -       /* enable LED */
 -       byte = LEDBPWM | LEDAPWM | LEDBON | LEDAON;
 +       /* enable LEDs */
 +       if (ledon_mask  TWL4030_LEDON_LEDA)
 +               byte |= LEDAPWM | LEDAON;

 TWL4030_LEDON_LEDA and LEDAON are the same.
 You can move all the #defined twl4030 bits to twl4030.
 So there there should be

 #define TWL4030_LED_LEDEN_LEDAON                        (0x1  0)
 #define TWL4030_LED_LEDEN_LEDBON                        (0x1  1)
 #define TWL4030_LED_LEDEN_LEDAPWM                       (0x1  4)
 #define TWL4030_LED_LEDEN_LEDBPWM                       (0x1  5)

 These should be listed under the LED define

 /* LED */
 #define TWL4030_LED_LEDEN                               0xEE

So, do you want twl4030_led_init() argument to take raw LEDEN register
value, or just move TWL4030_LED* defines to twl4030.h? If
twl4030_led_init() will just take register value now, maybe it can be
replaced with twl4030_i2c_write_u8() and drivers/misc/twl4030_led.c
removed, as it just becomes wrapper?



 +       if (ledon_mask  TWL4030_LEDON_LEDB)
 +               byte |= LEDBPWM | LEDBON;
          twl4030_i2c_write_u8(TWL4030_CHIP_LED, byte,
                             TWL4030_LED_LEDEN);
 diff --git a/include/twl4030.h b/include/twl4030.h
 index f260ecb..d0c62c3 100644
 --- a/include/twl4030.h
 +++ b/include/twl4030.h
 @@ -396,6 +396,9 @@ void twl4030_power_mmc_init(void);
  /*
  * LED
  */
 -void twl4030_led_init(void);
 +#define TWL4030_LEDON_LEDA     (1  0)
 +#define TWL4030_LEDON_LEDB     (1  1)
 +
 +void twl4030_led_init(unsigned int ledon_mask);
   #endif /* TWL4030_H */


___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [RFC PATCH] TWL4030: make LEDs selectable in twl4030_led_init()

2009-12-01 Thread Grazvydas Ignotas
On Tue, Dec 1, 2009 at 4:24 PM, Tom tom@windriver.com wrote:
 Grazvydas Ignotas wrote:

 Not all boards have both LEDs hooked, so enabling both on
 boards with single LED will just waste power.


 This looks like a pandora specific change.
 Please say something like, For Pandora, only 1 led is required.. 

ok

 In some cases, the twl4030 led is the only led for the board.
 In this case, it would be good if the twl4030 led was hooked into
 the status led functionality.  There is already an interface to
 turning led's on and off.

Yes, but that code would have to be duplicated for all such boards (as
LEDs are board specific), and it would make more difficult to add
additional non-TWL4030 controlled LEDs later (for example pandora has
some but doesn't expose them to u-boot).

snip

 --- a/drivers/misc/twl4030_led.c
 +++ b/drivers/misc/twl4030_led.c
 @@ -39,12 +39,15 @@
  #define LEDAPWM                        (0x1  4)
  #define LEDBPWM                        (0x1  5)
  -void twl4030_led_init(void)
 +void twl4030_led_init(int leda_on, int ledb_on)
  {

 This must change to passing in a #defin-ed parameters.
 This can be something like

 void twl4030_led_init(unsigned char ledon)

 where ledon can be

 at most (LEDAON | LEDBON)

 Export LEDAON and LEDBON so the namespace is ok.
 Something like TWL4030_LED_LEDEN_LEDAON etc should be added to
 twl4030.h

ok, will do this then.


 -       unsigned char byte;
 +       unsigned char byte = 0;
  -       /* enable LED */
 -       byte = LEDBPWM | LEDAPWM | LEDBON | LEDAON;
 +       /* enable LEDs */
 +       if (leda_on)
 +               byte |= LEDAPWM | LEDAON;
 +       if (ledb_on)
 +               byte |= LEDBPWM | LEDBON;
          twl4030_i2c_write_u8(TWL4030_CHIP_LED, byte,
                             TWL4030_LED_LEDEN);
 diff --git a/include/twl4030.h b/include/twl4030.h
 index f260ecb..82b3682 100644
 --- a/include/twl4030.h
 +++ b/include/twl4030.h
 @@ -396,6 +396,6 @@ void twl4030_power_mmc_init(void);
  /*
  * LED
  */
 -void twl4030_led_init(void);
 +void twl4030_led_init(int leda_on, int ledb_on);
   #endif /* TWL4030_H */


___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] twl4030_power_init cleanup proposal

2009-11-30 Thread Grazvydas Ignotas
hi,

drivers/power/twl4030.c has a twl4030_power_init() function which is
called by most (all?) OMAP3 boards. What it does is enabling VAUX3,
VPLL2 and VDAC power supplies in TWL4030/TPS659x0 chip. However they
are all very board specific and in most cases not needed at all, at
least for booting the kernel. They also cause regulator warnings on
latest kernels.

VAUX3: board specific, beagle doesn't have it connected at all, so it
wastes power there.
VPLL2: board specific, typically display related, as mainline u-boot
shows no graphics I think it can be removed.
VDAC: typically used to power TV-out DACs, can be removed. VDAC and
VPLL2 is already handled by kernel by DSS2.

So I think VDAC, VPLL2 can be safely removed, probably VAUX3 too with
whole twl4030_power_init().

Gražvydas
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] twl4030_power_init cleanup proposal

2009-11-30 Thread Grazvydas Ignotas
On Mon, Nov 30, 2009 at 6:17 PM, Tom tom@windriver.com wrote:
 Grazvydas Ignotas wrote:

 hi,

 drivers/power/twl4030.c has a twl4030_power_init() function which is
 called by most (all?) OMAP3 boards. What it does is enabling VAUX3,
 VPLL2 and VDAC power supplies in TWL4030/TPS659x0 chip. However they
 are all very board specific and in most cases not needed at all, at
 least for booting the kernel. They also cause regulator warnings on
 latest kernels.

 VAUX3: board specific, beagle doesn't have it connected at all, so it
 wastes power there.
 VPLL2: board specific, typically display related, as mainline u-boot
 shows no graphics I think it can be removed.
 VDAC: typically used to power TV-out DACs, can be removed. VDAC and
 VPLL2 is already handled by kernel by DSS2.

 So I think VDAC, VPLL2 can be safely removed, probably VAUX3 too with
 whole twl4030_power_init().

 Gražvydas

 Please provide specifics on the kernel warnings.
 These should be addressed.

regulator_init_complete: incomplete constraints, leaving VDAC on

This can be fixed in kernel itself by declaring regulators as
boot_on or always_on, but I think it's better just to not turn
them on when they are not needed.

 The power setting should be done on board by board basis.
 If you are concerned about beagle, please provide a beagle specific
 patch.

ok will do that for pandora, as that's the hardware I have.

Gražvydas
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [RFC PATCH] TWL4030: make LEDs selectable in twl4030_led_init()

2009-11-30 Thread Grazvydas Ignotas
Not all boards have both LEDs hooked, so enabling both on
boards with single LED will just waste power.

Make it possible to choose LEDs by adding arguments to
twl4030_led_init().

Signed-off-by: Grazvydas Ignotas nota...@gmail.com
---
 board/logicpd/zoom1/zoom1.c |2 +-
 board/logicpd/zoom2/zoom2.c |2 +-
 board/overo/overo.c |2 +-
 board/pandora/pandora.c |2 +-
 board/ti/beagle/beagle.c|2 +-
 board/timll/devkit8000/devkit8000.c |2 +-
 drivers/misc/twl4030_led.c  |   11 +++
 include/twl4030.h   |2 +-
 8 files changed, 14 insertions(+), 11 deletions(-)

diff --git a/board/logicpd/zoom1/zoom1.c b/board/logicpd/zoom1/zoom1.c
index f4d3754..093b1bf 100644
--- a/board/logicpd/zoom1/zoom1.c
+++ b/board/logicpd/zoom1/zoom1.c
@@ -62,7 +62,7 @@ int board_init(void)
 int misc_init_r(void)
 {
twl4030_power_init();
-   twl4030_led_init();
+   twl4030_led_init(1, 1);
dieid_num_r();
 
/*
diff --git a/board/logicpd/zoom2/zoom2.c b/board/logicpd/zoom2/zoom2.c
index dadbeb6..c93aeec 100644
--- a/board/logicpd/zoom2/zoom2.c
+++ b/board/logicpd/zoom2/zoom2.c
@@ -148,7 +148,7 @@ int misc_init_r(void)
 {
zoom2_identify();
twl4030_power_init();
-   twl4030_led_init();
+   twl4030_led_init(1, 1);
dieid_num_r();
 
/*
diff --git a/board/overo/overo.c b/board/overo/overo.c
index d42dc13..29600b0 100644
--- a/board/overo/overo.c
+++ b/board/overo/overo.c
@@ -67,7 +67,7 @@ int board_init(void)
 int misc_init_r(void)
 {
twl4030_power_init();
-   twl4030_led_init();
+   twl4030_led_init(1, 1);
 
 #if defined(CONFIG_CMD_NET)
setup_net_chip();
diff --git a/board/pandora/pandora.c b/board/pandora/pandora.c
index 460ed12..c8007dc 100644
--- a/board/pandora/pandora.c
+++ b/board/pandora/pandora.c
@@ -66,7 +66,7 @@ int misc_init_r(void)
struct gpio *gpio6_base = (struct gpio *)OMAP34XX_GPIO6_BASE;
 
twl4030_power_init();
-   twl4030_led_init();
+   twl4030_led_init(0, 1);
 
/* Configure GPIOs to output */
writel(~(GPIO14 | GPIO15 | GPIO16 | GPIO23), gpio1_base-oe);
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
index 32d501e..87c9b0f 100644
--- a/board/ti/beagle/beagle.c
+++ b/board/ti/beagle/beagle.c
@@ -107,7 +107,7 @@ int misc_init_r(void)
struct gpio *gpio6_base = (struct gpio *)OMAP34XX_GPIO6_BASE;
 
twl4030_power_init();
-   twl4030_led_init();
+   twl4030_led_init(1, 1);
 
/* Configure GPIOs to output */
writel(~(GPIO23 | GPIO10 | GPIO8 | GPIO2 | GPIO1), gpio6_base-oe);
diff --git a/board/timll/devkit8000/devkit8000.c 
b/board/timll/devkit8000/devkit8000.c
index db7d2e2..7eb7793 100644
--- a/board/timll/devkit8000/devkit8000.c
+++ b/board/timll/devkit8000/devkit8000.c
@@ -76,7 +76,7 @@ int misc_init_r(void)
 
twl4030_power_init();
 #ifdef CONFIG_TWL4030_LED
-   twl4030_led_init();
+   twl4030_led_init(1, 1);
 #endif
 
 #ifdef CONFIG_DRIVER_DM9000
diff --git a/drivers/misc/twl4030_led.c b/drivers/misc/twl4030_led.c
index bfdafef..9e945a4 100644
--- a/drivers/misc/twl4030_led.c
+++ b/drivers/misc/twl4030_led.c
@@ -39,12 +39,15 @@
 #define LEDAPWM(0x1  4)
 #define LEDBPWM(0x1  5)
 
-void twl4030_led_init(void)
+void twl4030_led_init(int leda_on, int ledb_on)
 {
-   unsigned char byte;
+   unsigned char byte = 0;
 
-   /* enable LED */
-   byte = LEDBPWM | LEDAPWM | LEDBON | LEDAON;
+   /* enable LEDs */
+   if (leda_on)
+   byte |= LEDAPWM | LEDAON;
+   if (ledb_on)
+   byte |= LEDBPWM | LEDBON;
 
twl4030_i2c_write_u8(TWL4030_CHIP_LED, byte,
 TWL4030_LED_LEDEN);
diff --git a/include/twl4030.h b/include/twl4030.h
index f260ecb..82b3682 100644
--- a/include/twl4030.h
+++ b/include/twl4030.h
@@ -396,6 +396,6 @@ void twl4030_power_mmc_init(void);
 /*
  * LED
  */
-void twl4030_led_init(void);
+void twl4030_led_init(int leda_on, int ledb_on);
 
 #endif /* TWL4030_H */
-- 
1.6.3.3

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH v2] OMAP3: pandora: fix booting without serial attached

2009-11-12 Thread Grazvydas Ignotas
When the board is booted without serial cable attached (which
is how most of them will be used) UART RX is left floating and
sometimes picks noise, which interrupts countdown and enters
U-Boot prompt instead of booting the kernel.

Fix this by setting up internal pullup on UART RX pin. This
does not prevent serial from working as the internal pullup
is weak.

Signed-off-by: Grazvydas Ignotas nota...@gmail.com
---
It would be nice for this to go in as a fix for 2009.11,
else users without serial cable won't be able to boot it.

 board/pandora/pandora.h |3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/board/pandora/pandora.h b/board/pandora/pandora.h
index 5bfa0f9..f0ad16b 100644
--- a/board/pandora/pandora.h
+++ b/board/pandora/pandora.h
@@ -219,7 +219,8 @@ const omap3_sysinfo sysinfo = {
MUX_VAL(CP(UART2_RX),   (IEN  | PTD | EN  | M4)) /*GPIO_147,*/\
 /*UART2_RX*/\
  /*Serial Interface (Peripheral boot, Linux console, on AV connector)*/\
-   MUX_VAL(CP(UART3_RX_IRRX),  (IEN  | PTD | DIS | M0)) /*UART3_RX*/\
+ /*RX pulled up to avoid noise when nothing is connected to serial port*/\
+   MUX_VAL(CP(UART3_RX_IRRX),  (IEN  | PTU | EN  | M0)) /*UART3_RX*/\
MUX_VAL(CP(UART3_TX_IRTX),  (IDIS | PTD | DIS | M0)) /*UART3_TX*/\
  /*LEDs (Controlled by OMAP)*/\
MUX_VAL(CP(MMC1_DAT6),  (IDIS | PTD | DIS | M4)) /*GPIO_128*/\
-- 
1.5.6.3

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] OMAP3: pandora: fix booting without serial attached

2009-11-11 Thread Grazvydas Ignotas
When the board is booted without serial cable attached (which
is how most of them will be used) UART RX is left floating and
sometimes picks noise, which interrupts countdown and enters
U-Boot prompt instead of booting the kernel. Fix this by setting
up internal pullup on UART RX pin.

Signed-off-by: Grazvydas Ignotas nota...@gmail.com
---
 board/pandora/pandora.h |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/board/pandora/pandora.h b/board/pandora/pandora.h
index 5bfa0f9..f1e1db9 100644
--- a/board/pandora/pandora.h
+++ b/board/pandora/pandora.h
@@ -219,7 +219,7 @@ const omap3_sysinfo sysinfo = {
MUX_VAL(CP(UART2_RX),   (IEN  | PTD | EN  | M4)) /*GPIO_147,*/\
 /*UART2_RX*/\
  /*Serial Interface (Peripheral boot, Linux console, on AV connector)*/\
-   MUX_VAL(CP(UART3_RX_IRRX),  (IEN  | PTD | DIS | M0)) /*UART3_RX*/\
+   MUX_VAL(CP(UART3_RX_IRRX),  (IEN  | PTU | EN  | M0)) /*UART3_RX*/\
MUX_VAL(CP(UART3_TX_IRTX),  (IDIS | PTD | DIS | M0)) /*UART3_TX*/\
  /*LEDs (Controlled by OMAP)*/\
MUX_VAL(CP(MMC1_DAT6),  (IDIS | PTD | DIS | M4)) /*GPIO_128*/\
-- 
1.5.4.3

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 0/4] OMAP3 pandora: pin mux updates

2009-07-09 Thread Grazvydas Ignotas
On Thu, Jul 9, 2009 at 1:44 AM, Jean-Christophe
PLAGNIOL-VILLARDplagn...@jcrosoft.com wrote:
 On 00:29 Wed 08 Jul     , Grazvydas Ignotas wrote:
 This patch series clean up and update pin mux for pandora.
 The update is needed for rev3 or later boards to work properly,
 but older boards still work after this.

 Grazvydas Ignotas (4):
   OMAP3 pandora: pin mux cleanup
   OMAP3 pandora: setup pin mux for pins used on rev3 boards
   OMAP3 pandora: setup pulls for various GPIOs
   OMAP3 pandora: Fix CKE1 MUX setting to allow self-refresh

  board/omap3/pandora/pandora.h |   86 
 +
  1 files changed, 35 insertions(+), 51 deletions(-)

 what is the status of the precedent rev at the end of the patch series?

Works fine except one analog controller, but I have the only rev2
board with them and don't mind about that. All other boards with
analog controllers are rev3 and need these patches to work.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 3/4] OMAP3 pandora: setup pulls for various GPIOs

2009-07-07 Thread Grazvydas Ignotas
Set pullups or pulldowns for GPIOs which need them.
Disable them for others, which have external pulls.
Also make disabled pull setting consistent (some pins had
type set to up even if pull type selection was disabled).
---
 board/omap3/pandora/pandora.h |   50 
 1 files changed, 25 insertions(+), 25 deletions(-)

diff --git a/board/omap3/pandora/pandora.h b/board/omap3/pandora/pandora.h
index 1bd3d30..dfaf32f 100644
--- a/board/omap3/pandora/pandora.h
+++ b/board/omap3/pandora/pandora.h
@@ -145,26 +145,26 @@ const omap3_sysinfo sysinfo = {
  MUX_VAL(CP(DSS_DATA22),   (IDIS | PTD | DIS | M0)) /*DSS_DATA22*/\
  MUX_VAL(CP(DSS_DATA23),   (IDIS | PTD | DIS | M0)) /*DSS_DATA23*/\
  /*GPIO based game buttons*/\
- MUX_VAL(CP(CAM_XCLKA),(IEN  | PTU | DIS | M4)) /*GPIO_96 - 
LEFT*/\
- MUX_VAL(CP(CAM_PCLK), (IEN  | PTU | DIS | M4)) /*GPIO_97 - L2*/\
- MUX_VAL(CP(CAM_FLD),  (IEN  | PTU | DIS | M4)) /*GPIO_98 - RIGHT*/\
- MUX_VAL(CP(CAM_D0),   (IEN  | PTU | DIS | M4)) /*GPIO_99 - MENU*/\
- MUX_VAL(CP(CAM_D1),   (IEN  | PTU | DIS | M4)) /*GPIO_100 - START*/\
- MUX_VAL(CP(CAM_D2),   (IEN  | PTU | DIS | M4)) /*GPIO_101 - Y*/\
- MUX_VAL(CP(CAM_D3),   (IEN  | PTU | DIS | M4)) /*GPIO_102 - L1*/\
- MUX_VAL(CP(CAM_D4),   (IEN  | PTU | DIS | M4)) /*GPIO_103 - DOWN*/\
- MUX_VAL(CP(CAM_D5),   (IEN  | PTU | DIS | M4)) /*GPIO_104 - SELECT*/\
- MUX_VAL(CP(CAM_D6),   (IEN  | PTU | DIS | M4)) /*GPIO_105 - R1*/\
- MUX_VAL(CP(CAM_D7),   (IEN  | PTU | DIS | M4)) /*GPIO_106 - B*/\
- MUX_VAL(CP(CAM_D8),   (IEN  | PTU | DIS | M4)) /*GPIO_107 - R2*/\
- MUX_VAL(CP(CAM_D10),  (IEN  | PTU | DIS | M4)) /*GPIO_109 - X*/\
- MUX_VAL(CP(CAM_D11),  (IEN  | PTU | DIS | M4)) /*GPIO_110 - UP*/\
- MUX_VAL(CP(CAM_XCLKB),(IEN  | PTU | DIS | M4)) /*GPIO_111 - 
A*/\
+ MUX_VAL(CP(CAM_XCLKA),(IEN  | PTD | DIS | M4)) /*GPIO_96 - 
LEFT*/\
+ MUX_VAL(CP(CAM_PCLK), (IEN  | PTD | DIS | M4)) /*GPIO_97 - L2*/\
+ MUX_VAL(CP(CAM_FLD),  (IEN  | PTD | DIS | M4)) /*GPIO_98 - RIGHT*/\
+ MUX_VAL(CP(CAM_D0),   (IEN  | PTD | DIS | M4)) /*GPIO_99 - MENU*/\
+ MUX_VAL(CP(CAM_D1),   (IEN  | PTD | DIS | M4)) /*GPIO_100 - START*/\
+ MUX_VAL(CP(CAM_D2),   (IEN  | PTD | DIS | M4)) /*GPIO_101 - Y*/\
+ MUX_VAL(CP(CAM_D3),   (IEN  | PTD | DIS | M4)) /*GPIO_102 - L1*/\
+ MUX_VAL(CP(CAM_D4),   (IEN  | PTD | DIS | M4)) /*GPIO_103 - DOWN*/\
+ MUX_VAL(CP(CAM_D5),   (IEN  | PTD | DIS | M4)) /*GPIO_104 - SELECT*/\
+ MUX_VAL(CP(CAM_D6),   (IEN  | PTD | DIS | M4)) /*GPIO_105 - R1*/\
+ MUX_VAL(CP(CAM_D7),   (IEN  | PTD | DIS | M4)) /*GPIO_106 - B*/\
+ MUX_VAL(CP(CAM_D8),   (IEN  | PTD | DIS | M4)) /*GPIO_107 - R2*/\
+ MUX_VAL(CP(CAM_D10),  (IEN  | PTD | DIS | M4)) /*GPIO_109 - X*/\
+ MUX_VAL(CP(CAM_D11),  (IEN  | PTD | DIS | M4)) /*GPIO_110 - UP*/\
+ MUX_VAL(CP(CAM_XCLKB),(IEN  | PTD | DIS | M4)) /*GPIO_111 - 
A*/\
  /*Audio Interface To External DAC (Headphone, Speakers)*/\
  MUX_VAL(CP(MCBSP2_FSX),   (IDIS | PTD | DIS | M0)) /*McBSP2_FSX*/\
  MUX_VAL(CP(MCBSP2_CLKX),  (IDIS | PTD | DIS | M0)) /*McBSP2_CLKX*/\
  MUX_VAL(CP(MCBSP2_DX),(IDIS | PTD | DIS | M0)) /*McBSP2_DX*/\
- MUX_VAL(CP(MCBSP_CLKS),   (IEN  | PTU | DIS | M0)) /*McBSP_CLKS*/\
+ MUX_VAL(CP(MCBSP_CLKS),   (IEN  | PTD | DIS | M0)) /*McBSP_CLKS*/\
  MUX_VAL(CP(MCBSP2_DR),(IDIS | PTD | DIS | M4)) /*GPIO_118*/\
 /* - nPOWERDOWN_DAC*/\
  /*Expansion card 1*/\
@@ -210,13 +210,13 @@ const omap3_sysinfo sysinfo = {
  MUX_VAL(CP(MCBSP4_DX),(IDIS | PTD | DIS | M0)) /*McBSP4_DX*/\
  MUX_VAL(CP(MCBSP4_FSX),   (IEN  | PTD | DIS | M0)) /*McBSP4_FSX*/\
  /*GPIO definitions for muxed pins on AV connector*/\
- MUX_VAL(CP(UART2_CTS),(IEN  | PTU | EN  | M4)) /*GPIO_144,*/\
+ MUX_VAL(CP(UART2_CTS),(IEN  | PTD | EN  | M4)) /*GPIO_144,*/\
 /*UART2_CTS*/\
- MUX_VAL(CP(UART2_RTS),(IEN  | PTU | DIS | M4)) /*GPIO_145,*/\
+ MUX_VAL(CP(UART2_RTS),(IEN  | PTD | EN  | M4)) /*GPIO_145,*/\
 /*UART2_RTS*/\
- MUX_VAL(CP(UART2_TX), (IEN  | PTU | EN  | M4)) /*GPIO_146,*/\
+ MUX_VAL(CP(UART2_TX), (IEN  | PTD | EN  | M4)) /*GPIO_146,*/\
 /*UART2_TX*/\
- MUX_VAL(CP(UART2_RX), (IEN  | PTD | DIS | M4)) /*GPIO_147,*/\
+ MUX_VAL(CP(UART2_RX), (IEN  | PTD | EN  | M4)) /*GPIO_147,*/\
 /*UART2_RX*/\
  /*Serial Interface (Peripheral boot, Linux console, on AV connector)*/\
  MUX_VAL(CP(UART3_RX_IRRX),(IEN  | PTD | DIS | 

[U-Boot] [PATCH 2/4] OMAP3 pandora: setup pin mux for pins used on rev3 boards

2009-07-07 Thread Grazvydas Ignotas
Setup pin mux for GPIO pins connected on rev3 or later
boards. Also change NUB2 IRQ pin. This should not affect
older boards because they don't have any nubs (analog
controllers) attached to them.
---
 board/omap3/pandora/pandora.h |   11 ++-
 1 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/board/omap3/pandora/pandora.h b/board/omap3/pandora/pandora.h
index 3d04b2a..1bd3d30 100644
--- a/board/omap3/pandora/pandora.h
+++ b/board/omap3/pandora/pandora.h
@@ -242,13 +242,15 @@ const omap3_sysinfo sysinfo = {
 /* - WIFI_IRQ*/\
  MUX_VAL(CP(MCBSP1_FSX),   (IEN  | PTD | DIS | M4)) /*GPIO_161*/\
 /* - nIRQ_NUB1*/\
- MUX_VAL(CP(CAM_WEN),  (IEN  | PTU | DIS | M4)) /*GPIO_167*/\
+ MUX_VAL(CP(MCBSP1_CLKX),  (IEN  | PTU | DIS | M4)) /*GPIO_162*/\
 /* - nIRQ_NUB2*/\
  /*Various other stuff*/\
  MUX_VAL(CP(UART3_CTS_RCTX),   (IEN  | PTD | DIS | M4)) /*GPIO_163*/\
 /* - nOC_USB5*/\
  MUX_VAL(CP(ETK_D8_ES2),   (IEN  | PTD | DIS | M4)) /*GPIO_22*/\
 /* - MSECURE*/\
+ MUX_VAL(CP(CSI2_DY1), (IEN  | PTD | DIS | M4)) /*GPIO_115*/\
+/* - POP_OVERHEAT*/\
  /*External Resets and Enables*/\
  MUX_VAL(CP(ETK_D0_ES2),   (IDIS | PTD | DIS | M4)) /*GPIO_14*/\
 /* - nHDPHN_SHUTDOWN*/\
@@ -262,6 +264,13 @@ const omap3_sysinfo sysinfo = {
 /* - RESET_NUBS*/\
  MUX_VAL(CP(UART3_RTS_SD), (IDIS | PTU | EN  | M4)) /*GPIO_164*/\
 /* - EN_USB_5V*/\
+ /*Spare GPIOs*/\
+ MUX_VAL(CP(GPMC_NCS7),(IEN  | PTD | EN  | M4)) /*GPIO_58*/\
+ MUX_VAL(CP(GPMC_WAIT2),   (IEN  | PTD | EN  | M4)) /*GPIO_64*/\
+ MUX_VAL(CP(GPMC_WAIT3),   (IEN  | PTD | EN  | M4)) /*GPIO_65*/\
+ MUX_VAL(CP(CAM_VS),   (IEN  | PTU | EN  | M4)) /*GPIO_95*/\
+ MUX_VAL(CP(CAM_WEN),  (IEN  | PTD | EN  | M4)) /*GPIO_167*/\
+ MUX_VAL(CP(HDQ_SIO),  (IEN  | PTD | EN  | M4)) /*GPIO_170*/\
  /*HS USB OTG Port (connects to HSUSB0)*/\
  MUX_VAL(CP(HSUSB0_CLK),   (IEN  | PTD | DIS | M0)) /*HSUSB0_CLK*/\
  MUX_VAL(CP(HSUSB0_STP),   (IDIS | PTU | EN  | M0)) /*HSUSB0_STP*/\
-- 
1.5.6.3

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 1/4] OMAP3 pandora: pin mux cleanup

2009-07-07 Thread Grazvydas Ignotas
Remove configuration of not unused pins, effectively
leaving them in safe mode.
---
 board/omap3/pandora/pandora.h |   25 -
 1 files changed, 0 insertions(+), 25 deletions(-)

diff --git a/board/omap3/pandora/pandora.h b/board/omap3/pandora/pandora.h
index 8f0838c..3d04b2a 100644
--- a/board/omap3/pandora/pandora.h
+++ b/board/omap3/pandora/pandora.h
@@ -107,15 +107,6 @@ const omap3_sysinfo sysinfo = {
  MUX_VAL(CP(GPMC_D15), (IEN  | PTD | DIS | M0)) /*GPMC_D15*/\
  MUX_VAL(CP(GPMC_NCS0),(IDIS | PTU | EN  | M0)) /*GPMC_nCS0*/\
  MUX_VAL(CP(GPMC_NCS1),(IDIS | PTU | EN  | M0)) /*GPMC_nCS1*/\
- MUX_VAL(CP(GPMC_NCS2),(IDIS | PTU | EN  | M0)) /*GPMC_nCS2*/\
- MUX_VAL(CP(GPMC_NCS3),(IDIS | PTU | EN  | M0)) /*GPMC_nCS3*/\
- MUX_VAL(CP(GPMC_NCS4),(IDIS | PTU | EN  | M0))\
- MUX_VAL(CP(GPMC_NCS5),(IDIS | PTD | DIS | M0))\
- MUX_VAL(CP(GPMC_NCS6),(IEN  | PTD | DIS | M1))\
- MUX_VAL(CP(GPMC_NCS7),(IEN  | PTU | EN  | M1))\
- MUX_VAL(CP(GPMC_NBE1),(IEN  | PTD | DIS | M0))\
- MUX_VAL(CP(GPMC_WAIT2),   (IEN  | PTU | EN  | M0))\
- MUX_VAL(CP(GPMC_WAIT3),   (IEN  | PTU | EN  | M0))\
  MUX_VAL(CP(GPMC_CLK), (IDIS | PTD | DIS | M0)) /*GPMC_CLK*/\
  MUX_VAL(CP(GPMC_NADV_ALE),(IDIS | PTD | DIS | M0)) /*GPMC_nADV_ALE*/\
  MUX_VAL(CP(GPMC_NOE), (IDIS | PTD | DIS | M0)) /*GPMC_nOE*/\
@@ -254,16 +245,10 @@ const omap3_sysinfo sysinfo = {
  MUX_VAL(CP(CAM_WEN),  (IEN  | PTU | DIS | M4)) /*GPIO_167*/\
 /* - nIRQ_NUB2*/\
  /*Various other stuff*/\
- MUX_VAL(CP(CAM_VS),   (IEN  | PTU | DIS | M4)) /*GPIO_95*/\
-/* - nTOUCH_BUSY*/\
  MUX_VAL(CP(UART3_CTS_RCTX),   (IEN  | PTD | DIS | M4)) /*GPIO_163*/\
 /* - nOC_USB5*/\
- MUX_VAL(CP(MCBSP1_CLKX),  (IDIS | PTD | DIS | M4)) /*GPIO_162*/\
-/* - START_ADC*/\
  MUX_VAL(CP(ETK_D8_ES2),   (IEN  | PTD | DIS | M4)) /*GPIO_22*/\
 /* - MSECURE*/\
- MUX_VAL(CP(CAM_STROBE),   (IEN  | PTU | DIS | M4)) /*GPIO_126*/\
-/* - HP_DETECT*/\
  /*External Resets and Enables*/\
  MUX_VAL(CP(ETK_D0_ES2),   (IDIS | PTD | DIS | M4)) /*GPIO_14*/\
 /* - nHDPHN_SHUTDOWN*/\
@@ -277,14 +262,6 @@ const omap3_sysinfo sysinfo = {
 /* - RESET_NUBS*/\
  MUX_VAL(CP(UART3_RTS_SD), (IDIS | PTU | EN  | M4)) /*GPIO_164*/\
 /* - EN_USB_5V*/\
- /*Unused*/\
- MUX_VAL(CP(HDQ_SIO),  (IEN  | PTU | EN  | M0)) /*HDQ_SIO - NC*/\
- MUX_VAL(CP(CSI2_DX0), (IEN  | PTD | DIS | M0)) /*CSI2_DX0 - NC*/\
- MUX_VAL(CP(CSI2_DY0), (IEN  | PTD | DIS | M0)) /*CSI2_DY0 - NC*/\
- MUX_VAL(CP(CSI2_DX1), (IEN  | PTD | DIS | M0)) /*CSI2_DX1 - NC*/\
- MUX_VAL(CP(CSI2_DY1), (IEN  | PTD | DIS | M0)) /*CSI2_DY1 - NC*/\
- MUX_VAL(CP(I2C2_SCL), (IEN  | PTU | EN  | M0)) /*I2C2_SCL - NC*/\
- MUX_VAL(CP(I2C2_SDA), (IEN  | PTU | EN  | M0)) /*I2C2_SDA - NC*/\
  /*HS USB OTG Port (connects to HSUSB0)*/\
  MUX_VAL(CP(HSUSB0_CLK),   (IEN  | PTD | DIS | M0)) /*HSUSB0_CLK*/\
  MUX_VAL(CP(HSUSB0_STP),   (IDIS | PTU | EN  | M0)) /*HSUSB0_STP*/\
@@ -338,8 +315,6 @@ const omap3_sysinfo sysinfo = {
  MUX_VAL(CP(SYS_BOOT5),(IEN  | PTD | DIS | M4)) /*GPIO_7*/\
  MUX_VAL(CP(SYS_BOOT6),(IEN  | PTD | DIS | M4)) /*GPIO_8*/\
  MUX_VAL(CP(SYS_OFF_MODE), (IEN  | PTD | DIS | M0)) /*SYS_OFF_MODE*/\
- MUX_VAL(CP(SYS_CLKOUT1),  (IEN  | PTD | DIS | M4)) /*SYS_CLKOUT1 - NC*/\
- MUX_VAL(CP(SYS_CLKOUT2),  (IEN  | PTD | DIS | M4)) /*SYS_CLKOUT2 - NC*/\
  /*JTAG*/\
  MUX_VAL(CP(JTAG_nTRST),   (IEN  | PTD | DIS | M0)) /*JTAG_nTRST*/\
  MUX_VAL(CP(JTAG_TCK), (IEN  | PTD | DIS | M0)) /*JTAG_TCK*/\
-- 
1.5.6.3

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 0/4] OMAP3 pandora: pin mux updates

2009-07-07 Thread Grazvydas Ignotas
This patch series clean up and update pin mux for pandora.
The update is needed for rev3 or later boards to work properly,
but older boards still work after this.

Grazvydas Ignotas (4):
  OMAP3 pandora: pin mux cleanup
  OMAP3 pandora: setup pin mux for pins used on rev3 boards
  OMAP3 pandora: setup pulls for various GPIOs
  OMAP3 pandora: Fix CKE1 MUX setting to allow self-refresh

 board/omap3/pandora/pandora.h |   86 +
 1 files changed, 35 insertions(+), 51 deletions(-)

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] OMAP3 pandora: update pin mux for rev3 boards

2009-06-28 Thread Grazvydas Ignotas
 when you will be in possession of the old version of a board and just because
 few people have the board is remove from the mainline you will not be happy.
 So no we will support the both

Well old boards *do* actually work after these changes, except one
game button and one analog controller (because of changed GPIOs). But
all old boards don't have the analog controllers soldered to them,
except one that I have (there were more but they were disassembled).
Game buttons can't be used with old boards anyway because they don't
fit into the case. So after considering these points I can say my old
boards are no longer supported statement is not really valid.

 What I read is

 no users ... ever got these boards

 I would bet that you have some early (broken?) alpha boards not
 being supported by U-Boot and never used because replaced by fixed
 revisions, too.
 They will not have to be mainline until the hardware will be stablized

It's true, I sent initial patches before hardware was stabilized, but
I thought it would be no problem sending patches like this later,
after all hardware updates. Sorry if I was wrong.

So now I'm going to split this patch and resend, is that ok with you?
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] OMAP3 pandora: update pin mux for rev3 boards

2009-06-26 Thread Grazvydas Ignotas
On Fri, Jun 26, 2009 at 12:59 AM, Jean-Christophe
PLAGNIOL-VILLARDplagn...@jcrosoft.com wrote:
 On 14:57 Mon 08 Jun     , Grazvydas Ignotas wrote:
 The update consists of following changes:
 - remove configuration of not connected pins, effectively
   leaving them in safe mode.
 - remove unused GPIOs, setup newly added ones.
 - setup pulls for various GPIOs. Disable pulls for game
   buttons, as they have external pulls.
 - SDRC CS change based on recent patch for
   Beagle and Overo.

 Old boards are no longer supported, but there was only
 small number of test boards made. Updated configuration
 is expected to be used for mass production.
 If user have old version in possession NACK

There are only several old prototypes some developers have, there is
really no need to complicate code to support those boards. The old
boards will be replaced anyway as they don't fit into the case.

 this kind of huge update is non bisectable

Yes but current boards don't even work with what is in mainline, so it
doesn't make much sense to bisect anyway.

 so we do need to use a true mux api
 as the kernel lot's of other arch in u-boot

You could be right, but I don't think I can contribute this at the
moment. Current mux api is good enough for single configuration we
need.

First mass production run should start soon, so we need this patch to
enter during this merge window, else all users will have to patch or
use our u-boot fork.


 Best Regards,
 J.

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] OMAP3 pandora: update pin mux for rev3 boards

2009-06-08 Thread Grazvydas Ignotas
The update consists of following changes:
- remove configuration of not connected pins, effectively
  leaving them in safe mode.
- remove unused GPIOs, setup newly added ones.
- setup pulls for various GPIOs. Disable pulls for game
  buttons, as they have external pulls.
- SDRC CS change based on recent patch for
  Beagle and Overo.

Old boards are no longer supported, but there was only
small number of test boards made. Updated configuration
is expected to be used for mass production.

CC: Dirk Behme dirk.be...@googlemail.com
Signed-off-by: Grazvydas Ignotas nota...@gmail.com
---
 board/omap3/pandora/pandora.h |   92 +
 1 files changed, 38 insertions(+), 54 deletions(-)

diff --git a/board/omap3/pandora/pandora.h b/board/omap3/pandora/pandora.h
index 8f0838c..5bb190c 100644
--- a/board/omap3/pandora/pandora.h
+++ b/board/omap3/pandora/pandora.h
@@ -107,15 +107,6 @@ const omap3_sysinfo sysinfo = {
  MUX_VAL(CP(GPMC_D15), (IEN  | PTD | DIS | M0)) /*GPMC_D15*/\
  MUX_VAL(CP(GPMC_NCS0),(IDIS | PTU | EN  | M0)) /*GPMC_nCS0*/\
  MUX_VAL(CP(GPMC_NCS1),(IDIS | PTU | EN  | M0)) /*GPMC_nCS1*/\
- MUX_VAL(CP(GPMC_NCS2),(IDIS | PTU | EN  | M0)) /*GPMC_nCS2*/\
- MUX_VAL(CP(GPMC_NCS3),(IDIS | PTU | EN  | M0)) /*GPMC_nCS3*/\
- MUX_VAL(CP(GPMC_NCS4),(IDIS | PTU | EN  | M0))\
- MUX_VAL(CP(GPMC_NCS5),(IDIS | PTD | DIS | M0))\
- MUX_VAL(CP(GPMC_NCS6),(IEN  | PTD | DIS | M1))\
- MUX_VAL(CP(GPMC_NCS7),(IEN  | PTU | EN  | M1))\
- MUX_VAL(CP(GPMC_NBE1),(IEN  | PTD | DIS | M0))\
- MUX_VAL(CP(GPMC_WAIT2),   (IEN  | PTU | EN  | M0))\
- MUX_VAL(CP(GPMC_WAIT3),   (IEN  | PTU | EN  | M0))\
  MUX_VAL(CP(GPMC_CLK), (IDIS | PTD | DIS | M0)) /*GPMC_CLK*/\
  MUX_VAL(CP(GPMC_NADV_ALE),(IDIS | PTD | DIS | M0)) /*GPMC_nADV_ALE*/\
  MUX_VAL(CP(GPMC_NOE), (IDIS | PTD | DIS | M0)) /*GPMC_nOE*/\
@@ -154,21 +145,22 @@ const omap3_sysinfo sysinfo = {
  MUX_VAL(CP(DSS_DATA22),   (IDIS | PTD | DIS | M0)) /*DSS_DATA22*/\
  MUX_VAL(CP(DSS_DATA23),   (IDIS | PTD | DIS | M0)) /*DSS_DATA23*/\
  /*GPIO based game buttons*/\
- MUX_VAL(CP(CAM_XCLKA),(IEN  | PTU | DIS | M4)) /*GPIO_96 - 
LEFT*/\
- MUX_VAL(CP(CAM_PCLK), (IEN  | PTU | DIS | M4)) /*GPIO_97 - L2*/\
- MUX_VAL(CP(CAM_FLD),  (IEN  | PTU | DIS | M4)) /*GPIO_98 - RIGHT*/\
- MUX_VAL(CP(CAM_D0),   (IEN  | PTU | DIS | M4)) /*GPIO_99 - MENU*/\
- MUX_VAL(CP(CAM_D1),   (IEN  | PTU | DIS | M4)) /*GPIO_100 - START*/\
- MUX_VAL(CP(CAM_D2),   (IEN  | PTU | DIS | M4)) /*GPIO_101 - Y*/\
- MUX_VAL(CP(CAM_D3),   (IEN  | PTU | DIS | M4)) /*GPIO_102 - L1*/\
- MUX_VAL(CP(CAM_D4),   (IEN  | PTU | DIS | M4)) /*GPIO_103 - DOWN*/\
- MUX_VAL(CP(CAM_D5),   (IEN  | PTU | DIS | M4)) /*GPIO_104 - SELECT*/\
- MUX_VAL(CP(CAM_D6),   (IEN  | PTU | DIS | M4)) /*GPIO_105 - R1*/\
- MUX_VAL(CP(CAM_D7),   (IEN  | PTU | DIS | M4)) /*GPIO_106 - B*/\
- MUX_VAL(CP(CAM_D8),   (IEN  | PTU | DIS | M4)) /*GPIO_107 - R2*/\
- MUX_VAL(CP(CAM_D10),  (IEN  | PTU | DIS | M4)) /*GPIO_109 - X*/\
- MUX_VAL(CP(CAM_D11),  (IEN  | PTU | DIS | M4)) /*GPIO_110 - UP*/\
- MUX_VAL(CP(CAM_XCLKB),(IEN  | PTU | DIS | M4)) /*GPIO_111 - 
A*/\
+ MUX_VAL(CP(SYS_BOOT5),(IEN  | PTD | DIS | M4)) /*GPIO_7 - 
START*/\
+ MUX_VAL(CP(CAM_XCLKA),(IEN  | PTD | DIS | M4)) /*GPIO_96 - 
LEFT*/\
+ MUX_VAL(CP(CAM_PCLK), (IEN  | PTD | DIS | M4)) /*GPIO_97 - L2*/\
+ MUX_VAL(CP(CAM_FLD),  (IEN  | PTD | DIS | M4)) /*GPIO_98 - RIGHT*/\
+ MUX_VAL(CP(CAM_D0),   (IEN  | PTD | DIS | M4)) /*GPIO_99 - MENU*/\
+ MUX_VAL(CP(CAM_D1),   (IEN  | PTD | DIS | M4)) /*GPIO_100 - START*/\
+ MUX_VAL(CP(CAM_D2),   (IEN  | PTD | DIS | M4)) /*GPIO_101 - Y*/\
+ MUX_VAL(CP(CAM_D3),   (IEN  | PTD | DIS | M4)) /*GPIO_102 - L1*/\
+ MUX_VAL(CP(CAM_D4),   (IEN  | PTD | DIS | M4)) /*GPIO_103 - DOWN*/\
+ MUX_VAL(CP(CAM_D5),   (IEN  | PTD | DIS | M4)) /*GPIO_104 - SELECT*/\
+ MUX_VAL(CP(CAM_D6),   (IEN  | PTD | DIS | M4)) /*GPIO_105 - R1*/\
+ MUX_VAL(CP(CAM_D7),   (IEN  | PTD | DIS | M4)) /*GPIO_106 - B*/\
+ MUX_VAL(CP(CAM_D8),   (IEN  | PTD | DIS | M4)) /*GPIO_107 - R2*/\
+ MUX_VAL(CP(CAM_D10),  (IEN  | PTD | DIS | M4)) /*GPIO_109 - X*/\
+ MUX_VAL(CP(CAM_D11),  (IEN  | PTD | DIS | M4)) /*GPIO_110 - UP*/\
+ MUX_VAL(CP(CAM_XCLKB),(IEN  | PTD | DIS | M4)) /*GPIO_111 - 
A*/\
  /*Audio Interface To External DAC (Headphone, Speakers)*/\
  MUX_VAL(CP(MCBSP2_FSX),   (IDIS | PTD | DIS | M0)) /*McBSP2_FSX*/\
  MUX_VAL(CP(MCBSP2_CLKX),  (IDIS | PTD | DIS | M0)) /*McBSP2_CLKX*/\
@@ -183,7 +175,7 @@ const omap3_sysinfo sysinfo = {
  MUX_VAL(CP(MMC1_DAT1),(IEN  | PTU | EN  | M0)) /*MMC1_DAT1

Re: [U-Boot] [PATCH 15/15 v6] OMAP3: Add Pandora config, main Makefile, README, MAKEALL and MAINTAINERS

2009-01-19 Thread Grazvydas Ignotas
On Sat, Jan 17, 2009 at 8:34 PM, Jean-Christophe PLAGNIOL-VILLARD
plagn...@jcrosoft.com wrote:
 On 09:47 Sun 14 Dec , Dirk Behme wrote:
 Add Pandora config, main Makefile, README, MAKEALL and MAINTAINERS

 Signed-off-by: Dirk Behme dirk.be...@googlemail.com

 ---
  MAINTAINERS |   20 ++
  MAKEALL |   30 ++-
  Makefile|   19 ++
  doc/README.omap3|  116 ++
  include/configs/omap3_pandora.h |  320 
 
  5 files changed, 496 insertions(+), 9 deletions(-)

 please add board configs when you add the boards
 it will the same for the MAKEALL, Makefile entries

 I will simplify bisect and tracking

Any other comments? If we make v7 series with those changes, will they
finally be accepted?
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] OMAP3 patch series

2009-01-14 Thread Grazvydas Ignotas
Hello,

a month has passed since v6 OMAP3 patches were submitted to this ML
[1]. So far they have not been reviewed nor accepted. Are there any
estimates when that is going to happen? I.e. when we have time,
never or we don't like OMAP3 would be good answers.

Thanks,
Grazvydas

[1] http://lists.denx.de/pipermail/u-boot/2008-December/044787.html
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH-OMAP3 0/2] OMAP3: Add support for OMAP3 based Pandora board

2008-11-25 Thread Grazvydas Ignotas
Pandora is open handheld gaming console, which uses Texas
Instruments OMAP 3530 SoC. More information can be found
at http://openpandora.org/.

The following two patches are to be applied on
u-boot-arm/omap3 branch, and should match style currently
used there.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH-OMAP3 1/2] OMAP3: Add Pandora board files

2008-11-25 Thread Grazvydas Ignotas
This patch adds support for OMAP3 based Pandora board.

Signed-off-by: Grazvydas Ignotas [EMAIL PROTECTED]
---
 MAINTAINERS|4 +
 MAKEALL|1 +
 Makefile   |3 +
 board/omap3/pandora/Makefile   |   49 +
 board/omap3/pandora/config.mk  |   33 +++
 board/omap3/pandora/pandora.c  |  124 
 board/omap3/pandora/pandora.h  |  420 
 board/omap3/pandora/u-boot.lds |   63 ++
 doc/README.omap3   |   17 ++-
 9 files changed, 711 insertions(+), 3 deletions(-)
 create mode 100644 board/omap3/pandora/Makefile
 create mode 100644 board/omap3/pandora/config.mk
 create mode 100644 board/omap3/pandora/pandora.c
 create mode 100644 board/omap3/pandora/pandora.h
 create mode 100644 board/omap3/pandora/u-boot.lds

diff --git a/MAINTAINERS b/MAINTAINERS
index 4a1ff70..e361e85 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -521,6 +521,10 @@ Sascha Hauer [EMAIL PROTECTED]
imx31_litekit   i.MX31
imx31_phycore   i.MX31
 
+Grazvydas Ignotas [EMAIL PROTECTED]
+
+   omap3_pandora   ARM CORTEX-A8 (OMAP3xx SoC)
+
 Gary Jennejohn [EMAIL PROTECTED]
 
smdk2400ARM920T
diff --git a/MAKEALL b/MAKEALL
index 7b9776c..4f861e7 100755
--- a/MAKEALL
+++ b/MAKEALL
@@ -509,6 +509,7 @@ LIST_ARM9= \
omap3_beagle\
omap3_evm   \
omap3_overo \
+   omap3_pandora   \
 
 
 #
diff --git a/Makefile b/Makefile
index 3ad189d..bdcf519 100644
--- a/Makefile
+++ b/Makefile
@@ -2765,6 +2765,9 @@ omap3_evm_config :unconfig
 omap3_overo_config :   unconfig
@$(MKCONFIG) $(@:_config=) arm arm_cortexa8 overo omap3 omap3
 
+omap3_pandora_config : unconfig
+   @$(MKCONFIG) $(@:_config=) arm arm_cortexa8 pandora omap3 omap3
+
 #
 ## XScale Systems
 #
diff --git a/board/omap3/pandora/Makefile b/board/omap3/pandora/Makefile
new file mode 100644
index 000..b41e8a0
--- /dev/null
+++ b/board/omap3/pandora/Makefile
@@ -0,0 +1,49 @@
+#
+# (C) Copyright 2000, 2001, 2002
+# Wolfgang Denk, DENX Software Engineering, [EMAIL PROTECTED]
+#
+# See file CREDITS for list of people who contributed to this
+# project.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA
+#
+
+include $(TOPDIR)/config.mk
+
+LIB= $(obj)lib$(BOARD).a
+
+COBJS  := pandora.o
+
+SRCS   := $(COBJS:.o=.c)
+OBJS   := $(addprefix $(obj),$(COBJS))
+
+$(LIB):$(obj).depend $(OBJS)
+   $(AR) $(ARFLAGS) $@ $(OBJS)
+
+clean:
+   rm -f $(OBJS)
+
+distclean: clean
+   rm -f $(LIB) core *.bak $(obj).depend
+
+#
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#
diff --git a/board/omap3/pandora/config.mk b/board/omap3/pandora/config.mk
new file mode 100644
index 000..6b1f69a
--- /dev/null
+++ b/board/omap3/pandora/config.mk
@@ -0,0 +1,33 @@
+#
+# (C) Copyright 2006
+# Texas Instruments, www.ti.com
+#
+# Pandora uses OMAP3 (ARM-CortexA8) cpu
+# see http://www.ti.com/ for more information on Texas Instruments
+#
+# See file CREDITS for list of people who contributed to this
+# project.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA
+#
+# Physical Address:
+# 8000' (bank0)
+# A000/ (bank1)
+# Linux

[U-Boot] [PATCH-OMAP3 2/2] OMAP3: Add Pandora configuration

2008-11-25 Thread Grazvydas Ignotas
This patch adds configuration file for OMAP3 Pandora.

Signed-off-by: Grazvydas Ignotas [EMAIL PROTECTED]
---
 include/configs/omap3_pandora.h |  302 +++
 1 files changed, 302 insertions(+), 0 deletions(-)
 create mode 100644 include/configs/omap3_pandora.h

diff --git a/include/configs/omap3_pandora.h b/include/configs/omap3_pandora.h
new file mode 100644
index 000..66f087f
--- /dev/null
+++ b/include/configs/omap3_pandora.h
@@ -0,0 +1,302 @@
+/*
+ * Configuration settings for the OMAP3 Pandora.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#ifndef __CONFIG_H
+#define __CONFIG_H
+#include asm/sizes.h
+
+/*
+ * High Level Configuration Options
+ */
+#define CONFIG_ARMCORTEXA8 1   /* This is an ARM V7 CPU core */
+#define CONFIG_OMAP1   /* in a TI OMAP core */
+#define CONFIG_OMAP34XX1   /* which is a 34XX */
+#define CONFIG_OMAP34301   /* which is in a 3430 */
+#define CONFIG_OMAP3_PANDORA   1   /* working with pandora */
+
+#include asm/arch/cpu.h  /* get chip and board defs */
+#include asm/arch/omap3.h
+
+/* Clock Defines */
+#define V_OSCK 2600/* Clock output from T2 */
+#define V_SCLK (V_OSCK  1)
+
+#undef CONFIG_USE_IRQ  /* no support for IRQs */
+#define CONFIG_MISC_INIT_R
+
+#define CONFIG_CMDLINE_TAG 1   /* enable passing of ATAGs */
+#define CONFIG_SETUP_MEMORY_TAGS   1
+#define CONFIG_INITRD_TAG  1
+#define CONFIG_REVISION_TAG1
+
+/*
+ * Size of malloc() pool
+ */
+#define CONFIG_ENV_SIZESZ_128K /* Total Size 
Environment */
+   /* Sector */
+#define CONFIG_SYS_MALLOC_LEN  (CONFIG_ENV_SIZE + SZ_128K)
+#define CONFIG_SYS_GBL_DATA_SIZE   128 /* bytes reserved for */
+   /* initial data */
+
+/*
+ * Hardware drivers
+ */
+
+/*
+ * NS16550 Configuration
+ */
+#define V_NS16550_CLK  4800/* 48MHz (APLL96/2) */
+
+#define CONFIG_SYS_NS16550
+#define CONFIG_SYS_NS16550_SERIAL
+#define CONFIG_SYS_NS16550_REG_SIZE(-4)
+#define CONFIG_SYS_NS16550_CLK V_NS16550_CLK
+
+/*
+ * select serial console configuration
+ */
+#define CONFIG_CONS_INDEX  3
+#define CONFIG_SYS_NS16550_COM3OMAP34XX_UART3
+#define CONFIG_SERIAL3 3
+
+/* allow to overwrite serial and ethaddr */
+#define CONFIG_ENV_OVERWRITE
+#define CONFIG_BAUDRATE115200
+#define CONFIG_SYS_BAUDRATE_TABLE  {4800, 9600, 19200, 38400, 57600, \
+   115200}
+#define CONFIG_MMC 1
+#define CONFIG_OMAP3_MMC   1
+#define CONFIG_SYS_MMC_BASE0xF000
+#define CONFIG_DOS_PARTITION   1
+
+/* commands to include */
+
+#define CONFIG_CMD_EXT2/* EXT2 Support */
+#define CONFIG_CMD_FAT /* FAT support  */
+#define CONFIG_CMD_JFFS2   /* JFFS2 Support*/
+
+#define CONFIG_CMD_I2C /* I2C serial bus support   */
+#define CONFIG_CMD_MMC /* MMC support  */
+#define CONFIG_CMD_NAND/* NAND support */
+
+#define CONFIG_CMD_AUTOSCRIPT  /* autoscript support   */
+#define CONFIG_CMD_BDI /* bdinfo   */
+#define CONFIG_CMD_BOOTD   /* bootd*/
+#define CONFIG_CMD_CONSOLE /* coninfo  */
+#define CONFIG_CMD_ECHO/* echo arguments   */
+#define CONFIG_CMD_ENV /* saveenv  */
+#define CONFIG_CMD_ITEST   /* Integer (and string) test*/
+#define CONFIG_CMD_LOADB   /* loadb*/
+#define CONFIG_CMD_MEMORY  /* md mm nm mw cp cmp crc base loop mtest */
+#define CONFIG_CMD_MISC/* misc functions like sleep etc*/
+#define CONFIG_CMD_RUN /* run command in env variable  */
+
+#define CONFIG_SYS_NO_FLASH
+#define CONFIG_SYS_I2C_SPEED   10
+#define CONFIG_SYS_I2C_SLAVE   1
+#define CONFIG_SYS_I2C_BUS 0
+#define