All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefano Babic <sbabic@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 5/9] apf9328: add default board configuration file
Date: Thu, 11 Aug 2011 11:21:02 +0200	[thread overview]
Message-ID: <4E439EFE.5090507@denx.de> (raw)
In-Reply-To: <20110810203325.21204.6037.stgit@shuttle2.etheralp.ch>

On 08/10/2011 10:33 PM, Eric Jarrige wrote:
> Signed-off-by: Eric Jarrige <eric.jarrige@armadeus.org>
> ---
>  include/configs/apf9328.h | 1034 +++++++++++++++++++++++++++++++++++++++++++++
>  1 files changed, 1034 insertions(+), 0 deletions(-)
>  create mode 100644 include/configs/apf9328.h

Hi Eric,

> +
> +#ifndef __CONFIG_H
> +#define __CONFIG_H
> +
> +#define CONFIG_VERSION_VARIABLE
> +#define CONFIG_ENV_VERSION 	"4.0"
> +#define CONFIG_IDENT_STRING	" apf9328 patch 4.0"

You add CONFIG_ without documenting them. If they are specific for your
board, you should use another name, or please add documentation to make
them available for other boards, too.

> +
> +#define CONFIG_ARM920T		1	/* this is an ARM920T CPU */

It is enough to #define a switch, without setting the value. This should
be only:

#define CONFIG_ARM920T	/* this is an ARM920T CPU */

This must be fixed globally.

> +#define CONFIG_IMX		1	/* in a Motorola MC9328MXL Chip */

Ditto, and so on..

> +/*
> + * Definition of u-boot build in commands. Check out CONFIG_CMD_DFL if
> + * neccessary in include/cmd_confdefs.h file. (Un)comment for getting
> + * functionality or size of u-boot code.
> + */
> +
> +#include <config_cmd_default.h>
> +
> +#define CONFIG_CMD_ASKENV	/* ask for env variable		*/
> +#define CONFIG_CMD_BSP		/* Board Specific functions	*/
> +#define CONFIG_CMD_CACHE	/* icache, dcache		*/
> +#define CONFIG_CMD_DATE		/* support for RTC, date/time.. */
> +#define CONFIG_CMD_DHCP		/* DHCP Support			*/
> +#define CONFIG_CMD_DIAG		/* Diagnostics			*/
> +#define CONFIG_CMD_EEPROM	/* EEPROM read/write support	*/
> +#define CONFIG_CMD_FLASH	/* flinfo, erase, protect	*/
> +#define CONFIG_CMD_I2C		/* I2C serial bus support	*/
> +#define CONFIG_CMD_IMLS		/* List all found images	*/

IMLS is already part of default commands

> +#define CONFIG_CMD_IMMAP	/* IMMR dump support		*/

Is this not specific for PowerQuick processor ?

> +#define CONFIG_EXTRA_ENV_SETTINGS \
> +	"env_version="		CONFIG_ENV_VERSION		"\0"	\
> +	"fileaddr="		MK_STR(CONFIG_SYS_LOAD_ADDR)	"\0"	\
> +	"filesize="		MK_STR(CONFIG_SYS_MONITOR_LEN)	"\0"	\

filesize is dynamically computed, you should not add it

> +	"ntpserverip=217.147.208.1\0"					\

No fixed IP address, please, even if they are related to known NTP servers.

> +#define CONFIG_MACH_TYPE MACH_TYPE_APF9328

Why do you need it ? Is it not enough to use directly MACH_TYPE_APF9328 ?

> +#define CONFIG_ETHADDR

Not required, right ?

> +#define CONFIG_NETMASK		255.255.255.0
> +#define CONFIG_IPADDR		192.168.000.10

Please drop fix ip address. They should not be part of mainline,

> +#define CONFIG_BOARD_NAME	"apf9328"
> +#define CONFIG_HOSTNAME		"apf9328"
> +#define CONFIG_GATEWAYIP	192.168.000.1
> +#define CONFIG_SERVERIP		192.168.000.2

Ditto

> +/*
> + * Malloc pool need to host env + 128 Kb reserve for other allocations.
> + */
> +#define CONFIG_SYS_MALLOC_LEN		(CONFIG_ENV_SIZE + (128<<10))

I Think checkpatch will complain about missing spaces before and after <<

> +#define CONFIG_STACKSIZE	(120<<10)	/* stack size	*/
> +
> +#ifdef CONFIG_USE_IRQ
> +#define CONFIG_STACKSIZE_IRQ	(4<<10)	/* IRQ stack	*/
> +#define CONFIG_STACKSIZE_FIQ	(4<<10)	/* FIQ stack	*/
> +#endif

