[U-Boot-Users] [PATCH resend] Update the RRvision port.

Wolfgang Denk wd at denx.de
Sun Jul 6 22:38:25 CEST 2008


In message <20080623174253.61613135 at peedub.jennejohn.org> you wrote:
> 
> --- a/Makefile
> +++ b/Makefile
> @@ -1052,10 +1052,128 @@ rmu_config:	unconfig
>  RRvision_config:	unconfig
>  	@$(MKCONFIG) $(@:_config=) ppc mpc8xx RRvision
>  
> -RRvision_LCD_config:	unconfig
> -	@mkdir -p $(obj)include
> -	@echo "#define CONFIG_LCD" >$(obj)include/config.h
> -	@echo "#define CONFIG_SHARP_LQ104V7DS01" >>$(obj)include/config.h
> +RRvision_BIGMEM_config					\
> +RRvision_BIGMEM_prodtest_config				\
> +RRvision_codesys_config					\
> +RRvision_codesys_prodtest_config			\
> +RRvision_prodtest_config				\
> +RRvision_LCD104_config					\
> +RRvision_LCD104V1DG61_config				\
> +RRvision_LCD5_config					\
> +RRvision_LCD65_config					\
> +RRvision_LCD7_config					\
> +RRvision_LCD7AUO_config					\
> +RRvision_LCDUMSH_config					\
> +RRvision_LCD_NL8060BC26_config				\
> +RRvision_LCD_PM070WL3_config				\
> +RRvision_LCD104_codesys_config				\
> +RRvision_LCD104V1DG61_codesys_config			\
> +RRvision_LCD104V7DS01_codesys_config			\
> +RRvision_LCD5_codesys_config				\
> +RRvision_LCD65_codesys_config				\
> +RRvision_LCD7_codesys_config				\
> +RRvision_LCD7AUO_codesys_config				\
> +RRvision_LCDUMSH_codesys_config				\
> +RRvision_LCD_NL8060BC26_codesys_config			\
> +RRvision_LCD_PM070WL3_codesys_config			\
> +RRvision_LCD104_BIGMEM_config				\
> +RRvision_LCD104V1DG61_BIGMEM_config			\
> +RRvision_LCD104V7DS01_BIGMEM_config			\
> +RRvision_LCD5_BIGMEM_config				\
> +RRvision_LCD65_BIGMEM_config				\
> +RRvision_LCD7_BIGMEM_config				\
> +RRvision_LCD7AUO_BIGMEM_config				\
> +RRvision_LCDUMSH_BIGMEM_config				\
> +RRvision_LCD_NL8060BC26_BIGMEM_config			\
> +RRvision_LCD_PM070WL3_BIGMEM_config			\
> +RRvision_LCD104_prodtest_config				\
> +RRvision_LCD104V1DG61_prodtest_config			\
> +RRvision_LCD104V7DS01_prodtest_config			\
> +RRvision_LCD5_prodtest_config				\
> +RRvision_LCD65_prodtest_config				\
> +RRvision_LCD7_prodtest_config				\
> +RRvision_LCD7AUO_prodtest_config			\
> +RRvision_LCDUMSH_prodtest_config			\
> +RRvision_LCD_NL8060BC26_prodtest_config			\
> +RRvision_LCD_PM070WL3_prodtest_config			\
> +RRvision_LCD104_codesys_prodtest_config			\
> +RRvision_LCD104V1DG61_codesys_prodtest_config		\
> +RRvision_LCD104V7DS01_codesys_prodtest_config		\
> +RRvision_LCD5_codesys_prodtest_config			\
> +RRvision_LCD65_codesys_prodtest_config			\
> +RRvision_LCD7_codesys_prodtest_config			\
> +RRvision_LCD7AUO_codesys_prodtest_config		\
> +RRvision_LCDUMSH_codesys_prodtest_config		\
> +RRvision_LCD_NL8060BC26__codesys_prodtest_config	\
> +RRvision_LCD_PM070WL3_codesys_prodtest_config		\
> +RRvision_LCD104_BIGMEM_prodtest_config			\
> +RRvision_LCD104V1DG61_BIGMEM_prodtest_config		\
> +RRvision_LCD104V7DS01_BIGMEM_prodtest_config		\
> +RRvision_LCD5_BIGMEM_prodtest_config			\
> +RRvision_LCD65_BIGMEM_prodtest_config			\
> +RRvision_LCD7_BIGMEM_prodtest_config			\
> +RRvision_LCD7AUO_BIGMEM_prodtest_config			\
> +RRvision_LCD_NL8060BC26_BIGMEM_prodtest_config		\
> +RRvision_LCD_PM070WL3_BIGMEM_prodtest_config		\
> +RRvision_LCD104V7DS01_config	:	unconfig
> +	@mkdir -p $(obj)include
> +	@[ -z "$(findstring _BIGMEM,$@)" ] || \
> +		{ echo "#define CONFIG_TTTECH_BIGMEM" >>$(obj)include/config.h; \
> +		  $(XECHO) "... with BIGMEM ..."; \
> +		}
> +	@[ -z "$(findstring _prodtest,$@)" ] || \
> +		{ echo "#define CONFIG_PRODTEST" >>$(obj)include/config.h; \
> +		  $(XECHO) "... with prodtest ..."; \
> +		}
> +	@[ -z "$(findstring _codesys,$@)" ] || \
> +		{ echo "#define CONFIG_CODESYS" >>$(obj)include/config.h; \
> +		  $(XECHO) "... with codesys ..."; \
> +		}
> +	@[ -z "$(findstring _LCD,$@)" ] || \
> +		{ echo "#define CONFIG_LCD" >>$(obj)include/config.h; \
> +		  $(XECHO) "... with LCD display ..."; \
> +		}
> +	@[ -z "$(findstring 104_,$@)" ] || \
> +		{ echo "#define CONFIG_HLD1045" >>$(obj)include/config.h; \
> +		  $(XECHO) "... with HLD1045 LCD display ...";  \
> +		}
> +	@[ -z "$(findstring 104V1DG61_,$@)" ] || \
> +		{ echo "#define CONFIG_SHARP_LQ104V1DG61" >>$(obj)include/config.h; \
> +		  $(XECHO) "... with SHARP LQ1041DG61 LCD display ...";  \
> +		}
> +	@[ -z "$(findstring 104V7DS01_,$@)" ] || \
> +		{ echo "#define CONFIG_SHARP_LQ104V7DS01" >>$(obj)include/config.h; \
> +		  $(XECHO) "... with SHARP LQ104V7DS01 LCD display ...";  \
> +		}
> +	@[ -z "$(findstring CD5_,$@)" ] || \
> +		{ echo "#define CONFIG_SHARP_LQ050Q5DR01" >>$(obj)include/config.h; \
> +		  $(XECHO) "... with SHARP LQ050Q5DR01 LCD display ...";  \
> +		}
> +	@[ -z "$(findstring CD65_,$@)" ] || \
> +		{ echo "#define CONFIG_SHARP_LQ065T9DR51U" >>$(obj)include/config.h; \
> +		  $(XECHO) "... with SHARP LQ065T9DR51U LCD display ...";  \
> +		}
> +	@[ -z "$(findstring CD7_,$@)" ] || \
> +		{ echo "#define CONFIG_SHARP_LQ070Q5TR01" >>$(obj)include/config.h; \
> +		  $(XECHO) "... with SHARP LQ070Q5TR01 LCD display ...";  \
> +		}
> +	@[ -z "$(findstring 7AUO_,$@)" ] || \
> +		{ echo "#define CONFIG_AUO_T070W1D1" >>$(obj)include/config.h; \
> +		  $(XECHO) "... with AUO T070W1D1 LCD display ...";  \
> +		}
> +	@[ -z "$(findstring NL8060BC26_,$@)" ] || \
> +		{ echo "#define CONFIG_NEC_NL8060BC26" >>$(obj)include/config.h; \
> +		  $(XECHO) "... with NEC NL8060BC26 LCD display ...";  \
> +		}
> +	@[ -z "$(findstring PM070WL3_,$@)" ] || \
> +		{ echo "#define CONFIG_PM070WL3" >>$(obj)include/config.h; \
> +		  $(XECHO) "... with PM070WL3 LCD display ...";  \
> +		}
> +	@[ -z "$(findstring UMSH_,$@)" ] || \
> +		{ echo "#define CONFIG_UMSH_7189JD1F" >>$(obj)include/config.h; \
> +		  echo "#define LCD_BPP LCD_MONOCHROME" >>$(obj)include/config.h; \
> +		  $(XECHO) "... with UMSH LCD display ...";  \
> +		}
>  	@$(MKCONFIG) -a RRvision ppc mpc8xx RRvision

