u-boot.h 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. /*
  2. * Copyright (c) 2011 The Chromium OS Authors.
  3. *
  4. * (C) Copyright 2000 - 2002
  5. * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  6. *
  7. * SPDX-License-Identifier: GPL-2.0+
  8. ********************************************************************
  9. * NOTE: This header file defines an interface to U-Boot. Including
  10. * this (unmodified) header file in another file is considered normal
  11. * use of U-Boot, and does *not* fall under the heading of "derived
  12. * work".
  13. ********************************************************************
  14. */
  15. #ifndef __ASM_GENERIC_U_BOOT_H__
  16. #define __ASM_GENERIC_U_BOOT_H__
  17. /*
  18. * Board information passed to Linux kernel from U-Boot
  19. *
  20. * include/asm-ppc/u-boot.h
  21. */
  22. #ifndef __ASSEMBLY__
  23. typedef struct bd_info {
  24. unsigned long bi_memstart; /* start of DRAM memory */
  25. phys_size_t bi_memsize; /* size of DRAM memory in bytes */
  26. unsigned long bi_flashstart; /* start of FLASH memory */
  27. unsigned long bi_flashsize; /* size of FLASH memory */
  28. unsigned long bi_flashoffset; /* reserved area for startup monitor */
  29. unsigned long bi_sramstart; /* start of SRAM memory */
  30. unsigned long bi_sramsize; /* size of SRAM memory */
  31. #ifdef CONFIG_ARM
  32. unsigned long bi_arm_freq; /* arm frequency */
  33. unsigned long bi_dsp_freq; /* dsp core frequency */
  34. unsigned long bi_ddr_freq; /* ddr frequency */
  35. #endif
  36. #if defined(CONFIG_E500) || defined(CONFIG_MPC86xx)
  37. unsigned long bi_immr_base; /* base of IMMR register */
  38. #endif
  39. #if defined(CONFIG_M68K)
  40. unsigned long bi_mbar_base; /* base of internal registers */
  41. #endif
  42. #if defined(CONFIG_MPC83xx)
  43. unsigned long bi_immrbar;
  44. #endif
  45. unsigned long bi_bootflags; /* boot / reboot flag (Unused) */
  46. unsigned long bi_ip_addr; /* IP Address */
  47. unsigned char bi_enetaddr[6]; /* OLD: see README.enetaddr */
  48. unsigned short bi_ethspeed; /* Ethernet speed in Mbps */
  49. unsigned long bi_intfreq; /* Internal Freq, in MHz */
  50. unsigned long bi_busfreq; /* Bus Freq, in MHz */
  51. #if defined(CONFIG_CPM2)
  52. unsigned long bi_cpmfreq; /* CPM_CLK Freq, in MHz */
  53. unsigned long bi_brgfreq; /* BRG_CLK Freq, in MHz */
  54. unsigned long bi_sccfreq; /* SCC_CLK Freq, in MHz */
  55. unsigned long bi_vco; /* VCO Out from PLL, in MHz */
  56. #endif
  57. #if defined(CONFIG_M68K)
  58. unsigned long bi_ipbfreq; /* IPB Bus Freq, in MHz */
  59. unsigned long bi_pcifreq; /* PCI Bus Freq, in MHz */
  60. #endif
  61. #if defined(CONFIG_EXTRA_CLOCK)
  62. unsigned long bi_inpfreq; /* input Freq in MHz */
  63. unsigned long bi_vcofreq; /* vco Freq in MHz */
  64. unsigned long bi_flbfreq; /* Flexbus Freq in MHz */
  65. #endif
  66. #ifdef CONFIG_HAS_ETH1
  67. unsigned char bi_enet1addr[6]; /* OLD: see README.enetaddr */
  68. #endif
  69. #ifdef CONFIG_HAS_ETH2
  70. unsigned char bi_enet2addr[6]; /* OLD: see README.enetaddr */
  71. #endif
  72. #ifdef CONFIG_HAS_ETH3
  73. unsigned char bi_enet3addr[6]; /* OLD: see README.enetaddr */
  74. #endif
  75. #ifdef CONFIG_HAS_ETH4
  76. unsigned char bi_enet4addr[6]; /* OLD: see README.enetaddr */
  77. #endif
  78. #ifdef CONFIG_HAS_ETH5
  79. unsigned char bi_enet5addr[6]; /* OLD: see README.enetaddr */
  80. #endif
  81. ulong bi_arch_number; /* unique id for this board */
  82. ulong bi_boot_params; /* where this board expects params */
  83. #ifdef CONFIG_NR_DRAM_BANKS
  84. struct { /* RAM configuration */
  85. phys_addr_t start;
  86. phys_size_t size;
  87. } bi_dram[CONFIG_NR_DRAM_BANKS];
  88. #endif /* CONFIG_NR_DRAM_BANKS */
  89. } bd_t;
  90. #endif /* __ASSEMBLY__ */
  91. #endif /* __ASM_GENERIC_U_BOOT_H__ */