Do you need IRQ ? It is undefined, you can drop this part


> +
> +/*
> +* Clocks configuration
> +*/
> +/*
> + * PLL configuration
> + *
> + * f_{dpll}=2*f{ref}*(MFI+MFN/(MFD+1))/(PD+1)
> + * f_ref=16,777216MHz
> + * 32768 Hz xtal
> + * 0x07B32DA5: 192.0000173
> + * 0x002a141f: 191,9944MHz
> + * 0x040b2007: 144MHz
> + * 0x0FB32DA5: 96.00000864 MHz
> + * 0x042a141f: 96MHz
> + * 0x0811140d: 64MHz
> + * 0x040e200e: 150MHz
> + * 0x00321431: 200MHz
> + *
> + *16 MHz xtal
> + * 0x08001800: 64MHz mit 16er Quarz
> + * 0x04001800: 96MHz mit 16er Quarz
> + * 0x04002400: 144MHz mit 16er Quarz
> + *
> + * 31	|x x x x|x x x x|x x x x|x x x x|x x x x|x x x x|x x x x|x x x x| 0
> + *	|XXX|--PD---|-------MFD---------|XXX|--MFI--|-----MFN-----------|
> + */
> +
> +#define CONFIG_SYS_OSC32	32768	/* 32768 or 32000 Hz crystal */
> +#undef	CONFIG_SYS_OSC16	/* there is no external 16MHz external clock */
> +
> +/* MPU CLOCK source before PLL	(should be named CONFIG_SYS_SYS_CLK_FREQ) */
> +#define CONFIG_SYS_CLK_FREQ	(512*CONFIG_SYS_OSC32)
> +#define CONFIG_SYS_MPCTL0_VAL		0x07B32DA5	/* 192.000017 MHz */
> +#define CONFIG_SYS_MPCTL1_VAL		0
> +
> +/* system clock source before PLL (should be named CONFIG_SYS_SYSPLL_CLK_FREQ)*/
> +#ifndef CONFIG_SYS_OSC16
> +#define CONFIG_SYSPLL_CLK_FREQ		(512*CONFIG_SYS_OSC32)
> +#if (CONFIG_SYS_OSC32 == 32000)
> +#define CONFIG_SYS_SPCTL0_VAL		0x043F1437	/* 96 MHz */
> +#define CONFIG_SYS_SPCTL1_VAL		0
> +#define CONFIG_SYS_FREQ			96	/* MHz */
> +#else /* CONFIG_SYS_OSC32 == 32768 */
> +#define CONFIG_SYS_SPCTL0_VAL		0x0FB32DA5	/* 96.000009 MHz */
> +#define CONFIG_SYS_SPCTL1_VAL		0
> +#define CONFIG_SYS_FREQ			96	/* MHz */
> +#endif /* CONFIG_SYS_OSC32 */
> +#else /* CONFIG_SYS_OSC16 in use */
> +#define CONFIG_SYSPLL_CLK_FREQ		CONFIG_SYS_OSC16
> +#define CONFIG_SYS_SPCTL0_VAL		0x04001401	/* 96 MHz */
> +#define CONFIG_SYS_SPCTL1_VAL		0x0C000040
> +#define CONFIG_SYS_FREQ			96	/* MHz */
> +#endif /* CONFIG_SYS_OSC16 */
> +
> +/* external bus frequency (have to be a CONFIG_SYS_FREQ ratio) */
> +#define CONFIG_SYS_BUS_FREQ 	96	/* 96|48... MHz (BCLOCK and HCLOCK) */
> +#define CONFIG_USB_FREQ		48	/* 48 MHz */
> +#define CONFIG_PERIF1_FREQ	16	/* 16 MHz UART, Timer PWM */
> +#define CONFIG_PERIF2_FREQ 	48	/* 48 MHz LCD SD SPI */
> +#define CONFIG_PERIF3_FREQ	16	/* 16 MHz SSI */
> +
> +/*
> + * SDRAM definition parameter
> + */
> +/* we have and support only 1 bank of SDRAM */
> +#define CONFIG_NR_DRAM_BANKS 1
> +
> +#define CONFIG_SYS_SDRAM_MBYTE_SYZE 16
> +
> +/*
> + * CONFIG_SYS_SDRAM_NUM_COL 8, 9, 10 or 11 column address bits
> + * CONFIG_SYS_SDRAM_NUM_ROW 11, 12 or 13 row address bits
> + * CONFIG_SYS_SDRAM_REFRESH 0=OFF 1=2048 2=4096 3=8192 refresh
> + * CONFIG_SYS_SDRAM_CLOCK_CYCLE_CL_1 X ns clock cycle time when CL=1
> + * CONFIG_SYS_SDRAM_ROW_PRECHARGE_DELAY X ns SRP
> + * CONFIG_SYS_SDRAM_ROW_2_COL_DELAY X ns SRCD
> + * CONFIG_SYS_SDRAM_ROW_CYCLE_DELAY X ns SRC
> + * CONFIG_SYS_SDRAM_BURST_LENGTH 2^N BYTES (N=0..3)
> + * CONFIG_SYS_SDRAM_SINGLE_ACCESS 1= single access; 0 = Burst mode
> + */
> +
> +#if (CONFIG_SYS_SDRAM_MBYTE_SYZE == 8)

