blob: bd1fd17d63f9084ebb4619b8ed4a55f2c7f9731e [file] [log] [blame]
// Copyright 2018 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.
#pragma once
#include <zircon/device/ioctl-wrapper.h>
#include <zircon/device/ioctl.h>
typedef struct clk_freq_info {
char clk_name[30];
uint32_t clk_freq;
} clk_freq_info_t;
// Measure clock frequency.
#define IOCTL_CLK_MEASURE \
IOCTL(IOCTL_KIND_DEFAULT, IOCTL_FAMILY_CLK, 1)
// Get count of number of clocks.
#define IOCTL_CLK_GET_COUNT \
IOCTL(IOCTL_KIND_DEFAULT, IOCTL_FAMILY_CLK, 2)
// size_t ioctl_clk_get_count(int fd, uint32_t* count);
IOCTL_WRAPPER_OUT(ioctl_clk_get_count, IOCTL_CLK_GET_COUNT, uint32_t);
// size_t ioctl_clk_measure(int fd, uint32_t index, clk_freq_info_t* clk_info);
IOCTL_WRAPPER_INOUT(ioctl_clk_measure, IOCTL_CLK_MEASURE, uint32_t, clk_freq_info_t);