NetBSD/sys/dev/marvell/files.discovery

98 lines
2.9 KiB
Plaintext
Raw Normal View History

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 $
#
# 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.
#
# 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
# 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.
defparam opt_marvell.h MPSC_CONSOLE
defparam opt_marvell.h GT_MPSC_DEFAULT_BAUD_RATE
defparam opt_marvell.h GT_MPSC_FREQUENCY GT_MPSC_CLOCK_SOURCE
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] }
file dev/marvell/gt.c gt
# PCI Interface
device gtpci: pcibus
file dev/marvell/gtpci.c gtpci & (gtpci_gt|gtpci_mbus) needs-flag
attach gtpci at gt with gtpci_gt
# PCI Express Interface
device mvpex: pcibus
file dev/marvell/mvpex.c mvpex & (mvpex_gt|mvpex_mbus) needs-flag
attach mvpex at gt with mvpex_gt
# 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] }
attach gfec at gt
device gfe: ether, ifnet, arp, mii
attach gfe at gfec
file dev/marvell/if_gfe.c gfec | gfe
# Multi-Protocol Serial controller
device gtmpsc: tty
attach gtmpsc at gt
file dev/marvell/gtmpsc.c gtmpsc needs-flag
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] }
attach obio at gt
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
# 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] }
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
# USB 2.0 Interface
attach ehci at gt with mvusb_gt
file dev/marvell/ehci_mv.c mvusb_gt | mvusb_mbus
# Cryptographic Engines and Security Accelerator
device mvcesa: opencrypto
file dev/marvell/mvcesa.c mvcesa
attach mvcesa at gt with mvcesa_gt
# Two-Wire Serial Interface
device gttwsi: i2cbus, mvi2c
file dev/marvell/gttwsi.c gttwsi
attach gttwsi at gt with gttwsi_gt
# UART Interface
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
# IDMA Controller and XOR Engine
2010-05-07 21:06:32 +04:00
device gtidmac: dmover_service
file dev/marvell/gtidmac.c gtidmac
2010-05-07 21:06:32 +04:00
attach gtidmac at gt with gtidmac_gt
# 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
# SPI Serial Peripheral Interface
device mvspi: spibus
file dev/marvell/mvspi.c mvspi