CN112069102B - Gpio控制器配置方法和*** - Google Patents

Gpio控制器配置方法和*** Download PDF

Info

Publication number
CN112069102B
CN112069102B CN202010923798.2A CN202010923798A CN112069102B CN 112069102 B CN112069102 B CN 112069102B CN 202010923798 A CN202010923798 A CN 202010923798A CN 112069102 B CN112069102 B CN 112069102B
Authority
CN
China
Prior art keywords
target
gpio controller
configuration information
attribute
gpio
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010923798.2A
Other languages
English (en)
Other versions
CN112069102A (zh
Inventor
高翔
李雪峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Loongson Technology Corp Ltd
Original Assignee
Loongson Technology Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Loongson Technology Corp Ltd filed Critical Loongson Technology Corp Ltd
Priority to CN202010923798.2A priority Critical patent/CN112069102B/zh
Publication of CN112069102A publication Critical patent/CN112069102A/zh
Application granted granted Critical
Publication of CN112069102B publication Critical patent/CN112069102B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例提供了一种GPIO控制器配置方法和***,包括:当初始化目标GPIO控制器时,获取所述目标GPIO控制器对应的目标设备标识;从ACPI表中调取与所述目标设备标识对应的目标配置信息;其中,所述目标配置信息为针对所述目标GPIO控制器在所述ACPI表中预先配置;基于所述目标配置信息配置所述目标GPIO控制器的属性。本发明实施例可以基于ACIP表实现GPIO控制器的初始化,使得GPIO控制器可以基于指定的配置信息进行正常工作。

Description

GPIO控制器配置方法和***
技术领域
本发明涉及计算机技术领域,特别是涉及一种GPIO控制器配置方法和一种GPIO控制器配置***。
背景技术
GPIO(General-purpose input/output)是通用可编程输入输出端口的简称,在操作***中需要控制很多结构简单的外部设备或者电路,这些设备有些需要通过CPU控制,有些需要CPU提供输入信号。对设备的控制,若使用传统的串口或者并口比较复杂,因此在微处理器上通常使用GPIO。
其中,GPIO控制器是指控制GPIO的输入、输出的设备。在操作***的内核中,所有GPIO控制器的多种属性需要进行初始化,然而目前较少针对GPIO控制器指定其属性,完成GPIO控制器的初始化方案。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种GPIO控制器配置方法和相应的一种GPIO控制器配置***。
为了解决上述问题,本发明实施例公开了一种基于ACPI的GPIO控制器配置方法,包括:
当初始化目标GPIO控制器时,获取所述目标GPIO控制器对应的目标设备标识;
从ACPI表中调取与所述目标设备标识对应的目标配置信息;其中,所述目标配置信息为针对所述目标GPIO控制器在所述ACPI表中预先配置;
基于所述目标配置信息配置所述目标GPIO控制器的属性,完成所述目标GPIO控制器的初始化。
可选地,当初始化目标GPIO控制器时,获取所述目标GPIO控制器对应的设备标识之前,所述方法还包括:
在ACPI表的DSDT中,基于GPIO控制器的设备标识确定对应的配置信息;
在所述配置信息中设置所述GPIO控制器的属性和对应的属性值。
可选地,在所述配置信息中设置所述GPIO控制器的属性和对应的属性值,包括:
在所述配置信息中确定DSD对象;
在所述DSD对象中设置所述GPIO控制器的属性和对应的属性值。
可选地,所述从ACPI表中调取与所述目标设备标识对应的目标配置信息,包括:
从ACPI表的DSDT中,将与所述目标设备标识匹配的所述设备标识对应的配置信息,作为目标配置信息。
可选地,所述基于所述目标配置信息配置所述目标GPIO控制器的属性,包括:
从所述目标配置信息的所述DSD对象中,获取目标属性对应的目标属性值;
将所述目标GPIO控制器中与所述目标属性对应的属性的属性值,配置为所述目标属性值。
可选地,在基于所述目标配置信息配置所述目标GPIO控制器的属性,完成所述目标GPIO控制器的初始化之后,所述方法还包括:
当初始化所述目标GPIO控制器失败时,调取设备树;
基于所述设备树中针对目标GPIO控制器的目标属性和对应的目标属性值,配置所述目标GPIO控制器的属性,完成所述目标GPIO控制器的初始化。
本发明实施例还公开了一种基于ACPI的GPIO控制器配置***,包括:
设备标识获取模块,用于当初始化目标GPIO控制器时,获取所述目标GPIO控制器对应的目标设备标识;
配置信息调取模块,用于从ACPI表中调取与所述目标设备标识对应的目标配置信息;其中,所述目标配置信息为针对所述目标GPIO控制器在所述ACPI表中预先配置;
属性配置模块,用于基于所述目标配置信息配置所述目标GPIO控制器的属性,完成所述目标GPIO控制器的初始化。
可选地,所述***还包括:
配置信息确定模块,用于在ACPI表的DSDT中,基于GPIO控制器的设备标识确定对应的配置信息;
属性设置模块,用于在所述配置信息中设置所述GPIO控制器的属性和对应的属性值。
可选地,所述属性设置模块,用于在所述配置信息中确定DSD对象;在所述DSD对象中设置所述GPIO控制器的属性和对应的属性值。
可选地,所述配置信息调取模块,用于从ACPI表的DSDT中,将与所述目标设备标识匹配的所述设备标识对应的配置信息,作为目标配置信息。
可选地,所述属性配置模块,用于从所述目标配置信息的所述DSD对象中,获取目标属性对应的目标属性值;将所述目标GPIO控制器中与所述目标属性对应的属性的属性值,配置为所述目标属性值。
可选地,所述***还包括:切换模块,用于当初始化所述目标GPIO控制器失败时,调取设备树;基于所述设备树中针对目标GPIO控制器的目标属性和对应的目标属性值,配置所述目标GPIO控制器的属性,完成所述目标GPIO控制器的初始化。
本发明实施例公开了一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的GPIO控制器配置方法的步骤。
本发明实施例公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的GPIO控制器配置方法的步骤。
本发明实施例包括以下优点:
在本发明实施例中,当初始化目标GPIO控制器时,获取目标GPIO控制器对应的目标设备标识,以从ACPI表中调取与目标设备标识对应的目标配置信息,从而可以基于目标配置信息配置目标GPIO控制器的属性。本发明实施例可以基于高级配置和电源管理接口ACIP表实现GPIO控制器的初始化,使得GPIO控制器可以基于指定的配置信息进行正常工作,且由于只需要在操作***中已有的高级配置和电源管理接口ACIP表上预先配置GPIO控制器的配置信息然后初始化时调取即可,故而不会造成***额外的负担,保证了***流畅性。
附图说明
图1是本发明的一种GPIO控制器配置方法实施例的步骤流程图;
图2是本发明的一种GPIO控制器配置***实施例的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例的GPIO控制器配置方法和***,在GPIO控制器初始化流程中,可以通过ACPI表的DSDT中对应的DSD对象,来指定GPIO控制器的多种属性和对应的属性值,从而实现基于ACPI的GPIO控制器的初始化,GPIO控制器可以开始正常运行。
参照图1,示出了本发明的一种GPIO控制器配置方法实施例的步骤流程图,应用于具有高级配置和电源管理接口ACPI表的平台上,具体可以包括如下步骤:
步骤101,当初始化目标GPIO控制器时,获取所述目标GPIO控制器对应的目标设备标识。
在具体实现中,在启动设备时需要对设备进行初始化(注册),比如对GPIO控制器进行初始化,以使GPIO控制器能够开始正常运行。其中,设备标识是指的能够用于唯一识别设备的编码或者名称,例如GPIO控制器的设备标识可以为GPO0。
在本发明实施例中,进行初始化的GPIO控制器为目标GPIO控制器,在确定目标GPIO控制器时,将获取目标GPIO控制器对应的目标设备标识。
步骤102,从ACPI表中调取与所述目标设备标识对应的目标配置信息;其中,所述目标配置信息为针对所述目标GPIO控制器在所述ACPI表中预先配置。
其中,ACPI(Advanced Configuration and Power Management Interface)是Intel(i386,x86_64,IA64)等平台的标准固件规范,大部分操作***需要从BIOS(BasicInput Output System,基本输入输出***)得到的信息都可以从ACPI得到。具体地,ACPI的信息可以包括:配置信息、ACPI相关设备、底层硬件、电源管理、设备热插拔,由多个ACPI表组成,这些ACPI表存放在内存中,在需要时可以从内存中获取到所有的ACPI表。
在本发明实施例中,在ACPI表中预先配置所有的GPIO控制器所分别对应的配置信息。具体地,配置信息可以包括寄存器基地址、寄存器结束地址、控制器包含的管脚数量等属性以及对应的属性值,且配置信息与GPIO控制器的设备标识绑定,因此在确定需要进行初始化的目标GPIO控制器时,可以根据目标GPIO控制器的目标设备标识,从ACIP表中获取与该目标设备标识对应的目标配置信息。
步骤103,基于所述目标配置信息配置所述目标GPIO控制器的属性,完成所述目标GPIO控制器的初始化。
其中,在获取到目标GPIO控制器对应的目标配置信息后,就可以基于目标配置信息,对目标GPIO控制器相关的属性进行配置,例如配置寄存器地址,从而完成对于目标GPIO控制器的初始化。
在本发明实施例中,当初始化目标GPIO控制器时,获取目标GPIO控制器对应的目标设备标识,以从ACPI表中调取与目标设备标识对应的目标配置信息,从而可以基于目标配置信息配置目标GPIO控制器的属性。本发明实施例可以基于ACIP表实现GPIO控制器的初始化,使得GPIO控制器可以基于指定的配置信息进行正常工作,且由于只需要在已有的ACIP表上更新GPIO控制器配置信息,故而不会造成***额外的负担,保证了***流畅性。
在一示例性实施例中,在所述步骤101,当初始化目标GPIO控制器时,获取所述目标GPIO控制器对应的设备标识之前,所述方法还可以包括:在ACPI表的DSDT中,基于GPIO控制器的设备标识确定对应的配置信息;在所述配置信息中设置所述GPIO控制器的属性和对应的属性值。
其中,在ACPI表中有很多的表,其中DSDT(Differentiated System DescriptionTable,***差异描述表)是其中一个最主要的ACPI表,DSDT可以提供关于基本***的执行和配置信息。因此,本发明实施例在ACPI表的DSDT中,可以在各个GPIO控制器的设备标识所对应的配置信息中,预先设置由用户指定的属性和对应的属性值。
在上述示例中,在DSDT预先针对各个GPIO控制器配置了对应的配置信息,使得后续在初始化GPIO控制器时,可以基于ACPI表中DSDT中的配置信息完成。
在一示例性实施例中,在所述配置信息中设置所述GPIO控制器的属性和对应的属性值,可以包括:在所述配置信息中确定DSD对象;在所述DSD对象中设置所述GPIO控制器的属性和对应的属性值。
其中,在DSDT具有DSD对象(_DSD),基于DSD对象可以实现数据的传递,例如硬件相关属性配置数据。在本发明实施例中,在DSDT中各个GPIO控制器对应的配置信息的DSD对象中,设置由用户指定的该GPIO控制器对应的属性和属性值。
在上述示例中,在DSDT的DSD对象预先针对各个GPIO控制器配置了对应的属性和属性值,使得后续在初始化GPIO控制器时,可以基于ACPI表中DSDT中,DSD对象中的配置信息完成初始化。
在一个具体示例中,固件需要在DSDT的GPIO控制器对应的配置信息的_DSD对象中,指定属性和对应的属性值,从而作为内核配置GPIO控制器的属性的属性值。具体地,一种DSDT中GPIO控制器的配置信息如下所示:
Device(GPO0){
Name(_DSD,Package()
ToUUID(xxx-xxx-xxx-xxx)
Package(){
Package(0x02){
"conf_offset"
0xXXXX
},
Package(){
Package(0x02){
"ngpios",
0xXXXX}}......}
在上述示例中,针对一个GPIO控制器(GPO0),在其配置信息的_DSD中设置了两个属性和对应的属性值,分别是conf_offse(寄存器偏移地址)和对应的属性值,以及ngpios(GPIO的接口数量)对应的属性值。
在一示例性实施例中,所述步骤102,从ACPI表中调取与所述目标设备标识对应的目标配置信息,可以包括:从ACPI表的DSDT中,将与所述目标设备标识匹配的所述设备标识对应的配置信息,作为目标配置信息。
在本发明实施例中,在获取目标GPIO控制器的目标设备标识后,可以从ACPI表的DSDT中调取相应的配置信息,作为该目标GPIO控制器的目标配置信息。在上述示例中,在需要初始化目标GPIO控制器,只需要基于目标设备标识,即可从DSDT中调取到相应的目标配置信息,数据调取方式简单,易于实现。
在一示例性实施例中,所述步骤103,基于所述目标配置信息配置所述目标GPIO控制器的属性,可以包括:从所述目标配置信息的所述DSD对象中,获取目标属性对应的目标属性值;将所述目标GPIO控制器中与所述目标属性对应的属性的属性值,配置为所述目标属性值。
其中,在调取目标GPIO控制器的目标配置信息后,可以从目标配置信息中的DSD对象中,进一步获取到目标属性和对应的目标属性值,然后对于目标GPIO控制器中与目标属性相同的属性,配置为目标属性值。
具体地,内核中解析目标GPIO控制器对应的配置信息中的DSD对象,然后使用DSD对象中的目标属性的目标属性值,配置目标GPIO控制器对应属性的属性值。例如:
device_property_read_u32(dev,"ngpios",(u32*)&lgpio->chip.ngpio);
device_property_read_u32(dev,"conf_offset",(u32*)&lgpio->conf_offset)。
在上述示例中,如果从目标配置信息获取的属性和属性值为:ngpios:0xXXXX,则可以将目标GPIO控制器中chip.ngpio属性的属性值,配置为0xXXXX。如果从目标配置信息获取的属性和属性值为:conf_offse:0xXXXX,则可以将目标GPIO控制器中conf_offse属性的属性值,配置为0xXXXX。
在一示例性实施例中,在基于所述目标配置信息配置所述目标GPIO控制器的属性之后,所述方法还可以包括:当初始化所述目标GPIO控制器失败时,调取设备树;基于所述设备树中针对目标GPIO控制器的目标属性和对应的目标属性值,配置所述目标GPIO控制器的属性,完成所述目标GPIO控制器的初始化。
在具体实现中,基于ACPI表完成了对目标GPIO控制器的初始化后,就可以在***中正常运行目标GPIO控制器。但是在实际中,可能由于软件或者硬件方面的原因,导致基于ACPI表无法完成对目标GPIO控制器的初始化,初始化失败,则可以切换初始化方式,例如切换为基于设备树(Device Tree)对目标GPIO控制器进行初始化。
其中,设备树是一种描述硬件的数据结构,许多硬件信息可以直接透过设备树传递给***中,因此本发明实施例在设备树的节点中,预先配置了由用户指定的各个GPIO控制器的属性和对应的属性值。
具体地,在初始化目标GPIO控制器失败后,可以调取设备树,然后基于调取设备树中对目标GPIO控制器预先设置的目标属性和对应的目标属性值,将目标GPIO控制器中的属性,配置为目标属性对应的目标属性值。
具体地,一种设备树中GPIO控制器的配置信息如下所示:
gpiodc:gpio@0{
......
conf_offset=<0xXXXX>;
out_offset=<0xXXXX>;
ngpios=<XX>;
......}
在上述示例中,在设备树中针对GPIO控制器gpio@0,设置了属性和属性对应的属性值。在基于设备树初始化目标GPIO控制器时,可以从设备树中获取该GPIO控制器对应的属性和属性值,以对目标GPIO控制器的属性的属性值进行配置,从而完成目标GPIO控制器的初始化。
可选地,若基于设备树的目标GPIO控制器的初始化失败时,还可以基于内核固定配置的GPIO控制器的属性的属性值,来实现目标GPIO控制器的初始化,进一步提高了***的健壮性。
在一个具体示例中,内核中GPIO控制器的配置信息如下所示:
void acpi_loongson_gpio_get_props(struct platform_device*pdev,structloongson_gpio_chip*lgpio)
{
structplatform_gpio_data*gpio_data=
(structplatform_gpio_data*)pdev->dev.platform_data;
lgpio->chip.ngpio=gpio_data->ngpio;
lgpio->chip.base=gpio_data->gpio_base;
......}
在上述示例中,通过Platform的dev.platform_data数据结构传递和配置GPIO控制器的属性,使得可以基于内核中的配置信息来实现对于GPIO控制器的初始化。
应用本发明实施例,在基于ACPI表初始化目标GPIO控制器失败时,可以切换为基于设备树,或者内核中配置该目标GPIO控制器的配置信息实现初始化,无需重启设备,提升了***的健壮性。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图2,示出了本发明的一种GPIO控制器配置***实施例的结构框图,应用于具有高级配置和电源管理接口ACPI表的平台上,具体可以包括如下模块:
设备标识获取模块201,用于当初始化目标GPIO控制器时,获取所述目标GPIO控制器对应的目标设备标识;
配置信息调取模块202,用于从ACPI表中调取与所述目标设备标识对应的目标配置信息;其中,所述目标配置信息为针对所述目标GPIO控制器在所述ACPI表中预先配置;
属性配置模块203,用于基于所述目标配置信息配置所述目标GPIO控制器的属性,完成所述目标GPIO控制器的初始化。
在本发明的一个优选实施例中,所述***还包括:
配置信息确定模块,用于在ACPI表的DSDT中,基于GPIO控制器的设备标识确定对应的配置信息;
属性设置模块,用于在所述配置信息中设置所述GPIO控制器的属性和对应的属性值。
在本发明的一个优选实施例中,所述属性设置模块,用于在所述配置信息中确定DSD对象;在所述DSD对象中设置所述GPIO控制器的属性和对应的属性值。
在本发明的一个优选实施例中,所述配置信息调取模块202,用于从ACPI表的DSDT中,将与所述目标设备标识匹配的所述设备标识对应的配置信息,作为目标配置信息。
在本发明的一个优选实施例中,所述属性配置模块203,用于从所述目标配置信息的所述DSD对象中,获取目标属性对应的目标属性值;将所述目标GPIO控制器中与所述目标属性对应的属性的属性值,配置为所述目标属性值。
在本发明的一个优选实施例中,所述***还包括:切换模块,用于当初始化所述目标GPIO控制器失败时,调取设备树;基于所述设备树中针对目标GPIO控制器的目标属性和对应的目标属性值,配置所述目标GPIO控制器的属性,完成所述目标GPIO控制器的初始化。
综上可知,在本发明实施例中,当初始化目标GPIO控制器时,获取目标GPIO控制器对应的目标设备标识,以从ACPI表中调取与目标设备标识对应的目标配置信息,从而可以基于目标配置信息配置目标GPIO控制器的属性。本发明实施例可以基于ACIP表实现GPIO控制器的初始化,使得GPIO控制器可以基于指定的配置信息进行正常工作,且由于只需要在操作***上已有的ACIP表上预先设置GPIO控制器的配置信息然后在初始化时调用即可,故而不会造成***额外的负担,保证了***流畅性。
对于***实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例公开了一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上GPIO控制器配置方法实施例所述的步骤。
本发明实施例公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上GPIO控制器配置方法实施例所述的步骤。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、***、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的***。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种GPIO控制器配置方法、一种GPIO控制器配置***、电子设备和存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (8)

1.一种通用可编程输入输出端口GPIO控制器配置方法,其特征在于,应用于具有高级配置和电源管理接口ACPI表的平台上,该方法,包括:
在ACPI表的***差异描述表DSDT中,基于GPIO控制器的设备标识确定对应的配置信息;
在所述配置信息中设置所述GPIO控制器的属性和对应的属性值;
当初始化目标GPIO控制器时,获取所述目标GPIO控制器对应的目标设备标识;
从ACPI表的DSDT中,将与所述目标设备标识匹配的所述设备标识对应的配置信息,作为目标配置信息;
基于所述目标配置信息配置所述目标GPIO控制器的属性,完成所述目标GPIO控制器的初始化;
其中,所述方法还包括:
在所述ACPI表中预先配置所有的GPIO控制器所分别对应的配置信息。
2.根据权利要求1所述的方法,其特征在于,在所述配置信息中设置所述GPIO控制器的属性和对应的属性值,包括:
在所述配置信息中确定***差异描述DSD对象;
在所述DSD对象中设置所述GPIO控制器的属性和对应的属性值。
3.根据权利要求2所述的方法,其特征在于,所述基于所述目标配置信息配置所述目标GPIO控制器的属性,包括:
从所述目标配置信息的所述DSD对象中,获取目标属性对应的目标属性值;
将所述目标GPIO控制器中与所述目标属性对应的属性的属性值,配置为所述目标属性值。
4.根据权利要求1-3任一项所述的方法,其特征在于,在基于所述目标配置信息配置所述目标GPIO控制器的属性,完成所述目标GPIO控制器的初始化之后,所述方法还包括:
当初始化所述目标GPIO控制器失败时,调取设备树;
基于所述设备树中针对目标GPIO控制器的目标属性和对应的目标属性值,配置所述目标GPIO控制器的属性,完成所述目标GPIO控制器的初始化。
5.一种GPIO控制器配置***,其特征在于,应用于具有高级配置和电源管理接口ACPI表的平台上,该*** ,包括:
配置信息确定模块,用于在ACPI表的DSDT中,基于GPIO控制器的设备标识确定对应的配置信息;
属性设置模块,用于在所述配置信息中设置所述GPIO控制器的属性和对应的属性值;
设备标识获取模块,用于当初始化目标GPIO控制器时,获取所述目标GPIO控制器对应的目标设备标识;
配置信息调取模块,用于从ACPI表中调取与所述目标设备标识对应的目标配置信息;其中,所述目标配置信息为针对所述目标GPIO控制器在所述ACPI表中预先配置;
属性配置模块,用于基于所述目标配置信息配置所述目标GPIO控制器的属性,完成所述目标GPIO控制器的初始化;
其中,所述***还用于:
在所述ACPI表中预先配置所有的GPIO控制器所分别对应的配置信息。
6.根据权利要求5所述的***,其特征在于,还包括:切换模块,用于当初始化所述目标GPIO控制器失败时,调取设备树;基于所述设备树中针对目标GPIO控制器的目标属性和对应的目标属性值,配置所述目标GPIO控制器的属性,完成所述目标GPIO控制器的初始化。
7.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至4中任一项所述的GPIO控制器配置方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的GPIO控制器配置方法的步骤。
CN202010923798.2A 2020-09-04 2020-09-04 Gpio控制器配置方法和*** Active CN112069102B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010923798.2A CN112069102B (zh) 2020-09-04 2020-09-04 Gpio控制器配置方法和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010923798.2A CN112069102B (zh) 2020-09-04 2020-09-04 Gpio控制器配置方法和***

Publications (2)

Publication Number Publication Date
CN112069102A CN112069102A (zh) 2020-12-11
CN112069102B true CN112069102B (zh) 2022-08-26

Family

ID=73665571

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010923798.2A Active CN112069102B (zh) 2020-09-04 2020-09-04 Gpio控制器配置方法和***

Country Status (1)

Country Link
CN (1) CN112069102B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115794259B (zh) * 2023-02-01 2023-06-02 麒麟软件有限公司 通过acpi生成设备树的方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101046777A (zh) * 2006-03-28 2007-10-03 泰安电脑科技(上海)有限公司 桥接模块、计算机***与其初始化方法
US9417801B2 (en) * 2014-03-27 2016-08-16 Intel Corporation Virtual general-purpose I/O controller
CN106708596B (zh) * 2015-11-13 2020-02-14 华为技术有限公司 一种输入输出虚拟化资源的调整方法及处理器
CN110096314B (zh) * 2019-05-07 2022-05-24 苏州浪潮智能科技有限公司 一种接口初始化方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN112069102A (zh) 2020-12-11

Similar Documents

Publication Publication Date Title
US10860308B1 (en) Peripheral device firmware update using rest over IPMI interface firmware update module
US6816963B1 (en) Platform level initialization using an image generated automatically by a remote server based upon description automatically generated and transmitted thereto by a processor-based system
JP2016058083A (ja) 複数のbiosデフォルト設定を管理するシステムと方法
US9632806B1 (en) Remote platform configuration
TWI537748B (zh) 用於網路基本輸入輸出系統管理之設備、方法與非暫態電腦可讀取媒體
US10996940B1 (en) Secure firmware integrity monitoring using rest over IPMI interface
US10572242B1 (en) Firmware update using rest over IPMI interface
US10416988B1 (en) Peripheral device firmware update using rest over IPMI interface firmware shell utility
CN103412769A (zh) 外接卡参数配置方法、设备以及***
US10628176B1 (en) Firmware configuration using REST over IPMI interface
US10776286B1 (en) Rest over IPMI interface for firmware to BMC communication
US20130007428A1 (en) System and method for customized configuration of information handling systems
US10303487B2 (en) System and method for booting an information handling system
CN111124508A (zh) 一种调整网卡pxe启动顺序的方法和装置
WO2023147748A1 (zh) 一种服务器初始化智能网卡的方法、装置、设备及介质
CN112069102B (zh) Gpio控制器配置方法和***
US20200015296A1 (en) Computer system and method thereof for sharing of wireless connection information between uefi firmware and os
US11288078B1 (en) Providing firmware specific information via ACPI tables
CN112417800B (zh) 集成电路处理方法、集成电路验证方法、装置及电子设备
US11120166B1 (en) Generation of a firmware configured for use in restricting the use of a firmware tool
CN116627513B (zh) 一种计算机boot的启动方法及装置
CN115495161B (zh) Bios选项修改的生效方法和装置、存储介质
US11113070B1 (en) Automated identification and disablement of system devices in a computing system
CN112069113B (zh) I2c设备配置方法和***
CN116627472A (zh) 高速***组件设备的固件程序升级方法及服务器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Applicant after: Loongson Zhongke Technology Co.,Ltd.

Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Applicant before: LOONGSON TECHNOLOGY Corp.,Ltd.

GR01 Patent grant
GR01 Patent grant