Hi Paul,
I'm still working on moving things from the mainboard directories into the wrapper. I've got fixes pending right now for the fan control and SPD reads that I should get submitted later this week. Beyond that, I've got plans for agesawrapper.c, acpi_tables.c, get_bus_conf.c, irq_tables.c, and parts of buildopts.c and PlatformGnbPcie.c.

I also plan to roll these changes back to some of the previous AGESA/CIMX versions.

Martin


On 01/22/2013 04:41 PM, Paul Menzel wrote:
Dear coreboot folks,


after

         $ git show --stat 2892023fd422794bb82658dde3e8d489af2bdd55
         commit 2892023fd422794bb82658dde3e8d489af2bdd55
         Author: Martin Roth <[email protected]>
         Date:   Thu Jan 17 12:04:08 2013 -0700

             AGESA F15tn: Move callouts into northbridge wrapper
There are currently too many things in the mainboard directories that
             are really more suited to being in the northbridge / southbridge
             wrappers.  This is a start at moving some of those functions down
             into the wrappers.

             Move the bios callback functions into the 
northbridge/amd/agesa/family15tn
             directory from the mainboard directories.  These can still be 
overridden
             by any mainboard just by updating the pointer in the callback 
table to
             point to a customized version of the function.

             Change-Id: Icefaa014f4a4abbe51870aee7aa2fa1164e324c1
             Signed-off-by: Martin Roth <[email protected]>
             Reviewed-on: http://review.coreboot.org/2169
             Tested-by: build bot (Jenkins)
             Reviewed-by: Marc Jones <[email protected]>

          src/mainboard/amd/parmer/BiosCallOuts.c                 |  464 
++-------------------------------------------------------------------------
          src/mainboard/amd/parmer/BiosCallOuts.h                 |   55 
+--------
          src/mainboard/amd/thatcher/BiosCallOuts.c               |  464 
++-------------------------------------------------------------------------
          src/mainboard/amd/thatcher/BiosCallOuts.h               |   55 
+--------
          src/northbridge/amd/agesa/family15tn/Makefile.inc       |    4 +
          src/northbridge/amd/agesa/family15tn/fam15tn_callouts.c |  405 
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
          src/northbridge/amd/agesa/family15tn/fam15tn_callouts.h |   53 
+++++++++

the following differences remain.

         $ diff -u src/mainboard/amd/{parmer,thatcher}/BiosCallOuts.c
         --- src/mainboard/amd/parmer/BiosCallOuts.c    2013-01-23 
00:25:21.150153420 +0100
         +++ src/mainboard/amd/thatcher/BiosCallOuts.c  2013-01-23 
