Return to prom.h CVS log | Up to [local] / sys / arch / aviion / include |
File: [local] / sys / arch / aviion / include / prom.h (download)
Revision 1.1.1.1 (vendor branch), Tue Mar 4 16:08:54 2008 UTC (16 years, 6 months ago) by nbrk
Import of OpenBSD 4.2 release kernel tree with initial code to support Jornada 720/728, StrongARM 1110-based handheld PC. At this point kernel roots on NFS and boots into vfs_mountroot() and traps. What is supported: - glass console, Jornada framebuffer (jfb) works in 16bpp direct color mode (needs some palette tweaks for non black/white/blue colors, i think) - saic, SA11x0 interrupt controller (needs cleanup) - sacom, SA11x0 UART (supported only as boot console for now) - SA11x0 GPIO controller fully supported (but can't handle multiple interrupt handlers on one gpio pin) - sassp, SSP port on SA11x0 that attaches spibus - Jornada microcontroller (jmcu) to control kbd, battery, etc throught the SPI bus (wskbd attaches on jmcu, but not tested) - tod functions seem work - initial code for SA-1111 (chip companion) : this is TODO Next important steps, i think: - gpio and intc on sa1111 - pcmcia support for sa11x0 (and sa1111 help logic) - REAL root on nfs when we have PCMCIA support (we may use any of supported pccard NICs) - root on wd0! (using already supported PCMCIA-ATA) |
/* $OpenBSD: prom.h,v 1.2 2006/05/20 11:57:04 miod Exp $ */ /* * Copyright (c) 2006, Miodrag Vallat. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ #ifndef __AVIION_PROM_H__ #define __AVIION_PROM_H__ #include <sys/cdefs.h> /* SCM trap vector */ #define SCM_VECTOR 496 /* system calls */ #define SCM_CHAR 0x00 #define SCM_OCHAR 0x20 #define SCM_PTLINE 0x21 #define SCM_OCRLF 0x26 #define SCM_HALT 0x63 #define SCM_STDIO 0x70 #define SCM_REBOOT 0x101 #define SCM_CPUID 0x102 #define SCM_MSIZE 0x103 #define SCM_REVNUM 0x104 #define SCM_HOSTID 0x107 #define SCM_INVALID 0x112 #define SCM_COMMID 0x114 /* 88204 PROMs only system calls */ #define SCM_SYSID 0x31 #define SCM_CPUCONFIG 0x107 struct scm_cpuconfig { u_int32_t version; #define SCM_CPUCONFIG_VERSION 0 u_int32_t cpucount; /* # of CPUs */ u_int16_t igang, dgang; /* # of CMMUs per CPU */ u_int32_t isplit, dsplit; /* CMMU split bits */ u_int32_t :32; }; int scm_cpuconfig(struct scm_cpuconfig *); u_int scm_cpuid(void); int scm_getc(void); void scm_getenaddr(u_char *); __dead void scm_halt(void); u_int scm_memsize(int); void scm_printf(const char *); u_int scm_promver(void); void scm_putc(int); void scm_putcrlf(void); __dead void scm_reboot(const char *); u_int scm_sysid(void); extern u_int32_t scmvec[2], osvec[2]; /* SCM trap vector copies */ #endif /* __AVIION_PROM_H__ */