This is still a nightmare of a make target; it's bad enough that each
display type needs a separate config option, but do we really have to
add  all  possible  combinations  with  "prodtest",  "codesys",   and
"BIGMEM"?

Maybe not all of these options are regularly needed? And  if  all  of
this  is  really, really needed, then can we please at least keep the
evaluation   out   of   the   Makefile?   Check   for   example   the
board/integrator??/split_by_variant.sh   scripts...   [Not   that   I
consoder this a nice solution, but at least it keeps the stuff  in  a
board  specific place without polluting the top level Makefile.] [Not
that I consoder this a nice solution, but at least it keeps the stuff
in a board specific place without polluting the top level Makefile.]

...
> --- a/include/configs/RRvision.h
> +++ b/include/configs/RRvision.h
...
> +#ifdef CONFIG_PRODTEST
> +# define CONFIG_BOOTCOMMAND	"run prodtest"
> +#else
> +# define CONFIG_BOOTCOMMAND	"saveenv; run updateall"
> +#endif

For example, this is the only place where the "prodtest" config option
is ever actually evaluated...


> -#define	CFG_LOAD_ADDR		0x100000	/* default load address	*/
> +#define	CFG_LOAD_ADDR	0x100000	/* default load address	*/

This is way too low for any recent Linux kernel version...

