1*680d9eeaSthorpej /* $NetBSD: armadillo9var.h,v 1.2 2006/02/18 05:04:11 thorpej Exp $ */ 29290fbe5Shamajima 39290fbe5Shamajima /* 49290fbe5Shamajima * Copyright (c) 2006 HAMAJIMA Katsuomi. All rights reserved. 59290fbe5Shamajima * 69290fbe5Shamajima * Redistribution and use in source and binary forms, with or without 79290fbe5Shamajima * modification, are permitted provided that the following conditions 89290fbe5Shamajima * are met: 99290fbe5Shamajima * 1. Redistributions of source code must retain the above copyright 109290fbe5Shamajima * notice, this list of conditions and the following disclaimer. 119290fbe5Shamajima * 2. Redistributions in binary form must reproduce the above copyright 129290fbe5Shamajima * notice, this list of conditions and the following disclaimer in the 139290fbe5Shamajima * documentation and/or other materials provided with the distribution. 149290fbe5Shamajima * 159290fbe5Shamajima * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 169290fbe5Shamajima * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 179290fbe5Shamajima * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 189290fbe5Shamajima * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 199290fbe5Shamajima * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 209290fbe5Shamajima * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 219290fbe5Shamajima * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 229290fbe5Shamajima * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 239290fbe5Shamajima * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 249290fbe5Shamajima * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 259290fbe5Shamajima * SUCH DAMAGE. 269290fbe5Shamajima */ 279290fbe5Shamajima 289290fbe5Shamajima #ifndef _ARMADILLO9VAR_H_ 299290fbe5Shamajima #define _ARMADILLO9VAR_H_ 309290fbe5Shamajima 319290fbe5Shamajima /* model type */ 329290fbe5Shamajima 339290fbe5Shamajima #define DEVCFG_ARMADILLO9 0x08140000 349290fbe5Shamajima #define DEVCFG_ARMADILLO210 0x0a140d00 359290fbe5Shamajima 369290fbe5Shamajima struct armadillo_model_t { 379290fbe5Shamajima unsigned long devcfg; 389290fbe5Shamajima const char *name; 399290fbe5Shamajima }; 409290fbe5Shamajima 419290fbe5Shamajima extern struct armadillo_model_t *armadillo_model; 429290fbe5Shamajima 439290fbe5Shamajima 449290fbe5Shamajima /* information from bootloader */ 459290fbe5Shamajima 469290fbe5Shamajima #define BOOTPARAM_TAG_NONE 0x00000000 479290fbe5Shamajima #define BOOTPARAM_TAG_MEM 0x54410002 489290fbe5Shamajima #define BOOTPARAM_TAG_CMDLINE 0x54410009 499290fbe5Shamajima 509290fbe5Shamajima struct bootparam_tag_header { 519290fbe5Shamajima unsigned long size; 529290fbe5Shamajima unsigned long tag; 539290fbe5Shamajima }; 549290fbe5Shamajima 559290fbe5Shamajima struct bootparam_tag_mem32 { 569290fbe5Shamajima unsigned long size; 579290fbe5Shamajima unsigned long start; 589290fbe5Shamajima }; 599290fbe5Shamajima 609290fbe5Shamajima struct bootparam_tag_cmdline { 619290fbe5Shamajima char cmdline[1]; 629290fbe5Shamajima }; 639290fbe5Shamajima 649290fbe5Shamajima struct bootparam_tag { 659290fbe5Shamajima struct bootparam_tag_header hdr; 669290fbe5Shamajima union { 679290fbe5Shamajima struct bootparam_tag_mem32 mem; 689290fbe5Shamajima struct bootparam_tag_cmdline cmdline; 699290fbe5Shamajima } u; 709290fbe5Shamajima }; 719290fbe5Shamajima 729290fbe5Shamajima #define bootparam_tag_next(t) \ 739290fbe5Shamajima ((struct bootparam_tag *)((unsigned long *)(t) + (t)->hdr.size)) 749290fbe5Shamajima 759290fbe5Shamajima extern char bootparam[]; 769290fbe5Shamajima 77*680d9eeaSthorpej extern uint8_t armadillo9_ethaddr[]; 78*680d9eeaSthorpej 799290fbe5Shamajima #endif /* _ARMADILLO9VAR_H_ */ 80