Re: [U-Boot] arm: omap: configs: various: Remove references to OMAP34XX_UARTx
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
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", + &pandora_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
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.
On Mon, Aug 29, 2016 at 10:56 AM, Vagrant Cascadian 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 Acked-by: Grazvydas Ignotas > --- > > 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.
On Mon, Aug 29, 2016 at 10:56 AM, Vagrant Cascadian 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 Acked-by: Grazvydas Ignotas > --- > > 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
This allows to clean up the config a good deal and also converts pandora to Generic Board. Signed-off-by: Grazvydas Ignotas --- 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 /* get chip and board defs */ -#include +#include /* * 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 -#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
From: notaz This allows to clean up the config a good deal and also converts pandora to Generic Board. Signed-off-by: Grazvydas Ignotas --- 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 /* get chip and board defs */ -#include +#include /* * 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 -#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 /* physical address */ /* to
Re: [U-Boot] [PATCH 3/3] ARM: omap3: remove non-generic boards
On Wed, Apr 8, 2015 at 12:15 PM, Masahiro Yamada 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: drop console kernel argument
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 --- 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] OMAP3: pandora: revise GPIO configuration
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 --- 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 #include #include +#include #include #include #include @@ -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: pin mux updates for DM3730 board variant
DM3730 needs some additional pin mux configuration for GPIOs 126-129 to work, add it. Signed-off-by: Grazvydas Ignotas --- 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
Re: [U-Boot] [PATCH] ARM: OMAP3: pandora: re-enable NAND soft ECC
On Tue, Mar 20, 2012 at 12:16 AM, Tom Rini 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 Ignotas > > > 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
[U-Boot] [PATCH] ARM: OMAP3: pandora: re-enable NAND soft ECC
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 --- 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
[U-Boot] [PATCH] mmc: omap: handle controller errors properly
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 --- 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 #include +/* 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] mmc: omap: improve stat wait message
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 --- 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
Re: [U-Boot] [PATCH] mmc: omap: follow TRM procedure to power on cards
On Mon, Mar 19, 2012 at 6:44 PM, Tom Rini 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: follow TRM procedure to power on cards
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 --- 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
[U-Boot] [PATCH] twl4030: fix potential power supply handling issues
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 --- 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
Re: [U-Boot] MMC broken after a7778f8fbee098c78b1fa1e1331313a7e217fb30
On Sun, Mar 4, 2012 at 10:06 PM, Pali Rohár 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
On Fri, Nov 19, 2010 at 10:29 PM, Paulraj, Sandeep wrote: >> On Fri, Nov 5, 2010 at 10:07 PM, Paulraj, Sandeep >> 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 >> >> --- >> >> 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
Re: [U-Boot] patches added to u-boot-ti
On Thu, Nov 4, 2010 at 10:25 PM, Paulraj, Sandeep 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 v2 3/3] OMAP3: pandora: update config for production
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 --- 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 + * (C) Copyright 2008-2010 + * Gražvydas Ignotas * * 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; the
[U-Boot] [PATCH v2 2/3] OMAP3: pandora: remove unused config macros
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 --- 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 1/3] OMAP3: pandora: fix relocation and init memory map
Fix the build breakage introduced by the recent relocation and memory layout changes for ARM. Signed-off-by: Grazvydas Ignotas --- 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, -# -# 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 0/3] Pandora config fixes and updates
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 2/3] ARMV7: OMAP3: pandora: remove unused config macros
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 --- 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
[U-Boot] [PATCH 0/3] Pandora config updates
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 3/3] ARMV7: OMAP3: pandora: update config for production
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 --- 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 + * (C) Copyright 2008-2010 + * Gražvydas Ignotas * * 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 \ -
[U-Boot] [PATCH 1/3] ARMV7: OMAP3: pandora: implement relocation
Fixes the build breakage introduced by the recent relocation changes for ARMV7. Signed-off-by: Grazvydas Ignotas --- 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
Re: [U-Boot] [PATCH] OMAP3: remove unused config macros
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 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 >> 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 >> > --- >> > 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) >> > - >&
Re: [U-Boot] [PATCH 1/2] mmc: omap3: make local symbols static
>> 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] Building omap3_sdp3430 fails with older compilers
On Fri, Jun 18, 2010 at 12:25 PM, Wolfgang Denk wrote: > The changes introduced by this commit: > > commit 7a2aa8b68120f333ed2edc33475ca195810d6cb1 > Author: Tom Rix > 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
Re: [U-Boot] [PATCH v2 01/10] ARM: Rename arch/arm/cpu/arm_cortexa8 to armv7
On Fri, Jun 18, 2010 at 1:17 AM, Steve Sakoman 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 > Signed-off-by: Steve Sakoman > --- > diff --git a/MAINTAINERS b/MAINTAINERS > index 7a13d28..b9c6af2 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -536,7 +536,7 @@ Stefano Babic > > Dirk Behme > > - 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
[U-Boot] [PATCH 1/2] mmc: omap3: make local symbols static
Make driver local variables and functions static and remove them from the arch header. Signed-off-by: Grazvydas Ignotas --- 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 #include -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_da
[U-Boot] [PATCH 2/2] mmc: omap3: fix block read function
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 --- 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
Re: [U-Boot] [PATCH] OMAP3: pandora: enable battery backup capacitor
CCing Sandeep. On Thu, Apr 29, 2010 at 5:52 PM, Grazvydas Ignotas 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 > --- > 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 > #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
Re: [U-Boot] [PATCH] OMAP3: remove unused config macros
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 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 > --- > 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 << 1
[U-Boot] [PATCH] OMAP3: pandora: enable battery backup capacitor
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 --- 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 #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
[U-Boot] [PATCH] OMAP3: remove unused config macros
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 --- 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 + \ - CONFIG_S
Re: [U-Boot] [beagleboard] TI:OMAP: [PATCH 4/4] Minimal Display driver for OMAP3
On Sun, Jan 10, 2010 at 7:46 PM, Khasim Syed Mohammed wrote: > On Sun, Jan 10, 2010 at 9:11 PM, Nishanth Menon > 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 >>> 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 > > wrote: > >> On Fri, Jan 8, 2010 at 9:40 AM, Khasim Syed Mohammed >> wrote: >> >>> From 239c47a4180fb4d5b5217f892955524d476916cf Mon Sep 17 00:00:00 2001 >>> From: Syed Mohammed Khasim >> >> [...] >> 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
Re: [U-Boot] TI:OMAP: [PATCH] API to select twl4030 voltage and dev group
On Sat, Jan 9, 2010 at 6:42 AM, Khasim Syed Mohammed wrote: > From cc1b24cb290d428f2e1aefec9c7878b46380f592 Mon Sep 17 00:00:00 2001 > From: Syed Mohammed Khasim > 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 > --- > @@ -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
[U-Boot] [PATCH] pandora: don't enable VAUX3, VDAC and VPLL2 regulators
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 --- 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()
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 --- 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 -#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_LEDE
Re: [U-Boot] [PATCH] TWL4030: make LEDs selectable in twl4030_led_init()
On Wed, Dec 2, 2009 at 4:55 PM, Tom wrote: > Grazvydas Ignotas wrote: >> >> 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
[U-Boot] [PATCH] TWL4030: make LEDs selectable in twl4030_led_init()
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 --- 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] [RFC PATCH] TWL4030: make LEDs selectable in twl4030_led_init()
On Tue, Dec 1, 2009 at 4:24 PM, Tom 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). >> --- 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] [RFC PATCH] TWL4030: make LEDs selectable in twl4030_led_init()
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 --- 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
Re: [U-Boot] twl4030_power_init cleanup proposal
On Mon, Nov 30, 2009 at 6:17 PM, Tom 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] twl4030_power_init cleanup proposal
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
[U-Boot] [PATCH v2] OMAP3: pandora: fix booting without serial attached
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 --- 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
Re: [U-Boot] [PATCH] OMAP3: pandora: fix booting without serial attached
On Wed, Nov 11, 2009 at 11:14 PM, Tom wrote: > Grazvydas Ignotas wrote: >> >> 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 >> --- >> 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*/\ > > Will this change disable normal u-boot serial? No it won't, it only enables weak internal pullup resistor in OMAP, which won't prevent the UART from working, only pull it up when nothing is driving the pin (i.e. cable not conneted). > From the config file > > /* > * select serial console configuration > */ > #define CONFIG_CONS_INDEX 3 > #define CONFIG_SYS_NS16550_COM3 OMAP34XX_UART3 > #define CONFIG_SERIAL3 3 > > It looks like it will. > > This must be as a non default config option. > > Tom ___ 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
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 --- 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
On Thu, Jul 9, 2009 at 1:44 AM, Jean-Christophe PLAGNIOL-VILLARD 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 4/4] OMAP3 pandora: Fix CKE1 MUX setting to allow self-refresh
Pandora is using both SDRC CSes. The MUX setting is needed for the second CS clock signal to allow the 2 RAM parts to be put in self-refresh correctly. Based on similar patch for beagle and overo by Jean Pihet and Steve Sakoman. --- board/omap3/pandora/pandora.h |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/board/omap3/pandora/pandora.h b/board/omap3/pandora/pandora.h index dfaf32f..f06ee5b 100644 --- a/board/omap3/pandora/pandora.h +++ b/board/omap3/pandora/pandora.h @@ -396,6 +396,6 @@ const omap3_sysinfo sysinfo = { MUX_VAL(CP(D2D_MBUSFLAG), (IEN | PTD | DIS | M0)) /*d2d_mbusflag*/\ MUX_VAL(CP(D2D_SBUSFLAG), (IEN | PTD | DIS | M0)) /*d2d_sbusflag*/\ MUX_VAL(CP(SDRC_CKE0),(IDIS | PTU | EN | M0)) /*sdrc_cke0*/\ - MUX_VAL(CP(SDRC_CKE1),(IDIS | PTD | DIS | M7)) /*sdrc_cke1*/ + MUX_VAL(CP(SDRC_CKE1),(IDIS | PTU | EN | M0)) /*sdrc_cke1*/ #endif -- 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
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
[U-Boot] [PATCH 1/4] OMAP3 pandora: pin mux cleanup
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 2/4] OMAP3 pandora: setup pin mux for pins used on rev3 boards
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 3/4] OMAP3 pandora: setup pulls for various GPIOs
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 | M0
Re: [U-Boot] [PATCH] OMAP3 pandora: update pin mux for rev3 boards
> 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
On Fri, Jun 26, 2009 at 12:59 AM, Jean-Christophe PLAGNIOL-VILLARD 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
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 Signed-off-by: Grazvydas Ignotas --- 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*/\ MUX_VAL(CP(MMC1_DAT2),(IEN
Re: [U-Boot] [PATCH 6/7 v2] OMAP3: Add OMAP3 core changes for MUSB
On Sun, Feb 22, 2009 at 6:22 PM, Dirk Behme wrote: > Dear Jean-Christophe, > > Jean-Christophe PLAGNIOL-VILLARD wrote: >> On 19:55 Thu 12 Feb , Dirk Behme wrote: >>> OMAP3 core changes necessary for MUSB >>> >>> Signed-off-by: Dirk Behme >>> >>> --- >>> Note: OMAP3 USB code will be sent later to USB maintainer, so >>> CONFIG_MUSB isn't used anywhere yet. This will avoid >>> USB maintainer to change OMAP3 core files. >>> >>> cpu/arm_cortexa8/omap3/clock.c |5 + >>> include/asm-arm/arch-omap3/cpu.h |2 ++ >>> include/asm-arm/arch-omap3/omap3.h | 11 +++ >>> 3 files changed, 18 insertions(+) >>> >>> Index: u-boot-main/cpu/arm_cortexa8/omap3/clock.c >>> === >>> --- u-boot-main.orig/cpu/arm_cortexa8/omap3/clock.c >>> +++ u-boot-main/cpu/arm_cortexa8/omap3/clock.c >>> @@ -377,5 +377,10 @@ void per_clocks_enable(void) >>> sr32(&prcm_base->fclken_per, 0, 32, FCK_PER_ON); >>> sr32(&prcm_base->iclken_per, 0, 32, ICK_PER_ON); >>> >>> +#ifdef CONFIG_MUSB >>> +/* Enable the MUSB interface clock */ >>> +sr32(&prcm_base->iclken1_core, 4, 1, 0x1); >>> +#endif >> the design of u-boot is to enagle the IP only when he use it >> so please do not enable the clock every time just when you want to use >> (in the USB driver init) > > This is already answered in > > http://lists.denx.de/pipermail/u-boot/2009-February/047452.html He probably wants to say that clocks should be enabled only when "usb start" is issued, as you might have u-boot compiled with USB defines set, but never actually use USB. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 4/7] OMAP3: Pandora: Update pin mux
Here is a patch with better commit message. Hope it helps. >From ee8002fe14789ad22cca153727d1677c5aa4d254 Mon Sep 17 00:00:00 2001 From: Grazvydas Ignotas Date: Thu, 5 Feb 2009 22:29:58 +0200 Subject: [PATCH 4/7] OMAP3: Update pandora pin mux Clock pin must have input enabled for MMC3 to work. Also enable pull-ups for cmd/data lines to be consistent with remaining MMC host pin setup. Signed-off-by: Grazvydas Ignotas --- board/omap3/pandora/pandora.h | 12 ++-- 1 files changed, 6 insertions(+), 6 deletions(-) diff --git a/board/omap3/pandora/pandora.h b/board/omap3/pandora/pandora.h index 8525a03..49151c1 100644 --- a/board/omap3/pandora/pandora.h +++ b/board/omap3/pandora/pandora.h @@ -200,12 +200,12 @@ const omap3_sysinfo sysinfo = { MUX_VAL(CP(MMC2_DAT7),(IEN | PTU | EN | M1)) /*MMC2_CLKIN*/\ MUX_VAL(CP(MMC1_DAT5),(IEN | PTD | DIS | M4)) /*GPIO_127 - MMC2_WP*/\ /*SDIO Interface to WIFI Module*/\ - MUX_VAL(CP(ETK_CLK_ES2), (IDIS | PTU | EN | M2)) /*MMC3_CLK*/\ - MUX_VAL(CP(ETK_CTL_ES2), (IEN | PTD | DIS | M2)) /*MMC3_CMD*/\ - MUX_VAL(CP(ETK_D4_ES2), (IEN | PTD | DIS | M2)) /*MMC3_DAT0*/\ - MUX_VAL(CP(ETK_D5_ES2), (IEN | PTD | DIS | M2)) /*MMC3_DAT1*/\ - MUX_VAL(CP(ETK_D6_ES2), (IEN | PTD | DIS | M2)) /*MMC3_DAT2*/\ - MUX_VAL(CP(ETK_D3_ES2), (IEN | PTD | DIS | M2)) /*MMC3_DAT3*/\ + MUX_VAL(CP(ETK_CLK_ES2), (IEN | PTD | DIS | M2)) /*MMC3_CLK*/\ + MUX_VAL(CP(ETK_CTL_ES2), (IEN | PTU | EN | M2)) /*MMC3_CMD*/\ + MUX_VAL(CP(ETK_D4_ES2), (IEN | PTU | EN | M2)) /*MMC3_DAT0*/\ + MUX_VAL(CP(ETK_D5_ES2), (IEN | PTU | EN | M2)) /*MMC3_DAT1*/\ + MUX_VAL(CP(ETK_D6_ES2), (IEN | PTU | EN | M2)) /*MMC3_DAT2*/\ + MUX_VAL(CP(ETK_D3_ES2), (IEN | PTU | EN | M2)) /*MMC3_DAT3*/\ /*Audio Interface To Bluetooth chip*/\ MUX_VAL(CP(MCBSP3_DX),(IDIS | PTD | DIS | M0)) /*McBSP3_DX*/\ MUX_VAL(CP(MCBSP3_DR),(IEN | PTD | DIS | M0)) /*McBSP3_DR*/\ -- 1.5.6.3 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 15/15 v6] OMAP3: Add Pandora config, main Makefile, README, MAKEALL and MAINTAINERS
On Sat, Jan 17, 2009 at 8:34 PM, Jean-Christophe PLAGNIOL-VILLARD wrote: > On 09:47 Sun 14 Dec , Dirk Behme wrote: >> Add Pandora config, main Makefile, README, MAKEALL and MAINTAINERS >> >> Signed-off-by: Dirk Behme >> >> --- >> 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
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 2/2] OMAP3: Add Pandora configuration
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 + +/* + * 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 /* get chip and board defs */ +#include + +/* 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 CONFIG_SYS_I2C_BUS_SELECT
[U-Boot] [PATCH-OMAP3 1/2] OMAP3: Add Pandora board files
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, +# +# 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'000
[U-Boot] [PATCH-OMAP3 0/2] OMAP3: Add support for OMAP3 based Pandora board
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