GF100+ clocks

Todo

write me

Introduction

GF100+ cards have the following clocks:

  • root clocks [RPLL1-4]: used as base for other clocks
  • host clock: clocks the host interface parts, like PFIFO
  • GPC clock [GPCPLL, clock #0]: used to clock the GPCs
  • ROP clock [ROPPLL, clock #1]: used to clock the ROPs - not present on GF108, XBAR clock used instead
  • XBAR clock [XBARPLL, clock #2]: used to clock the crossbar between GPCs and ROPs, as well as ROPs on GF108
  • core clock [NVPLL, clock #7]: clocks the core card logic
  • VM clock [clock #8]: clocks the TLBs and page table lookup circuitry
  • HUB clock [clock #9]: clocks the common part of PGRAPH, and the PCOPY engines
  • timer clock [TCLK, clock #11]: clocks the PTIMER circuitry
  • daemon clock [clock #12]: used to clock PDAEMON
  • vdec clock [clock #14]: used to clock the falcon video decoding engines
  • memory clock [MPLL, clock M]: used to clock the VRAM, one per memory partition
  • video clocks [VPLL1,VPLL2]: used to drive the video outputs

Todo

how many RPLLs are there exactly?

Todo

figure out where host clock comes from

Todo

VM clock is a guess

Todo

memory clock uses two PLLs, actually

The root clocks are set up in PNVIO area, VPLLs are set up in PDISPLAY area, the MPLLs are set up in PMCLOCK area, and the other clocks are set up in PCLOCK area.

MMIO registers

8-bit space gf100-pclock [0x8000]
gf100-mmio 0x130000: PCLOCK

Todo

write me

8-bit space gf100-pioclock [0x800]
gf100-mmio 0xe800: PIOCLOCK

Todo

write me

TCLK: timer clock

Todo

write me

DCLK: daemon clock

Todo

write me