Why do we need such a stuff when your configuration is fixed at compile
time with CONFIG_SYS_SDRAM_MBYTE_SYZE 16 ?

> +/* lowlevel_linit copy U-Boot at CONFIG_SYS_INIT_SP_ADDR  (here in RAM) */
> +/* making u-boot runnable from flash and also RAM that is usefull to boot */
> +/* from serial port and from flash with only one version of U-Boot */
> +#ifndef CONFIG_SYS_TEXT_BASE
> +#define CONFIG_SYS_TEXT_BASE	0x08000000
> +#endif
> +
> +#define CONFIG_SYS_INIT_SP_ADDR	(CONFIG_SYS_SDRAM_BASE	\
> +		+ CONFIG_SYS_SDRAM_1_SIZE - 0x0100000)

You do not use U_Boot macro here (GENERATED_GBL_DATA_SIZE), as it is
usual. Stack pointer is already in RAM before relocation. Is it correct ?

> +/*#define CONFIG_MMC		1
> +*/

Dead code

> +/*
> + * External interfaces module
> + *
> + * CSxU_VAL:
> + * 63|    x    |x|x x|x x x x|x x| x | x  |x x x x|48
> + *   |DTACK_SEL|0|BCD|  BCS  |PSZ|PME|SYNC|  DOL  |
> + *
> + * 47| x x  | x x x x x x | x | x x x x | x x x x |32
> + *   | CNC  |     WSC     | 0 |   WWS   |   EDC   |
> + *
> + * CSxL_VAL:
> + * 31|  x x x x  | x x x x  | x x x x  | x x x x  |24
> + *   |    OEA    |   OEN    |   WEA    |   WEN    |
> + * 23|x x x x| x | x x x | x x  x x |x x| x |  x  | 0
> + *   |  CSA  |EBC|  DSZ  | 0|SP|0|WP|0 0|PA |CSEN |
> + */
> +
> +/* CS0 configuration for flash memory Micron MT28F128J3-150 */
> +#define CONFIG_SYS_CS0_CHIP_SELECT_ENABLE	1 /* 1 : enable CS0 */
> +#define CONFIG_SYS_CS0_DATA_PORT_SIZE		0x5 /* 5=16 bits on D[15:0] */
> +					/* 3=8bits on D[7:0] 6=32 bits..*/
> +#define CONFIG_SYS_CS0_SUPERVISOR_PROTECT	0 /* 1: user access prohibited*/
> +#define CONFIG_SYS_CS0_WRITE_PROTECT		0 /* 1: write prohibited*/
> +#define CONFIG_SYS_CS0_EB_SIGNAL_CONTROL_WRITE	1 /* 1 EB is as write signal */
> +#define CONFIG_SYS_CS0_READ_CYC_LGTH		150	/* ns */
> +#define CONFIG_SYS_CS0_OE_ASSERT_DLY		0	/* ns */
> +#define CONFIG_SYS_CS0_OE_NEG_DLY		0	/* ns */
> +
> +#define CONFIG_SYS_CS0_CS_NEG_LGTH 	0	/* ns CS HIGH to CS LOW : tCWH*/
> +#define CONFIG_SYS_CS0_XTRA_DEAD_CYC	35	/* ns from CS HIGH to tristate*/
> +
> +#define CONFIG_SYS_CS0_WRITE_XTRA_LGTH		0	/* ns */
> +#define CONFIG_SYS_CS0_EB_ASSERT_DLY		0	/* ns */
> +#define CONFIG_SYS_CS0_EB_NEG_DLY		0	/* ns */
> +#define CONFIG_SYS_CS0_CS_ASSERT_NEG_DLY	0	/* ns */
> +

