123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- /*
- * Copyright (c) 2016, NVIDIA CORPORATION.
- *
- * SPDX-License-Identifier: GPL-2.0
- */
- #ifndef __SANDBOX_CLK_H
- #define __SANDBOX_CLK_H
- #include <common.h>
- struct udevice;
- /**
- * enum sandbox_clk_id - Identity of clocks implemented by the sandbox clock
- * provider.
- *
- * These IDs are within/relative-to the clock provider.
- */
- enum sandbox_clk_id {
- SANDBOX_CLK_ID_SPI,
- SANDBOX_CLK_ID_I2C,
- SANDBOX_CLK_ID_COUNT,
- };
- /**
- * enum sandbox_clk_test_id - Identity of the clocks consumed by the sandbox
- * clock test device.
- *
- * These are the IDs the clock consumer knows the clocks as.
- */
- enum sandbox_clk_test_id {
- SANDBOX_CLK_TEST_ID_FIXED,
- SANDBOX_CLK_TEST_ID_SPI,
- SANDBOX_CLK_TEST_ID_I2C,
- SANDBOX_CLK_TEST_ID_COUNT,
- };
- /**
- * sandbox_clk_query_rate - Query the current rate of a sandbox clock.
- *
- * @dev: The sandbox clock provider device.
- * @id: The clock to query.
- * @return: The rate of the clock.
- */
- ulong sandbox_clk_query_rate(struct udevice *dev, int id);
- /**
- * sandbox_clk_query_enable - Query the enable state of a sandbox clock.
- *
- * @dev: The sandbox clock provider device.
- * @id: The clock to query.
- * @return: The rate of the clock.
- */
- int sandbox_clk_query_enable(struct udevice *dev, int id);
- /**
- * sandbox_clk_test_get - Ask the sandbox clock test device to request its
- * clocks.
- *
- * @dev: The sandbox clock test (client) devivce.
- * @return: 0 if OK, or a negative error code.
- */
- int sandbox_clk_test_get(struct udevice *dev);
- /**
- * sandbox_clk_test_get_rate - Ask the sandbox clock test device to query a
- * clock's rate.
- *
- * @dev: The sandbox clock test (client) devivce.
- * @id: The test device's clock ID to query.
- * @return: The rate of the clock.
- */
- ulong sandbox_clk_test_get_rate(struct udevice *dev, int id);
- /**
- * sandbox_clk_test_set_rate - Ask the sandbox clock test device to set a
- * clock's rate.
- *
- * @dev: The sandbox clock test (client) devivce.
- * @id: The test device's clock ID to configure.
- * @return: The new rate of the clock.
- */
- ulong sandbox_clk_test_set_rate(struct udevice *dev, int id, ulong rate);
- /**
- * sandbox_clk_test_enable - Ask the sandbox clock test device to enable a
- * clock.
- *
- * @dev: The sandbox clock test (client) devivce.
- * @id: The test device's clock ID to configure.
- * @return: 0 if OK, or a negative error code.
- */
- int sandbox_clk_test_enable(struct udevice *dev, int id);
- /**
- * sandbox_clk_test_disable - Ask the sandbox clock test device to disable a
- * clock.
- *
- * @dev: The sandbox clock test (client) devivce.
- * @id: The test device's clock ID to configure.
- * @return: 0 if OK, or a negative error code.
- */
- int sandbox_clk_test_disable(struct udevice *dev, int id);
- /**
- * sandbox_clk_test_free - Ask the sandbox clock test device to free its
- * clocks.
- *
- * @dev: The sandbox clock test (client) devivce.
- * @return: 0 if OK, or a negative error code.
- */
- int sandbox_clk_test_free(struct udevice *dev);
- #endif
|