diff mbox series

[U-Boot] rockchip: rk3399: rock960: Update config for TPL

Message ID 20191009112014.4318-1-pbrobinson@gmail.com
State Changes Requested
Delegated to: Kever Yang
Headers show
Series [U-Boot] rockchip: rk3399: rock960: Update config for TPL | expand

Commit Message

Peter Robinson Oct. 9, 2019, 11:20 a.m. UTC
The SPL is now running at SDRAM, and 0x10000 is used by BL31,
and the ARM SPL do not support relocate now, we need reserved
0x50000 so that it won't overwrite the code when we load the
bl31 to target space.
We should remove this after we enable the relocate feature.

The SPL need malloc 0x9000 for MMC as buffer used for transfer
data to IRAM(The EMMC DMA can not transfer data to IRAM directly).

Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
---
 configs/rock960-rk3399_defconfig | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

Comments

cp Oct. 9, 2019, 11:47 a.m. UTC | #1
hi
I am a bit confused about two things
1) is the "ide" (disk read/write/boot) module intended to be PCI-MEM
"memory-mapped" oriented concerning the harddrive? or is it PCI_IO
oriented? there are too many layers of code and this makes me confused
2) what is the philosophy about initializing the PCI_bridge? and what
is u-boot supposed to do concerning the device-tree-blog to be passed
to the kernel?

there are pieces of code in the kernel source telling me this

* Older u-boots don't set PCI up properly.
 * Update the hardware to match the device tree.
 * The prefetch mem region and non-prefetch mem region
 * must be contiguous in the host bus.
 * As required by the PCI binding, PCI #addr/#size must be 3/2.
 * The parent bus must be 1/1.
 * Only 32-bit PCI is supported.
 * All three region types
 *    prefetchable mem
 *    non-prefetchable mem
 *    I/O
 * must be present
Anand Moon Oct. 12, 2019, 6:44 p.m. UTC | #2
Hi Peter,

On Wed, 9 Oct 2019 at 16:50, Peter Robinson <pbrobinson@gmail.com> wrote:
>
> The SPL is now running at SDRAM, and 0x10000 is used by BL31,
> and the ARM SPL do not support relocate now, we need reserved
> 0x50000 so that it won't overwrite the code when we load the
> bl31 to target space.
> We should remove this after we enable the relocate feature.
>
> The SPL need malloc 0x9000 for MMC as buffer used for transfer
> data to IRAM(The EMMC DMA can not transfer data to IRAM directly).
>
> Signed-off-by: Peter Robinson <pbrobinson@gmail.com>

I have Rock960 Model A board, I have tied this patch but I cannot
get the board to boot up using microSD card with latest u-boot,
I have not tried to update the eMMC module with latest u-boot as of now.

But could you share the steps needed to build this images.
I follow this script
[0] https://pastebin.com/t6y7eWQL

If you could share some input on build the latest u-boot
and update the u-boot to microSD card of eMMC.

Is their any latest image available to this board using upstream
u-boot and kernel.

Best Regards
-Anand
Kever Yang Oct. 14, 2019, 8:58 a.m. UTC | #3
Hi Peter,

On 2019/10/9 下午7:20, Peter Robinson wrote:
> The SPL is now running at SDRAM, and 0x10000 is used by BL31,
> and the ARM SPL do not support relocate now, we need reserved
> 0x50000 so that it won't overwrite the code when we load the
> bl31 to target space.
> We should remove this after we enable the relocate feature.
>
> The SPL need malloc 0x9000 for MMC as buffer used for transfer
> data to IRAM(The EMMC DMA can not transfer data to IRAM directly).
>
> Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
> ---
>   configs/rock960-rk3399_defconfig | 10 +++++++---
>   1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/configs/rock960-rk3399_defconfig b/configs/rock960-rk3399_defconfig
> index cb3c68db6b..f211a65587 100644
> --- a/configs/rock960-rk3399_defconfig
> +++ b/configs/rock960-rk3399_defconfig
> @@ -2,19 +2,21 @@ CONFIG_ARM=y
>   CONFIG_ARCH_ROCKCHIP=y
>   CONFIG_SYS_TEXT_BASE=0x00200000
>   CONFIG_ROCKCHIP_RK3399=y
> -CONFIG_ROCKCHIP_SPL_RESERVE_IRAM=0x4000
> +CONFIG_ROCKCHIP_SPL_RESERVE_IRAM=0x50000


Could you update this to '0x0'(drop this line to use default value) 
since I have

already update this in another mail[0], I can merge them together.

Thanks,

- Kever

[0] https://patchwork.ozlabs.org/patch/1173719/ 
<https://patchwork.ozlabs.org/patch/1173719/>

