1 // SPDX-License-Identifier: GPL-2.0+
3 * JZ4780 common routines
5 * Copyright (c) 2013 Imagination Technologies
6 * Author: Paul Burton <paul.burton@imgtec.com>
15 #include <asm/global_data.h>
17 #include <asm/sections.h>
18 #include <mach/jz4780.h>
19 #include <mach/jz4780_dram.h>
23 #ifdef CONFIG_SPL_BUILD
24 /* Pointer to the global data structure for SPL */
25 DECLARE_GLOBAL_DATA_PTR;
26 gd_t gdata __attribute__ ((section(".bss")));
28 void board_init_f(ulong dummy)
30 typedef void __noreturn (*image_entry_noargs_t)(void);
33 struct image_header *header;
36 /* Set global data pointer */
45 memset(__bss_start, 0, (char *)&__bss_end - __bss_start);
47 gd->flags |= GD_FLG_SPL_INIT;
49 ret = mmc_initialize(NULL);
53 mmc = find_mmc_device(BOOT_DEVICE_MMC1);
61 header = (struct image_header *)(CONFIG_SYS_TEXT_BASE -
62 sizeof(struct image_header));
64 count = blk_dread(mmc_get_blk_desc(mmc),
65 CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR,
70 image_entry_noargs_t image_entry =
71 (image_entry_noargs_t)CONFIG_SYS_TEXT_BASE;
77 #endif /* CONFIG_SPL_BUILD */
79 ulong board_get_usable_ram_top(ulong total_size)
81 return CONFIG_SYS_SDRAM_BASE + (256 * 1024 * 1024);
84 int print_cpuinfo(void)
86 printf("CPU: Ingenic JZ4780\n");