# SPDX-License-Identifier: GPL-2.0
#
# This is the device definition for the Google Spherion Chromebook.
# The filename "google,spherion" comes from the Devicetree compatible, so this
# file will be automatically used when the test is run on that machine.
#
# The top-level is a list of controllers, either for USB or PCI(e).
# Every controller needs to have a 'type' key set to either 'usb-controller' or
# 'pci-controller'.
# Every controller needs to be uniquely identified on the platform. To achieve
# this, several optional keys can be used:
# - dt-mmio: identify the MMIO address of the controller as defined in the
#   Devicetree.
# - of-fullname-regex: regular expression to match against the OF_FULLNAME
#   property. Useful when the controller's address is not unique across other
#   sibling controllers. In this case, dt-mmio can't be used, and this property
#   allows the matching to include parent nodes as well to make it unique.
# - usb-version: for USB controllers to differentiate between USB3 and USB2
#   buses sharing the same controller.
# - acpi-uid: _UID property of the controller as supplied by the ACPI. Useful to
#   distinguish between multiple PCI host controllers.
#
# The 'devices' key defines a list of devices that are accessible under that
# controller. A device might be a leaf device or another controller (see
# 'Dell Inc.,XPS 13 9300.yaml').
#
# The 'path' key is needed for every child device (that is, not top-level) to
# define how to reach this device from the parent controller. For USB devices it
# follows the format \d(.\d)* and denotes the port in the hub at each level in
# the USB topology. For PCI devices it follows the format \d.\d(/\d.\d)*
# denoting the device (identified by device-function pair) at each level in the
# PCI topology.
#
# The 'name' key is used in the leaf devices to name the device for clarity in
# the test output.
#
# For USB leaf devices, the 'interfaces' key should contain a list of the
# interfaces in that device that should be bound to a driver.
#
- type: usb-controller
  dt-mmio: 11200000
  usb-version: 2
  devices:
    - path: 1.4.1
      interfaces: [0, 1]
      name: camera
    - path: 1.4.2
      interfaces: [0, 1]
      name: bluetooth
- type: pci-controller
  dt-mmio: 11230000
  devices:
    - path: 0.0/0.0
      name: wifi