>   CONFIG_TARGET_ROCK960_RK3399=y
>   CONFIG_SPL_STACK_R_ADDR=0x80000
>   CONFIG_DEBUG_UART_BASE=0xFF1A0000
>   CONFIG_DEBUG_UART_CLOCK=24000000
>   CONFIG_DEBUG_UART=y
> -CONFIG_SPL_TEXT_BASE=0xff8c2000
>   CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-rock960.dtb"
>   # CONFIG_DISPLAY_CPUINFO is not set
>   CONFIG_DISPLAY_BOARDINFO_LATE=y
>   # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
>   CONFIG_SPL_STACK_R=y
> -CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x4000
> +CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
> +CONFIG_SPL_ATF=y
> +CONFIG_SPL_ATF_NO_PLATFORM_PARAM=y
> +CONFIG_TPL=y
>   CONFIG_SYS_PROMPT="rock960 => "
>   CONFIG_CMD_BOOTZ=y
>   CONFIG_CMD_GPT=y
> @@ -56,4 +58,6 @@ CONFIG_USB_ETHER_ASIX88179=y
>   CONFIG_USB_ETHER_MCS7830=y
>   CONFIG_USB_ETHER_RTL8152=y
>   CONFIG_USB_ETHER_SMSC95XX=y
> +CONFIG_USE_TINY_PRINTF=y
> +CONFIG_SPL_TINY_MEMSET=y
>   CONFIG_ERRNO_STR=y
Peter Robinson Nov. 6, 2019, 11:44 a.m. UTC | #4
On Mon, Oct 14, 2019 at 9:58 AM Kever Yang <kever.yang@rock-chips.com> wrote:
>
> Hi Peter,
>
> On 2019/10/9 下午7:20, Peter Robinson wrote:
>
> The SPL is now running at SDRAM, and 0x10000 is used by BL31,
> and the ARM SPL do not support relocate now, we need reserved
> 0x50000 so that it won't overwrite the code when we load the
> bl31 to target space.
> We should remove this after we enable the relocate feature.
>
> The SPL need malloc 0x9000 for MMC as buffer used for transfer
> data to IRAM(The EMMC DMA can not transfer data to IRAM directly).
>
> Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
> ---
>  configs/rock960-rk3399_defconfig | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/configs/rock960-rk3399_defconfig b/configs/rock960-rk3399_defconfig
> index cb3c68db6b..f211a65587 100644
> --- a/configs/rock960-rk3399_defconfig
> +++ b/configs/rock960-rk3399_defconfig
> @@ -2,19 +2,21 @@ CONFIG_ARM=y
>  CONFIG_ARCH_ROCKCHIP=y
>  CONFIG_SYS_TEXT_BASE=0x00200000
>  CONFIG_ROCKCHIP_RK3399=y
> -CONFIG_ROCKCHIP_SPL_RESERVE_IRAM=0x4000
> +CONFIG_ROCKCHIP_SPL_RESERVE_IRAM=0x50000
>
>
> Could you update this to '0x0'(drop this line to use default value) since I have
>
> already update this in another mail[0], I can merge them together.

Update sent.

Thanks,
Peter

> Thanks,
>
> - Kever
>
> [0] https://patchwork.ozlabs.org/patch/1173719/
>
>  CONFIG_TARGET_ROCK960_RK3399=y
>  CONFIG_SPL_STACK_R_ADDR=0x80000
>  CONFIG_DEBUG_UART_BASE=0xFF1A0000
>  CONFIG_DEBUG_UART_CLOCK=24000000
>  CONFIG_DEBUG_UART=y
> -CONFIG_SPL_TEXT_BASE=0xff8c2000
>  CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-rock960.dtb"
>  # CONFIG_DISPLAY_CPUINFO is not set
>  CONFIG_DISPLAY_BOARDINFO_LATE=y
>  # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
>  CONFIG_SPL_STACK_R=y
> -CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x4000
> +CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
> +CONFIG_SPL_ATF=y
> +CONFIG_SPL_ATF_NO_PLATFORM_PARAM=y
> +CONFIG_TPL=y
>  CONFIG_SYS_PROMPT="rock960 => "
>  CONFIG_CMD_BOOTZ=y
>  CONFIG_CMD_GPT=y
> @@ -56,4 +58,6 @@ CONFIG_USB_ETHER_ASIX88179=y
>  CONFIG_USB_ETHER_MCS7830=y
>  CONFIG_USB_ETHER_RTL8152=y
>  CONFIG_USB_ETHER_SMSC95XX=y
> +CONFIG_USE_TINY_PRINTF=y
> +CONFIG_SPL_TINY_MEMSET=y
>  CONFIG_ERRNO_STR=y
diff mbox series

Patch

diff --git a/configs/rock960-rk3399_defconfig b/configs/rock960-rk3399_defconfig
index cb3c68db6b..f211a65587 100644
--- a/configs/rock960-rk3399_defconfig
+++ b/configs/rock960-rk3399_defconfig
@@ -2,19 +2,21 @@  CONFIG_ARM=y
 CONFIG_ARCH_ROCKCHIP=y
 CONFIG_SYS_TEXT_BASE=0x00200000
 CONFIG_ROCKCHIP_RK3399=y
-CONFIG_ROCKCHIP_SPL_RESERVE_IRAM=0x4000
+CONFIG_ROCKCHIP_SPL_RESERVE_IRAM=0x50000
 CONFIG_TARGET_ROCK960_RK3399=y
 CONFIG_SPL_STACK_R_ADDR=0x80000
 CONFIG_DEBUG_UART_BASE=0xFF1A0000
 CONFIG_DEBUG_UART_CLOCK=24000000
 CONFIG_DEBUG_UART=y
-CONFIG_SPL_TEXT_BASE=0xff8c2000
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-rock960.dtb"
 # CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
 CONFIG_SPL_STACK_R=y
-CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x4000
+CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
+CONFIG_SPL_ATF=y
+CONFIG_SPL_ATF_NO_PLATFORM_PARAM=y
+CONFIG_TPL=y
 CONFIG_SYS_PROMPT="rock960 => "
 CONFIG_CMD_BOOTZ=y
 CONFIG_CMD_GPT=y
@@ -56,4 +58,6 @@  CONFIG_USB_ETHER_ASIX88179=y
 CONFIG_USB_ETHER_MCS7830=y
 CONFIG_USB_ETHER_RTL8152=y
 CONFIG_USB_ETHER_SMSC95XX=y
+CONFIG_USE_TINY_PRINTF=y
+CONFIG_SPL_TINY_MEMSET=y
 CONFIG_ERRNO_STR=y