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 9namespace audio { 10namespace intel_hda { 11 12class IntelHDADevice : public ZirconDevice { 13public: 14 zx_status_t Probe(); 15 16 uint16_t vid() const { return vid_; } 17 uint16_t did() const { return did_; } 18 uint8_t ihda_vmaj() const { return ihda_vmaj_; } 19 uint8_t ihda_vmin() const { return ihda_vmin_; } 20 uint8_t rev_id() const { return rev_id_; } 21 uint8_t step_id() const { return step_id_; } 22 23protected: 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