]>
Commit | Line | Data |
---|---|---|
0833428e BS |
1 | #ifndef __NVBIOS_VOLT_H__ |
2 | #define __NVBIOS_VOLT_H__ | |
7bddeba9 MP |
3 | |
4 | enum nvbios_volt_type { | |
5 | NVBIOS_VOLT_GPIO = 0, | |
6 | NVBIOS_VOLT_PWM, | |
7 | }; | |
8 | ||
0833428e | 9 | struct nvbios_volt { |
7bddeba9 | 10 | enum nvbios_volt_type type; |
0833428e BS |
11 | u32 min; |
12 | u32 max; | |
13 | u32 base; | |
7bddeba9 MP |
14 | |
15 | /* GPIO mode */ | |
16 | u8 vidmask; | |
0833428e | 17 | s16 step; |
7bddeba9 MP |
18 | |
19 | /* PWM mode */ | |
20 | u32 pwm_freq; | |
21 | u32 pwm_range; | |
0833428e BS |
22 | }; |
23 | ||
d390b480 BS |
24 | u16 nvbios_volt_table(struct nvkm_bios *, u8 *ver, u8 *hdr, u8 *cnt, u8 *len); |
25 | u16 nvbios_volt_parse(struct nvkm_bios *, u8 *ver, u8 *hdr, u8 *cnt, u8 *len, | |
0833428e BS |
26 | struct nvbios_volt *); |
27 | ||
28 | struct nvbios_volt_entry { | |
29 | u32 voltage; | |
30 | u8 vid; | |
31 | }; | |
32 | ||
d390b480 BS |
33 | u16 nvbios_volt_entry(struct nvkm_bios *, int idx, u8 *ver, u8 *len); |
34 | u16 nvbios_volt_entry_parse(struct nvkm_bios *, int idx, u8 *ver, u8 *len, | |
0833428e | 35 | struct nvbios_volt_entry *); |
0833428e | 36 | #endif |