[U-Boot] [PATCH 2/3] rockchip: rk3188: Add Radxa Rock board

Simon Glass sjg at chromium.org
Sun Mar 26 21:28:44 UTC 2017


Hi Heiko,

On 26 March 2017 at 15:00, Heiko Stuebner <heiko at sntech.de> wrote:
> Am Sonntag, 26. März 2017, 22:52:16 CEST schrieb Heiko Stuebner:
>> Am Sonntag, 26. März 2017, 22:41:35 CEST schrieb Heiko Stuebner:
>> > Am Sonntag, 26. März 2017, 22:13:08 CEST schrieb Heiko Stuebner:
>> > > Am Sonntag, 26. März 2017, 14:00:51 CEST schrieb Simon Glass:
>> > > > Hi Heiko,
>> > > >
>> > > > On 26 March 2017 at 13:59, Simon Glass <sjg at chromium.org> wrote:
>> > > > > Hi Heiko,
>> > > > >
>> > > > > On 26 March 2017 at 13:06, Heiko Stuebner <heiko at sntech.de> wrote:
>> > > > >> Hi Simon,
>> > > > >>
>> > > > >> Am Samstag, 25. März 2017, 20:39:08 CEST schrieb Simon Glass:
>> > > > >>> On 23 March 2017 at 17:41, Heiko Stuebner <heiko at sntech.de> wrote:
>> > > > >>> > The Rock is a RK3188 based single board computer by Radxa.
>> > > > >>> > Currently it still relies on the proprietary DDR init and
>> > > > >>> > cannot use the generic SPL, but at least is able to boot
>> > > > >>> > a linux kernel and system up to a regular login prompt.
>> > > > >>> >
>> > > > >>> > Signed-off-by: Heiko Stuebner <heiko at sntech.de>
>> > > > >>> > Reviewed-by: Simon Glass <sjg at chromium.org>
>> > > > >>> > Tested-by: Kever Yang <kever.yang at rock-chips.com>
>> > > > >>> > ---
>> > > > >>> >  arch/arm/dts/Makefile                 |   1 +
>> > > > >>> >  arch/arm/dts/rk3188-radxarock.dts     | 382 ++++++++++++++++++++++++++++++++++
>> > > > >>> >  arch/arm/mach-rockchip/rk3188/Kconfig |  11 +
>> > > > >>> >  board/radxa/rock/Kconfig              |  15 ++
>> > > > >>> >  board/radxa/rock/MAINTAINERS          |   6 +
>> > > > >>> >  board/radxa/rock/Makefile             |   7 +
>> > > > >>> >  board/radxa/rock/rock.c               |   7 +
>> > > > >>> >  configs/rock_defconfig                |  58 ++++++
>> > > > >>> >  include/configs/rock.h                |  30 +++
>> > > > >>> >  9 files changed, 517 insertions(+)
>> > > > >>> >  create mode 100644 arch/arm/dts/rk3188-radxarock.dts
>> > > > >>> >  create mode 100644 board/radxa/rock/Kconfig
>> > > > >>> >  create mode 100644 board/radxa/rock/MAINTAINERS
>> > > > >>> >  create mode 100644 board/radxa/rock/Makefile
>> > > > >>> >  create mode 100644 board/radxa/rock/rock.c
>> > > > >>> >  create mode 100644 configs/rock_defconfig
>> > > > >>> >  create mode 100644 include/configs/rock.h
>> > > > >>>
>> > > > >>> I am still having trouble applying this patch. I get build errors:
>> > > > >>>
>> > > > >>>        arm:  +   rock
>> > > > >>> +arch/arm/Makefile:22: CONFIG_CPU_V7  -march=armv7-a
>> > > > >>> +make[2]: *** No rule to make target 'dts/dt.dtb', needed by
>> > > > >>> 'tpl/u-boot-tpl.dtb'.  Stop.
>> > > > >>> +make[1]: *** [tpl/u-boot-tpl.bin] Error 2
>> > > > >>> +make: *** [sub-make] Error 2
>> > > > >>>     0    0    1 /1      rock
>> > > > >>>
>> > > > >>> Also there seems to be a duplicate config:
>> > > > >>>
>> > > > >>>        arm:  +   rock
>> > > > >>> +In file included from include/configs/rock.h:11:0,
>> > > > >>> +                 from include/config.h:5,
>> > > > >>> +                 from include/common.h:21,
>> > > > >>> +                 from arch/arm/lib/asm-offsets.c:15:
>> > > > >>> + #define CONFIG_SYS_THUMB_BUILD
>> > > > >>> + ^
>> > > > >>> +                 from lib/asm-offsets.c:15:
>> > > > >>> +In file included from include/linux/kconfig.h:4:0,
>> > > > >>> +                 from <command-line>:0:
>> > > > >>> +include/generated/autoconf.h:10:0: note: this is the location of the
>> > > > >>> previous definition
>> > > > >>> + #define CONFIG_SYS_THUMB_BUILD 1
>> > > > >>
>> > > > >> looks like this got run over by another Kconfig migration on march-18.
>> > > > >> New patches (migration + rock board) coming up shortly.
>> > > > >
>> > > > > Thanks - what toolchain are you using to test this?
>> > > >
>> > > > Also I am still getting this error:
>> > > >
>> > > >  buildman rock$
>> > > > boards.cfg is up to date. Nothing to do.
>> > > > Building current source for 1 boards (1 thread, 8 jobs per thread)
>> > > >        arm:  +   rock
>> > > > +make[2]: *** No rule to make target 'dts/dt.dtb', needed by
>> > > > 'tpl/u-boot-tpl.dtb'.  Stop.
>> > > > +make[1]: *** [tpl/u-boot-tpl.bin] Error 2
>> > > > +make: *** [sub-make] Error 2
>> > > >     0    0    1 /1      rock
>> > >
>> > > that is really strange.
>> > >
>> > > I'm building with the armhf cross-compiler from Debian testing, which is
>> > >
>> > > arm-linux-gnueabihf-gcc (Debian 6.3.0-5) 6.3.0 20170124
>> > >
>> > > My git history also is up-to-date it seems:
>> > > 14ef0b180b rockchip: rk3188: Add Radxa Rock board
>> > > d0348986cc rockchip: rk3188: follow THUMB_BUILD Kconfig migration
>> > > 3bffe88d68 rockchip: video: Split out HDMI controller code
>> > > a188a5a35c rockchip: i2c: Add compatibles for Rockchip Cortex-A9 socs
>> > > 903fae5666 rockchip: rk3188: Setup the armclk in spl
>> > > 7957cc4bd0 rockchip: clk: rk3188: Allow configuration of the armclk
>> > >
>> > > with 3bffe88d68 being your current head and my build commands being
>> > >
>> > > make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- clean
>> > > make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rock_defconfig
>> > > make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
>> >
>> > that also works with a "make mrproper" before everything else.
>> >
>> >
>> > > Strangely the tpl shouldn't require a dtb at all, as it needs to use
>> > > OF_PLATDATA. Am I missing some config option somewhere?
>> >
>> > I also did play around a bit with buildman just now:
>> >
>> > At first I forgot the "$" after rock, so build everything with rock in the
>> > name and the radxarock failed because the somewhat old 4.9 toolchain
>> > used seems to produce a TPL image that is over the size constraints.
>> > I.e. 1020 bytes on 4.9 vs. 792 bytes on 6.3.0 .
>> >
>> > When I drop the SPL_MAX_SIZE from rk3188_common.h for the TPL build
>> >     tools/buildman/buildman -P rock
>> > builds 14 boards and finishes sucessfully including the radxarock.
>> >
>> >
>> > Now when I try buildman -P rock$ I seem to also get the error about the
>> > missing dts/dt.dtb , which does not occur in my regular builds and also
>> > not when building the bigger number of boards. I guess I need to figure
>> > out what is different in that case.
>>
>> sorry for spamming, but
>>
>> also when entering .bm-work/rock where buildman failed and doing just my
>>
>>       make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
>>
>> in that directory created by buildman, produces perfectly fine images.
>> (buildman does create the .config, so I'm just finishing the build, buildman
>> failed at for unknown reasons)
>
> and a
>         tools/buildman/buildman -PVv -T1 -j1 rock$
>
> also finishes sucessfully, so it looks like that is more some sort of build
> concurrency issue, with the platdata not being created in time for some
> reason.

Yes I think that is right. I will see if I can fix that.

Re the toolchain, if I pull in this patch then I will likely cause a
build breakable on common toolchains. What do you think is the best
option? Can the TPL be shrunk a little with gcc 4.9?

Regards,
Simon


More information about the U-Boot mailing list