[U-Boot] [PATCH v4 11/12] SPEAr : Support added for SPEAr310 board

SPEAr310 SoC support contains basic spear310 support along with the usage of following drivers - serial driver(UART) - i2c driver - smi driver - nand driver(FSMC) - usbd driver - emi driver(cfi support)
Signed-off-by: Vipin vipin.kumar@st.com --- MAKEALL | 1 +
<snip>
+#include <asm/arch/spr_defs.h> +#include <asm/arch/spr_misc.h> +#include <asm/arch/spr_nand.h> + +int board_init(void) +{ + return spear_board_init(MACH_TYPE_SPEAR300); Does this need a new mach type ? I see there isn't a SPEAR310 define in mach-types. +} + +/* + * board_nand_init - Board specific NAND initialization + * @nand: mtd private chip structure + * + * Called by nand_init_chip to initialize the board specific functions + */ + +int board_nand_init(struct nand_chip *nand) +{ + struct misc_regs *const misc_regs_p = + (struct misc_regs *)CONFIG_SPEAR_MISCBASE; + + if (((readl(&misc_regs_p->auto_cfg_reg) & MISC_SOCCFGMSK) == + MISC_SOCCFG30) || + ((readl(&misc_regs_p->auto_cfg_reg) & MISC_SOCCFGMSK) == + MISC_SOCCFG31)) { + + return spear_nand_init(nand); + } + + return -1; +} diff --git a/include/configs/spear.h b/include/configs/spear.h index 15a8241..859b92f 100755 --- a/include/configs/spear.h +++ b/include/configs/spear.h @@ -33,6 +33,9 @@ #elif defined(CONFIG_MK_spear300) #define CONFIG_SPEAR3XX 1 #define CONFIG_SPEAR300 1 +#elif defined(CONFIG_MK_spear310) +#define CONFIG_SPEAR3XX 1 +#define CONFIG_SPEAR310 1 #endif
Similar comment to the spear300 board There needs to be a spear310 config file
Tom

Hello Tom,
<snip>
+#include <asm/arch/spr_defs.h> +#include <asm/arch/spr_misc.h> +#include <asm/arch/spr_nand.h>
+int board_init(void) +{
- return spear_board_init(MACH_TYPE_SPEAR300);
Does this need a new mach type ? I see there isn't a SPEAR310 define in mach-types.
Actually, spear310 and spear320 are variants of a base version spear300 This is why we are using a single mach type
Regards Vipin

Vipin KUMAR wrote:
Hello Tom,
<snip>
+#include <asm/arch/spr_defs.h> +#include <asm/arch/spr_misc.h> +#include <asm/arch/spr_nand.h>
+int board_init(void) +{
- return spear_board_init(MACH_TYPE_SPEAR300);
Does this need a new mach type ? I see there isn't a SPEAR310 define in mach-types.
Actually, spear310 and spear320 are variants of a base version spear300 This is why we are using a single mach type
Ok. Then the 310 and 320 board *.c files can be combined into 300 board files These look like they are copies of the 300 file. Tom
Regards Vipin

Hello Tom,
<snip>
+#include <asm/arch/spr_defs.h> +#include <asm/arch/spr_misc.h> +#include <asm/arch/spr_nand.h>
+int board_init(void) +{
- return spear_board_init(MACH_TYPE_SPEAR300);
Does this need a new mach type ? I see there isn't a SPEAR310 define in mach-types.
Actually, spear310 and spear320 are variants of a base version spear300 This is why we are using a single mach type
Ok. Then the 310 and 320 board *.c files can be combined into 300 board files These look like they are copies of the 300 file. Tom
Please find the patchset v5 for SPEAr support on the mailing list It contains all your suggested changes Please consider it for mainline inclusion
Regards Vipin

Vipin Kumar wrote:
Hello Tom,
<snip>
+#include <asm/arch/spr_defs.h> +#include <asm/arch/spr_misc.h> +#include <asm/arch/spr_nand.h>
+int board_init(void) +{
- return spear_board_init(MACH_TYPE_SPEAR300);
Does this need a new mach type ? I see there isn't a SPEAR310 define in mach-types.
Actually, spear310 and spear320 are variants of a base version spear300 This is why we are using a single mach type
Ok. Then the 310 and 320 board *.c files can be combined into 300 board files These look like they are copies of the 300 file. Tom
Please find the patchset v5 for SPEAr support on the mailing list It contains all your suggested changes Please consider it for mainline inclusion
I see in v5 that the 300,310,320 boards are still in separate files. These all look like copies and could be combined.
Do you expect there will be a need in the future to add unique code to each of these board files? If not, please look into combining them.
I will provide feedback on the other files shortly.
Tom
Regards Vipin

On Sat, Jan 16, 2010 at 8:40 PM, Tom Tom.Rix@windriver.com wrote:
Vipin Kumar wrote:
Hello Tom,
<snip>
+#include <asm/arch/spr_defs.h> +#include <asm/arch/spr_misc.h> +#include <asm/arch/spr_nand.h>
+int board_init(void) +{
- return spear_board_init(MACH_TYPE_SPEAR300);
Does this need a new mach type ? I see there isn't a SPEAR310 define in mach-types.
Actually, spear310 and spear320 are variants of a base version spear300 This is why we are using a single mach type
Ok. Then the 310 and 320 board *.c files can be combined into 300 board files These look like they are copies of the 300 file. Tom
Please find the patchset v5 for SPEAr support on the mailing list It contains all your suggested changes Please consider it for mainline inclusion
I see in v5 that the 300,310,320 boards are still in separate files. These all look like copies and could be combined.
Do you expect there will be a need in the future to add unique code to each of these board files? If not, please look into combining them.
I will provide feedback on the other files shortly.
Tom
Although all three are based on one chip but sp300, sp310 and sp320 are different SoCs and support different IPs. Yes, board files are copies of each other as of now but may diverge in future I would rather create different mach ids rather than combining them into one.
Regards Vipin

Vipin Kumar wrote:
On Sat, Jan 16, 2010 at 8:40 PM, Tom Tom.Rix@windriver.com wrote:
Vipin Kumar wrote:
Hello Tom,
<snip>
+#include <asm/arch/spr_defs.h> +#include <asm/arch/spr_misc.h> +#include <asm/arch/spr_nand.h>
+int board_init(void) +{
- return spear_board_init(MACH_TYPE_SPEAR300);
Does this need a new mach type ? I see there isn't a SPEAR310 define in mach-types.
Actually, spear310 and spear320 are variants of a base version spear300 This is why we are using a single mach type
Ok. Then the 310 and 320 board *.c files can be combined into 300 board files These look like they are copies of the 300 file. Tom
Please find the patchset v5 for SPEAr support on the mailing list It contains all your suggested changes Please consider it for mainline inclusion
I see in v5 that the 300,310,320 boards are still in separate files. These all look like copies and could be combined.
Do you expect there will be a need in the future to add unique code to each of these board files? If not, please look into combining them.
I will provide feedback on the other files shortly.
Tom
Although all three are based on one chip but sp300, sp310 and sp320 are different SoCs and support different IPs. Yes, board files are copies of each other as of now but may diverge in future I would rather create different mach ids rather than combining them into one.
Ok. Fine to leave them as-is. Tom
Regards Vipin
participants (3)
-
Tom
-
Vipin Kumar
-
Vipin KUMAR