summaryrefslogtreecommitdiff
path: root/src/mainboard
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainboard')
-rw-r--r--src/mainboard/motorola/sandpoint/STATUS27
-rw-r--r--src/mainboard/motorola/sandpoint/flash.h36
-rw-r--r--src/mainboard/motorola/sandpoint/nvram.h37
3 files changed, 100 insertions, 0 deletions
diff --git a/src/mainboard/motorola/sandpoint/STATUS b/src/mainboard/motorola/sandpoint/STATUS
new file mode 100644
index 0000000000..1f528e38da
--- /dev/null
+++ b/src/mainboard/motorola/sandpoint/STATUS
@@ -0,0 +1,27 @@
+# These are keyword-value pairs.
+# a : separates the keyword from the value
+# the value is arbitrary text delimited by newline.
+# continuation, if needed, will be via the \ at the end of a line
+# comments are indicated by a '#' as the first character.
+# the keywords are case-INSENSITIVE
+owner: Greg Watson
+email: gwatson@lanl.gov
+#status: One of unsupported, unstable, stable
+status: unstable
+explanation: currently under development
+flash-types:
+payload-types:
+# e.g. linux, plan 9, wince, etc.
+OS-types: linux
+# e.g. "Plan 9 interrupts don't work on this chipset"
+OS-issues:
+console-types: serial
+# vga is unsupported, unstable, or stable
+vga: unsupported
+# Last-known-good follows the internationl date standard: day/month/year
+last-known-good: 19/04/2003
+Comments:
+Links:
+Mainboard-revision:
+# What other mainboards are like this one? List them here.
+AKA:
diff --git a/src/mainboard/motorola/sandpoint/flash.h b/src/mainboard/motorola/sandpoint/flash.h
new file mode 100644
index 0000000000..5ef1c6e19a
--- /dev/null
+++ b/src/mainboard/motorola/sandpoint/flash.h
@@ -0,0 +1,36 @@
+/* $Id$ */
+/* Copyright 2000 AG Electronics Ltd. */
+/* This code is distributed without warranty under the GPL v2 (see COPYING) */
+
+#ifndef _FLASH_H
+#define _FLASH_H
+
+struct flash_device;
+
+typedef struct flash_fn
+{
+ const char *(* identify)(struct flash_device *flash);
+ void *(* ptr)(void *data);
+ int (* erase_all)(void *data);
+ int (* erase)(void *data, unsigned offset, unsigned length);
+ int (* program)(void *data, unsigned offset, const void *source, unsigned length);
+ u8 ( *read_byte)(void *data, unsigned offset);
+} flash_fn;
+
+typedef struct flash_device
+{
+ const flash_fn *fn;
+ char *tag;
+ void *data;
+ unsigned long base;
+ unsigned size;
+ unsigned erase_size;
+ unsigned store_size;
+ struct flash_device *next;
+} flash_device;
+
+int register_flash_device(const flash_fn *fn, char *tag, void *data);
+flash_device *find_flash_device(const char *tag);
+int init_flash_amd800(char *tag, unsigned base, unsigned spacing);
+
+#endif
diff --git a/src/mainboard/motorola/sandpoint/nvram.h b/src/mainboard/motorola/sandpoint/nvram.h
new file mode 100644
index 0000000000..67b99f57f6
--- /dev/null
+++ b/src/mainboard/motorola/sandpoint/nvram.h
@@ -0,0 +1,37 @@
+/* $Id$ */
+/* Copyright 2000 AG Electronics Ltd. */
+/* This code is distributed without warranty under the GPL v2 (see COPYING) */
+/* Definitions for nvram devices - these are flash or eeprom devices used to
+ store information across power cycles and resets. Though they are byte
+ addressable, writes must be committed to allow flash devices to write
+ complete sectors. */
+
+#ifndef _NVRAM_H
+#define _NVRAM_H
+
+typedef struct nvram_device
+{
+ unsigned (*size)(struct nvram_device *data);
+ int (*read_block)(struct nvram_device *dev, unsigned offset,
+ unsigned char *data, unsigned length);
+ int (*write_byte)(struct nvram_device *dev, unsigned offset, unsigned char byte);
+ void (*commit)(struct nvram_device *data);
+ void *data;
+} nvram_device;
+
+int nvram_init (nvram_device *dev);
+void nvram_clear(void);
+
+extern nvram_device pcrtc_nvram;
+extern void nvram_putenv(const char *name, const char *value);
+extern int nvram_getenv(const char *name, char *buffer, unsigned size);
+
+typedef const struct nvram_constant
+{
+ const char *name;
+ const char *value;
+} nvram_constant;
+
+extern nvram_constant hardcoded_environment[];
+
+#endif