Merge thorpej-cfargs branch:
Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.
Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)
Remove unnecessary or redundant interface attributes where they're not
needed.
There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)
...and a sentinel value CFARG_EOL.
Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.
Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
2021-04-25 02:36:23 +03:00
|
|
|
# $NetBSD: files.discovery,v 1.23 2021/04/24 23:36:56 thorpej Exp $
|
2003-03-06 01:08:18 +03:00
|
|
|
#
|
|
|
|
# Config file and device description for machine-independent support for
|
2004-05-01 16:55:06 +04:00
|
|
|
# the Marvell (formerly Galileo Technology) Discovery system controllers.
|
2003-03-06 01:08:18 +03:00
|
|
|
#
|
|
|
|
# Ports that include this must also supply some glue code of their own.
|
|
|
|
# Notably:
|
|
|
|
# * devices here are indirectly configured by the configuration
|
2004-05-01 16:55:06 +04:00
|
|
|
# file since different systems will be configured somewhat
|
2003-03-06 01:08:18 +03:00
|
|
|
# differently,
|
|
|
|
# * The Multi-Purpose Port (MPP) is configured differently on
|
|
|
|
# different systems,
|
|
|
|
# * CPU attachment is handled in largely a machine-independent
|
|
|
|
# fashion,
|
|
|
|
# * The interrupts on different systems will be handled differently.
|
|
|
|
#
|
|
|
|
# Systems with multiple GT controllers are not currently handled by this
|
|
|
|
# code.
|
|
|
|
|
2003-03-24 20:02:14 +03:00
|
|
|
defparam opt_marvell.h MPSC_CONSOLE
|
2003-03-06 01:08:18 +03:00
|
|
|
defparam opt_marvell.h GT_MPSC_DEFAULT_BAUD_RATE
|
2003-03-24 20:02:14 +03:00
|
|
|
defparam opt_marvell.h GT_MPSC_FREQUENCY GT_MPSC_CLOCK_SOURCE
|
2010-04-28 17:51:55 +04:00
|
|
|
defparam opt_marvell.h GT_MPP_WATCHDOG
|
|
|
|
defflag opt_marvell.h GT_DEVBUS GT_ECC GT_COMM GT_WATCHDOG
|
|
|
|
|
Merge thorpej-cfargs branch:
Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.
Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)
Remove unnecessary or redundant interface attributes where they're not
needed.
There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)
...and a sentinel value CFARG_EOL.
Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.
Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
2021-04-25 02:36:23 +03:00
|
|
|
device gt { [unit = -1], [offset = -1], [irq = -1] }
|
2010-04-28 17:51:55 +04:00
|
|
|
file dev/marvell/gt.c gt
|
2003-03-06 01:08:18 +03:00
|
|
|
|
2010-04-28 17:51:55 +04:00
|
|
|
# PCI Interface
|
2004-09-13 16:36:18 +04:00
|
|
|
device gtpci: pcibus
|
2010-07-13 15:16:02 +04:00
|
|
|
file dev/marvell/gtpci.c gtpci & (gtpci_gt|gtpci_mbus) needs-flag
|
2010-04-28 17:51:55 +04:00
|
|
|
attach gtpci at gt with gtpci_gt
|
|
|
|
|
|
|
|
# PCI Express Interface
|
2010-07-13 15:16:02 +04:00
|
|
|
device mvpex: pcibus
|
|
|
|
file dev/marvell/mvpex.c mvpex & (mvpex_gt|mvpex_mbus) needs-flag
|
|
|
|
attach mvpex at gt with mvpex_gt
|
2003-03-06 01:08:18 +03:00
|
|
|
|
|
|
|
# Fast ethernet
|
Merge thorpej-cfargs branch:
Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.
Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)
Remove unnecessary or redundant interface attributes where they're not
needed.
There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)
...and a sentinel value CFARG_EOL.
Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.
Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
2021-04-25 02:36:23 +03:00
|
|
|
device gfec { [port = -1], [irq = -1] }
|
2010-04-28 17:51:55 +04:00
|
|
|
attach gfec at gt
|
2003-03-06 01:08:18 +03:00
|
|
|
device gfe: ether, ifnet, arp, mii
|
2010-04-28 17:51:55 +04:00
|
|
|
attach gfe at gfec
|
|
|
|
file dev/marvell/if_gfe.c gfec | gfe
|
2003-03-06 01:08:18 +03:00
|
|
|
|
2010-04-28 17:51:55 +04:00
|
|
|
# Multi-Protocol Serial controller
|
2003-03-06 01:08:18 +03:00
|
|
|
device gtmpsc: tty
|
|
|
|
attach gtmpsc at gt
|
2010-04-28 17:51:55 +04:00
|
|
|
file dev/marvell/gtmpsc.c gtmpsc needs-flag
|
2003-03-16 10:05:33 +03:00
|
|
|
|
Merge thorpej-cfargs branch:
Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.
Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)
Remove unnecessary or redundant interface attributes where they're not
needed.
There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)
...and a sentinel value CFARG_EOL.
Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.
Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
2021-04-25 02:36:23 +03:00
|
|
|
device obio { [offset = -1], [size = 0], [irq = -1] }
|
2003-03-16 10:05:33 +03:00
|
|
|
attach obio at gt
|
2010-04-28 17:51:55 +04:00
|
|
|
file dev/marvell/obio.c obio
|
|
|
|
|
|
|
|
# Serial-ATA II Host Controller (SATAHC)
|
2010-07-13 17:05:05 +04:00
|
|
|
attach mvsata at gt with mvsata_gt
|
|
|
|
file dev/marvell/mvsata_mv.c mvsata_gt | mvsata_mbus
|
2010-04-28 17:51:55 +04:00
|
|
|
|
|
|
|
# Gigabit Ethernet Controller Interface
|
Merge thorpej-cfargs branch:
Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.
Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)
Remove unnecessary or redundant interface attributes where they're not
needed.
There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)
...and a sentinel value CFARG_EOL.
Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.
Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
2021-04-25 02:36:23 +03:00
|
|
|
device mvgbec { [port = -1], [irq = -1] }
|
2010-06-02 10:18:11 +04:00
|
|
|
attach mvgbec at gt with mvgbec_gt
|
|
|
|
device mvgbe: ether, ifnet, arp, mii
|
|
|
|
attach mvgbe at mvgbec
|
|
|
|
file dev/marvell/if_mvgbe.c mvgbec | mvgbe
|
2010-04-28 17:51:55 +04:00
|
|
|
|
|
|
|
# USB 2.0 Interface
|
2010-10-02 09:53:37 +04:00
|
|
|
attach ehci at gt with mvusb_gt
|
|
|
|
file dev/marvell/ehci_mv.c mvusb_gt | mvusb_mbus
|
2010-04-28 17:51:55 +04:00
|
|
|
|
|
|
|
# Cryptographic Engines and Security Accelerator
|
2012-07-27 07:00:01 +04:00
|
|
|
device mvcesa: opencrypto
|
|
|
|
file dev/marvell/mvcesa.c mvcesa
|
|
|
|
attach mvcesa at gt with mvcesa_gt
|
2010-04-28 17:51:55 +04:00
|
|
|
|
|
|
|
# Two-Wire Serial Interface
|
2013-09-06 04:56:12 +04:00
|
|
|
device gttwsi: i2cbus, mvi2c
|
2010-04-28 17:51:55 +04:00
|
|
|
file dev/marvell/gttwsi.c gttwsi
|
|
|
|
attach gttwsi at gt with gttwsi_gt
|
|
|
|
|
|
|
|
# UART Interface
|
2010-07-13 15:16:02 +04:00
|
|
|
attach com at gt with mvuart_gt
|
|
|
|
file dev/marvell/com_mv.c mvuart_gt | mvuart_mbus
|
2005-02-01 23:59:15 +03:00
|
|
|
|
2010-04-28 17:51:55 +04:00
|
|
|
# IDMA Controller and XOR Engine
|
2010-05-07 21:06:32 +04:00
|
|
|
device gtidmac: dmover_service
|
2010-07-11 12:34:57 +04:00
|
|
|
file dev/marvell/gtidmac.c gtidmac
|
2010-05-07 21:06:32 +04:00
|
|
|
attach gtidmac at gt with gtidmac_gt
|
2010-09-23 16:36:01 +04:00
|
|
|
|
|
|
|
# Secure Digital Input/Output (SDIO) Interface
|
|
|
|
device mvsdio: sdmmcbus
|
|
|
|
file dev/marvell/mvsdio.c mvsdio
|
|
|
|
defparam opt_mvsdio.h MVSDIO_CARD_DETECT
|
|
|
|
MVSDIO_WRITE_PROTECT
|
2013-08-25 11:08:37 +04:00
|
|
|
|
|
|
|
# SPI Serial Peripheral Interface
|
|
|
|
device mvspi: spibus
|
|
|
|
file dev/marvell/mvspi.c mvspi
|