root/arch/mips/include/asm/netlogic/psb-bootinfo.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /*
   2  * Copyright 2003-2011 NetLogic Microsystems, Inc. (NetLogic). All rights
   3  * reserved.
   4  *
   5  * This software is available to you under a choice of one of two
   6  * licenses.  You may choose to be licensed under the terms of the GNU
   7  * General Public License (GPL) Version 2, available from the file
   8  * COPYING in the main directory of this source tree, or the NetLogic
   9  * license below:
  10  *
  11  * Redistribution and use in source and binary forms, with or without
  12  * modification, are permitted provided that the following conditions
  13  * are met:
  14  *
  15  * 1. Redistributions of source code must retain the above copyright
  16  *    notice, this list of conditions and the following disclaimer.
  17  * 2. Redistributions in binary form must reproduce the above copyright
  18  *    notice, this list of conditions and the following disclaimer in
  19  *    the documentation and/or other materials provided with the
  20  *    distribution.
  21  *
  22  * THIS SOFTWARE IS PROVIDED BY NETLOGIC ``AS IS'' AND ANY EXPRESS OR
  23  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  24  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  25  * ARE DISCLAIMED. IN NO EVENT SHALL NETLOGIC OR CONTRIBUTORS BE LIABLE
  26  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  27  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  28  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
  29  * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
  30  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
  31  * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
  32  * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  33  */
  34 
  35 #ifndef _ASM_NETLOGIC_BOOTINFO_H
  36 #define _ASM_NETLOGIC_BOOTINFO_H
  37 
  38 struct psb_info {
  39         uint64_t boot_level;
  40         uint64_t io_base;
  41         uint64_t output_device;
  42         uint64_t uart_print;
  43         uint64_t led_output;
  44         uint64_t init;
  45         uint64_t exit;
  46         uint64_t warm_reset;
  47         uint64_t wakeup;
  48         uint64_t online_cpu_map;
  49         uint64_t master_reentry_sp;
  50         uint64_t master_reentry_gp;
  51         uint64_t master_reentry_fn;
  52         uint64_t slave_reentry_fn;
  53         uint64_t magic_dword;
  54         uint64_t uart_putchar;
  55         uint64_t size;
  56         uint64_t uart_getchar;
  57         uint64_t nmi_handler;
  58         uint64_t psb_version;
  59         uint64_t mac_addr;
  60         uint64_t cpu_frequency;
  61         uint64_t board_version;
  62         uint64_t malloc;
  63         uint64_t free;
  64         uint64_t global_shmem_addr;
  65         uint64_t global_shmem_size;
  66         uint64_t psb_os_cpu_map;
  67         uint64_t userapp_cpu_map;
  68         uint64_t wakeup_os;
  69         uint64_t psb_mem_map;
  70         uint64_t board_major_version;
  71         uint64_t board_minor_version;
  72         uint64_t board_manf_revision;
  73         uint64_t board_serial_number;
  74         uint64_t psb_physaddr_map;
  75         uint64_t xlr_loaderip_config;
  76         uint64_t bldr_envp;
  77         uint64_t avail_mem_map;
  78 };
  79 
  80 enum {
  81         NETLOGIC_IO_SPACE = 0x10,
  82         PCIX_IO_SPACE,
  83         PCIX_CFG_SPACE,
  84         PCIX_MEMORY_SPACE,
  85         HT_IO_SPACE,
  86         HT_CFG_SPACE,
  87         HT_MEMORY_SPACE,
  88         SRAM_SPACE,
  89         FLASH_CONTROLLER_SPACE
  90 };
  91 
  92 #define NLM_MAX_ARGS    64
  93 #define NLM_MAX_ENVS    32
  94 
  95 /* This is what netlboot passes and linux boot_mem_map is subtly different */
  96 #define NLM_BOOT_MEM_MAP_MAX    32
  97 struct nlm_boot_mem_map {
  98         int nr_map;
  99         struct nlm_boot_mem_map_entry {
 100                 uint64_t addr;          /* start of memory segment */
 101                 uint64_t size;          /* size of memory segment */
 102                 uint32_t type;          /* type of memory segment */
 103         } map[NLM_BOOT_MEM_MAP_MAX];
 104 };
 105 
 106 /* Pointer to saved boot loader info */
 107 extern struct psb_info nlm_prom_info;
 108 
 109 #endif

/* [<][>][^][v][top][bottom][index][help] */