From mboxrd@z Thu Jan 1 00:00:00 1970 From: Simon Glass Date: Sun, 26 Mar 2017 15:28:44 -0600 Subject: [U-Boot] [PATCH 2/3] rockchip: rk3188: Add Radxa Rock board In-Reply-To: <7607266.99lxGRV2jP@phil> References: <20170323234134.10325-1-heiko@sntech.de> <9146903.EmoxaDPQAk@phil> <3263980.UGSFfX5P7L@phil> <7607266.99lxGRV2jP@phil> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit To: u-boot@lists.denx.de Hi Heiko, On 26 March 2017 at 15:00, Heiko Stuebner 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 wrote: >> > > > > Hi Heiko, >> > > > > >> > > > > On 26 March 2017 at 13:06, Heiko Stuebner 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 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 >> > > > >>> > Reviewed-by: Simon Glass >> > > > >>> > Tested-by: Kever Yang >> > > > >>> > --- >> > > > >>> > 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 :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