Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 | /* SPDX-License-Identifier: GPL-2.0+ */ /* * Common header file for U-Boot * * This file still includes quite a bit of stuff that should be in separate * headers. Please think before adding more things. * Patches to remove things are welcome. * * (C) Copyright 2000-2009 * Wolfgang Denk, DENX Software Engineering, wd@denx.de. */ #ifndef __COMMON_H_ #define __COMMON_H_ 1 #ifndef __ASSEMBLY__ /* put C only stuff in this section */ typedef volatile unsigned long vu_long; typedef volatile unsigned short vu_short; typedef volatile unsigned char vu_char; #include <config.h> #include <errno.h> #include <time.h> #include <asm-offsets.h> #include <linux/bitops.h> #include <linux/bug.h> #include <linux/delay.h> #include <linux/types.h> #include <linux/printk.h> #include <linux/string.h> #include <linux/stringify.h> #include <asm/ptrace.h> #include <stdarg.h> #include <stdio.h> #include <linux/kernel.h> #include <part.h> #include <flash.h> #include <image.h> #ifdef __LP64__ #define CONFIG_SYS_SUPPORT_64BIT_DATA #endif #include <log.h> #include <asm/u-boot.h> /* boot information for Linux kernel */ #include <asm/global_data.h> /* global data used for startup functions */ /* startup functions, used in: * common/board_f.c * common/init/board_init.c * common/board_r.c * common/board_info.c */ #include <init.h> /* * Function Prototypes */ void hang (void) __attribute__ ((noreturn)); #include <display_options.h> /* common/main.c */ void main_loop (void); int checkflash(void); int checkdram(void); extern u8 __dtb_dt_begin[]; /* embedded device tree blob */ extern u8 __dtb_dt_spl_begin[]; /* embedded device tree blob for SPL/TPL */ int mdm_init(void); /** * arch_fixup_fdt() - Write arch-specific information to fdt * * Defined in arch/$(ARCH)/lib/bootm-fdt.c * * @blob: FDT blob to write to * @return 0 if ok, or -ve FDT_ERR_... on failure */ int arch_fixup_fdt(void *blob); /* common/flash.c */ void flash_perror (int); /* common/cmd_source.c */ int source (ulong addr, const char *fit_uname); extern ulong load_addr; /* Default Load Address */ extern ulong save_addr; /* Default Save Address */ extern ulong save_size; /* Default Save Size */ /* common/cmd_net.c */ int do_tftpb(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]); /* common/cmd_fat.c */ int do_fat_fsload(cmd_tbl_t *, int, int, char * const []); /* common/cmd_ext2.c */ int do_ext2load(cmd_tbl_t *, int, int, char * const []); /* common/exports.c */ void jumptable_init(void); /* common/kallsysm.c */ const char *symbol_lookup(unsigned long addr, unsigned long *caddr); /* common/memsize.c */ long get_ram_size (long *, long); phys_size_t get_effective_memsize(void); /* $(BOARD)/$(BOARD).c */ void reset_phy (void); void fdc_hw_init (void); #if !defined(CONFIG_ENV_EEPROM_IS_ON_I2C) && defined(CONFIG_SYS_I2C_EEPROM_ADDR) # define CONFIG_SYS_DEF_EEPROM_ADDR CONFIG_SYS_I2C_EEPROM_ADDR #endif #if defined(CONFIG_SYS_DRAM_TEST) int testdram(void); #endif /* CONFIG_SYS_DRAM_TEST */ #if defined(CONFIG_ARM) void relocate_code(ulong); #else void relocate_code(ulong, gd_t *, ulong) __attribute__ ((noreturn)); #endif void s_init(void); void upmconfig (unsigned int, unsigned int *, unsigned int); ulong get_tbclk (void); void reset_misc (void); void reset_cpu (ulong addr); void ft_cpu_setup(void *blob, bd_t *bd); void ft_pci_setup(void *blob, bd_t *bd); /* $(CPU)/speed.c */ int get_clocks (void); ulong get_bus_freq (ulong); int get_serial_clock(void); /* lib/uuid.c */ #include <uuid.h> /* lib/vsprintf.c */ #include <vsprintf.h> /* lib/net_utils.c */ #include <net.h> #include <bootstage.h> #else /* __ASSEMBLY__ */ #endif /* __ASSEMBLY__ */ /* Put only stuff here that the assembler can digest */ #ifdef CONFIG_POST #define CONFIG_HAS_POST #ifndef CONFIG_POST_ALT_LIST #define CONFIG_POST_STD_LIST #endif #endif #define ROUND(a,b) (((a) + (b) - 1) & ~((b) - 1)) /* * check_member() - Check the offset of a structure member * * @structure: Name of structure (e.g. global_data) * @member: Name of member (e.g. baudrate) * @offset: Expected offset in bytes */ #define check_member(structure, member, offset) _Static_assert( \ offsetof(struct structure, member) == offset, \ "`struct " #structure "` offset for `" #member "` is not " #offset) /* Avoid using CONFIG_EFI_STUB directly as we may boot from other loaders */ #ifdef CONFIG_EFI_STUB #define ll_boot_init() false #else #define ll_boot_init() true #endif /* Pull in stuff for the build system */ #ifdef DO_DEPS_ONLY # include <env_internal.h> #endif #endif /* __COMMON_H_ */ |