Hi Sjoerd 2015-11-06 17:11 GMT+08:00 Sjoerd Simons <sjoerd.sim...@collabora.co.uk>:
> On Wed, 2015-11-04 at 20:53 +0800, Lin Huang wrote: > > rk3036 only 4K size SRAM for SPL, so only support > > timer, uart, sdram driver in SPL stage, when finish > > initial sdram, back to bootrom. > > > > Signed-off-by: Lin Huang <h...@rock-chips.com> > > > > > > diff --git a/arch/arm/mach-rockchip/rk3036/save_boot_param.S > > b/arch/arm/mach-rockchip/rk3036/save_boot_param.S > > new file mode 100644 > > index 0000000..3d3883d > > --- /dev/null > > +++ b/arch/arm/mach-rockchip/rk3036/save_boot_param.S > > @@ -0,0 +1,34 @@ > > +/* > > + * (C) Copyright 2015 Google, Inc > > + * > > + * SPDX-License-Identifier: GPL-2.0+ > > + */ > > + > > +#include <linux/linkage.h> > > + > > +.globl SAVE_SP_ADDR > > +SAVE_SP_ADDR: > > + .word 0 > > + > > +/******************************************************************* > > ****** > > + * > > + * void save_boot_params > > + * > > + * Save sp, lr, r1~r12 > > + * > > + > > ********************************************************************* > > ****/ > > +ENTRY(save_boot_params) > > + push {r1-r12, lr} > > + ldr r0, =SAVE_SP_ADDR > > + str sp, [r0] > > + b save_boot_params_ret @ back to my > > caller > > +ENDPROC(save_boot_params) > > + > > + > > +.globl back_to_bootrom > > +ENTRY(back_to_bootrom) > > + ldr r0, =SAVE_SP_ADDR > > + ldr sp, [r0] > > + mov r0, #0 > > + pop {r1-r12, pc} > > +ENDPROC(back_to_bootrom) > > Is this way of going back to be bootrom generic for other Rockchip SOCs > as well? > Yes > > Specifically for RK3288 in maskrom mode we can currently load the > u-boot SPL, but not the main loader. If we could use this method of > going to the bootrom on that board that should be a nice way forward. > Agree. Simon.What do you think? > > > > diff --git a/include/configs/rk3036_common.h > > b/include/configs/rk3036_common.h > > new file mode 100644 > > index 0000000..f7bd852 > > --- /dev/null > > +++ b/include/configs/rk3036_common.h > > @@ -0,0 +1,120 @@ > > +/* > > + * (C) Copyright 2015 Rockchip Electronics Co., Ltd > > + * > > + * SPDX-License-Identifier: GPL-2.0+ > > + */ > > > > +/* RAW SD card / eMMC locations. */ > > +#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 256 > > +#define CONFIG_SYS_SPI_U_BOOT_OFFS (128 << 10) > > I don't think you need to define these if you're having the main u-boot > image loaded by your bootrom rather then SPL directly. > > > +/* FAT sd card locations. */ > > +#define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION 1 > > +#define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME "u-boot.img" > > ditto > > > +/* #define CONFIG_SPL_PINCTRL_SUPPORT > > +#define CONFIG_SPL_GPIO_SUPPORT > > +#define CONFIG_SPL_RAM_SUPPORT > > +#define CONFIG_SPL_DRIVERS_MISC_SUPPORT */ > > + > > +#define CONFIG_CMD_CACHE > > +#define CONFIG_CMD_TIME > > + > > +#define CONFIG_SYS_SDRAM_BASE 0x60000000 > > +#define CONFIG_NR_DRAM_BANKS 1 > > +#define SDRAM_BANK_SIZE (512UL << 20UL) > > + > > +#define CONFIG_SPI_FLASH > > +#define CONFIG_SPI > > +#define CONFIG_CMD_SF > > +#define CONFIG_CMD_SPI > > +#define CONFIG_SPI_FLASH_GIGADEVICE > > +#define CONFIG_SF_DEFAULT_SPEED 20000000 > > > +#define CONFIG_CMD_I2C > > + > > +#ifndef CONFIG_SPL_BUILD > > +#include <config_distro_defaults.h> > > + > > +#define ENV_MEM_LAYOUT_SETTINGS \ > > + "scriptaddr=0x00000000\0" \ > > + "pxefile_addr_r=0x00100000\0" \ > > + "fdt_addr_r=0x01f00000\0" \ > > + "kernel_addr_r=0x02000000\0" \ > > + "ramdisk_addr_r=0x04000000\0" > > I suspect these offset don't make sense for this board given your > SYS_SDRAM_BASE is 0x60000000 > > > +/* First try to boot from SD (index 0), then eMMC (index 1 */ > > +#define BOOT_TARGET_DEVICES(func) \ > > + func(MMC, mmc, 0) \ > > + func(MMC, mmc, 1) > > + > > +#include <config_distro_bootcmd.h> > > + > > +/* Linux fails to load the fdt if it's loaded above 512M on a Rock 2 > > board, so > > + * limit the fdt reallocation to that */ > > You probably want to change the comment here :) > > > +#define CONFIG_EXTRA_ENV_SETTINGS \ > > + "fdt_high=0x1fffffff\0" \ > > Hopefully the fdt_high isn't needed on 3036? (It's hopefully temporary > as well on 3288 until someone figures out what's wrong. > > > + ENV_MEM_LAYOUT_SETTINGS \ > > + BOOTENV > > +#endif > > + > > +#endif > > -- > Sjoerd Simons > Collabora Ltd. > > > -- Eddie _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot