| /* SPDX-License-Identifier: GPL-2.0-only */ |
| /* |
| * Copyright (c) 2022, NVIDIA Corporation. |
| */ |
| |
| #ifndef DRM_TEGRA_RISCV_H |
| #define DRM_TEGRA_RISCV_H |
| |
| struct tegra_drm_riscv_descriptor { |
| u32 manifest_offset; |
| u32 code_offset; |
| u32 code_size; |
| u32 data_offset; |
| u32 data_size; |
| }; |
| |
| struct tegra_drm_riscv { |
| /* User initializes */ |
| struct device *dev; |
| void __iomem *regs; |
| |
| struct tegra_drm_riscv_descriptor bl_desc; |
| struct tegra_drm_riscv_descriptor os_desc; |
| }; |
| |
| int tegra_drm_riscv_read_descriptors(struct tegra_drm_riscv *riscv); |
| int tegra_drm_riscv_boot_bootrom(struct tegra_drm_riscv *riscv, phys_addr_t image_address, |
| u32 gscid, const struct tegra_drm_riscv_descriptor *desc); |
| |
| #endif |