> -#define CFG_BAUDRATE_TABLE	{ 9600, 19200, 38400, 57600, 115200 }
> +#define CFG_BAUDRATE_TABLE	{9600, 19200, 38400, 57600, 115200}

Hmmm... I don't think this change is an improvment, but YMMV ...

> +#ifdef CONFIG_TTTECH_BIGMEM			/* set in Makefile */
> +#define CFG_MONITOR_LEN		(256 << 12)	/* Reserve 1024 kB for Monitor */

Please write as (1024 << 10) instead.

>  /* timeout values are in ticks = ms */
> -#define CFG_FLASH_ERASE_TOUT	(120*CFG_HZ)	/* Timeout for Flash Erase	*/
> -#define CFG_FLASH_WRITE_TOUT	(1 * CFG_HZ)	/* Timeout for Flash Write	*/
> +#ifdef CONFIG_TTTECH_BIGMEM
> +#define CFG_FLASH_ERASE_TOUT	(120 * CFG_HZ)	/* Timeout for Flash Erase  */
> +#define CFG_FLASH_WRITE_TOUT	(10 * CFG_HZ)	/* Timeout for Flash Write  */
> +#else
> +#define CFG_FLASH_ERASE_TOUT	(120 * CFG_HZ)	/* Timeout for Flash Erase */
> +#define CFG_FLASH_WRITE_TOUT	(1 * CFG_HZ)	/* Timeout for Flash Write */
> +#endif

Where in your code are these timeouts actually used?

> +#ifdef CONFIG_TTTECH_BIGMEM
> +#define CFG_ENV_OFFSET		0x40000 /* Offset of Environment Sector */
> +#define CFG_ENV_SIZE		0x40000 /* Total Size of Environment Sector */
> +#else
> +/* this is actually in the first sector of the flash */
> +#define	CFG_ENV_OFFSET		0x8100	/* Offset of Environment Sector */

This looks obviously wrong to me. Please check again!


>  /* 8 column SDRAM */
> -#define CFG_MAMR_8COL	((CFG_MAMR_PTA << MAMR_PTA_SHIFT)  | MAMR_PTAE	    |	\
> +#define CFG_MAMR_8COL	((CFG_MAMR_PTA << MAMR_PTA_SHIFT) | MAMR_PTAE |	\
>  			 MAMR_AMA_TYPE_0 | MAMR_DSA_1_CYCL | MAMR_G0CLA_A11 |	\
> -			 MAMR_RLFA_1X	 | MAMR_WLFA_1X	   | MAMR_TLFA_4X)
> +			 MAMR_RLFA_1X | MAMR_WLFA_1X | MAMR_TLFA_4X)
>  /* 9 column SDRAM */
> -#define CFG_MAMR_9COL	((CFG_MAMR_PTA << MAMR_PTA_SHIFT)  | MAMR_PTAE	    |	\
> +#define CFG_MAMR_9COL	((CFG_MAMR_PTA << MAMR_PTA_SHIFT) | MAMR_PTAE |	\
>  			 MAMR_AMA_TYPE_1 | MAMR_DSA_1_CYCL | MAMR_G0CLA_A10 |	\
> -			 MAMR_RLFA_1X	 | MAMR_WLFA_1X	   | MAMR_TLFA_4X)
> +			 MAMR_RLFA_1X | MAMR_WLFA_1X | MAMR_TLFA_4X)

Do you really think this change is an improvement? Looks like kind of
waste of efforts to me.

> diff --git a/tools/Makefile b/tools/Makefile
> index 8533a8e..68f7e3b 100644
> --- a/tools/Makefile
> +++ b/tools/Makefile
> @@ -41,6 +41,22 @@ LIBFDT_OBJ_FILES	= $(obj)fdt.o $(obj)fdt_ro.o $(obj)fdt_rw.o $(obj)fdt_strerror.
>  
>  LOGO_H	= $(OBJTREE)/include/bmp_logo.h
>  
> +ifeq ($(LOGO),palfin)
> +LOGO_BMP= logos/linux_logo_ttcontrol_palfin.bmp
> +endif
> +ifeq ($(LOGO),ttcontrol)
> +LOGO_BMP= logos/linux_logo_ttcontrol.bmp
> +endif
> +ifeq ($(LOGO),patria)
> +LOGO_BMP= logos/linux_logo_ttcontrol_patria.bmp

Where is this bitmap file?

> +ifeq ($(LOGO),eaton)
> +LOGO_BMP= logos/linux_logo_ttcontrol_eaton.bmp

Where is this bitmap file?

> +ifeq ($(LOGO),void)
> +LOGO_BMP= logos/linux_logo_void.bmp

Where is this bitmap file?

Where are the "patria" and "eaton" and "void" names coming from?


Sorry...


Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Women are more easily and more deeply terrified ...  generating  more
sheer horror than the male of the species.
	-- Spock, "Wolf in the Fold", stardate 3615.4




More information about the U-Boot mailing list