ppcboot.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:3k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. /*
  2.  * (C) Copyright 2000, 2001
  3.  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  4.  *
  5.  * This program is free software; you can redistribute it and/or
  6.  * modify it under the terms of the GNU General Public License as
  7.  * published by the Free Software Foundation; either version 2 of
  8.  * the License, or (at your option) any later version.
  9.  *
  10.  * This program is distributed in the hope that it will be useful,
  11.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13.  * GNU General Public License for more details.
  14.  *
  15.  * You should have received a copy of the GNU General Public License
  16.  * along with this program; if not, write to the Free Software
  17.  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  18.  * MA 02111-1307 USA
  19.  */
  20. #ifndef __ASM_PPCBOOT_H__
  21. #define __ASM_PPCBOOT_H__
  22. /*
  23.  * Board information passed to kernel from PPCBoot
  24.  *
  25.  * include/asm-ppc/ppcboot.h
  26.  */
  27. #ifndef __ASSEMBLY__
  28. #include <linux/types.h>
  29. typedef void (interrupt_handler_t)(void *);
  30. typedef struct monitor_functions {
  31. int (*getc)(void);
  32. int (*tstc)(void);
  33. void (*putc)(const char c);
  34. void (*puts)(const char *s);
  35. void (*printf)(const char *fmt, ...);
  36. void (*install_hdlr)(int, interrupt_handler_t *, void *);
  37. void (*free_hdlr)(int);
  38. void *(*malloc)(size_t);
  39. void (*free)(void *);
  40. } mon_fnc_t;
  41. typedef struct bd_info {
  42. unsigned long bi_memstart; /* start of DRAM memory */
  43. unsigned long bi_memsize; /* size  of DRAM memory in bytes */
  44. unsigned long bi_flashstart; /* start of FLASH memory */
  45. unsigned long bi_flashsize; /* size  of FLASH memory */
  46. unsigned long bi_flashoffset; /* reserved area for startup monitor */
  47. unsigned long bi_sramstart; /* start of SRAM memory */
  48. unsigned long bi_sramsize; /* size  of SRAM memory */
  49. #if defined(CONFIG_8xx) || defined(CONFIG_8260)
  50. unsigned long bi_immr_base; /* base of IMMR register */
  51. #endif
  52. unsigned long bi_bootflags; /* boot / reboot flag (for LynxOS) */
  53. unsigned long bi_ip_addr; /* IP Address */
  54. unsigned char bi_enetaddr[6]; /* Ethernet adress */
  55. unsigned short bi_ethspeed; /* Ethernet speed in Mbps */
  56. unsigned long bi_intfreq; /* Internal Freq, in MHz */
  57. unsigned long bi_busfreq; /* Bus Freq, in MHz */
  58. #if defined(CONFIG_8260)
  59. unsigned long bi_cpmfreq; /* CPM_CLK Freq, in MHz */
  60. unsigned long bi_brgfreq; /* BRG_CLK Freq, in MHz */
  61. unsigned long bi_sccfreq; /* SCC_CLK Freq, in MHz */
  62. unsigned long bi_vco; /* VCO Out from PLL, in MHz */
  63. #endif
  64. unsigned long bi_baudrate; /* Console Baudrate */
  65. #if defined(CONFIG_405GP)
  66. unsigned char bi_s_version[4]; /* Version of this structure */
  67. unsigned char bi_r_version[32]; /* Version of the ROM (IBM) */
  68. unsigned int bi_procfreq; /* CPU (Internal) Freq, in Hz */
  69. unsigned int bi_plb_busfreq; /* PLB Bus speed, in Hz */
  70. unsigned int bi_pci_busfreq; /* PCI Bus speed, in Hz */
  71. unsigned char bi_pci_enetaddr[6]; /* PCI Ethernet MAC address */
  72. #endif
  73. #if defined(CONFIG_HYMOD)
  74. hymod_conf_t bi_hymod_conf; /* hymod configuration information */
  75. #endif
  76. #if defined(CONFIG_EVB64260)
  77. /* the board has three onboard ethernet ports */
  78. unsigned char bi_enet1addr[6];
  79. unsigned char bi_enet2addr[6];
  80. #endif
  81. mon_fnc_t *bi_mon_fnc; /* Pointer to monitor functions */
  82. } bd_t;
  83. #endif /* __ASSEMBLY__ */
  84. #endif /* __ASM_PPCBOOT_H__ */