• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-R7800-V1.0.2.28/target/linux/adm5120/files/arch/mips/include/asm/mach-adm5120/prom/
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