Files
TI_C2000_F28377S_FreeRTOS/C2000Ware/driverlib/.meta/pmbus/pmbus.board.c.xdt
T
2026-08-30 23:04:35 -07:00

117 lines
3.5 KiB
Plaintext

% var module = system.modules['/driverlib/pmbus.js'];
% let Common = system.getScript("/driverlib/Common.js");
% var nameOfModule = "pmbus";
% var nameOfPeripheral = module.peripheralName;
% var stat = module.$static
% var sysclk_Hz = stat.sysClock * 1000000;
//*****************************************************************************
//
// PMBUS Configurations
//
//*****************************************************************************
void `nameOfPeripheral`_init(){
% for(var i = 0; i < module.$instances.length; i++)
% {
% var instance = module.$instances[i];
`instance.$name`_init();
% }
}
%if (module != null)
%{
% for(var i = 0; i < module.$instances.length; i++) {
% var instance = module.$instances[i];
void `instance.$name`_init(){
uint32_t moduleFreq = 0U;
% if (instance.busClock == "PMBUS_CLOCKMODE_FAST_PLUS")
% {
uint32_t sclGpioEnumValue = 0U, sdaGpioEnumValue = 0U;
% }
PMBus_disableModule(`instance.$name`_BASE);
% if (instance.enableI2CMode)
% {
PMBus_enableI2CMode(`instance.$name`_BASE);
% }
% else
% {
PMBus_disableI2CMode(`instance.$name`_BASE);
% }
% if(instance.zeroHoldSupport)
% {
% if(instance.useZeroHoldSupport)
% {
PMBus_enableZeroHoldTime(`instance.$name`_BASE);
%}
% else
%{
PMBus_disableZeroHoldTime(`instance.$name`_BASE);
%}
% }
% if(instance.ALERT_EN)
% {
PMBus_assertAlertLine(`instance.$name`_BASE);
%}
% else
%{
PMBus_deassertAlertLine(`instance.$name`_BASE);
%}
PMBus_setOwnAddress(`instance.$name`_BASE, `instance.$name`_OWN_ADDRESS);
% var moduleFreq = "";
moduleFreq = PMBus_configModuleClock(`instance.$name`_BASE, `instance.$name`_BAUDRATE, DEVICE_SYSCLK_FREQ);
PMBus_configBusClock(`instance.$name`_BASE, `instance.$name`_CLOCKMODE, moduleFreq);
% if (instance.busClock == "PMBUS_CLOCKMODE_FAST_PLUS")
% {
// configure the GPIO pins for SDA
`instance.$name`_GPIO_MAP(`instance.$name`_PMBUSSDA_GPIO, sdaGpioEnumValue);
AsysCtl_setDriveStrength((AsysCtl_IO_Drvsel_GPIO)sdaGpioEnumValue);
AsysCtl_setDriveMode((AsysCtl_IO_Modesel_GPIO)sdaGpioEnumValue);
// configure the GPIO pins for SCL
`instance.$name`_GPIO_MAP(`instance.$name`_PMBUSSCL_GPIO, sclGpioEnumValue);
AsysCtl_setDriveStrength((AsysCtl_IO_Drvsel_GPIO)sclGpioEnumValue);
AsysCtl_setDriveMode((AsysCtl_IO_Modesel_GPIO)sclGpioEnumValue);
% }
% if (instance.mode == "Controller")
%{
PMBus_initControllerMode(`instance.$name`_BASE);
//
// config target address
//
PMBus_setTargetAddress(`instance.$name`_BASE, `instance.$name`_TARGET_ADDRESS);
%}
% else
%{
PMBus_initTargetMode(`instance.$name`_BASE, `instance.$name`_TARGET_ADDRESS, `instance.$name`_TARGET_ADDRESS_MASK);
% var configWord_target = "";
% for (var int_index in instance.configTarget)
% {
% configWord_target += ((configWord_target == "")?"":" | ") + instance.configTarget[int_index];
% }
% if (configWord_target !=""){
PMBus_configTarget(`instance.$name`_BASE, `configWord_target`);
%}
%}
% if (instance.useInterrupts)
%{
% var interrupts = "";
% for (var int_index in instance.enabledInterrupts)
% {
% interrupts += ((interrupts == "")?"":" | ") + instance.enabledInterrupts[int_index];
% }
% if (interrupts != "")
% {
PMBus_disableInterrupt(`instance.$name`_BASE, `interrupts`);
% }
% if (interrupts != "")
%{
PMBus_enableInterrupt(`instance.$name`_BASE, `interrupts`);
% }
% }
% if(instance.enablePMBus)
% {
PMBus_enableModule(`instance.$name`_BASE);
%}
}
%}
%}