All this stuff seems to me not general, that is they should not have a
CONFIG_SYS_* name. Else they must be documented.

Really I think that all this defines should be put in the code that use
them, and not in the configuration file (if they are not spread with
other boards).

> +#define CONFIG_SYS_CSCR_VAL\
> +	(CSCR_MASK 						\
> +	|((((CONFIG_SYS_FREQ/CONFIG_USB_FREQ)-1)&0x07)<<26)	\
> +	|((((CONFIG_SYS_FREQ/CONFIG_SYS_BUS_FREQ)-1)&0x0F)<<10))
> +

This macro (and the following ones) are related to the IMX processor and
are not specific to the board. They should be available for all IMX
boards, and the right place is arch/arm/include/asm/arch-imx/.

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de
=====================================================================

  reply	other threads:[~2011-08-11  9:21 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-10 20:33 [U-Boot] [PATCH 0/9] Series short description Eric Jarrige
2011-08-10 20:33 ` [U-Boot] [PATCH 1/9] mx1: export imx_gpio_mode() function Eric Jarrige
2011-08-10 20:33 ` [U-Boot] [PATCH 2/9] mx1: add i2c registers Eric Jarrige
2011-08-11  8:52   ` Stefano Babic
2011-08-11 23:49     ` Eric Jarrige
2011-10-06 22:04   ` Wolfgang Denk
2011-08-10 20:33 ` [U-Boot] [PATCH 3/9] apf9328: Add Armadeus Project board APF9328 Eric Jarrige
2011-08-11  8:50   ` Stefano Babic
2011-08-11 23:41     ` Eric Jarrige
2011-08-12  6:49       ` Stefano Babic
2011-08-17  7:31         ` Igor Grinberg
2011-08-17 21:58           ` Eric Jarrige
2011-08-18  6:20             ` Igor Grinberg
2011-08-18  8:51             ` Stefano Babic
2011-08-10 20:33 ` [U-Boot] [PATCH 4/9] apf9328: add apf9328 board in Makefile Eric Jarrige
2011-08-10 20:33 ` [U-Boot] [PATCH 5/9] apf9328: add default board configuration file Eric Jarrige
2011-08-11  9:21   ` Stefano Babic [this message]
2011-08-15 20:25     ` Eric Jarrige
2011-08-23  9:46       ` Stefano Babic
2011-08-24  4:50         ` Eric Jarrige
2011-08-23 11:26       ` Wolfgang Denk
2011-08-24  4:56         ` Eric Jarrige
2011-08-24  5:49           ` Wolfgang Denk
2011-08-24  6:34             ` Wolfgang Denk
2011-08-24 23:01               ` Eric Jarrige
2011-08-24 22:26             ` Eric Jarrige
2011-08-24 22:56               ` Wolfgang Denk
2011-08-24  6:22           ` Stefano Babic
2011-08-24 23:08             ` Eric Jarrige
2011-10-06 22:03   ` Wolfgang Denk
2011-08-10 20:33 ` [U-Boot] [PATCH 6/9] mx1: improve PLL freq computation Eric Jarrige
2011-08-11  9:22   ` Stefano Babic
2011-08-12  0:03     ` Eric Jarrige
2011-08-12  0:28       ` Eric Jarrige
2011-08-12  6:51       ` Stefano Babic
2011-08-10 20:33 ` [U-Boot] [PATCH 7/9] mx1: change a printf in speed.c to use debug instead Eric Jarrige
2011-08-10 20:33 ` [U-Boot] [PATCH 8/9] DM9000: change some printf " Eric Jarrige
2011-08-11  7:26   ` Simon Schwarz
2011-08-11  8:01     ` Detlev Zundel
2011-08-11 10:51       ` Eric Jarrige
2011-08-24 20:20         ` Wolfgang Denk
2011-08-24 23:04           ` Eric Jarrige
2011-08-25  3:19             ` Marek Vasut
2011-08-25  5:49             ` Wolfgang Denk
2011-08-11  9:27   ` Stefano Babic
2011-08-10 20:33 ` [U-Boot] [PATCH 9/9] arm920t: Fix jump to the relocated board_init_r Eric Jarrige

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4E439EFE.5090507@denx.de \
    --to=sbabic@denx.de \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.