// Copyright 2020 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

library fuchsia.google.platform;

extend uint fuchsia.BIND_PLATFORM_DEV_VID {
  GOOGLE = 3,
};

extend uint fuchsia.BIND_PLATFORM_DEV_PID {
  GAUSS = 0x01,
  MACHINA = 0x02,
  ASTRO = 0x03,
  SHERLOCK = 0x05,
  CLEO = 0x06,
  EAGLE = 0x07,
  VISALIA = 0x08,
  C18 = 0x09,
  NELSON = 0x0A,
  VS680_EVK = 0x0B,
  LUIS = 0x0C,
  GOLDFISH = 0x0D,
};

extend uint fuchsia.BIND_PLATFORM_DEV_DID {
  GAUSS_AUDIO_IN = 0x01,
  GAUSS_AUDIO_OUT = 0x02,
  GAUSS_I2C_TEST = 0x03,
  GAUSS_LED = 0x04,
  ASTRO_GOODIXTOUCH = 0x05,
  GOOGLE_AMLOGIC_CPU = 0x06,
  GOLDFISH_CONTROL = 0x07,
};
