2 * RoboSwitch setup functions
4 * Copyright 2007, Broadcom Corporation
7 * THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY
8 * KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM
9 * SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
10 * FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE.
12 * $Id: bcmrobo.h,v 1.1.1.6 2007/05/31 08:00:41 michael Exp $
17 #include <switch-core.h>
19 #define DEVID5325 0x25 /* 5325 (Not really be we fake it) */
21 /* Forward declaration */
22 typedef struct robo_info_s robo_info_t
;
24 /* Device access/config oprands */
26 /* low level routines */
27 void (*enable_mgmtif
)(robo_info_t
*robo
); /* enable mgmt i/f, optional */
28 void (*disable_mgmtif
)(robo_info_t
*robo
); /* disable mgmt i/f, optional */
29 int (*write_reg
)(robo_info_t
*robo
, uint8 page
, uint8 reg
, void *val
, int len
);
30 int (*read_reg
)(robo_info_t
*robo
, uint8 page
, uint8 reg
, void *val
, int len
);
36 typedef uint16 (*miird_f
)(void *h
, int add
, int off
);
37 typedef void (*miiwr_f
)(void *h
, int add
, int off
, uint16 val
);
39 /* Private state per RoboSwitch */
41 sb_t
*sbh
; /* SiliconBackplane handle */
42 char *vars
; /* nvram variables handle */
43 void *h
; /* dev handle */
44 uint16 devid
; /* Device id for the switch */
45 char *name
; /* Linux device name */
48 dev_ops_t
*ops
; /* device ops */
49 uint8 page
; /* current page */
52 uint32 ss
, sck
, mosi
, miso
; /* GPIO mapping */
59 extern robo_info_t
*bcm_robo_attach(sb_t
*sbh
, void *h
, char *name
, char *vars
, miird_f miird
, miiwr_f miiwr
);
60 extern void bcm_robo_detach(robo_info_t
*robo
);
61 extern int bcm_robo_enable_device(robo_info_t
*robo
);
62 extern int bcm_robo_config_vlan(robo_info_t
*robo
, uint8
*mac_addr
);
63 extern int bcm_robo_enable_switch(robo_info_t
*robo
);
64 extern void bcm_robo_set_macaddr(robo_info_t
*robo
, char *macaddr
);
67 extern void robo_dump_regs(robo_info_t
*robo
, struct bcmstrbuf
*b
);
70 #endif /* _bcm_robo_h_ */
This page took 0.054399 seconds and 5 git commands to generate.