Home | History | Annotate | Line # | Download | only in cavium
octeon_uboot.h revision 1.2
      1  1.2  simonb /*	$NetBSD: octeon_uboot.h,v 1.2 2020/06/05 07:17:38 simonb Exp $	*/
      2  1.1  hikaru 
      3  1.1  hikaru #ifndef _EVBMIPS_OCTEON_UBOOT_H_
      4  1.1  hikaru #define _EVBMIPS_OCTEON_UBOOT_H_
      5  1.1  hikaru 
      6  1.1  hikaru #define OCTEON_BTINFO_PADDR_OFFSET	392
      7  1.1  hikaru #define OCTEON_BTINFO_SERIAL_LEN	20
      8  1.1  hikaru #define OCTEON_BTINFO_MAJOR_VERSION	1
      9  1.1  hikaru #define OCTEON_BTINFO_MINOR_VERSION	2
     10  1.1  hikaru 
     11  1.1  hikaru struct octeon_btinfo {
     12  1.1  hikaru 	uint32_t	obt_major_version;
     13  1.1  hikaru 	uint32_t	obt_minor_version;
     14  1.1  hikaru 
     15  1.1  hikaru 	uint64_t	obt_stack_top;
     16  1.1  hikaru 	uint64_t	obt_heap_base;
     17  1.1  hikaru 	uint64_t	obt_heap_end;
     18  1.1  hikaru 	uint64_t	obt_desc_vaddr;
     19  1.1  hikaru 
     20  1.1  hikaru 	uint32_t	obt_ebase_addr;
     21  1.1  hikaru 	uint32_t	obt_stack_size;
     22  1.1  hikaru 	uint32_t	obt_flags;
     23  1.1  hikaru 	uint32_t	obt_core_mask;
     24  1.1  hikaru 	uint32_t	obt_dram_size;			/* in MB */
     25  1.1  hikaru 	uint32_t	obt_phy_mem_desc_addr;
     26  1.1  hikaru 	uint32_t	obt_dbg_flags_base_addr;
     27  1.1  hikaru 	uint32_t	obt_eclock_hz;
     28  1.1  hikaru 	uint32_t	obt_dclock_hz;
     29  1.1  hikaru 	uint32_t	obt_reserved0;
     30  1.1  hikaru 
     31  1.1  hikaru 	uint16_t	obt_board_type;
     32  1.1  hikaru 	uint8_t		obt_board_rev_major;
     33  1.1  hikaru 	uint8_t		obt_board_rev_minor;
     34  1.1  hikaru 	uint16_t	obt_reserved1;
     35  1.1  hikaru 	uint8_t		obt_reserved2;
     36  1.1  hikaru 	uint8_t		obt_reserved3;
     37  1.1  hikaru 	char		obt_board_serial_number[OCTEON_BTINFO_SERIAL_LEN];
     38  1.1  hikaru 
     39  1.1  hikaru 	uint8_t		obt_mac_addr_base[6];
     40  1.1  hikaru 	uint8_t		obt_mac_addr_count;
     41  1.1  hikaru 
     42  1.1  hikaru 	/* version minor 1 or newer */
     43  1.1  hikaru 	uint64_t	obt_cf_common_base_addr;	/* paddr */
     44  1.1  hikaru 	uint64_t	obt_cf_attr_base_addr;		/* paddr */
     45  1.1  hikaru 	uint64_t	obt_led_display_base_addr;
     46  1.1  hikaru 
     47  1.1  hikaru 	/* version minor 2 or newer */
     48  1.1  hikaru 	uint32_t	obt_dfa_ref_clock_hz;
     49  1.1  hikaru 	uint32_t	obt_config_flags;
     50  1.1  hikaru 
     51  1.1  hikaru };
     52  1.1  hikaru 
     53  1.1  hikaru extern struct octeon_btinfo octeon_btinfo;
     54  1.1  hikaru 
     55  1.1  hikaru /* obt_board_type */
     56  1.1  hikaru #define BOARD_TYPE_UBIQUITI_E100	20002
     57  1.1  hikaru 
     58  1.2  simonb 
     59  1.2  simonb struct octeon_bootmem_desc {
     60  1.2  simonb #if BYTE_ORDER == BIG_ENDIAN
     61  1.2  simonb 	uint32_t	bmd_lock;
     62  1.2  simonb 	uint32_t	bmd_flags;
     63  1.2  simonb 	uint64_t	bmd_head_addr;
     64  1.2  simonb 
     65  1.2  simonb 	uint32_t	bmd_major_version;
     66  1.2  simonb 	uint32_t	bmd_minor_version;
     67  1.2  simonb 	uint64_t	bmd_app_data_addr;
     68  1.2  simonb 	uint64_t	bmd_app_data_size;
     69  1.2  simonb 
     70  1.2  simonb 	uint32_t	bmd_named_block_num_blocks;
     71  1.2  simonb 	uint32_t	bmd_named_block_name_len;
     72  1.2  simonb 	uint64_t	bmd_named_block_array_addr;
     73  1.2  simonb #endif
     74  1.2  simonb #if BYTE_ORDER == LITTLE_ENDIAN
     75  1.2  simonb 	uint32_t	bmd_flags;
     76  1.2  simonb 	uint32_t	bmd_lock;
     77  1.2  simonb 	uint64_t	bmd_head_addr;
     78  1.2  simonb 
     79  1.2  simonb 	uint32_t	bmd_minor_version;
     80  1.2  simonb 	uint32_t	bmd_major_version;
     81  1.2  simonb 	uint64_t	bmd_app_data_addr;
     82  1.2  simonb 	uint64_t	bmd_app_data_size;
     83  1.2  simonb 
     84  1.2  simonb 	uint32_t	bmd_named_block_name_len;
     85  1.2  simonb 	uint32_t	bmd_named_block_num_blocks;
     86  1.2  simonb 	uint64_t	bmd_named_block_array_addr;
     87  1.2  simonb #endif
     88  1.2  simonb };
     89  1.2  simonb 
     90  1.2  simonb struct octeon_bootmem_block_header {
     91  1.2  simonb 	uint64_t	bbh_next_block_addr;
     92  1.2  simonb 	uint64_t	bbh_size;
     93  1.2  simonb };
     94  1.2  simonb 
     95  1.1  hikaru #endif /* _EVBMIPS_OCTEON_UBOOT_H_ */
     96