IP Library Granted Patent US 10,509,750
Granted Patent B2
US 10,509,750 · App. 15/657,754 · Granted Dec 17, 2019

System and method for controlling multi-function pins in management controller stack

Inventors: Pavithra Sachidanandam (Duluth, GA); Rajeswari Ravichandran (Duluth, GA); Baskar Parthiban (Johns Creek, GA); Rajamanickam T (Karur, IN); Senathipathy Thangavel (Chennai, IN); Arvind Bisht (Chennai, IN)
Assignee: AMERICAN MEGATRENDS INTERNATIONAL, LLC
G06F13/36G06F13/42G06F3/0482G06F2213/0016
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,509,750
App. No.
15/657,754
Granted
Dec 17, 2019
Kind
B2
Abstract

Systems and methods for controlling multi-function general purpose input/output (GPIO) pins in a management controller stack, such as a baseboard management controller (BMC) stack. The system includes a management controller, which includes multiple pins. The management controller provides multiple functionalities, and each of the functionalities is related to at least one of the pins. In operation, the management controller provides a graphic user interface, which shows the functionalities, allowing the user to input an instruction to select one of the functionalities. Upon receiving the selected functionality, for each of the pins related to the selected functionality, the management controller sets a value of a corresponding register to indicate a functional status of the pin, such that the pins may provide the selected functionality based on the value of the corresponding registers.

Claims (43)

1. A system, comprising:

a management controller, comprising a plurality of pins, a processor and a non-volatile memory storing computer executable code, wherein the management controller is configured to provide a plurality of functionalities, and each of the functionalities is related to at least one of the pins;

wherein the computer executable code, when executed at the processor, is configured to:

receive an instruction to select one of the plurality of functionalities;

determine the at least one pin related to the selected one of the functionalities based on the instruction; and

for each of the at least one pin related to the selected one of the functionalities, set a value of a corresponding register to indicate a functional status of the pin, such that each of the at least one pin is configured to provide the selected one of the functionalities based on the value of the corresponding register;

wherein each of the pins is a general-purpose input/output (GPIO) pin, and the functionalities comprise a GPIO functionality and at least one non-GPIO functionality; and

wherein the functionalities are configured using a project (PRJ) file that includes a text box defining a first group of pins used as GPIO and a second group of pins used as non-GPIO.

2. The system of claim 1 , wherein for each of the functionalities, each of the pins related to the functionality is configured to provide the functionality by being enabled to perform a function related to the functionality, or being disabled to avoid performing a function in conflict with the functionality.

3. The system of claim 1 , wherein the at least one non-GPIO functionality comprises a Secure Digital (SD) controller functionality.

4. The system of claim 3 , wherein the pins comprise a first multi-function pin and a second multi-function pin related to both the SD controller functionality and the GPIO functionality, wherein:

when the SD controller functionality is selected, the first multi-function pin is configured to provide a SD clock signal function, and the second multi-function pin is configured to provide a SD command signal function; and

when the GPIO functionality is selected, each of the first multi-function pin and the second multi-function pin is respectively configured to provide an independent GPIO function.

5. The system of claim 1 , wherein the at least one non-GPIO functionality comprises an Inter-Integrated Circuit (I2C) functionality.

6. The system of claim 1 , wherein the at least one non-GPIO functionality comprises a universal asynchronous receiver/transmitter (UART) functionality.

7. The system of claim 1 , wherein the corresponding register for each of the pins is a system control unit (SCU) register.

8. The system of claim 1 , wherein the computer executable code, when executed at the processor, is further configured to:

provide a graphic user interface, and display the functionalities in the graphic user interface.

9. The system of claim 8 , wherein the computer executable code, when executed at the processor, is further configured to:

for the selected one of the functionalities, display each of the pins related to the selected one of the functionalities in the graphic user interface.

10. A method for configuring a plurality of pins of a management controller, comprising:

receiving, at the management controller, an instruction to select one of a plurality of functionalities provided by the management controller, wherein each of the functionalities is related to at least one of the pins;

