[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