参考usb.sd,usb.uni,usbpolicy.h

crb.sb:

#ifdef ADVANCED_FORM_SET
#ifdef FORM_SET_TYPEDEF
#pragma pack(1)
typedef struct {UINT8   PowerledMode;UINT8  GpioNum;
} POWERLED_CONFIGURATION;
#endif#ifdef FORM_SET_VARSTOREvarstore POWERLED_CONFIGURATION,key   = AUTO_ID(POWERLED_CONFIGURATION_KEY),name  = PowerledConfiguration,guid  = SETUP_GUID;#endif#ifdef FORM_SET_ITEM// Define controls to be added to the main page of the formset#endif#ifdef FORM_SET_GOTO// Define goto commands for the forms defined in this file
//        goto CRB_FORM_ID,
//            prompt = STRING_TOKEN(STR_CRB_FORM),
//            help = STRING_TOKEN(STR_CRB_FORM_HELP);goto POWERLED_CONFIG_FORM_ID,prompt  = STRING_TOKEN(STR_POWERLED_CONFIGURATION),help    = STRING_TOKEN(STR_POWERLED_CONFIGURATION_HELP);#endif#ifdef FORM_SET_FORM// Define formsform formid = AUTO_ID(POWERLED_CONFIG_FORM_ID),title = STRING_TOKEN(STR_POWERLED_CONFIGURATION);SUBTITLE(STRING_TOKEN(STR_POWERLED_CONFIGURATION))SEPARATORgrayoutif ideqval SYSTEM_ACCESS.Access == SYSTEM_PASSWORD_USER;oneof varid     = POWERLED_CONFIGURATION.PowerledMode,prompt      = STRING_TOKEN(STR_POWERLED_CONTROL),help        = STRING_TOKEN(STR_POWERLED_CONFIGURATION_HELP),option text = STRING_TOKEN(STR_POWERLED_ENABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;option text = STRING_TOKEN(STR_POWERLED_DISABLED),   value = 1, flags = RESET_REQUIRED;option text = STRING_TOKEN(STR_POWERLED_BLINK),    value = 2, flags = RESET_REQUIRED;endoneof;endif;//   CRB_CHECKBOX_CRBTESTendform;  // CRB_FORM_ID#endif  // FORM_SET_FORM#endif  // ADVANCED_FORM_SET

crb.uni:

#string STR_POWERLED_CONFIGURATION           #language eng "Power led Configuration"
#string STR_POWERLED_CONFIGURATION_HELP      #language eng "Power led Configuration"
#string STR_POWERLED_CONTROL                 #language eng "Power led Control"
#string STR_POWERLED_ENABLED                 #language eng "Enabled"
#string STR_POWERLED_DISABLED                #language eng "Disabled"
#string STR_POWERLED_BLINK                   #language eng "Blink"
#string STR_EMPTY                            #language eng ""

crbpei.c

