xref: /linux/drivers/gpu/nova-core/fsp/hal/gb202.rs (revision 570f7e331f5febb30f1384817463c7e42b65ca7d)
1 // SPDX-License-Identifier: GPL-2.0
2 // SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3 
4 use kernel::{
5     io::Io,
6     sizes::SizeConstants, //
7 };
8 
9 use crate::{
10     driver::Bar0,
11     fsp::hal::FspHal,
12     regs, //
13 };
14 
15 struct Gb202;
16 
17 impl FspHal for Gb202 {
18     fn fsp_boot_status(&self, bar: Bar0<'_>) -> u32 {
19         bar.read(regs::gb202::NV_THERM_I2CS_SCRATCH_FSP_BOOT_COMPLETE)
20             .fsp_boot_complete()
21             .into()
22     }
23 
24     fn cot_version(&self) -> u16 {
25         2
26     }
27 
28     fn fb_end_reserved_size(&self) -> u64 {
29         u64::SZ_2M + u64::SZ_128K
30     }
31 }
32 
33 const GB202: Gb202 = Gb202;
34 pub(super) const GB202_HAL: &dyn FspHal = &GB202;
35