
On Wed, Aug 8, 2012 at 12:39 PM, Mike Frysinger vapier@gentoo.org wrote:
On Tuesday 07 August 2012 04:07:40 Bob Liu wrote:
From: Mike Frysinger vapier@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...)
Okay, it will be split in next version.
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
Will be updated
+#if 0
+#include <asm/mach-common/bits/pll.h>
well that'll obviously need updating :)
Will be updated
+#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 ?
Will be implemented.
--- 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 :)
Will be implemented.
--- 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.
Will be implemented. Thank you!