determining, by the management controller, the at least one pin related to the selected one of the functionalities based on the instruction; and

for each of the at least one pin related to the selected one of the functionalities, setting, by the management controller, a value of a corresponding register to indicate a functional status of the pin, such that each of the at least one pin is configured to provide the selected one of the functionalities based on the value of the corresponding register;

wherein each of the pins is a general-purpose input/output (GPIO) pin, and the functionalities comprise a GPIO functionality and at least one non-GPIO functionality; and

wherein the functionalities are configured using a project (PRJ) file that includes a text box defining a first group of pins used as GPIO and a second group of pins used as non-GPIO.

11. The method of claim 10 , wherein for each of the functionalities, each of the pins related to the functionality is configured to provide the functionality by being enabled to perform a function related to the functionality, or being disabled to avoid performing a function in conflict with the functionality.

12. The method of claim 10 , wherein the at least one non-GPIO functionality comprises a Secure Digital (SD) controller functionality, an Inter-Integrated Circuit (I2C) functionality, and a universal asynchronous receiver/transmitter (UART) functionality.

13. The method of claim 10 , further comprising:

providing, by the management controller, a graphic user interface;

displaying the functionalities in the graphic user interface; and

for the selected one of the functionalities, displaying each of the pins related to the selected one of the functionalities in the graphic user interface.

14. A non-transitory computer readable medium storing computer executable code, wherein the computer executable code, when executed at a processor of a management controller having a plurality of pins, is configured to:

receive an instruction to select one of a plurality of functionalities provided by the management controller, wherein each of the functionalities is related to at least one of the pins of the management controller; and

determine the at least one pin related to the selected one of the functionalities based on the instruction; and

for each of the at least one pin related to the selected one of the functionalities, set a value of a corresponding register to indicate a functional status of the pin, such that each of the at least one pin is configured to provide the selected one of the functionalities based on the value of the corresponding register;

wherein each of the pins is a general-purpose input/output (GPIO) pin, and the functionalities comprise a GPIO functionality and at least one non-GPIO functionality; and

wherein the functionalities are configured using a project (PRJ) file that includes a text box defining a first group of pins used as GPIO and a second group of pins used as non-GPIO.

15. The non-transitory computer readable medium of claim 14 , wherein for each of the functionalities, each of the pins related to the functionality is configured to provide the functionality by being enabled to perform a function related to the functionality, or being disabled to avoid performing a function in conflict with the functionality.

16. The non-transitory computer readable medium of claim 14 , wherein the at least one non-GPIO functionality comprises a Secure Digital (SD) controller functionality, an Inter-Integrated Circuit (I2C) functionality, and a universal asynchronous receiver/transmitter (UART) functionality.

17. The non-transitory computer readable medium of claim 14 , wherein the computer executable code, when executed at the processor, is further configured to:

provide a graphic user interface, and display the functionalities in the graphic user interface; and

for the selected one of the functionalities, display each of the pins related to the selected one of the functionalities in the graphic user interface.

Assignments (5)
PATENT SECURITY AGREEMENT Recorded Oct 23, 2024
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC
To: BAIN CAPITAL CREDIT, LP, AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 069229/0834 →
RELEASE OF SECURITY INTEREST Recorded Oct 17, 2024
From: MIDCAP FINANCIAL TRUST
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 069205/0795 →
SECURITY INTEREST Recorded May 6, 2019
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC
To: MIDCAP FINANCIAL TRUST, AS COLLATERAL AGENT
Reel/Frame 049087/0266 →
ENTITY CONVERSION Recorded Apr 15, 2019
From: AMERICAN MEGATRENDS, INC.
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 049091/0973 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 24, 2017
From: SACHIDANANDAM, PAVITHRA; RAVICHANDRAN, RAJESWARI; T, RAJAMANICKAM; THANGAVEL, SENATHIPATHY; BISHT, ARVIND; PARTHIBAN, BASKAR
To: AMERICAN MEGATRENDS, INC.
Reel/Frame 043080/0692 →
Continuity (1)
Related Publication 20190026240A1 · Jan 24, 2019