linux/drivers/macintosh/windfarm_mpu.h
<<
>>
Prefs
   1/*
   2 * Windfarm PowerMac thermal control
   3 *
   4 * Copyright 2012 Benjamin Herrenschmidt, IBM Corp.
   5 *
   6 * Released under the term of the GNU GPL v2.
   7 */
   8
   9#ifndef __WINDFARM_MPU_H
  10#define __WINDFARM_MPU_H
  11
  12typedef unsigned short fu16;
  13typedef int fs32;
  14typedef short fs16;
  15
  16/* Definition of the MPU data structure which contains per CPU
  17 * calibration information (among others) for the G5 machines
  18 */
  19struct mpu_data
  20{
  21        u8      signature;              /* 0x00 - EEPROM sig. */
  22        u8      bytes_used;             /* 0x01 - Bytes used in eeprom (160 ?) */
  23        u8      size;                   /* 0x02 - EEPROM size (256 ?) */
  24        u8      version;                /* 0x03 - EEPROM version */
  25        u32     data_revision;          /* 0x04 - Dataset revision */
  26        u8      processor_bin_code[3];  /* 0x08 - Processor BIN code */
  27        u8      bin_code_expansion;     /* 0x0b - ??? (padding ?) */
  28        u8      processor_num;          /* 0x0c - Number of CPUs on this MPU */
  29        u8      input_mul_bus_div;      /* 0x0d - Clock input multiplier/bus divider */
  30        u8      reserved1[2];           /* 0x0e - */
  31        u32     input_clk_freq_high;    /* 0x10 - Input clock frequency high */
  32        u8      cpu_nb_target_cycles;   /* 0x14 - ??? */
  33        u8      cpu_statlat;            /* 0x15 - ??? */
  34        u8      cpu_snooplat;           /* 0x16 - ??? */
  35        u8      cpu_snoopacc;           /* 0x17 - ??? */
  36        u8      nb_paamwin;             /* 0x18 - ??? */
  37        u8      nb_statlat;             /* 0x19 - ??? */
  38        u8      nb_snooplat;            /* 0x1a - ??? */
  39        u8      nb_snoopwin;            /* 0x1b - ??? */
  40        u8      api_bus_mode;           /* 0x1c - ??? */
  41        u8      reserved2[3];           /* 0x1d - */
  42        u32     input_clk_freq_low;     /* 0x20 - Input clock frequency low */
  43        u8      processor_card_slot;    /* 0x24 - Processor card slot number */
  44        u8      reserved3[2];           /* 0x25 - */
  45        u8      padjmax;                /* 0x27 - Max power adjustment (Not in OF!) */
  46        u8      ttarget;                /* 0x28 - Target temperature */
  47        u8      tmax;                   /* 0x29 - Max temperature */
  48        u8      pmaxh;                  /* 0x2a - Max power */
  49        u8      tguardband;             /* 0x2b - Guardband temp ??? Hist. len in OSX */
  50        fs32    pid_gp;                 /* 0x2c - PID proportional gain */
  51        fs32    pid_gr;                 /* 0x30 - PID reset gain */
        
      

  d/* 0x30 - PID reset gain */5  12typedef unsi.h#L43" id="L43" clvopcode=u8" class="vopcf">u8      tm3rgetVop   an class="comment">/* 0x10 - Input clock frequency high 5/5  12typedef unsi.h#L43" id="L43" clvoplode=u8" class="voplf">u8      tm3agetVop Lpan class="comment">/* 0x20 - Input clock frequency low 5p.>
  14typ.h#L45" id="L45" clnactual_di" class="sref">unactual_di" nb3_gp/* 0x29 - Max temperature 5/5  14typ.h#L45" id="L45" clnactual_heatsink class="sref">unactual_heatsink nb3egp/* 0x29 - Max temperature 5/5  14typ.h#L45" id="L45" clnactual_sys    class="sref">unactual_sys    nb40gp/* 0x29 - Max temperature 5/5  1ef unsi.h#La>        u8    ="line" na_flag"ode=input_mul_bus_div" class="sref">in4e/* 0x29 - Max temperature 5/5  12typedef unsi.h#L43" id="L43" clmdiu8" class="sref">umdiu8"ption>
8_lookup" value="">
      

  d/* 0x27 - Max power adjustment (Not in OF!) 6/6  14typ.h#L45" id="L45" clbdiu8" class="sref">ubdiu8"ption>
8_lookup" value="">
      

  d/* 0x27 - Max power adjustment (Not in OF!) 6/6  51        utheta_heat_sinkption>
8_look="">
      

  d/* 0x29 - Max temperature 6/6  1ef unsi.h#La>        rminn_0x2ake_fa8 nb4ct_clk2ake fan    4RPM      /* 0x29 - Max temperature 6/6  1ef unsi.h#La>        rmaxn_0x2ake_fa8 nb4et_clk2ake fan  >; RPM      /* 0x29 - Max temperature 6/6  1ef unsi.h#La>        rminn_exhaust_fa8ode=input_mul_bus_div" class="sref">in5naturxhaust fan    4RPM      /* 0x29 - Max temperature 6p.
  1ef unsi.h#La>        rmaxn_exhaust_fa8ode=input_mul_bus_div" class="sref">in52aturxhaust fan  >; RPM      /* 0x29 - Max temperature 6 *>
  26        u8      partu8"      8essor_bin_code" class="sref">pr5cessor_card_slpart  ;      /* 0x29 - Max temperature 6/6  42              lotu8" class="sref">u8      lotu8" ode=input_mul_bus_div" class="sref">in5cessor_card_sl;    /* 0x24 - Processor card slot number 6/6  48        u8origef="+coer8"      inpuessul_bus_div" class="sref">in60/* 0x24 - Processor card slot number 6/6  49        u8curref="+coer8"      inpuessul_bus_div" class="sref">in70/* 0x24 - Processor card slot number 7/7  40        u8mlbcoer8"      inp8]href="+cb_snoopwin" class="sref">nb80/* 0x24 - Processor card slot number 7/7  31        nb98rved3[2];           /* 0x25 - 7/7  42        nb9crved3[2]" va;           /* 0x25 - 7/7Tot   o    =>nba0ed3[2];           /* 0x25 - 7/7/* 0x25 - 7p.
u32  "dri>  42const _mpu.h#L19" id="L19" class="line" name="L19">  19stru *L19" id="L19" cwf_="+c  1ne" name="L19">wf_="+c  1stru(13" id="L13" class=c 1ne" name="L19">c 1stru);           /* 0x25 - 7 *
72.>
udevice_nu8"stru *L19" id="L19" cne=fs32" class="snfs327/77/7stru/mpu.h#L20" id="L20" class="line" name="L20">8/8le8stru/mpu.h#L20" id="L20" class="line" name="L20">8/88   18/8   18/8;  a>; ires exa.h#@xxx uni      18p.
   7 *2.
spr"/u3@0,f8000000/i2c@f8001000/c 1id@a%d"ss="lin, id="L13" class=c 1ne" name="L19">c 1stru ? 2 : 0)/mpu.h#L20" id="L20" class="line" name="L20">8*/>
u8of_flas_nu8"_by_pathstru(45" id="L45" cln" c/mac=fs32" class="sn" c/mac    )/mpu.h#L20" id="L20" class="line" name="L20">8/8/* 0x25 - 9/99/9stru =>>        u8of_="+c    ertystru(45" id="L45" clne=fs32" class="snfs32<,L4rm_mpu.h#L1"_mplng">"c 1id"ss="lin, &id="L13" class=le8" class="sref">le8stru)n>
8_lompu.h#L20" id="L20" class="line" name="L20">9/99/9stru);           /* 0x25 - 9/99p.

   192.
   19*/
;  still urn=driv po>
  .;We know weass="line" name="L1">   19>   8>
  ss="ledoon" name="Ls="line" name="L18">  18 *0PU_H
<
0   7 10  11
0stru/mpu.h#L20" id="L20" class="line" name="L20">10u16;
010s32;
0/* 0x25 - 10s16;
0 define    7 10  15
0
  

id="search_rehref="dfoosme">
Tmenorigi    LXR softwareebylmmen" name="Lhttp://source="cge.net/projects/lxe">LXR lassuni ys32<,L   lxe@lect>.nos32<.
id="seach_rehref="dsubfoosme">
lxe.lect>.no kassly mostedobyl" name="Lhttp://www.redpill-lecpro.no">Redpill Lecpro ASs32<,Lproass="cof LecuxLcons>;  ng a;  o        s oervices since 1995.
id="searc/bodyeac/html