mirror of
https://git.rtems.org/rtems-libbsd/
synced 2025-05-13 15:29:17 +08:00
bsp/motorola_powerpc: Add dc, ukphy and legacy PCI support
- Add the dc net dev to the BSP - Add the ukphy support - Add PCI Legacy bus support to the PowerPC Closes #4514
This commit is contained in:
parent
afb361690c
commit
332cc9f47b
@ -156,6 +156,10 @@ MODULE_DEPEND(dc, miibus, 1, 1, 1);
|
|||||||
* Various supported device vendors/types and their names.
|
* Various supported device vendors/types and their names.
|
||||||
*/
|
*/
|
||||||
static const struct dc_type dc_devs[] = {
|
static const struct dc_type dc_devs[] = {
|
||||||
|
#ifdef __rtems__
|
||||||
|
{ DC_DEVID(DC_VENDORID_DEC, DC_DEVICEID_21140A), 0,
|
||||||
|
"Intel 21140A 10/100BaseTX" },
|
||||||
|
#endif /* __rtems__ */
|
||||||
{ DC_DEVID(DC_VENDORID_DEC, DC_DEVICEID_21143), 0,
|
{ DC_DEVID(DC_VENDORID_DEC, DC_DEVICEID_21143), 0,
|
||||||
"Intel 21143 10/100BaseTX" },
|
"Intel 21143 10/100BaseTX" },
|
||||||
{ DC_DEVID(DC_VENDORID_DAVICOM, DC_DEVICEID_DM9009), 0,
|
{ DC_DEVID(DC_VENDORID_DAVICOM, DC_DEVICEID_DM9009), 0,
|
||||||
@ -2076,6 +2080,9 @@ dc_attach(device_t dev)
|
|||||||
dc_eeprom_width(sc);
|
dc_eeprom_width(sc);
|
||||||
|
|
||||||
switch (sc->dc_info->dc_devid) {
|
switch (sc->dc_info->dc_devid) {
|
||||||
|
#ifdef __rtems__
|
||||||
|
case DC_DEVID(DC_VENDORID_DEC, DC_DEVICEID_21140A):
|
||||||
|
#endif /* __rtems__ */
|
||||||
case DC_DEVID(DC_VENDORID_DEC, DC_DEVICEID_21143):
|
case DC_DEVID(DC_VENDORID_DEC, DC_DEVICEID_21143):
|
||||||
sc->dc_type = DC_TYPE_21143;
|
sc->dc_type = DC_TYPE_21143;
|
||||||
sc->dc_flags |= DC_TX_POLL | DC_TX_USE_TX_INTR;
|
sc->dc_flags |= DC_TX_POLL | DC_TX_USE_TX_INTR;
|
||||||
|
@ -824,6 +824,13 @@ struct dc_softc {
|
|||||||
*/
|
*/
|
||||||
#define DC_VENDORID_DEC 0x1011
|
#define DC_VENDORID_DEC 0x1011
|
||||||
|
|
||||||
|
#ifdef __rtems__
|
||||||
|
/*
|
||||||
|
* DEC/Intel 21140 PCI device ID
|
||||||
|
*/
|
||||||
|
#define DC_DEVICEID_21140A 0x0009
|
||||||
|
|
||||||
|
#endif /* __rtems__ */
|
||||||
/*
|
/*
|
||||||
* DEC/Intel 21143 PCI device ID
|
* DEC/Intel 21143 PCI device ID
|
||||||
*/
|
*/
|
||||||
|
@ -2639,7 +2639,7 @@ class pci(builder.Module):
|
|||||||
]
|
]
|
||||||
)
|
)
|
||||||
self.addCPUDependentFreeBSDSourceFiles(
|
self.addCPUDependentFreeBSDSourceFiles(
|
||||||
[ 'i386' ],
|
[ 'i386', 'powerpc' ],
|
||||||
[
|
[
|
||||||
'sys/x86/x86/legacy.c',
|
'sys/x86/x86/legacy.c',
|
||||||
'sys/x86/pci/pci_bus.c',
|
'sys/x86/pci/pci_bus.c',
|
||||||
|
@ -197,6 +197,12 @@ SYSINIT_DRIVER_REFERENCE(ukphy, miibus);
|
|||||||
RTEMS_BSD_DEFINE_NEXUS_DEVICE(fec, 0, 0, NULL);
|
RTEMS_BSD_DEFINE_NEXUS_DEVICE(fec, 0, 0, NULL);
|
||||||
SYSINIT_DRIVER_REFERENCE(ukphy, miibus);
|
SYSINIT_DRIVER_REFERENCE(ukphy, miibus);
|
||||||
|
|
||||||
#endif
|
#elif defined(LIBBSP_POWERPC_MOTOROLA_POWERPC_BSP_H)
|
||||||
|
|
||||||
|
RTEMS_BSD_DRIVER_PC_LEGACY;
|
||||||
|
RTEMS_BSD_DRIVER_PCI_DC;
|
||||||
|
RTEMS_BSD_DRIVER_UKPHY;
|
||||||
|
|
||||||
|
#endif /* LIBBSP_POWERPC_MOTOROLA_POWERPC_BSP_H */
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -77,6 +77,7 @@
|
|||||||
* RTEMS_BSD_DRIVER_ICSPHY
|
* RTEMS_BSD_DRIVER_ICSPHY
|
||||||
* RTEMS_BSD_DRIVER_REPHY
|
* RTEMS_BSD_DRIVER_REPHY
|
||||||
* RTEMS_BSD_DRIVER_PHY_MIC
|
* RTEMS_BSD_DRIVER_PHY_MIC
|
||||||
|
* RTEMS_BSD_DRIVER_UKPHY
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if !defined(RTEMS_BSD_NEXUS_BUS_h)
|
#if !defined(RTEMS_BSD_NEXUS_BUS_h)
|
||||||
@ -441,6 +442,14 @@ extern "C" {
|
|||||||
SYSINIT_DRIVER_REFERENCE(re, pci);
|
SYSINIT_DRIVER_REFERENCE(re, pci);
|
||||||
#endif /* RTEMS_BSD_DRIVER_PCI_RE */
|
#endif /* RTEMS_BSD_DRIVER_PCI_RE */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* DEC Tulip Driver
|
||||||
|
*/
|
||||||
|
#if !defined(RTEMS_BSD_DRIVER_PCI_DC)
|
||||||
|
#define RTEMS_BSD_DRIVER_PCI_DC \
|
||||||
|
SYSINIT_DRIVER_REFERENCE(dc, pci);
|
||||||
|
#endif /* RTEMS_BSD_DRIVER_PCI_DC */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
** MMI Physical Layer Support.
|
** MMI Physical Layer Support.
|
||||||
**/
|
**/
|
||||||
@ -477,6 +486,14 @@ extern "C" {
|
|||||||
SYSINIT_DRIVER_REFERENCE(micphy, miibus);
|
SYSINIT_DRIVER_REFERENCE(micphy, miibus);
|
||||||
#endif /* RTEMS_BSD_DRIVER_PHY_MIC */
|
#endif /* RTEMS_BSD_DRIVER_PHY_MIC */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* UK PHY (for unknown PHY devices)
|
||||||
|
*/
|
||||||
|
#if !defined(RTEMS_BSD_DRIVER_UKPHY)
|
||||||
|
#define RTEMS_BSD_DRIVER_UKPHY \
|
||||||
|
SYSINIT_DRIVER_REFERENCE(ukphy, miibus);
|
||||||
|
#endif /* RTEMS_BSD_DRIVER_UKPHY */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif /* __cplusplus */
|
#endif /* __cplusplus */
|
||||||
|
2
rtemsbsd/powerpc/include/machine/legacyvar.h
Normal file
2
rtemsbsd/powerpc/include/machine/legacyvar.h
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
/* See freebsd/sys/x86/include/machine/legacyvar.h */
|
||||||
|
#include <x86/include/machine/legacyvar.h>
|
2
rtemsbsd/powerpc/include/machine/pci_cfgreg.h
Normal file
2
rtemsbsd/powerpc/include/machine/pci_cfgreg.h
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
/* See freebsd/sys/x86/include/machine/pci_cfgreg.h */
|
||||||
|
#include <x86/include/machine/pci_cfgreg.h>
|
Loading…
x
Reference in New Issue
Block a user