Root/target/linux/adm5120/files/arch/mips/include/asm/mach-adm5120/prom/zynos.h

1/*
2 * ZyNOS (ZyXEL's Networking OS) definitions
3 *
4 * Copyright (C) 2007-2008 Gabor Juhos <juhosg@openwrt.org>
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License version 2 as published
8 * by the Free Software Foundation.
9 *
10 */
11
12#ifndef _ZYNOS_H
13#define _ZYNOS_H
14
15#define ZYNOS_NAME_LEN 32
16#define ZYNOS_FEAT_BYTES 22
17#define ZYNOS_MAC_LEN 6
18
19struct zynos_board_info {
20    unsigned char vendor[ZYNOS_NAME_LEN];
21    unsigned char product[ZYNOS_NAME_LEN];
22    u32 bootext_addr;
23    u32 res0;
24    u16 board_id;
25    u8 res1[6];
26    u8 feat_other[ZYNOS_FEAT_BYTES];
27    u8 feat_main;
28    u8 res2;
29    u8 mac[ZYNOS_MAC_LEN];
30    u8 country;
31    u8 dbgflag;
32} __attribute__ ((packed));
33
34/*
35 * Vendor IDs
36 */
37#define ZYNOS_VENDOR_ID_ZYXEL 0
38#define ZYNOS_VENDOR_ID_NETGEAR 1
39#define ZYNOS_VENDOR_ID_DLINK 2
40#define ZYNOS_VENDOR_ID_OTHER 3
41#define ZYNOS_VENDOR_ID_LUCENT 4
42
43/*
44 * Vendor names
45 */
46#define ZYNOS_VENDOR_DLINK "D-Link"
47#define ZYNOS_VENDOR_LUCENT "LUCENT"
48#define ZYNOS_VENDOR_NETGEAR "NetGear"
49#define ZYNOS_VENDOR_ZYXEL "ZyXEL"
50
51/*
52 * Board IDs (big-endian)
53 */
54#define ZYNOS_BOARD_ES2108 0x00F2 /* Ethernet Switch 2108 */
55#define ZYNOS_BOARD_ES2108F 0x01AF /* Ethernet Switch 2108-F */
56#define ZYNOS_BOARD_ES2108G 0x00F3 /* Ethernet Switch 2108-G */
57#define ZYNOS_BOARD_ES2108LC 0x00FC /* Ethernet Switch 2108-LC */
58#define ZYNOS_BOARD_ES2108PWR 0x00F4 /* Ethernet Switch 2108PWR */
59#define ZYNOS_BOARD_HS100 0x9FF1 /* HomeSafe 100/100W */
60#define ZYNOS_BOARD_P334 0x9FF5 /* Prestige 334 */
61#define ZYNOS_BOARD_P334U 0x9FDD /* Prestige 334U */
62#define ZYNOS_BOARD_P334W 0x9FF3 /* Prestige 334W */
63#define ZYNOS_BOARD_P334WH 0x00E0 /* Prestige 334WH */
64#define ZYNOS_BOARD_P334WHD 0x00E1 /* Prestige 334WHD */
65#define ZYNOS_BOARD_P334WT 0x9FEF /* Prestige 334WT */
66#define ZYNOS_BOARD_P334WT_ALT 0x9F02 /* Prestige 334WT alternative*/
67#define ZYNOS_BOARD_P335 0x9FED /* Prestige 335/335WT */
68#define ZYNOS_BOARD_P335PLUS 0x0025 /* Prestige 335Plus */
69#define ZYNOS_BOARD_P335U 0x9FDC /* Prestige 335U */
70
71/*
72 * Some magic numbers (big-endian)
73 */
74#define ZYNOS_MAGIC_DBGAREA1 0x48646267 /* "Hdbg" */
75#define ZYNOS_MAGIC_DBGAREA2 0x61726561 /* "area" */
76
77struct bootbase_info {
78    u16 vendor_id;
79    u16 board_id;
80    u8 mac[6];
81};
82
83extern struct bootbase_info bootbase_info;
84extern int bootbase_present(void) __init;
85
86#endif /* _ZYNOS_H */
87

Archive Download this file



interactive