summaryrefslogtreecommitdiffstats
path: root/package/broadcom-57xx/src/sbgige.h
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-06-15 11:11:28 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-06-15 11:11:28 +0000
commit128434cb236523f4cec881622b8606cb1533b677 (patch)
tree628e1de7f62f279d851f47ad1ee6ab63c320c1c8 /package/broadcom-57xx/src/sbgige.h
parent27e96c3c29014c2bca2ec21d7c09d5839ee66cb5 (diff)
(6/6) bcm57xx: package
This is the bcm57xx package. I have tested default vlan functions, but I dont have the equipment to test more advanced setups. The default vlan setup seems to be working fine. I also added the activate_gpio parameter which will make the driver activate the switch via gpio before probing for it. I'm not sure which method is best for autoload. For the wrt350n, I need the activate_gpio parameter. But its probably not a good idea to add that to the autoload file. On a system without a bcm57xx switch, isn't it a bad idea to mess with the gpios looking for the switch? Ideally, wouldn't it be best to load the bcm57xx module from broadcom-diag, after it has determined which router its on? I tried using 'request_module' from there, but had no success. For now, I am relying on preinit to load the bcm57xx module with activate_gpio param, after it has failed to load switch_robo and switch_adm. Signed-off-by: Ben Pfountz <netprince (at) vt (dot) edu> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@11471 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/broadcom-57xx/src/sbgige.h')
-rw-r--r--package/broadcom-57xx/src/sbgige.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/package/broadcom-57xx/src/sbgige.h b/package/broadcom-57xx/src/sbgige.h
new file mode 100644
index 000000000..7975a7ac7
--- /dev/null
+++ b/package/broadcom-57xx/src/sbgige.h
@@ -0,0 +1,59 @@
+/*
+ * HND SiliconBackplane Gigabit Ethernet core registers
+ *
+ * Copyright 2007, Broadcom Corporation
+ * All Rights Reserved.
+ *
+ * THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY
+ * KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM
+ * SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
+ * FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE.
+ *
+ * $Id: sbgige.h,v 1.5 2007/06/01 05:58:20 michael Exp $
+ */
+
+#ifndef _sbgige_h_
+#define _sbgige_h_
+
+#include <typedefs.h>
+#include <sbconfig.h>
+#include <pcicfg.h>
+
+/* cpp contortions to concatenate w/arg prescan */
+#ifndef PAD
+#define _PADLINE(line) pad ## line
+#define _XSTR(line) _PADLINE(line)
+#define PAD _XSTR(__LINE__)
+#endif /* PAD */
+
+/* PCI to OCP shim registers */
+typedef volatile struct {
+ uint32 FlushStatusControl;
+ uint32 FlushReadAddr;
+ uint32 FlushTimeoutCntr;
+ uint32 BarrierReg;
+ uint32 MaocpSIControl;
+ uint32 SiocpMaControl;
+ uint8 PAD[0x02E8];
+} sbgige_pcishim_t;
+
+/* SB core registers */
+typedef volatile struct {
+ /* PCI I/O Read/Write registers */
+ uint8 pciio[0x0400];
+
+ /* Reserved */
+ uint8 reserved[0x0400];
+
+ /* PCI configuration registers */
+ pci_config_regs pcicfg;
+ uint8 PAD[0x0300];
+
+ /* PCI to OCP shim registers */
+ sbgige_pcishim_t pcishim;
+
+ /* Sonics SiliconBackplane registers */
+ sbconfig_t sbconfig;
+} sbgige_t;
+
+#endif /* _sbgige_h_ */