/* * $Id$ */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define SMC91111_BASE_ADDR (void*)0x20000300 #define SMC91111_BASE_IRQ LEON_TRAP_TYPE(4) #define SMC91111_BASE_PIO 4 scmv91111_configuration_t leon_scmv91111_configuration = { SMC91111_BASE_ADDR, /* base address */ SMC91111_BASE_IRQ, /* vector number */ SMC91111_BASE_PIO, /* PIO */ 100, /* 100b */ 1, /* fulldx */ 1 /* autoneg */ }; int _rtems_smc91111_driver_attach( struct rtems_bsdnet_ifconfig *config, scmv91111_configuration_t *scm_config ); /* * Attach an SMC91111 driver to the system */ int rtems_smc91111_driver_attach_leon2(struct rtems_bsdnet_ifconfig *config) { /* activate io area */ /*configure pio */ *((volatile unsigned int *)0x80000000) |= 0x10f80000; *((volatile unsigned int *)0x800000A8) |= (0xe0 | leon_scmv91111_configuration.pio) << (8 * ((leon_scmv91111_configuration.vector & 0x0f) - 4)); return _rtems_smc91111_driver_attach(config,&leon_scmv91111_configuration); };