Linux Audio
Check our new training course
Embedded Linux Audio
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
/* SPDX-License-Identifier: GPL-2.0 */ /* * Copyright (c) 2018, NVIDIA CORPORATION. */ #ifndef __FIRMWARE_TEGRA_BPMP_PRIVATE_H #define __FIRMWARE_TEGRA_BPMP_PRIVATE_H #include <soc/tegra/bpmp.h> struct tegra_bpmp_ops { int (*init)(struct tegra_bpmp *bpmp); void (*deinit)(struct tegra_bpmp *bpmp); bool (*is_response_ready)(struct tegra_bpmp_channel *channel); bool (*is_request_ready)(struct tegra_bpmp_channel *channel); int (*ack_response)(struct tegra_bpmp_channel *channel); int (*ack_request)(struct tegra_bpmp_channel *channel); bool (*is_response_channel_free)(struct tegra_bpmp_channel *channel); bool (*is_request_channel_free)(struct tegra_bpmp_channel *channel); int (*post_response)(struct tegra_bpmp_channel *channel); int (*post_request)(struct tegra_bpmp_channel *channel); int (*ring_doorbell)(struct tegra_bpmp *bpmp); int (*resume)(struct tegra_bpmp *bpmp); }; #if IS_ENABLED(CONFIG_ARCH_TEGRA_186_SOC) || \ IS_ENABLED(CONFIG_ARCH_TEGRA_194_SOC) extern const struct tegra_bpmp_ops tegra186_bpmp_ops; #endif #if IS_ENABLED(CONFIG_ARCH_TEGRA_210_SOC) extern const struct tegra_bpmp_ops tegra210_bpmp_ops; #endif #endif