Home | History | Annotate | Line # | Download | only in rmi
rmixl_firmware.h revision 1.2
      1  1.2  matt /*	$NetBSD: rmixl_firmware.h,v 1.2 2009/12/14 00:46:07 matt Exp $	*/
      2  1.2  matt 
      3  1.2  matt /*-
      4  1.2  matt  * Copyright (c) 2009 The NetBSD Foundation, Inc.
      5  1.2  matt  * All rights reserved.
      6  1.2  matt  *
      7  1.2  matt  * This code is derived from software contributed to The NetBSD Foundation
      8  1.2  matt  * by Cliff Neighbors
      9  1.2  matt  *
     10  1.2  matt  * Redistribution and use in source and binary forms, with or without
     11  1.2  matt  * modification, are permitted provided that the following conditions
     12  1.2  matt  * are met:
     13  1.2  matt  * 1. Redistributions of source code must retain the above copyright
     14  1.2  matt  *    notice, this list of conditions and the following disclaimer.
     15  1.2  matt  * 2. Redistributions in binary form must reproduce the above copyright
     16  1.2  matt  *    notice, this list of conditions and the following disclaimer in the
     17  1.2  matt  *    documentation and/or other materials provided with the distribution.
     18  1.2  matt  *
     19  1.2  matt  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
     20  1.2  matt  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
     21  1.2  matt  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     22  1.2  matt  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
     23  1.2  matt  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     24  1.2  matt  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     25  1.2  matt  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     26  1.2  matt  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     27  1.2  matt  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     28  1.2  matt  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     29  1.2  matt  * POSSIBILITY OF SUCH DAMAGE.
     30  1.2  matt  */
     31  1.2  matt 
     32  1.2  matt /*********************************************************************
     33  1.2  matt 
     34  1.2  matt   Copyright 2003-2006 Raza Microelectronics, Inc. (RMI). All rights
     35  1.2  matt   reserved.
     36  1.2  matt 
     37  1.2  matt   Redistribution and use in source and binary forms, with or without
     38  1.2  matt   modification, are permitted provided that the following conditions
     39  1.2  matt   are met:
     40  1.2  matt 
     41  1.2  matt   1. Redistributions of source code must retain the above copyright
     42  1.2  matt   notice, this list of conditions and the following disclaimer.
     43  1.2  matt   2. Redistributions in binary form must reproduce the above copyright
     44  1.2  matt   notice, this list of conditions and the following disclaimer in
     45  1.2  matt   the documentation and/or other materials provided with the
     46  1.2  matt   distribution.
     47  1.2  matt 
     48  1.2  matt   THIS SOFTWARE IS PROVIDED BY Raza Microelectronics, Inc. ``AS IS'' AND
     49  1.2  matt   ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     50  1.2  matt   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     51  1.2  matt   PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RMI OR CONTRIBUTORS BE LIABLE
     52  1.2  matt   FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     53  1.2  matt   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     54  1.2  matt   SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     55  1.2  matt   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     56  1.2  matt   CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     57  1.2  matt   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     58  1.2  matt   THE POSSIBILITY OF SUCH DAMAGE.
     59  1.2  matt 
     60  1.2  matt   *****************************#RMI_2#**********************************/
     61  1.2  matt 
     62  1.2  matt #ifndef _ARCH_MIPS_RMI_RMIXL_FIRMWARE_H_
     63  1.2  matt #define _ARCH_MIPS_RMI_RMIXL_FIRMWARE_H_
     64  1.2  matt 
     65  1.2  matt typedef struct rmixlfw_info {
     66  1.2  matt 	uint64_t boot_level;
     67  1.2  matt 	uint64_t io_base;
     68  1.2  matt 	uint64_t output_device;
     69  1.2  matt 	uint64_t uart_print;
     70  1.2  matt 	uint64_t led_output;
     71  1.2  matt 	uint64_t init;
     72  1.2  matt 	uint64_t exit;
     73  1.2  matt 	uint64_t warm_reset;
     74  1.2  matt 	uint64_t wakeup;
     75  1.2  matt 	uint64_t cpu_online_map;
     76  1.2  matt 	uint64_t master_reentry_sp;
     77  1.2  matt 	uint64_t master_reentry_gp;
     78  1.2  matt 	uint64_t master_reentry_fn;
     79  1.2  matt 	uint64_t slave_reentry_fn;
     80  1.2  matt 	uint64_t magic_dword;
     81  1.2  matt 	uint64_t uart_putchar;
     82  1.2  matt 	uint64_t size;
     83  1.2  matt 	uint64_t uart_getchar;
     84  1.2  matt 	uint64_t nmi_handler;
     85  1.2  matt 	uint64_t psb_version;
     86  1.2  matt 	uint64_t mac_addr;
     87  1.2  matt 	uint64_t cpu_frequency;
     88  1.2  matt 	uint64_t board_version;
     89  1.2  matt 	uint64_t malloc;
     90  1.2  matt 	uint64_t free;
     91  1.2  matt 	uint64_t global_shmem_addr;
     92  1.2  matt 	uint64_t global_shmem_size;
     93  1.2  matt 	uint64_t psb_os_cpu_map;
     94  1.2  matt 	uint64_t userapp_cpu_map;
     95  1.2  matt 	uint64_t wakeup_os;
     96  1.2  matt 	uint64_t psb_mem_map;
     97  1.2  matt 	uint64_t board_major_version;
     98  1.2  matt 	uint64_t board_minor_version;
     99  1.2  matt 	uint64_t board_manf_revision;
    100  1.2  matt 	uint64_t board_serial_number;
    101  1.2  matt 	uint64_t psb_physaddr_map;
    102  1.2  matt 	uint64_t xlr_loaderip_config;
    103  1.2  matt 	uint64_t bldr_envp;
    104  1.2  matt 	uint64_t avail_mem_map;
    105  1.2  matt } rmixlfw_info_t;
    106  1.2  matt 
    107  1.2  matt 
    108  1.2  matt #define RMIXLFW_MMAP_MAX_MMAPS		32
    109  1.2  matt 
    110  1.2  matt #define RMIXLFW_MMAP_TYPE_RAM		1
    111  1.2  matt #define RMIXLFW_MMAP_TYPE_ROM		2
    112  1.2  matt #define RMIXLFW_MMAP_TYPE_RESERVED	3
    113  1.2  matt #define RMIXLFW_MMAP_TYPE_DEV_IO	0x10
    114  1.2  matt #define RMIXLFW_MMAP_TYPE_PCI_IO	0x11
    115  1.2  matt #define RMIXLFW_MMAP_TYPE_PCI_CFG	0x12
    116  1.2  matt #define RMIXLFW_MMAP_TYPE_PCI_MEM	0x13
    117  1.2  matt #define RMIXLFW_MMAP_TYPE_UNKNOWN	0xff
    118  1.2  matt 
    119  1.2  matt /*
    120  1.2  matt  * struct at psb_mem_map, psb_physaddr_map, avail_mem_map
    121  1.2  matt  */
    122  1.2  matt typedef struct rmixlfw_mmap {
    123  1.2  matt 	uint32_t nmmaps;
    124  1.2  matt 	struct rmixlfw_mmap_entry {
    125  1.2  matt 		uint64_t start;
    126  1.2  matt 		uint64_t size;
    127  1.2  matt 		uint32_t type;
    128  1.2  matt 	} entry[RMIXLFW_MMAP_MAX_MMAPS];
    129  1.2  matt } rmixlfw_mmap_t;
    130  1.2  matt 
    131  1.2  matt #endif	/* _ARCH_MIPS_RMI_RMIXL_FIRMWARE_H_ */
    132