00:25:21.150153420 +0100
         @@ -72,9 +72,9 @@
          }

          /**
         - * AMD Parmer Platform ALC272 Verb Table
         + * AMD Thatcher Platform ALC272 Verb Table
           */
         -const CODEC_ENTRY Parmer_Alc272_VerbTbl[] = {
         +const CODEC_ENTRY Thatcher_Alc272_VerbTbl[] = {
                {0x11, 0x411111F0},
                {0x12, 0x411111F0},
                {0x13, 0x411111F0},
         @@ -92,9 +92,9 @@
                {0xff, 0xffffffff}
          };

         -const CODEC_TBL_LIST ParmerCodecTableList[] =
         +const CODEC_TBL_LIST ThatcherCodecTableList[] =
          {
         -      {0x10ec0272, (CODEC_ENTRY*)&Parmer_Alc272_VerbTbl[0]},
         +      {0x10ec0272, (CODEC_ENTRY*)&Thatcher_Alc272_VerbTbl[0]},
                {(UINT32)0x0FFFFFFFF, (CODEC_ENTRY*)0x0FFFFFFFFUL}
          };

Could these objects be named the same?

         @@ -165,33 +165,33 @@
                /* Thermal Zone Parameter */
                FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg0 = 0x00;
                FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg1 = 0x00; /* Zone */
         -      FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg2 = 0x00; //BIT0 | 
BIT2 | BIT5;
         -      FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg3 = 0x00;//6 | BIT3;
         +      FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg2 = 0x35; //BIT0 | 
BIT2 | BIT5;
         +      FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg3 = 0x0E;//6 | BIT3;
                FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg4 = 0x00;
         -      FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg5 = 0x00;
         +      FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg5 = 0x54;
                FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg6 = 0x98; /* SMBUS 
Address for SMBUS based temperature sensor such as SB-TSI and ADM1032 */
                FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg7 = 2;
         -      FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg8 = 0;    /* PWM 
steping rate in unit of PWM level percentage */
         +      FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg8 = 1;    /* PWM 
steping rate in unit of PWM level percentage */
                FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg9 = 0;

                /* IMC Fan Policy temperature thresholds */
                FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg0 = 0x00;
                FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg1 = 0x00; /* Zone */
         -      FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg2 = 0;///80;      
/*AC0 threshold in Celsius */
         -      FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg3 = 0;    /*AC1 
threshold in Celsius */
         +      FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg2 = 105;///80;    
/*AC0 threshold in Celsius */
         +      FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg3 = 60;   /*AC1 
threshold in Celsius */
                FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg4 = 0;    /*AC2 
threshold in Celsius */
                FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg5 = 0;    /*AC3 
threshold in Celsius, 0xFF is not define */
                FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg6 = 0;    /*AC4 
threshold in Celsius, 0xFF is not define */
                FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg7 = 0;    /*AC5 
threshold in Celsius, 0xFF is not define */
                FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg8 = 0;    /*AC6 
threshold in Celsius, 0xFF is not define */
                FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg9 = 0;    /*AC7 
lowest threshold in Celsius, 0xFF is not define */
         -      FchParams->Imc.EcStruct.MsgFun83Zone0MsgRegA = 0;    /*critical 
threshold* in Celsius, 0xFF is not define */
         +      FchParams->Imc.EcStruct.MsgFun83Zone0MsgRegA = 105;  /*critical 
threshold* in Celsius, 0xFF is not define */
                FchParams->Imc.EcStruct.MsgFun83Zone0MsgRegB = 0x00;

                /* IMC Fan Policy PWM Settings */
                FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg0 = 0x00;
                FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg1 = 0x00; /* Zone */
         -      FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg2 = 0;    /* AL0 
percentage */
         +      FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg2 = 100;  /* AL0 
percentage */
                FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg3 = 0;    /* AL1 
percentage */
                FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg4 = 0;    /* AL2 
percentage */
                FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg5 = 0x00; /* AL3 
percentage */
         @@ -205,10 +205,10 @@
                FchParams->Imc.EcStruct.MsgFun81Zone1MsgReg2 = 0x55;//BIT0 | 
BIT2 | BIT5;
                FchParams->Imc.EcStruct.MsgFun81Zone1MsgReg3 = 0x17;
                FchParams->Imc.EcStruct.MsgFun81Zone1MsgReg4 = 0x00;
         -      FchParams->Imc.EcStruct.MsgFun81Zone1MsgReg5 = 0x00;
         +      FchParams->Imc.EcStruct.MsgFun81Zone1MsgReg5 = 0x54;
                FchParams->Imc.EcStruct.MsgFun81Zone1MsgReg6 = 0x90; /* SMBUS 
Address for SMBUS based temperature sensor such as SB-TSI and ADM1032 */
                FchParams->Imc.EcStruct.MsgFun81Zone1MsgReg7 = 0;
         -      FchParams->Imc.EcStruct.MsgFun81Zone1MsgReg8 = 0;    /* PWM 
steping rate in unit of PWM level percentage */
         +      FchParams->Imc.EcStruct.MsgFun81Zone1MsgReg8 = 1;    /* PWM 
steping rate in unit of PWM level percentage */
                FchParams->Imc.EcStruct.MsgFun81Zone1MsgReg9 = 0;

                FchParams->Imc.EcStruct.MsgFun83Zone1MsgReg0 = 0x00;
         @@ -221,12 +221,12 @@
                FchParams->Imc.EcStruct.MsgFun83Zone1MsgReg7 = 0;    /*AC5 
threshold in Celsius, 0xFF is not define */
                FchParams->Imc.EcStruct.MsgFun83Zone1MsgReg8 = 0;    /*AC6 
threshold in Celsius, 0xFF is not define */
                FchParams->Imc.EcStruct.MsgFun83Zone1MsgReg9 = 0;    /*AC7 
lowest threshold in Celsius, 0xFF is not define */
         -      FchParams->Imc.EcStruct.MsgFun83Zone1MsgRegA = 0;    /*critical 
threshold* in Celsius, 0xFF is not define */
         +      FchParams->Imc.EcStruct.MsgFun83Zone1MsgRegA = 80;   /*critical 
threshold* in Celsius, 0xFF is not define */
                FchParams->Imc.EcStruct.MsgFun83Zone1MsgRegB = 0x00;

                FchParams->Imc.EcStruct.MsgFun85Zone1MsgReg0 = 0x00;
                FchParams->Imc.EcStruct.MsgFun85Zone1MsgReg1 = 0x01; /*Zone */
         -      FchParams->Imc.EcStruct.MsgFun85Zone1MsgReg2 = 0;    /* AL0 
percentage */
         +      FchParams->Imc.EcStruct.MsgFun85Zone1MsgReg2 = 100;  /* AL0 
percentage */
                FchParams->Imc.EcStruct.MsgFun85Zone1MsgReg3 = 0;    /* AL1 
percentage */
                FchParams->Imc.EcStruct.MsgFun85Zone1MsgReg4 = 0;    /* AL2 
percentage */
                FchParams->Imc.EcStruct.MsgFun85Zone1MsgReg5 = 0x00; /* AL3 
percentage */

In Parmer most of this stuff seems to be set to 0. Do the values in
Thatcher's file be used for Parmer too?

         @@ -296,13 +296,15 @@
                        printk(BIOS_DEBUG, "Fch OEM config in INIT ENV ");

                        /* Azalia Controller OEM Codec Table Pointer */
         -              FchParams_env->Azalia.AzaliaOemCodecTablePtr = 
(CODEC_TBL_LIST *)(&ParmerCodecTableList[0]);
         +              FchParams_env->Azalia.AzaliaOemCodecTablePtr = 
(CODEC_TBL_LIST *)(&ThatcherCodecTableList[0]);
                        /* Azalia Controller Front Panel OEM Table Pointer */

                        /* Fan Control */
                        oem_fan_control(FchParams_env);

         -              /* sata configuration */
         +              /* XHCI configuration */
         +              FchParams_env->Usb.Xhci0Enable = FALSE;
         +              FchParams_env->Usb.Xhci1Enable = FALSE;

Does the Parmer board have XHCI?

                }
                printk(BIOS_DEBUG, "Done\n");

So if there are no problems with that, first a patch to unify the object
names should be made, then one to use Thatcher's values for Parmer too
and then moving everything to the northbridge directory.


Thanks,

Paul



-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to