[U-Boot] [PATCH 01/16] Blackfin: BF60x: new processor port
Bob Liu
lliubbo at gmail.com
Mon Aug 20 09:54:18 CEST 2012
On Wed, Aug 8, 2012 at 12:39 PM, Mike Frysinger <vapier at gentoo.org> wrote:
> 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...)
>
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!
--
Regards,
--Bob
More information about the U-Boot
mailing list