[U-Boot] [PATCH 01/16] Blackfin: BF60x: new processor port
Mike Frysinger
vapier at gentoo.org
Wed Aug 8 06:39:53 CEST 2012
On Tuesday 07 August 2012 04:07:40 Bob Liu wrote:
> From: Mike Frysinger <vapier at gentoo.org>
>
> Add basic support for blackfin new processor BF60x.
i had always intended to clean & split this 1 change up, but never got a
chance before i left
> arch/blackfin/cpu/cpu.c | 4 +-
> arch/blackfin/cpu/gpio.c | 36 +-
> arch/blackfin/cpu/initcode.c | 53 +-
> arch/blackfin/cpu/reset.c | 2 +
> arch/blackfin/cpu/serial.c | 65 +-
> arch/blackfin/cpu/serial.h | 222 +-
> arch/blackfin/cpu/serial1.h | 236 ++
> arch/blackfin/cpu/serial4.h | 113 +
> arch/blackfin/include/asm/blackfin_cdef.h | 3 +
> arch/blackfin/include/asm/blackfin_def.h | 5 +
> arch/blackfin/include/asm/blackfin_local.h | 2 +
> arch/blackfin/include/asm/dma.h | 113 +-
> arch/blackfin/include/asm/gpio.h | 2 +-
> arch/blackfin/include/asm/mach-bf609/BF609_cdef.h | 540 +++
> arch/blackfin/include/asm/mach-bf609/BF609_def.h | 3752
> arch/blackfin/include/asm/mach-bf609/anomaly.h |
> arch/blackfin/include/asm/mach-bf609/def_local.h | 5 +
> arch/blackfin/include/asm/mach-bf609/gpio.h | 151 +
> arch/blackfin/include/asm/mach-bf609/portmux.h | 251 ++
> arch/blackfin/include/asm/mach-bf609/ports.h | 63 +
> arch/blackfin/include/asm/mach-common/bits/cgu.h | 78 +
> arch/blackfin/include/asm/mach-common/bits/dde.h | 88 +
> arch/blackfin/include/asm/mach-common/bits/dma.h | 1 +
> arch/blackfin/include/asm/mach-common/bits/pll.h | 5 +
> arch/blackfin/include/asm/mach-common/bits/uart4.h | 66 +
> arch/blackfin/lib/board.c | 2 +-
> arch/blackfin/lib/clocks.c | 128 +-
> arch/blackfin/lib/string.c | 97 +-
> include/configs/bfin_adi_common.h | 2 +
i would split this into at least 5 pieces:
- gpio changes
- dma changes
- serial changes
- new headers (asm/mach-bf609/* and the blackfin_{cdef,def,local} changes
which include those)
- core changes (cpu/reset/board/etc...)
once that's been split up, it'll be much easier to digest/review. some
changes i won't mind merging now, but others (see below) will clearly need
updating first
> --- a/arch/blackfin/cpu/initcode.c
> +++ b/arch/blackfin/cpu/initcode.c
> @@ -16,17 +16,21 @@
> #include <asm/mach-common/bits/bootrom.h>
> #include <asm/mach-common/bits/core.h>
> #include <asm/mach-common/bits/ebiu.h>
> -#include <asm/mach-common/bits/pll.h>
> -#include <asm/mach-common/bits/uart.h>
> +
> +#define BUG() while (1) { asm volatile("emuexcpt;"); }
>
> #define BUG() while (1) { asm volatile("emuexcpt;"); }
looks like you got a rebase error here
> +#if 0
> +
> +#include <asm/mach-common/bits/pll.h>
well that'll obviously need updating :)
> +#else
> +
> +#include <asm/mach-common/bits/cgu.h>
> +
> +#ifndef CONFIG_CGU_CTL_VAL
> +# define CONFIG_CGU_CTL_VAL ((CONFIG_VCO_MULT << 8) | CONFIG_CLKIN_HALF)
> +#endif
> +
> +#ifndef CONFIG_CGU_DIV_VAL
> +# define CONFIG_CGU_DIV_VAL \
> + ((CONFIG_CCLK_DIV << CSEL_P) | \
> + (CONFIG_SCLK0_DIV << S0SEL_P) | \
> + (CONFIG_SYSCLK_DIV << SYSSEL_P) | \
> + (CONFIG_SCLK1_DIV << S1SEL_P) | \
> + (CONFIG_DCLK_DIV << DSEL_P) | \
> + (CONFIG_OCLK_DIV << OSEL_P))
> +#endif
> +
> +BOOTROM_CALLED_FUNC_ATTR
> +void initcode(ADI_BOOT_DATA *bs)
> +{
> +}
> +
> +#endif
there was no bootrom when i did the initial port. i'd like to think that
there's a bootrom now that you guys have actual silicon back. is that not the
case ? this will def need implementing, otherwise how can you boot a bf60x
cpu ?
> --- a/arch/blackfin/lib/board.c
> +++ b/arch/blackfin/lib/board.c
>
> "(Detected Rev: 0.%d) "
> "(%s boot)\n",
> gd->bd->bi_cpu,
> - bfin_revid(),
> + /*bfin_revid()*/0,
> get_bfin_boot_mode(CONFIG_BFIN_BOOT_MODE));
> return 0;
> }
that needs implementing :)
> --- a/include/configs/bfin_adi_common.h
> +++ b/include/configs/bfin_adi_common.h
> #ifndef CONFIG_DEBUG_EARLY_SERIAL
> +#ifndef __ADSPBF60x__
> # define CONFIG_SERIAL_MULTI
> # define CONFIG_SYS_BFIN_UART
> #endif
> +#endif
i don't recall if i turned this off as an optimization for early work, or
because it was unimplemented. i think the former, but if it's the latter,
it'll need implementing and this ifdef thrown away.
-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/20120808/fb561e01/attachment.pgp>
More information about the U-Boot
mailing list