blob: fbeb2cd5431e09916fca6b1271db6eeeb89b5600 [file] [log] [blame] [edit]
// Copyright 2021 The ChromiumOS Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef RMAD_UTILS_CBI_UTILS_H_
#define RMAD_UTILS_CBI_UTILS_H_
#include <string>
namespace rmad {
class CbiUtils {
public:
CbiUtils() = default;
virtual ~CbiUtils() = default;
// Get the sku id of the device from cbi.
virtual bool GetSkuId(uint32_t* sku_id) const = 0;
// Get the dram part number of the device from cbi.
virtual bool GetDramPartNum(std::string* dram_part_num) const = 0;
// Get the second source factory cache of the device from cbi.
virtual bool GetSsfc(uint32_t* ssfc) const = 0;
// Get the firmware config of the device from cbi.
virtual bool GetFirmwareConfig(uint32_t* firmware_config) const = 0;
// Set the sku id of the device to cbi.
virtual bool SetSkuId(uint32_t sku_id) = 0;
// Set the dram part number of the device to cbi.
virtual bool SetDramPartNum(const std::string& dram_part_num) = 0;
// Set the second source factory cache of the device to cbi.
virtual bool SetSsfc(uint32_t ssfc) = 0;
// Set the firmware config of the device to cbi.
virtual bool SetFirmwareConfig(uint32_t firmware_config) = 0;
};
} // namespace rmad
#endif // RMAD_UTILS_CBI_UTILS_H_