mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-31 14:28:52 +09:00
![Paul Kocialkowski](/assets/img/avatar_default.png)
This introduces OMAP3 support for the common omap boot code, as well as a major cleanup of the common omap boot code. First, the omap_boot_parameters structure becomes platform-specific, since its definition differs a bit across omap platforms. The offsets are removed as well since it is U-Boot's coding style to use structures for mapping such kind of data (in the sense that it is similar to registers). It is correct to assume that romcode structure encoding is the same as U-Boot, given the description of these structures in the TRMs. The original address provided by the bootrom is passed to the U-Boot binary instead of a duplicate of the structure stored in global data. This allows to have only the relevant (boot device and mode) information stored in global data. It is also expected that the address where the bootrom stores that information is not overridden by the U-Boot SPL or U-Boot. The save_omap_boot_params is expected to handle all special cases where the data provided by the bootrom cannot be used as-is, so that spl_boot_device and spl_boot_mode only return the data from global data. All of this is only relevant when the U-Boot SPL is used. In cases it is not, save_boot_params should fallback to its weak (or board-specific) definition. save_omap_boot_params should not be called in that context either. Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
45 lines
1.1 KiB
C
45 lines
1.1 KiB
C
/*
|
|
* sys_proto.h
|
|
*
|
|
* System information header
|
|
*
|
|
* Copyright (C) 2011, Texas Instruments, Incorporated - http://www.ti.com/
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0+
|
|
*/
|
|
|
|
#ifndef _SYS_PROTO_H_
|
|
#define _SYS_PROTO_H_
|
|
#include <linux/mtd/omap_gpmc.h>
|
|
#include <asm/arch/cpu.h>
|
|
|
|
u32 get_cpu_rev(void);
|
|
u32 get_sysboot_value(void);
|
|
|
|
extern struct ctrl_stat *cstat;
|
|
u32 get_device_type(void);
|
|
void save_omap_boot_params(void);
|
|
void setup_clocks_for_console(void);
|
|
void mpu_pll_config_val(int mpull_m);
|
|
void ddr_pll_config(unsigned int ddrpll_M);
|
|
|
|
void sdelay(unsigned long);
|
|
|
|
struct gpmc_cs;
|
|
void gpmc_init(void);
|
|
void enable_gpmc_cs_config(const u32 *gpmc_config, struct gpmc_cs *cs, u32 base,
|
|
u32 size);
|
|
void omap_nand_switch_ecc(uint32_t, uint32_t);
|
|
|
|
void set_uart_mux_conf(void);
|
|
void set_mux_conf_regs(void);
|
|
void sdram_init(void);
|
|
u32 wait_on_value(u32, u32, void *, u32);
|
|
#ifdef CONFIG_NOR_BOOT
|
|
void enable_norboot_pin_mux(void);
|
|
#endif
|
|
void am33xx_spl_board_init(void);
|
|
int am335x_get_efuse_mpu_max_freq(struct ctrl_dev *cdev);
|
|
int am335x_get_tps65910_mpu_vdd(int sil_rev, int frequency);
|
|
#endif
|