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