#include <Efi.h>
#include <Pei.h>
#include <Token.h>
#include <AmiPeiLib.h>
#include <Library/PeiServicesLib.h>
#include <AmiCspLib.h>
#include <Ppi\Smbus2.h>
//#include <Ppi\CrbInfo.h>
#include <Library\BaseMemoryLib.h>
//#define IT8772E_CONFIG_INDEX    0x2E
//#define IT8772E_CONFIG_DATA     0x2F
EFI_STATUS EFIAPI PowerledPeiInit (IN       EFI_PEI_FILE_HANDLE   FileHandle,IN CONST EFI_PEI_SERVICES     **PeiServices )
{EFI_STATUS              Status = EFI_SUCCESS;UINTN                    VarSize;EFI_PEI_READ_ONLY_VARIABLE2_PPI *VariableServices;SETUP_DATA               PowerledConfiguration;EFI_GUID gSetupVariableGuid = { 0xEC87D643, 0xEBA4, 0x4BB5, { 0xA1, 0xE5, 0x3F, 0x3E, 0x36, 0xB2, 0x0D, 0xA9 }};VarSize = sizeof (SETUP_DATA);Status = PeiServicesLocatePpi (&gEfiPeiReadOnlyVariable2PpiGuid,0,NULL,&VariableServices);if (EFI_ERROR(Status)) {return EFI_NOT_FOUND;}Status = VariableServices->GetVariable (VariableServices,L"Setup",&gSetupVariableGuid,NULL,&VarSize,&PowerledConfiguration);switch(PowerledConfiguration.PowerledMode){case 0: //IoWrite8(0x70,0x51);//IoWrite8(0x71,0x88);break;  // Enablecase 1://config entryIoWrite8(0x70,0x52);IoWrite8(0x71,0x77);IoWrite8(IT8772E_CONFIG_INDEX,0x87);IoWrite8(IT8772E_CONFIG_INDEX,0x01);IoWrite8(IT8772E_CONFIG_INDEX,0x55);IoWrite8(IT8772E_CONFIG_INDEX,0x55);IoWrite8(IT8772E_CONFIG_INDEX,0x07);//LDN locateIoWrite8(IT8772E_CONFIG_DATA,0x07);//Select GPIOIoWrite8(IT8772E_CONFIG_INDEX,0x26);//config GP22IoWrite8(IT8772E_CONFIG_DATA,0xF7);IoWrite8(IT8772E_CONFIG_INDEX,0xC1);//enable GPIOIoWrite8(IT8772E_CONFIG_DATA,0x04);IoWrite8(IT8772E_CONFIG_INDEX,0xC9);//enable GPIO as output modeIoWrite8(IT8772E_CONFIG_DATA,0x04);IoWrite8(0xA01,0xFB);//Powled suppressbreak;//endcase 2://config entry//    IoWrite8(0x70,0x53);//  IoWrite8(0x71,0x99);IoWrite8(IT8772E_CONFIG_INDEX,0x87);IoWrite8(IT8772E_CONFIG_INDEX,0x01);IoWrite8(IT8772E_CONFIG_INDEX,0x55);IoWrite8(IT8772E_CONFIG_INDEX,0x55);IoWrite8(IT8772E_CONFIG_INDEX,0x07);//LDN locateIoWrite8(IT8772E_CONFIG_DATA,0x07);//Select GPIOIoWrite8(IT8772E_CONFIG_INDEX,0x26);//config GP22IoWrite8(IT8772E_CONFIG_DATA,0xF7);IoWrite8(IT8772E_CONFIG_INDEX,0xC1);//enable GPIOIoWrite8(IT8772E_CONFIG_DATA,0x00);IoWrite8(IT8772E_CONFIG_INDEX,0xC9);//enable GPIO as output modeIoWrite8(IT8772E_CONFIG_DATA,0x00);IoWrite8(IT8772E_CONFIG_INDEX,0xF8);//BlinkIoWrite8(IT8772E_CONFIG_DATA,0x12);break;//IoWrite8(0xA01,0xFF);//Powled bright//end//    }}return EFI_SUCCESS;}

【AMI BIOS入门】添加item-POWERLED_CONFIGURATION相关推荐

  1. AMI BIOS开机LOGO添加分离过程

    对于老版本的AMI BIOS,即8.0版本以前的BIOS:要添加/分离BIOS中的开机LOGO图片,使用AMIBCP75即可方便添加/分离:但对于8.0以上版本的AMI BIOS,虽然也可使用AMIB ...

  2. 【整理】EFI/UEFI BIOS 入门 : All For Beginners

    EFI/UEFI BIOS 入门 : All For Beginners 写在前面 我们已经使用BIOS超过了二十年.可是直到今天还有许多朋友不知道BIOS到底是什么,以及它主要做些什么事情,它在整个 ...

  3. Android 高级UI设计笔记20:RecyclerView 的详解之RecyclerView添加Item点击事件

    1. 引言: RecyclerView侧重的是布局的灵活性,虽说可以替代ListView但是连基本的点击事件都没有,这篇文章就来详细讲解如何为RecyclerView的item添加点击事件,顺便复习一 ...

  4. jMenu 不添加item 直接自己添加监听actionPerformed不行mousePressed可以

    jMenu 不添加item 直接自己添加监听 actionPerformed不行mousePressed可以 看下API应该有详细介绍 转载于:https://www.cnblogs.com/hual ...

  5. Windows系统安装之 BIOS篇(AMI BIOS)

    前言 前段时间有一个小伙伴让我重新安装了下Windows系统.后来硬盘坏掉了,导致系统无法启动,我进行了一系列的问题定位. 操作流程 首先,了解了BIOS的几种基本类型,类型决定了查找手册和使用的方向 ...

  6. afuwin64教程_afuwin64位|AMI BIOS写入工具(AFUWIN)下载v4.48 免费版 附使用教程 - 欧普软件下载...

    afuwin64位是一款专业的AMI BIOS写入工具,目前支持64位系统,可以使用命令行和图形用户界面更新系统的bios工具,拥有相同的命令行参数和性能,适用于AMIBIOS核心 7.xx或AMIB ...

  7. 计算机amibios设置教程,AMI BIOS,详细教您刷新ami bios

    bios是电脑中的基本输入输出设备.我们大家都知道它在电脑里起到里最基础而又最重要的作用.是电脑中最基础的程序把这一段不用供电的芯片当中,这就是我们大家平常口中的bios.那么你们知道ami bios ...

  8. ami bios设置图解

    花了几个星期的时间终于把这个文章完全写玩了,呵呵.于是迫不及待的传上来!文章很长,看上去有一点累,但是我也是为了所有的读者都能看懂,而且尽量讲的详细一些,(想必这应该是国内目前最完善的Bios教程吧! ...

  9. 计算机amibios设置教程,主编教您ami bios刷新步骤

    我们都知道bios在计算机中起着最基础而又最为重要的作用,是电脑中最基础的程序把这一段不用供电的芯片当中,而这就是我们平常口中的bios.那么该怎么刷ami bios呢?想知道详细的操作流程吗?那么就 ...

最新文章

  1. 谷歌BERT预训练源码解析(二):模型构建
  2. 不支持打开非业务域名htts:....请重新配置
  3. 【基础算法】二分法(二分答案,二分查找),三分法,Dinkelbach算法,算法详解+例题剖析
  4. 谷歌Colab也搞“超级会员”,普通会员云GPU被降级,想用高端得加钱
  5. java arguments_命令行中执行带参数的java程序(Command-Line Arguments)
  6. android绘制环形进度_Android实现环形进度条代码
  7. JavaScript小技巧一
  8. android继承父类的界面,Android调用父类方法,进行子界面刷新
  9. 雷,大学教科书竟然使用番茄花园盗版系统
  10. 组织文化运营_组织可以从开放文化和技术中学到什么
  11. WPS中的公式编辑器如何打空格
  12. java 递归层级拼接_使用递归方法拼接层级树
  13. OPENSTACK超售比例之VCPU
  14. 六、DDE服务器函数
  15. 边缘计算一看就懂:真的很形象
  16. 如何开发一个植物识别,人工智能植物识别系统毕业设计毕设作品
  17. Windows 11 下 Virtualbox 6.1.34 出现 End kernel panic - not syncing: attempted to kill the idle task
  18. 国际空间站ISS SSTV 2018 OCT
  19. 四轮转向系统横摆角速度控制simulink仿真模型,利用滑模控制算法,基于八自由度车辆模型
  20. MakeItTalk用一段语音让一张照片动起来

热门文章

  1. 结婚证件照的拍摄要求有哪些
  2. 计算机组成原理|第二章(笔记)
  3. 如何在Word中插入几何画板图形
  4. 常见微服务框架和对比分析
  5. ios测试版软件闪退,【已解决】某iOS的app大面积发生问题一打开就闪退
  6. 房子让80后成为垮掉的一代
  7. 手机上的指南针怎么用?分享两个指南针使用方法给你
  8. XP Mode 虛擬機器 for Windows 7
  9. Oracle v$session v$active_session_history dba_hist_active_sess_history
  10. ffmpeg分割视频,制作gif图,加水印、去水印,视频拼接