OMAP3: updated pinmux and environment for new revision of mcx board
PATCH 1/4 OMAP3: updated pinmux and environment for new revision of mcx board
The mcx board was slightly modified and the pinmux must be updated. There is no need to support the old board, that becomes obsolete.
--- board/htkw/mcx/mcx.h | 26 +++++++++++++------------- include/configs/mcx.h | 12 +++++++----- 2 files changed, 20 insertions(+), 18 deletions(-)
board/htkw/mcx/mcx.h +13 -13
@@ -143,28 +143,28 @@ const omap3_sysinfo sysinfo = { MUX_VAL(CP(DSS_HSYNC), (IDIS | PTD | DIS | M0)) \ MUX_VAL(CP(DSS_VSYNC), (IDIS | PTD | DIS | M0)) \ MUX_VAL(CP(DSS_ACBIAS), (IDIS | PTD | DIS | M0)) \ - MUX_VAL(CP(DSS_DATA0), (IEN | PTU | EN | M4))\ - MUX_VAL(CP(DSS_DATA1), (IEN | PTU | EN | M4)) \ - MUX_VAL(CP(DSS_DATA2), (IEN | PTU | EN | M4)) \ + MUX_VAL(CP(DSS_DATA0), (IDIS | PTD | DIS | M0)) \ + MUX_VAL(CP(DSS_DATA1), (IDIS | PTD | DIS | M0)) \ + MUX_VAL(CP(DSS_DATA2), (IDIS | PTD | DIS | M0)) \ MUX_VAL(CP(DSS_DATA3), (IDIS | PTD | DIS | M0)) \ MUX_VAL(CP(DSS_DATA4), (IDIS | PTD | DIS | M0)) \ MUX_VAL(CP(DSS_DATA5), (IDIS | PTD | DIS | M0)) \ MUX_VAL(CP(DSS_DATA6), (IDIS | PTD | DIS | M0)) \ MUX_VAL(CP(DSS_DATA7), (IDIS | PTD | DIS | M0)) \ - MUX_VAL(CP(DSS_DATA8), (IEN | PTU | EN | M4)) \ - MUX_VAL(CP(DSS_DATA9), (IEN | PTU | EN | M4)) \ + MUX_VAL(CP(DSS_DATA8), (IDIS | PTD | DIS | M0)) \ + MUX_VAL(CP(DSS_DATA9), (IDIS | PTD | DIS | M0)) \ MUX_VAL(CP(DSS_DATA10), (IDIS | PTD | DIS | M0)) \ MUX_VAL(CP(DSS_DATA11), (IDIS | PTD | DIS | M0)) \ MUX_VAL(CP(DSS_DATA12), (IDIS | PTD | DIS | M0)) \ MUX_VAL(CP(DSS_DATA13), (IDIS | PTD | DIS | M0)) \ MUX_VAL(CP(DSS_DATA14), (IDIS | PTD | DIS | M0)) \ - MUX_VAL(CP(DSS_DATA15), (IDIS | PTD | DIS | M0))\ - MUX_VAL(CP(DSS_DATA16), (IEN | PTU | EN | M4)) \ - MUX_VAL(CP(DSS_DATA17), (IEN | PTU | EN | M4)) \ - MUX_VAL(CP(DSS_DATA18), (IEN | PTU | EN | M4)) \ + MUX_VAL(CP(DSS_DATA15), (IDIS | PTD | DIS | M0)) \ + MUX_VAL(CP(DSS_DATA16), (IDIS | PTD | DIS | M0)) \ + MUX_VAL(CP(DSS_DATA17), (IDIS | PTD | DIS | M0)) \ + MUX_VAL(CP(DSS_DATA18), (IDIS | PTD | DIS | M0)) \ MUX_VAL(CP(DSS_DATA19), (IDIS | PTD | DIS | M0)) \ MUX_VAL(CP(DSS_DATA20), (IDIS | PTD | DIS | M0)) \ - MUX_VAL(CP(DSS_DATA21), (IDIS | PTD | DIS | M0)) \ + MUX_VAL(CP(DSS_DATA21), (IDIS | PTD | DIS | M0)) \ MUX_VAL(CP(DSS_DATA22), (IDIS | PTD | DIS | M0)) \MUX_VAL (CP (DSS_DATA23 ), (IDIS |PTD |DIS |M0 )) \/* CAMERA */ \
@@ -313,11 +313,11 @@ const omap3_sysinfo sysinfo = { MUX_VAL(CP(RMII_TXEN), (PTD | M0)) \MUX_VAL (CP (RMII_50MHZ_CLK ), (IEN |PTD |EN |M0 )) \ /* HECC */\ - MUX_VAL(CP(HECC1_TXD), (IEN | PTD | EN | M4)) \ -MUX_VAL (CP (HECC1_RXD ), (IEN |PTD |EN |M4 )) \ + MUX_VAL(CP(HECC1_TXD), (IEN | PTD | EN | M0)) \ +MUX_VAL (CP (HECC1_RXD ), (IEN |PTD |EN |M0 )) \ /* HSUSB */\ MUX_VAL(CP(HSUSB0_CLK), (IEN | PTD | DIS | M0)) \ - MUX_VAL(CP(HSUSB0_STP), (IDIS | PTU | EN | M0)) \ + MUX_VAL(CP(HSUSB0_STP), (IEN | PTU | DIS | M0)) \ MUX_VAL(CP(HSUSB0_DIR), (IEN | PTD | DIS | M0)) \ MUX_VAL(CP(HSUSB0_NXT), (IEN | PTD | DIS | M0)) \MUX_VAL (CP (HSUSB0_DATA0 ), (IEN |PTD |DIS |M0 )) \
include/configs/mcx.h +7 -5
@@ -256,22 +256,24 @@"run nandargs; " \"ubi part nand0,4;" \"ubi readvol ${loadaddr} kernel;" \ -"run addip addtty addmtd addfb addeth addmisc;" \ +"run addtty addmtd addfb addeth addmisc;" \"bootm ${loadaddr}\0" \ -"swupdate_args=setenv bootargs ubi.mtd=6 root=ubi0:fs_recovery " \ -"rootfstype=ubifs quiet loglevel=1 " \ -"consoleblank=0 ${swupdate_misc}\0" \ +"swupdate_args=setenv bootargs root=/dev/ram " \ +"quiet loglevel=1 " \ +"consoleblank=0 ${swupdate_misc}\0" \"swupdate=echo Running Sw-Update...;" \"if printenv mtdparts;then echo Starting SwUpdate...; " \"else mtdparts default;fi; " \"ubi part nand0,5;" \"ubi readvol 0x82000000 kernel_recovery;" \ +"ubi part nand0,6;" \ +"ubi readvol 0x84000000 fs_recovery;" \"run swupdate_args; " \"setenv bootargs ${bootargs} " \"${mtdparts} " \"vram=6M omapfb.vram=1:2M,2:2M,3:2M " \"omapdss.def_disp=lcd;" \ -"bootm ${loadaddr}\0" +"bootm 0x82000000 0x84000000\0" #define CONFIG_BOOTCOMMAND \"run nandboot"
Signature · 1 line
1.7.9.5
PATCH 2/4 OMAP3: mcx: updated to new hardware revision
Some GPIOs differ in the new revision board.
Previous revision are considered obsolete and
they will not anymore supported.
--- board/htkw/mcx/mcx.c | 19 +++---------------- board/htkw/mcx/mcx.h | 2 +- include/configs/mcx.h | 3 +-- 3 files changed, 5 insertions(+), 19 deletions(-)
board/htkw/mcx/mcx.c +3 -16
@@ -37,12 +37,12 @@DECLARE_GLOBAL_DATA_PTR ; -#define HOT_WATER_BUTTON 38 +#define HOT_WATER_BUTTON 42#ifdef CONFIG_USB_EHCI static struct omap_usbhs_board_data usbhs_bdata = { .port_mode[0 ] =OMAP_EHCI_PORT_MODE_PHY , - .port_mode[1 ] =OMAP_EHCI_PORT_MODE_PHY , + .port_mode[1 ] =OMAP_USBHS_PORT_MODE_UNUSED , .port_mode[2 ] =OMAP_USBHS_PORT_MODE_UNUSED , };
@@ -87,6 +87,7 @@ int board_late_init(void)return 0 ;setenv ("bootcmd" ,"run swupdate" ); + return 0; }#endif
@@ -108,17 +109,3 @@ int board_mmc_init(bd_t *bis) return omap_mmc_init(0, 0, 0); }#endif - -#ifdef CONFIG_USB_EHCI_OMAP -#define USB_HOST_PWR_EN 132 -int board_usb_init (void ) -{ -if (gpio_request (USB_HOST_PWR_EN ,"USB_HOST_PWR_EN" ) <0 ) { -puts ("Failed to get USB_HOST_PWR_EN pin\n" ); -return -ENODEV ; - } -gpio_direction_output (USB_HOST_PWR_EN ,1 ); - -return 0 ; -} -#endif
board/htkw/mcx/mcx.h +1 -1
@@ -96,7 +96,7 @@ const omap3_sysinfo sysinfo = { MUX_VAL(CP(GPMC_A7), (IEN | PTU | EN | M4)) \ MUX_VAL(CP(GPMC_A8), (IEN | PTU | EN | M4)) \ MUX_VAL(CP(GPMC_A9), (IEN | PTU | EN | M4)) \ -MUX_VAL (CP (GPMC_A10 ), (IDIS |PTU |DIS |M4 )) \ +MUX_VAL (CP (GPMC_A10 ), (IEN |PTU |EN |M4 )) \ /* GPIO_43 LCD buffer enable */ \ MUX_VAL(CP(GPMC_D0), (IEN | PTU | EN | M0)) \MUX_VAL (CP (GPMC_D1 ), (IEN |PTU |EN |M0 )) \
include/configs/mcx.h +1 -2
@@ -115,8 +115,7 @@#define CONFIG_USB_ULPI #define CONFIG_USB_ULPI_VIEWPORT_OMAP /*#define CONFIG_EHCI_DCACHE*/ /* leave it disabled for now */ -#define CONFIG_OMAP_EHCI_PHY1_RESET_GPIO 154 -#define CONFIG_OMAP_EHCI_PHY2_RESET_GPIO 152 +#define CONFIG_OMAP_EHCI_PHY1_RESET_GPIO 57#define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 3/* commands to include */
Signature · 1 line
1.7.9.5
PATCH 3/4 VIDEO: add macro to set LCD size for DSS driver
In reply to Stefano Babic--- arch/arm/include/asm/arch-omap3/dss.h | 1 + 1 file changed, 1 insertion(+)
arch/arm/include/asm/arch-omap3/dss.h +1 -0
@@ -190,6 +190,7 @@ struct panel_config {#define PANEL_TIMING_H (bp, fp, sw) (DSS_HBP(bp) | DSS_HFP(fp) | DSS_HSW(sw))#define PANEL_TIMING_V (bp, fp, sw) (DSS_VBP(bp) | DSS_VFP(fp) | DSS_VSW(sw)) +#define PANEL_LCD_SIZE (xres, yres) ((yres - 1) << 16 | (xres - 1))/* Generic DSS Functions */ void omap3_dss_venc_config(const struct venc_regs *venc_cfg,
Signature · 1 line
1.7.9.5
PATCH 3/4 VIDEO: add macro to set LCD size for DSS driver
Quoted 4 lines · On Tue, 16 Oct 2012 16:07:05 +0200 Stefano Babic <[email protected]> wrote:
Signed-off-by Stefano Babic <[email protected]>--- arch/arm/include/asm/arch-omap3/dss.h | 1 + 1 file changed, 1 insertion(+)
Thanks!
PATCH 4/4 OMAP3: add video support to the mcx board
In reply to Stefano BabicAdd video support to the board with the display
focaltech etm070003dh6.
--- board/htkw/mcx/mcx.c | 38 ++++++++++++++++++++++++++++++++++++++ board/htkw/mcx/mcx.h | 2 ++ include/configs/mcx.h | 16 +++++++++++++++- 3 files changed, 55 insertions(+), 1 deletion(-)
board/htkw/mcx/mcx.c +38 -0
@@ -27,6 +27,8 @@#include <asm/mach-types.h> #include <asm/gpio.h> #include <asm/omap_gpio.h> +#include <asm/arch/dss.h> +#include <asm/arch/clocks.h> #include "errno.h" #include <i2c.h> #ifdef CONFIG_USB_EHCI
@@ -38,6 +40,7 @@DECLARE_GLOBAL_DATA_PTR ;#define HOT_WATER_BUTTON 42 +#define LCD_OUTPUT 55#ifdef CONFIG_USB_EHCI static struct omap_usbhs_board_data usbhs_bdata = {
@@ -67,6 +70,8 @@ int board_init(void)/* boot param addr */ gd->bd->bi_boot_params = (OMAP34XX_SDRC_CS0 +0x100 ); +gpio_direction_output (LCD_OUTPUT ,0 ); +return 0 ; }
@@ -109,3 +114,36 @@ int board_mmc_init(bd_t *bis)return omap_mmc_init (0 ,0 ,0 ); }#endif + +#if defined(CONFIG_VIDEO ) && !defined(CONFIG_SPL_BUILD ) + +static struct panel_config lcd_cfg = { + .timing_h =PANEL_TIMING_H (40 ,40 ,48 ), + .timing_v =PANEL_TIMING_V (29 ,13 ,3 ), + .pol_freq =0x00003000 ,/* Pol Freq */ + .divisor =0x0001000E , + .panel_type =0x01 ,/* TFT */ + .data_lines =0x03 ,/* 24 Bit RGB */ + .load_mode =0x02 ,/* Frame Mode */ + .panel_color =0 , + .lcd_size =PANEL_LCD_SIZE (800 ,480 ), +}; + +int board_video_init (void ) +{ +struct prcm *prcm_base = (struct prcm *)PRCM_BASE ; +void *fb; + + fb = (void *)0x88000000 ; + + lcd_cfg.frame_buffer = fb; + +setbits_le32 (&prcm_base->fclken_dss,FCK_DSS_ON ); +setbits_le32 (&prcm_base->iclken_dss,ICK_DSS_ON ); + +omap3_dss_panel_config (&lcd_cfg); +omap3_dss_enable (); + +return 0 ; +} +#endif
board/htkw/mcx/mcx.h +2 -0
@@ -264,6 +264,8 @@ const omap3_sysinfo sysinfo = { MUX_VAL(CP(I2C3_SDA), (IEN | PTU | EN | M0)) \ MUX_VAL(CP(I2C4_SCL), (IEN | PTU | EN | M0)) \ MUX_VAL(CP(I2C4_SDA), (IEN | PTU | EN | M0)) \ +MUX_VAL (CP (HDQ_SIO ), (IEN |PTU |EN |M4 )) \ +/* GPIO_170 Touchscreen ISR */ \ /* McSPI */\ MUX_VAL(CP(MCSPI1_CLK), (IEN | PTD | DIS | M0)) \MUX_VAL (CP (MCSPI1_SIMO ), (IEN |PTD |DIS |M0 )) \
include/configs/mcx.h +15 -1
@@ -181,7 +181,7 @@#define CONFIG_JFFS2_PART_SIZE 0xf980000/* sz of jffs2 part */ /* Environment information */ -#define CONFIG_BOOTDELAY 10 +#define CONFIG_BOOTDELAY 3#define CONFIG_BOOTFILE "uImage"
@@ -257,6 +257,10 @@"ubi readvol ${loadaddr} kernel;" \"run addtty addmtd addfb addeth addmisc;" \"bootm ${loadaddr}\0" \ +"preboot=ubi part nand0,7;" \ +"ubi readvol ${loadaddr} splash;" \ +"bmp display ${loadaddr};" \ +"gpio set 55\0" \"swupdate_args=setenv bootargs root=/dev/ram " \"quiet loglevel=1 " \"consoleblank=0 ${swupdate_misc}\0" \
@@ -303,6 +307,7 @@#define CONFIG_SYS_LOAD_ADDR (OMAP34XX_SDRC_CS0)/* default load */ /* address */ +#define CONFIG_PREBOOT /* * AM3517 has 12 GP timers, they can be driven by the system clock
@@ -422,4 +427,13 @@#define CONFIG_NET_RETRY_COUNT 10#endif +#define CONFIG_VIDEO +#define CONFIG_CFB_CONSOLE +#define CONFIG_VGA_AS_SINGLE_DEVICE +#define CONFIG_SPLASH_SCREEN +#define CONFIG_VIDEO_BMP_RLE8 +#define CONFIG_CMD_BMP +#define CONFIG_VIDEO_OMAP3 +#define CONFIG_SYS_CONSOLE_IS_IN_ENV +#endif /* __CONFIG_H */
Signature · 1 line
1.7.9.5
PATCH 4/4 OMAP3: add video support to the mcx board
Quoted 4 lines · Stefano Babic
Add video support to the board with the display
focaltech etm070003dh6.Signed-off-by Stefano Babic <[email protected]>
[snip]
board/htkw/mcx/mcx.c int board_mmc_init(bd_t *bis) · line 137
Quoted 6 lines
board/htkw/mcx/mcx.c +6
-0+int board_video_init (void ) +{ +struct prcm *prcm_base = (struct prcm *)PRCM_BASE ; +void *fb; + + fb = (void *)0x88000000 ;
What's at this magic location in DDR? #define please, thanks.
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20121017/96cc9dbd/attachment.pgp>
PATCH v2 4/4 OMAP3: add video support to the mcx board
In reply to Stefano BabicAdd video support to the board with the display
focaltech etm070003dh6.
---
Changes in v2:
- Add define to set the address of the framebuffer (Tom Rini)
board/htkw/mcx/mcx.c | 41 +++++++++++++++++++++++++++++++++++++++++ board/htkw/mcx/mcx.h | 2 ++ include/configs/mcx.h | 16 +++++++++++++++- 3 files changed, 58 insertions(+), 1 deletion(-)
board/htkw/mcx/mcx.c +41 -0
@@ -27,6 +27,8 @@#include <asm/mach-types.h> #include <asm/gpio.h> #include <asm/omap_gpio.h> +#include <asm/arch/dss.h> +#include <asm/arch/clocks.h> #include "errno.h" #include <i2c.h> #ifdef CONFIG_USB_EHCI
@@ -38,6 +40,10 @@DECLARE_GLOBAL_DATA_PTR ;#define HOT_WATER_BUTTON 42 +#define LCD_OUTPUT 55 + +/* Address of the framebuffer in RAM. */ +#define FB_START_ADDRESS 0x88000000#ifdef CONFIG_USB_EHCI static struct omap_usbhs_board_data usbhs_bdata = {
@@ -67,6 +73,8 @@ int board_init(void)/* boot param addr */ gd->bd->bi_boot_params = (OMAP34XX_SDRC_CS0 +0x100 ); +gpio_direction_output (LCD_OUTPUT ,0 ); +return 0 ; }
@@ -109,3 +117,36 @@ int board_mmc_init(bd_t *bis)return omap_mmc_init (0 ,0 ,0 ); }#endif + +#if defined(CONFIG_VIDEO ) && !defined(CONFIG_SPL_BUILD ) + +static struct panel_config lcd_cfg = { + .timing_h =PANEL_TIMING_H (40 ,40 ,48 ), + .timing_v =PANEL_TIMING_V (29 ,13 ,3 ), + .pol_freq =0x00003000 ,/* Pol Freq */ + .divisor =0x0001000E , + .panel_type =0x01 ,/* TFT */ + .data_lines =0x03 ,/* 24 Bit RGB */ + .load_mode =0x02 ,/* Frame Mode */ + .panel_color =0 , + .lcd_size =PANEL_LCD_SIZE (800 ,480 ), +}; + +int board_video_init (void ) +{ +struct prcm *prcm_base = (struct prcm *)PRCM_BASE ; +void *fb; + + fb = (void *)FB_START_ADDRESS ; + + lcd_cfg.frame_buffer = fb; + +setbits_le32 (&prcm_base->fclken_dss,FCK_DSS_ON ); +setbits_le32 (&prcm_base->iclken_dss,ICK_DSS_ON ); + +omap3_dss_panel_config (&lcd_cfg); +omap3_dss_enable (); + +return 0 ; +} +#endif
board/htkw/mcx/mcx.h +2 -0
@@ -264,6 +264,8 @@ const omap3_sysinfo sysinfo = { MUX_VAL(CP(I2C3_SDA), (IEN | PTU | EN | M0)) \ MUX_VAL(CP(I2C4_SCL), (IEN | PTU | EN | M0)) \ MUX_VAL(CP(I2C4_SDA), (IEN | PTU | EN | M0)) \ +MUX_VAL (CP (HDQ_SIO ), (IEN |PTU |EN |M4 )) \ +/* GPIO_170 Touchscreen ISR */ \ /* McSPI */\ MUX_VAL(CP(MCSPI1_CLK), (IEN | PTD | DIS | M0)) \MUX_VAL (CP (MCSPI1_SIMO ), (IEN |PTD |DIS |M0 )) \
include/configs/mcx.h +15 -1
@@ -181,7 +181,7 @@#define CONFIG_JFFS2_PART_SIZE 0xf980000/* sz of jffs2 part */ /* Environment information */ -#define CONFIG_BOOTDELAY 10 +#define CONFIG_BOOTDELAY 3#define CONFIG_BOOTFILE "uImage"
@@ -257,6 +257,10 @@"ubi readvol ${loadaddr} kernel;" \"run addtty addmtd addfb addeth addmisc;" \"bootm ${loadaddr}\0" \ +"preboot=ubi part nand0,7;" \ +"ubi readvol ${loadaddr} splash;" \ +"bmp display ${loadaddr};" \ +"gpio set 55\0" \"swupdate_args=setenv bootargs root=/dev/ram " \"quiet loglevel=1 " \"consoleblank=0 ${swupdate_misc}\0" \
@@ -303,6 +307,7 @@#define CONFIG_SYS_LOAD_ADDR (OMAP34XX_SDRC_CS0)/* default load */ /* address */ +#define CONFIG_PREBOOT /* * AM3517 has 12 GP timers, they can be driven by the system clock
@@ -422,4 +427,13 @@#define CONFIG_NET_RETRY_COUNT 10#endif +#define CONFIG_VIDEO +#define CONFIG_CFB_CONSOLE +#define CONFIG_VGA_AS_SINGLE_DEVICE +#define CONFIG_SPLASH_SCREEN +#define CONFIG_VIDEO_BMP_RLE8 +#define CONFIG_CMD_BMP +#define CONFIG_VIDEO_OMAP3 +#define CONFIG_SYS_CONSOLE_IS_IN_ENV +#endif /* __CONFIG_H */
Signature · 1 line
1.7.9.5