1 // Copyright 2017 The Fuchsia Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #pragma once 6 7 #include "zircon_device.h" 8 9 namespace audio { 10 namespace intel_hda { 11 12 class IntelHDADevice : public ZirconDevice { 13 public: 14 zx_status_t Probe(); 15 vid()16 uint16_t vid() const { return vid_; } did()17 uint16_t did() const { return did_; } ihda_vmaj()18 uint8_t ihda_vmaj() const { return ihda_vmaj_; } ihda_vmin()19 uint8_t ihda_vmin() const { return ihda_vmin_; } rev_id()20 uint8_t rev_id() const { return rev_id_; } step_id()21 uint8_t step_id() const { return step_id_; } 22 23 protected: IntelHDADevice(const char * const dev_name)24 explicit IntelHDADevice(const char* const dev_name) : ZirconDevice(dev_name) { } 25 26 uint16_t vid_ = 0u; 27 uint16_t did_ = 0u; 28 uint8_t ihda_vmaj_ = 0u; 29 uint8_t ihda_vmin_ = 0u; 30 uint8_t rev_id_ = 0u; 31 uint8_t step_id_ = 0u; 32 }; 33 34 } // namespace audio 35 } // namespace intel_hda 36