public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Mike Frysinger <vapier@gentoo.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v3 1/4] Add support new arch: c6x
Date: Wed, 18 Jul 2012 23:53:54 -0400	[thread overview]
Message-ID: <201207182353.55548.vapier@gentoo.org> (raw)
In-Reply-To: <1340647361-23387-2-git-send-email-bond@inmys.ru>

On Monday 25 June 2012 14:02:38 Dmitry Bondar wrote:
> C6X (C6000) is Texas Instruments architecture of fixed and floating-point
> DSPs. This patch add basic support.
> Many of code in arch/c6x/include/asm come from c6x-linux project
> (http://linux-c6x.org)

you should also update README and doc/README.standalone with some notes about 
the C6X architecture.  just search for "blackfin" for the areas you should fill 
in.

> --- /dev/null
> +++ b/arch/c6x/config.mk
> @@ -0,0 +1 @@
> +CROSS_COMPILE ?= c6x-uclinux-

missing intro comment block w/copyright/licnese.  look at any other arch's 
config.mk to see an example.

you should prob also add a default CONFIG_STANDALONE_LOAD_ADDR

> --- /dev/null
> +++ b/arch/c6x/include/asm/global_data.h
>
> +#ifndef	__ASM_GBL_DATA_H

should be space after the ifndef, not a tab

> +typedef	struct	global_data {
> +	bd_t		*bd;
> +	unsigned long	flags;
> +	unsigned long	baudrate;
> +	unsigned long	have_console;	/* serial_init() was called */
> +#ifdef CONFIG_PRE_CONSOLE_BUFFER
> +	unsigned long	precon_buf_idx;	/* Pre-Console buffer index */
> +#endif
> +	unsigned long	env_addr;	/* Address  of Environment struct */
> +	unsigned long	env_valid;	/* Checksum of Environment valid? */
> +	unsigned long	fb_base;	/* base address of frame buffer */
> +
> +	/* "static data" needed by most of timer.c (like on ARM platform) */
> +	unsigned long	timer_rate_hz;
> +	unsigned long	tbl;
> +	unsigned long	tbu;
> +	unsigned long long	timer_reset_value;
> +	unsigned long	lastinc;
> +
> +	phys_size_t     ram_size;       /* RAM size */
> +#if 0
> +	unsigned long	relocaddr;	/* Start address of U-Boot in RAM */
> +	phys_size_t	ram_size;	/* RAM size */
> +	unsigned long	mon_len;	/* monitor len */
> +	unsigned long	irq_sp;		/* irq stack pointer */
> +	unsigned long	start_addr_sp;	/* start_addr_stackpointer */
> +	unsigned long	reloc_off;
> +#endif

delete dead code.  you should also kill any fields you don't actually need 
rather than just copying from another arch.  the 
timer_rate_hz/tbl/tbu/timer_reset_value/lastinc look suspicious to me.

> --- /dev/null
> +++ b/arch/c6x/include/asm/sizes.h

do you actually need this ?  i don't think you do, so kill it.  if you have 
some file that includes it, fix it and get rid of this file.

> --- /dev/null
> +++ b/arch/c6x/include/asm/u-boot-c6x.h

please rename to sections.h

> +#ifndef _U_BOOT_C6X_H_
> +#define _U_BOOT_C6X_H_ 1

no need to define to 1

> --- /dev/null
> +++ b/arch/c6x/include/asm/u-boot.h
>
> +typedef struct bd_info {
> +	int		bi_baudrate;	/* serial console baudrate */
> +	unsigned long	bi_ip_addr;	/* IP Address */
> +	ulong		bi_arch_number;	/* unique id for this board */
> +	ulong		bi_boot_params;	/* where this board expects params */
> +	unsigned long	bi_arm_freq; /* arm frequency */
> +	unsigned long	bi_dsp_freq; /* dsp core frequency */
> +	unsigned long	bi_ddr_freq; /* ddr frequency */
> +	struct				/* RAM configuration */
> +	{
> +		ulong start;
> +		ulong size;
> +	} bi_dram[CONFIG_NR_DRAM_BANKS];
> +} bd_t;

again, please go through here and delete members you don't actually need

> +/* For image.h:image_check_target_arch() */
> +#define IH_ARCH_DEFAULT IH_ARCH_ARM

brrrr-wrong

> --- /dev/null
> +++ b/arch/c6x/lib/board.c
>
> +#ifdef CONFIG_STATUS_LED
> +#include <status_led.h>
> +#endif

no need to conditionalize the include

> +static int display_banner(void)
> +{
> +	printf("\n\n%s\n\n", version_string);

just call display_options()

> +	WATCHDOG_RESET();
> +/*	interrupt_init();*/

delete dead code

> +int do_reset(cmd_tbl_t *cmdtp, int flag, int argc,
> +	char *const argv[])
> +{
> +	reset_cpu(0);
> +	return 0;
> +}
> +

delete trailing newlines

> --- /dev/null
> +++ b/arch/c6x/lib/bootm.c
>
> +int disable_interrupts()

(void)

> +void enable_interrupts()

(void)

> --- /dev/null
> +++ b/arch/c6x/lib/memcmp.c
>
> +int memcmp(const void *cs, const void *ct, size_t count)
> +{
> +	const unsigned char *su1, *su2;
> +
> +	for (su1 = cs, su2 = ct; 0 < count; ++su1, ++su2, count--)
> +		if (*su1 != *su2)
> +			return (*su1 < *su2) ? -1 : 1;
> +	return 0;
> +}
>
> --- /dev/null
> +++ b/arch/c6x/lib/memmove.c
>
> +void *memmove(void *s1, const void *s2, size_t n)
> +{
> +	register char *s = (char *) s1;
> +	register const char *p = (const char *) s2;
> +
> +	if (p >= s) {
> +		return memcpy(s, p, n);
> +	} else {
> +		while (n) {
> +			--n;
> +			s[n] = p[n];
> +		}
> +	}
> +	return s1;
> +}
>
> --- /dev/null
> +++ b/arch/c6x/lib/memset.c
>
> +void *memset(void *mem, register int ch, register size_t length)
> +{
> +	register char *m = (char *)mem - 1;
> +	while (length--)
> +		*++m = ch;
> +	return mem;
> +}

i can't see how these would be any better than the ones we already have in 
lib/string.c.  i say delete these files and don't bother.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20120718/6039e63b/attachment.pgp>

  parent reply	other threads:[~2012-07-19  3:53 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <add_c6x_arch>
     [not found] ` <1340394370-1550-4-git-send-email-bond@inmys.ru>
2012-06-22 21:57   ` [U-Boot] [PATCH 3/4] c6x: Add suport build davinci SOC with c674x CPUs Tom Rini
2012-06-23 11:11 ` [U-Boot] [PATCH v2 0/4] Add support new arch: c6x Dmitry Bondar
2012-06-23 12:33   ` Wolfgang Denk
2012-06-24 11:40     ` bond at inmys.ru
2012-06-24 13:50       ` Wolfgang Denk
2012-06-23 11:11 ` [U-Boot] [PATCH v2 1/4] " Dmitry Bondar
2012-06-23 11:11 ` [U-Boot] [PATCH v2 2/4] c6x: Add support c674x CPUs Dmitry Bondar
2012-06-23 11:11 ` [U-Boot] [PATCH v2 3/4] c6x: Add suport build davinci SOC with " Dmitry Bondar
2012-06-23 11:11 ` [U-Boot] [PATCH v2 4/4] c6x: Add support c6745-som board Dmitry Bondar
2012-06-25 18:02 ` [U-Boot] [PATCH v3 0/4] Add support new arch: c6x Dmitry Bondar
2012-06-25 22:31   ` Tom Rini
2012-06-28 17:43     ` Dmitry Bondar
2012-06-28 18:02       ` Tom Rini
2012-06-25 18:02 ` [U-Boot] [PATCH v3 1/4] " Dmitry Bondar
2012-06-25 22:04   ` Tom Rini
2012-06-27 20:36     ` bond at inmys.ru
2012-06-27 20:55       ` Tom Rini
2012-06-27 22:16       ` Wolfgang Denk
2012-07-19  3:53   ` Mike Frysinger [this message]
2012-06-25 18:02 ` [U-Boot] [PATCH v3 2/4] c6x: Add support c674x CPUs Dmitry Bondar
2012-06-25 22:44   ` Tom Rini
2012-07-19  3:59   ` Mike Frysinger
2012-06-25 18:02 ` [U-Boot] [PATCH v3 3/4] c6x: Add suport build davinci SOC with " Dmitry Bondar
2012-06-25 22:46   ` Tom Rini
2012-06-27 15:27   ` [U-Boot] [PATCH] davinci, c6x: Always use C version of reset code Tom Rini
2012-06-27 15:28     ` Tom Rini
2012-07-19  4:00   ` [U-Boot] [PATCH v3 3/4] c6x: Add suport build davinci SOC with c674x CPUs Mike Frysinger
2012-06-25 18:02 ` [U-Boot] [PATCH v3 4/4] c6x: Add support c6745-som board Dmitry Bondar
2012-06-25 22:42   ` Tom Rini
2012-07-19  4:05   ` Mike Frysinger
2012-08-10 20:53   ` Wolfgang Denk

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=201207182353.55548.vapier@gentoo.org \
    --to=vapier@gentoo.org \
    --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