xref: /linux/drivers/gpu/nova-core/fsp/hal/gh100.rs (revision a355d8142f343cffd28ff0f97c251a0334d3c0b3)
1 // SPDX-License-Identifier: GPL-2.0
2 // SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3 
4 use kernel::io::Io;
5 
6 use crate::{
7     driver::Bar0,
8     fsp::hal::FspHal,
9     regs, //
10 };
11 
12 struct Gh100;
13 
14 /// Reads the FSP secure boot status from the Hopper/GB10x thermal scratch register.
15 pub(super) fn fsp_boot_status_gh100(bar: &Bar0) -> u32 {
16     bar.read(regs::gh100::NV_THERM_I2CS_SCRATCH_FSP_BOOT_COMPLETE)
17         .fsp_boot_complete()
18         .into()
19 }
20 
21 impl FspHal for Gh100 {
22     fn fsp_boot_status(&self, bar: &Bar0) -> u32 {
23         fsp_boot_status_gh100(bar)
24     }
25 
26     fn cot_version(&self) -> u16 {
27         1
28     }
29 }
30 
31 const GH100: Gh100 = Gh100;
32 pub(super) const GH100_HAL: &dyn FspHal = &GH100;
33