public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] at91: Add esd gmbh MEESC board support
Date: Sun, 28 Jun 2009 00:16:41 +0200	[thread overview]
Message-ID: <20090627221641.GS8587@game.jcrosoft.org> (raw)
In-Reply-To: <12457524691480-git-send-email-Daniel.Gorsulowski@esd.eu>

On 12:21 Tue 23 Jun     , Daniel Gorsulowski wrote:
> This patch adds support for esd gmbh MEESC board.
> The MEESC is based on an Atmel AT91SAM9263 SoC.
> 
> Signed-off-by: Daniel Gorsulowski <Daniel.Gorsulowski@esd.eu>
> ---
> 
> Jean-Christophe: This patch requires an up-to-date mach-types.h,
> please sync it.
> 
> diff --git a/board/esd/meesc/meesc.c b/board/esd/meesc/meesc.c
> new file mode 100644
> index 0000000..557a51c
> --- /dev/null
> +++ b/board/esd/meesc/meesc.c
> @@ -0,0 +1,211 @@
> +/*
> + * (C) Copyright 2007-2008
> + * Stelian Pop <stelian.pop@leadtechdesign.com>
> + * Lead Tech Design <www.leadtechdesign.com>
> + *
> + * (C) Copyright 2009
> + * Daniel Gorsulowski <daniel.gorsulowski@esd.eu>
> + * esd electronic system design gmbh <www.esd.eu>
> + *
> + * 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 <common.h>
> +#include <asm/arch/at91sam9263.h>
> +#include <asm/arch/at91sam9263_matrix.h>
please use <asm/arch/at91sam9_matrix.h>
> +#include <asm/arch/at91sam9_smc.h>
> +#include <asm/arch/at91_common.h>
> +#include <asm/arch/at91_pmc.h>
> +#include <asm/arch/at91_rstc.h>
> +#include <asm/arch/clk.h>
> +#include <asm/arch/gpio.h>
> +#include <asm/arch/hardware.h>
> +#include <asm/arch/io.h>
> +#include <netdev.h>
> +
> +DECLARE_GLOBAL_DATA_PTR;
> +
> +/*
> + * Miscelaneous platform dependent initialisations
> + */
it will be better to only read it only and store it in a static
> +int get_hw_rev(void)
> +{
> +	int rev = at91_get_gpio_value(AT91_PIN_PB19);
please add an empty line
> +	rev |= at91_get_gpio_value(AT91_PIN_PB20) << 1;
> +	rev |= at91_get_gpio_value(AT91_PIN_PB21) << 2;
> +	rev |= at91_get_gpio_value(AT91_PIN_PB22) << 3;
> +
> +	if (rev == 15)
> +		rev = 0;
> +
> +	return rev;
> +}
> +
<snip>
> +
> +int checkboard(void)
> +{
> +	char str[32];
> +	char buf[32];
> +
> +	puts("Board: esd CAN-EtherCAT Gateway");
> +	if (getenv_r("serial#", str, sizeof(str)) > 0) {
> +		puts(", serial# ");
> +		puts(str);
> +	}
> +	printf("\nHardware-revision: 1.%d\n", get_hw_rev());
> +	printf("Crystal frequency:\t%8s MHz\n",
> +					strmhz(buf, get_main_clk_rate()));
> +	printf("CPU clock:\t\t%8s MHz\n",
> +					strmhz(buf, get_cpu_clk_rate()));
> +#ifdef CONFIG_SHOW_VERBOSE_CLOCKINFO
> +	printf("Master clock:\t\t%8s MHz\n",
> +					strmhz(buf, get_mck_clk_rate()));
> +	printf("PLL A clock:\t\t%8s MHz\n",
> +					strmhz(buf, get_plla_clk_rate()));
> +	printf("PLL B Reg.:\t\t0x%08X\n",
> +					at91_sys_read(AT91_CKGR_PLLBR));
> +	printf("PLL B clock:\t\t%8s MHz\n",
> +					strmhz(buf, get_pllb_clk_rate()));
> +#endif
> +	printf("Mach-type: %lu\n", gd->bd->bi_arch_number);
> +	return 0;
> +}
please use cpu_info when it's possible to avoid copy & paste

> +int board_init(void)
> +{
> +	/* Enable Ctrlc */
> +	console_init_f();
no need
> +
> +	/* Peripheral Clock Enable Register */
> +	at91_sys_write(AT91_PMC_PCER,	1 << AT91SAM9263_ID_PIOA |
> +					1 << AT91SAM9263_ID_PIOB |
> +					1 << AT91SAM9263_ID_PIOCDE |
> +					1 << AT91SAM9263_ID_CAN);
> +
> +	/* arch number of MEESC-Board */
> +	gd->bd->bi_arch_number = MACH_TYPE_MEESC;
> +
> +	/* adress of boot parameters */
> +	gd->bd->bi_boot_params = PHYS_SDRAM + 0x100;
> +
> +	at91_serial_hw_init();
> +#ifdef CONFIG_CMD_NAND
> +	meesc_nand_hw_init();
> +#endif
> +	meesc_ethercat_hw_init();
> +#ifdef CONFIG_HAS_DATAFLASH
> +	at91_spi0_hw_init(1 << 0);
> +#endif
> +#ifdef CONFIG_MACB
> +	meesc_macb_hw_init();
> +#endif
> +	at91_set_A_periph(AT91_PIN_PA13, 0);	/* CAN_TX */
> +	at91_set_A_periph(AT91_PIN_PA14, 1);	/* CAN_RX */
please add a at91_can_hw_init function
> +	return 0;
> +}
<snio>
> +
> +#ifndef __CONFIG_H
> +#define __CONFIG_H
> +
> +/* Common stuff */
> +#define AT91_CPU_NAME			"AT91SAM9263"
please remove
> +#define CONFIG_SYS_HZ			1000	/* decrementer freq */
> +#define CONFIG_MEESC			1	/* Board is esd MEESC */
> +#define CONFIG_ARM926EJS		1	/* This is an ARM926EJS Core */
> +#define CONFIG_AT91SAM9263		1	/* It's an AT91SAM9263 SoC */
> +#define CONFIG_ENV_OVERWRITE		1	/* necessary on prototypes */
> +#define CONFIG_DISPLAY_BOARDINFO	1
> +#define CONFIG_PREBOOT				/* enable preboot variable */
why which value?
> +#define CONFIG_CMDLINE_TAG		1	/* enable passing of ATAGs */
> +#define CONFIG_SETUP_MEMORY_TAGS	1
> +#define CONFIG_INITRD_TAG		1
> +#undef CONFIG_USE_IRQ				/* don't need IRQ/FIQ stuff */
> +
Best Regards,
J.

  reply	other threads:[~2009-06-27 22:16 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-23 10:21 [U-Boot] [PATCH] at91: Add esd gmbh MEESC board support Daniel Gorsulowski
2009-06-27 22:16 ` Jean-Christophe PLAGNIOL-VILLARD [this message]
2009-06-29  6:38   ` Daniel Gorsulowski
2009-06-29 10:59     ` Daniel Gorsulowski
  -- strict thread matches above, loose matches on Subject: below --
2009-06-29 11:24 Daniel Gorsulowski
2009-06-29 20:01 ` Jean-Christophe PLAGNIOL-VILLARD

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=20090627221641.GS8587@game.jcrosoft.org \
    --to=plagnioj@jcrosoft.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox