* 2005/03/14 asus wl-500g deluxe and buffalo v2 support added
* 2005/04/13 added licensing informations
* 2005/04/18 base reset polarity off initial readings
+ * 2006/02/07 motorola wa840g/we800g support added
*/
#include <linux/module.h>
#include <linux/sysctl.h>
#include <asm/io.h>
#include <typedefs.h>
+#include <osl.h>
#include <bcmdevs.h>
#include <sbutils.h>
#define DMZ_GPIO (1<<7)
static void set_gpio(uint32 mask, uint32 value) {
- sb_gpiocontrol(sbh,mask,0);
- sb_gpioouten(sbh,mask,mask);
- sb_gpioout(sbh,mask,value);
+ sb_gpiocontrol(sbh,mask, 0, GPIO_DRV_PRIORITY);
+ sb_gpioouten(sbh,mask,mask,GPIO_DRV_PRIORITY);
+ sb_gpioout(sbh,mask,value,GPIO_DRV_PRIORITY);
}
static void v2_set_diag(u8 state) {
{
if (reset_gpio) {
- sb_gpiocontrol(sbh,reset_gpio,reset_gpio);
- sb_gpioouten(sbh,reset_gpio,0);
+ sb_gpiocontrol(sbh,reset_gpio,reset_gpio,GPIO_DRV_PRIORITY);
+ sb_gpioouten(sbh,reset_gpio,0,GPIO_DRV_PRIORITY);
reset=!(sb_gpioin(sbh)&reset_gpio);
if (reset_polarity) reset=!reset;
//asus wl-500g
reset_gpio=(1<<6);
}
+ if (!strcmp(buf,"2")) {
+ //wa840g v1 / we800g v1
+ reset_gpio=(1<<0);
+ }
}
if (!strcmp(buf,"bcm94710ap")) {
buf=nvram_get("boardnum")?:"";
}
- sb_gpiocontrol(sbh,reset_gpio,reset_gpio);
- sb_gpioouten(sbh,reset_gpio,0);
+ sb_gpiocontrol(sbh,reset_gpio,reset_gpio,GPIO_DRV_PRIORITY);
+ sb_gpioouten(sbh,reset_gpio,0,GPIO_DRV_PRIORITY);
reset_polarity=!(sb_gpioin(sbh)&reset_gpio);
diag_sysctl_header = register_sysctl_table(sys_diag, 0);