This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM620-Q1: About how to use GPIO (Sysconfig, Open Drain pre-configuration, PIN_EXTINTN)

Part Number: AM620-Q1
Other Parts Discussed in Thread: SYSCONFIG

Tool/software:

Hi experts,

Could you please help me with the following questions regarding GPIO?

Q1: Could you please let me know if there is a solution to the following error?

By adding GPIO settings in sysconfig when configuring pin settings in CCS, we ware able to add all pins for MCU_GPIO0 in the MCU domain and GPIO0 in the main domain among the three modules.
However, if we try to add GPIO1 settings in this state, a RuntimeError will occur in sysconfig as shown above.
This seems to occur when a large number of pin settings are made at the same time on GPIO0 and GPIO1 of the main domain.
The same error occurs even if we write directly to the .syscfg file, so when checking the operation, we solved it by changing the GPIO module to be set.
(Movement could be confirmed in each of the three modules.)

Q2About the I2C terminal When changing the terminal setting from GPIO to I2C after startup, there is no need to set the GPIO side to open drain output in advance, just set it on the I2C side.
Is this understanding true?

We would like to check whether it is necessary to set it to open drain output from the time it is set to GPIO after startup.
We have confirmed that it is an IOD from the data sheet "6.3.12 I2C".

Q3:When setting GPIO1_31, should we refer to "AM62Q Sysconfig File" for the offset "PIN_EXTINTN" from the base address?

"PIN_EXTINTN" was not defined in enum Pinmux_MainOffsets in "pinmux.h" in the SDK source folder.
\mcu_plus_sdk_am62x_09_02_00_38\source\drivers\pinmux\am62x\pinmux.h

Best regards,
O.H

  • Hello O.H,

    Thanks for reaching out to Texas Instruments E2E support forum.

    Can you please share the example.syscfg file which is creating the problem?

    Q3:When setting GPIO1_31, should we refer to "AM62Q Sysconfig File" for the offset "PIN_EXTINTN" from the base address?

    "PIN_EXTINTN" was not defined in enum Pinmux_MainOffsets in "pinmux.h" in the SDK source folder.
    \mcu_plus_sdk_am62x_09_02_00_38\source\drivers\pinmux\am62x\pinmux.h

    Let me check this detail internally and revert back.

    Regards,

    Tushar

  • Hello Tushar,

    Thank you for your supports.

    Can you please share the example.syscfg file which is creating the problem?

    Please refer to this file.

    /**
     * These arguments were used when this file was generated. They will be automatically applied on subsequent loads
     * via the GUI or CLI. Run CLI with '--help' for additional information on how to override these arguments.
     * @cliArgs --device "AM62x" --package "ALW" --part "Default" --context "m4fss0-0" --product "MCU_PLUS_SDK_AM62x@09.02.00"
     * @versions {"tool":"1.18.0+3266"}
     */
    
    /**
     * Import the modules used in this configuration.
     */
    const gpio            = scripting.addModule("/drivers/gpio/gpio", {}, false);
    const gpio1           = gpio.addInstance();
    const gpio2           = gpio.addInstance();
    const gpio3           = gpio.addInstance();
    const gpio4           = gpio.addInstance();
    const gpio5           = gpio.addInstance();
    const gpio6           = gpio.addInstance();
    const gpio7           = gpio.addInstance();
    const gpio8           = gpio.addInstance();
    const gpio9           = gpio.addInstance();
    const gpio10          = gpio.addInstance();
    const gpio11          = gpio.addInstance();
    const gpio12          = gpio.addInstance();
    const gpio13          = gpio.addInstance();
    const gpio14          = gpio.addInstance();
    const gpio15          = gpio.addInstance();
    const gpio16          = gpio.addInstance();
    const gpio17          = gpio.addInstance();
    const gpio18          = gpio.addInstance();
    const gpio19          = gpio.addInstance();
    const gpio20          = gpio.addInstance();
    const gpio21          = gpio.addInstance();
    const gpio22          = gpio.addInstance();
    const gpio23          = gpio.addInstance();
    const gpio24          = gpio.addInstance();
    const gpio25          = gpio.addInstance();
    const gpio26          = gpio.addInstance();
    const gpio27          = gpio.addInstance();
    const gpio28          = gpio.addInstance();
    const gpio29          = gpio.addInstance();
    const gpio30          = gpio.addInstance();
    const gpio31          = gpio.addInstance();
    const gpio32          = gpio.addInstance();
    const gpio33          = gpio.addInstance();
    const gpio34          = gpio.addInstance();
    const gpio35          = gpio.addInstance();
    const gpio36          = gpio.addInstance();
    const gpio37          = gpio.addInstance();
    const gpio38          = gpio.addInstance();
    const gpio39          = gpio.addInstance();
    const gpio40          = gpio.addInstance();
    const gpio41          = gpio.addInstance();
    const gpio42          = gpio.addInstance();
    const gpio43          = gpio.addInstance();
    const gpio44          = gpio.addInstance();
    const gpio45          = gpio.addInstance();
    const gpio46          = gpio.addInstance();
    const gpio47          = gpio.addInstance();
    const gpio48          = gpio.addInstance();
    const gpio49          = gpio.addInstance();
    const gpio50          = gpio.addInstance();
    const gpio51          = gpio.addInstance();
    const gpio52          = gpio.addInstance();
    const gpio53          = gpio.addInstance();
    const gpio54          = gpio.addInstance();
    const gpio55          = gpio.addInstance();
    const gpio56          = gpio.addInstance();
    const gpio57          = gpio.addInstance();
    const gpio58          = gpio.addInstance();
    const gpio59          = gpio.addInstance();
    const gpio60          = gpio.addInstance();
    const gpio61          = gpio.addInstance();
    const gpio62          = gpio.addInstance();
    const gpio63          = gpio.addInstance();
    const gpio64          = gpio.addInstance();
    const gpio65          = gpio.addInstance();
    const gpio66          = gpio.addInstance();
    const gpio67          = gpio.addInstance();
    const gpio68          = gpio.addInstance();
    const gpio69          = gpio.addInstance();
    const gpio70          = gpio.addInstance();
    const gpio71          = gpio.addInstance();
    const gpio72          = gpio.addInstance();
    const gpio73          = gpio.addInstance();
    const gpio74          = gpio.addInstance();
    const gpio75          = gpio.addInstance();
    const gpio76          = gpio.addInstance();
    const gpio77          = gpio.addInstance();
    const gpio78          = gpio.addInstance();
    const gpio79          = gpio.addInstance();
    const gpio80          = gpio.addInstance();
    const gpio81          = gpio.addInstance();
    const gpio82          = gpio.addInstance();
    const gpio83          = gpio.addInstance();
    const gpio84          = gpio.addInstance();
    const gpio85          = gpio.addInstance();
    const gpio86          = gpio.addInstance();
    const gpio87          = gpio.addInstance();
    const gpio88          = gpio.addInstance();
    const gpio89          = gpio.addInstance();
    const gpio90          = gpio.addInstance();
    const gpio91          = gpio.addInstance();
    const gpio92          = gpio.addInstance();
    const gpio93          = gpio.addInstance();
    const gpio94          = gpio.addInstance();
    const gpio95          = gpio.addInstance();
    const gpio96          = gpio.addInstance();
    const gpio97          = gpio.addInstance();
    const gpio98          = gpio.addInstance();
    const gpio99          = gpio.addInstance();
    const gpio100         = gpio.addInstance();
    const gpio101         = gpio.addInstance();
    const gpio102         = gpio.addInstance();
    const gpio103         = gpio.addInstance();
    const gpio104         = gpio.addInstance();
    const gpio105         = gpio.addInstance();
    const gpio106         = gpio.addInstance();
    const gpio107         = gpio.addInstance();
    const gpio108         = gpio.addInstance();
    const gpio109         = gpio.addInstance();
    const gpio110         = gpio.addInstance();
    const gpio111         = gpio.addInstance();
    const gpio112         = gpio.addInstance();
    const gpio113         = gpio.addInstance();
    const gpio114         = gpio.addInstance();
    const gpio115         = gpio.addInstance();
    const gpio116         = gpio.addInstance();
    const addr_translate  = scripting.addModule("/kernel/dpl/addr_translate", {}, false);
    const addr_translate1 = addr_translate.addInstance();
    const addr_translate2 = addr_translate.addInstance();
    const addr_translate3 = addr_translate.addInstance();
    const addr_translate4 = addr_translate.addInstance();
    const clock           = scripting.addModule("/kernel/dpl/clock");
    const debug_log       = scripting.addModule("/kernel/dpl/debug_log");
    const mpu_armv7       = scripting.addModule("/kernel/dpl/mpu_armv7", {}, false);
    const mpu_armv71      = mpu_armv7.addInstance();
    const mpu_armv72      = mpu_armv7.addInstance();
    
    /**
     * Write custom configuration values to the imported modules.
     */
    gpio1.$name = "CONFIG_GPIO0";
    
    gpio2.$name = "CONFIG_GPIO1";
    
    gpio3.$name = "CONFIG_GPIO2";
    
    gpio4.$name = "CONFIG_GPIO3";
    
    gpio5.$name = "CONFIG_GPIO4";
    
    gpio6.$name = "CONFIG_GPIO5";
    
    gpio7.$name = "CONFIG_GPIO6";
    
    gpio8.$name = "CONFIG_GPIO7";
    
    gpio9.$name = "CONFIG_GPIO8";
    
    gpio10.$name = "CONFIG_GPIO9";
    
    gpio11.$name = "CONFIG_GPIO10";
    
    gpio12.$name = "CONFIG_GPIO11";
    
    gpio13.$name = "CONFIG_GPIO12";
    
    gpio14.$name = "CONFIG_GPIO13";
    
    gpio15.$name = "CONFIG_GPIO14";
    
    gpio16.$name = "CONFIG_GPIO15";
    
    gpio17.$name = "CONFIG_GPIO16";
    
    gpio18.$name = "CONFIG_GPIO19";
    
    gpio19.$name = "CONFIG_GPIO20";
    
    gpio20.$name = "CONFIG_GPIO21";
    
    gpio21.$name                   = "CONFIG_GPIO22";
    gpio21.useMcuDomainPeripherals = false;
    gpio21.GPIO.$assign            = "GPIO0";
    
    gpio22.$name                   = "CONFIG_GPIO23";
    gpio22.useMcuDomainPeripherals = false;
    gpio22.GPIO.$assign            = "GPIO0";
    
    gpio23.$name                   = "CONFIG_GPIO24";
    gpio23.useMcuDomainPeripherals = false;
    gpio23.GPIO.$assign            = "GPIO0";
    
    gpio24.$name                   = "CONFIG_GPIO25";
    gpio24.useMcuDomainPeripherals = false;
    gpio24.GPIO.$assign            = "GPIO0";
    
    gpio25.$name                   = "CONFIG_GPIO26";
    gpio25.useMcuDomainPeripherals = false;
    gpio25.GPIO.$assign            = "GPIO0";
    
    gpio26.$name                   = "CONFIG_GPIO27";
    gpio26.useMcuDomainPeripherals = false;
    gpio26.GPIO.$assign            = "GPIO0";
    
    gpio27.$name                   = "CONFIG_GPIO28";
    gpio27.useMcuDomainPeripherals = false;
    gpio27.GPIO.$assign            = "GPIO0";
    
    gpio28.$name                   = "CONFIG_GPIO29";
    gpio28.useMcuDomainPeripherals = false;
    gpio28.GPIO.$assign            = "GPIO0";
    
    gpio29.$name                   = "CONFIG_GPIO30";
    gpio29.useMcuDomainPeripherals = false;
    gpio29.GPIO.$assign            = "GPIO0";
    
    gpio30.$name                   = "CONFIG_GPIO31";
    gpio30.useMcuDomainPeripherals = false;
    gpio30.GPIO.$assign            = "GPIO0";
    
    gpio31.$name                   = "CONFIG_GPIO32";
    gpio31.useMcuDomainPeripherals = false;
    gpio31.GPIO.$assign            = "GPIO0";
    
    gpio32.$name                   = "CONFIG_GPIO33";
    gpio32.useMcuDomainPeripherals = false;
    gpio32.GPIO.$assign            = "GPIO0";
    
    gpio33.$name                   = "CONFIG_GPIO34";
    gpio33.useMcuDomainPeripherals = false;
    gpio33.GPIO.$assign            = "GPIO0";
    
    gpio34.$name                   = "CONFIG_GPIO35";
    gpio34.useMcuDomainPeripherals = false;
    gpio34.GPIO.$assign            = "GPIO0";
    
    gpio35.$name                   = "CONFIG_GPIO36";
    gpio35.useMcuDomainPeripherals = false;
    gpio35.GPIO.$assign            = "GPIO0";
    
    gpio36.$name                   = "CONFIG_GPIO37";
    gpio36.useMcuDomainPeripherals = false;
    gpio36.GPIO.$assign            = "GPIO0";
    
    gpio37.$name                   = "CONFIG_GPIO38";
    gpio37.useMcuDomainPeripherals = false;
    gpio37.GPIO.$assign            = "GPIO0";
    
    gpio38.$name                   = "CONFIG_GPIO39";
    gpio38.useMcuDomainPeripherals = false;
    gpio38.GPIO.$assign            = "GPIO0";
    
    gpio39.$name                   = "CONFIG_GPIO40";
    gpio39.useMcuDomainPeripherals = false;
    gpio39.GPIO.$assign            = "GPIO0";
    
    gpio40.$name                   = "CONFIG_GPIO41";
    gpio40.useMcuDomainPeripherals = false;
    gpio40.GPIO.$assign            = "GPIO0";
    
    gpio41.$name                   = "CONFIG_GPIO42";
    gpio41.useMcuDomainPeripherals = false;
    gpio41.GPIO.$assign            = "GPIO0";
    
    gpio42.$name                   = "CONFIG_GPIO43";
    gpio42.useMcuDomainPeripherals = false;
    gpio42.GPIO.$assign            = "GPIO0";
    
    gpio43.$name                   = "CONFIG_GPIO44";
    gpio43.useMcuDomainPeripherals = false;
    gpio43.GPIO.$assign            = "GPIO0";
    
    gpio44.$name                   = "CONFIG_GPIO45";
    gpio44.useMcuDomainPeripherals = false;
    gpio44.GPIO.$assign            = "GPIO0";
    
    gpio45.$name                   = "CONFIG_GPIO46";
    gpio45.useMcuDomainPeripherals = false;
    gpio45.GPIO.$assign            = "GPIO0";
    
    gpio46.$name                   = "CONFIG_GPIO47";
    gpio46.useMcuDomainPeripherals = false;
    gpio46.GPIO.$assign            = "GPIO0";
    
    gpio47.$name                   = "CONFIG_GPIO48";
    gpio47.useMcuDomainPeripherals = false;
    gpio47.GPIO.$assign            = "GPIO0";
    
    gpio48.$name                   = "CONFIG_GPIO49";
    gpio48.useMcuDomainPeripherals = false;
    gpio48.GPIO.$assign            = "GPIO0";
    
    gpio49.$name                   = "CONFIG_GPIO50";
    gpio49.useMcuDomainPeripherals = false;
    gpio49.GPIO.$assign            = "GPIO0";
    
    gpio50.$name                   = "CONFIG_GPIO51";
    gpio50.useMcuDomainPeripherals = false;
    gpio50.GPIO.$assign            = "GPIO0";
    
    gpio51.$name                   = "CONFIG_GPIO52";
    gpio51.useMcuDomainPeripherals = false;
    gpio51.GPIO.$assign            = "GPIO0";
    
    gpio52.$name                   = "CONFIG_GPIO53";
    gpio52.useMcuDomainPeripherals = false;
    gpio52.GPIO.$assign            = "GPIO0";
    
    gpio53.$name                   = "CONFIG_GPIO54";
    gpio53.useMcuDomainPeripherals = false;
    gpio53.GPIO.$assign            = "GPIO0";
    
    gpio54.$name                   = "CONFIG_GPIO55";
    gpio54.useMcuDomainPeripherals = false;
    gpio54.GPIO.$assign            = "GPIO0";
    
    gpio55.$name                   = "CONFIG_GPIO56";
    gpio55.useMcuDomainPeripherals = false;
    gpio55.GPIO.$assign            = "GPIO0";
    
    gpio56.$name                   = "CONFIG_GPIO57";
    gpio56.useMcuDomainPeripherals = false;
    gpio56.GPIO.$assign            = "GPIO0";
    
    gpio57.$name                   = "CONFIG_GPIO58";
    gpio57.useMcuDomainPeripherals = false;
    gpio57.GPIO.$assign            = "GPIO0";
    
    gpio58.$name                   = "CONFIG_GPIO59";
    gpio58.useMcuDomainPeripherals = false;
    gpio58.GPIO.$assign            = "GPIO0";
    
    gpio59.$name                   = "CONFIG_GPIO60";
    gpio59.useMcuDomainPeripherals = false;
    gpio59.GPIO.$assign            = "GPIO0";
    
    gpio60.$name                   = "CONFIG_GPIO61";
    gpio60.useMcuDomainPeripherals = false;
    gpio60.GPIO.$assign            = "GPIO0";
    
    gpio61.$name                   = "CONFIG_GPIO62";
    gpio61.useMcuDomainPeripherals = false;
    gpio61.GPIO.$assign            = "GPIO0";
    
    gpio62.$name                   = "CONFIG_GPIO63";
    gpio62.useMcuDomainPeripherals = false;
    gpio62.GPIO.$assign            = "GPIO0";
    
    gpio63.$name                   = "CONFIG_GPIO64";
    gpio63.useMcuDomainPeripherals = false;
    gpio63.GPIO.$assign            = "GPIO0";
    
    gpio64.$name                   = "CONFIG_GPIO65";
    gpio64.useMcuDomainPeripherals = false;
    gpio64.GPIO.$assign            = "GPIO0";
    
    gpio65.$name                   = "CONFIG_GPIO66";
    gpio65.useMcuDomainPeripherals = false;
    gpio65.GPIO.$assign            = "GPIO0";
    
    gpio66.$name                   = "CONFIG_GPIO67";
    gpio66.useMcuDomainPeripherals = false;
    gpio66.GPIO.$assign            = "GPIO0";
    
    gpio67.$name                   = "CONFIG_GPIO68";
    gpio67.useMcuDomainPeripherals = false;
    gpio67.GPIO.$assign            = "GPIO0";
    
    gpio68.$name                   = "CONFIG_GPIO69";
    gpio68.useMcuDomainPeripherals = false;
    gpio68.GPIO.$assign            = "GPIO0";
    
    gpio69.$name                   = "CONFIG_GPIO70";
    gpio69.useMcuDomainPeripherals = false;
    gpio69.GPIO.$assign            = "GPIO0";
    
    gpio70.$name                   = "CONFIG_GPIO71";
    gpio70.useMcuDomainPeripherals = false;
    gpio70.GPIO.$assign            = "GPIO0";
    
    gpio71.$name                   = "CONFIG_GPIO72";
    gpio71.useMcuDomainPeripherals = false;
    gpio71.GPIO.$assign            = "GPIO0";
    
    gpio72.$name                   = "CONFIG_GPIO73";
    gpio72.useMcuDomainPeripherals = false;
    gpio72.GPIO.$assign            = "GPIO0";
    
    gpio73.$name                   = "CONFIG_GPIO74";
    gpio73.useMcuDomainPeripherals = false;
    gpio73.GPIO.$assign            = "GPIO0";
    
    gpio74.$name                   = "CONFIG_GPIO75";
    gpio74.useMcuDomainPeripherals = false;
    gpio74.GPIO.$assign            = "GPIO0";
    
    gpio75.$name                   = "CONFIG_GPIO76";
    gpio75.useMcuDomainPeripherals = false;
    gpio75.GPIO.$assign            = "GPIO0";
    
    gpio76.$name                   = "CONFIG_GPIO77";
    gpio76.useMcuDomainPeripherals = false;
    gpio76.GPIO.$assign            = "GPIO0";
    
    gpio77.$name                   = "CONFIG_GPIO78";
    gpio77.useMcuDomainPeripherals = false;
    gpio77.GPIO.$assign            = "GPIO0";
    
    gpio78.$name                   = "CONFIG_GPIO79";
    gpio78.useMcuDomainPeripherals = false;
    gpio78.GPIO.$assign            = "GPIO0";
    
    gpio79.$name                   = "CONFIG_GPIO80";
    gpio79.useMcuDomainPeripherals = false;
    gpio79.GPIO.$assign            = "GPIO0";
    
    gpio80.$name                   = "CONFIG_GPIO81";
    gpio80.useMcuDomainPeripherals = false;
    gpio80.GPIO.$assign            = "GPIO0";
    
    gpio81.$name                   = "CONFIG_GPIO82";
    gpio81.useMcuDomainPeripherals = false;
    gpio81.GPIO.$assign            = "GPIO0";
    
    gpio82.$name                   = "CONFIG_GPIO83";
    gpio82.useMcuDomainPeripherals = false;
    gpio82.GPIO.$assign            = "GPIO0";
    
    gpio83.$name                   = "CONFIG_GPIO84";
    gpio83.useMcuDomainPeripherals = false;
    gpio83.GPIO.$assign            = "GPIO0";
    
    gpio84.$name                   = "CONFIG_GPIO85";
    gpio84.useMcuDomainPeripherals = false;
    gpio84.GPIO.$assign            = "GPIO0";
    
    gpio85.$name                   = "CONFIG_GPIO86";
    gpio85.useMcuDomainPeripherals = false;
    gpio85.GPIO.$assign            = "GPIO0";
    
    gpio86.$name                   = "CONFIG_GPIO87";
    gpio86.useMcuDomainPeripherals = false;
    gpio86.GPIO.$assign            = "GPIO0";
    
    gpio87.$name                   = "CONFIG_GPIO88";
    gpio87.useMcuDomainPeripherals = false;
    gpio87.GPIO.$assign            = "GPIO0";
    
    gpio88.$name                   = "CONFIG_GPIO89";
    gpio88.useMcuDomainPeripherals = false;
    gpio88.GPIO.$assign            = "GPIO0";
    
    gpio89.$name                   = "CONFIG_GPIO90";
    gpio89.useMcuDomainPeripherals = false;
    gpio89.GPIO.$assign            = "GPIO0";
    
    gpio90.$name                   = "CONFIG_GPIO91";
    gpio90.useMcuDomainPeripherals = false;
    gpio90.GPIO.$assign            = "GPIO0";
    
    gpio91.$name                   = "CONFIG_GPIO92";
    gpio91.useMcuDomainPeripherals = false;
    gpio91.GPIO.$assign            = "GPIO0";
    
    gpio92.$name                   = "CONFIG_GPIO93";
    gpio92.useMcuDomainPeripherals = false;
    gpio92.GPIO.$assign            = "GPIO0";
    
    gpio93.$name                   = "CONFIG_GPIO94";
    gpio93.useMcuDomainPeripherals = false;
    gpio93.GPIO.$assign            = "GPIO0";
    
    gpio94.$name                   = "CONFIG_GPIO95";
    gpio94.useMcuDomainPeripherals = false;
    gpio94.GPIO.$assign            = "GPIO0";
    
    gpio95.$name                   = "CONFIG_GPIO96";
    gpio95.useMcuDomainPeripherals = false;
    gpio95.GPIO.$assign            = "GPIO0";
    
    gpio96.$name                   = "CONFIG_GPIO97";
    gpio96.useMcuDomainPeripherals = false;
    gpio96.GPIO.$assign            = "GPIO0";
    
    gpio97.$name                   = "CONFIG_GPIO98";
    gpio97.useMcuDomainPeripherals = false;
    gpio97.GPIO.$assign            = "GPIO0";
    
    gpio98.$name                   = "CONFIG_GPIO99";
    gpio98.useMcuDomainPeripherals = false;
    gpio98.GPIO.$assign            = "GPIO0";
    
    gpio99.$name                   = "CONFIG_GPIO100";
    gpio99.useMcuDomainPeripherals = false;
    gpio99.GPIO.$assign            = "GPIO0";
    
    gpio100.$name                   = "CONFIG_GPIO101";
    gpio100.useMcuDomainPeripherals = false;
    gpio100.GPIO.$assign            = "GPIO0";
    
    gpio101.$name                   = "CONFIG_GPIO102";
    gpio101.useMcuDomainPeripherals = false;
    gpio101.GPIO.$assign            = "GPIO0";
    
    gpio102.$name                   = "CONFIG_GPIO103";
    gpio102.useMcuDomainPeripherals = false;
    gpio102.GPIO.$assign            = "GPIO0";
    
    gpio103.$name                   = "CONFIG_GPIO104";
    gpio103.useMcuDomainPeripherals = false;
    gpio103.GPIO.$assign            = "GPIO0";
    
    gpio104.$name                   = "CONFIG_GPIO105";
    gpio104.useMcuDomainPeripherals = false;
    gpio104.GPIO.$assign            = "GPIO0";
    
    gpio105.$name                   = "CONFIG_GPIO106";
    gpio105.useMcuDomainPeripherals = false;
    gpio105.GPIO.$assign            = "GPIO0";
    
    gpio106.$name                   = "CONFIG_GPIO107";
    gpio106.useMcuDomainPeripherals = false;
    gpio106.GPIO.$assign            = "GPIO0";
    
    gpio107.$name                   = "CONFIG_GPIO108";
    gpio107.useMcuDomainPeripherals = false;
    gpio107.GPIO.$assign            = "GPIO0";
    
    gpio108.$name                   = "CONFIG_GPIO109";
    gpio108.useMcuDomainPeripherals = false;
    gpio108.GPIO.$assign            = "GPIO0";
    
    gpio109.$name                   = "CONFIG_GPIO110";
    gpio109.useMcuDomainPeripherals = false;
    gpio109.GPIO.$assign            = "GPIO0";
    
    gpio110.$name                   = "CONFIG_GPIO111";
    gpio110.useMcuDomainPeripherals = false;
    gpio110.GPIO.$assign            = "GPIO0";
    
    gpio111.$name                   = "CONFIG_GPIO112";
    gpio111.useMcuDomainPeripherals = false;
    gpio111.GPIO.$assign            = "GPIO0";
    
    gpio112.$name                   = "CONFIG_GPIO113";
    gpio112.useMcuDomainPeripherals = false;
    gpio112.GPIO.$assign            = "GPIO0";
    
    gpio113.$name = "CONFIG_GPIO114";
    
    gpio114.$name = "CONFIG_GPIO115";
    
    gpio115.$name = "CONFIG_GPIO17";
    
    gpio116.$name = "CONFIG_GPIO18";
    
    addr_translate1.$name     = "CONFIG_ADDR_TRANSLATE_REGION0";
    addr_translate1.localAddr = 0x80000000;
    
    addr_translate2.$name      = "CONFIG_ADDR_TRANSLATE_REGION1";
    addr_translate2.systemAddr = 0x20000000;
    addr_translate2.localAddr  = 0xA0000000;
    
    addr_translate3.$name      = "CONFIG_ADDR_TRANSLATE_REGION2";
    addr_translate3.systemAddr = 0x40000000;
    addr_translate3.localAddr  = 0xC0000000;
    
    addr_translate4.$name      = "CONFIG_ADDR_TRANSLATE_REGION3";
    addr_translate4.systemAddr = 0x60000000;
    addr_translate4.localAddr  = 0x60000000;
    
    debug_log.enableUartLog              = true;
    debug_log.uartLog.$name              = "CONFIG_UART0";
    debug_log.uartLog.MCU_UART.RXD.$used = false;
    debug_log.uartLog.MCU_UART.TXD.$used = false;
    
    mpu_armv71.$name        = "CONFIG_MPU_REGION0";
    mpu_armv71.attributes   = "Device";
    mpu_armv71.allowExecute = false;
    
    mpu_armv72.$name = "CONFIG_MPU_REGION1";
    mpu_armv72.size  = 18;
    
    /**
     * Pinmux solution for unlocked pins/peripherals. This ensures that minor changes to the automatic solver in a future
     * version of the tool will not impact the pinmux you originally saw.  These lines can be completely deleted in order to
     * re-solve from scratch.
     */
    gpio1.MCU_GPIO.$suggestSolution             = "MCU_GPIO0";
    gpio1.MCU_GPIO.gpioPin.$suggestSolution     = "WKUP_CLKOUT0";
    gpio2.MCU_GPIO.$suggestSolution             = "MCU_GPIO0";
    gpio2.MCU_GPIO.gpioPin.$suggestSolution     = "PMIC_LPM_EN0";
    gpio3.MCU_GPIO.$suggestSolution             = "MCU_GPIO0";
    gpio3.MCU_GPIO.gpioPin.$suggestSolution     = "MCU_RESETSTATz";
    gpio4.MCU_GPIO.$suggestSolution             = "MCU_GPIO0";
    gpio4.MCU_GPIO.gpioPin.$suggestSolution     = "WKUP_I2C0_SDA";
    gpio5.MCU_GPIO.$suggestSolution             = "MCU_GPIO0";
    gpio5.MCU_GPIO.gpioPin.$suggestSolution     = "WKUP_I2C0_SCL";
    gpio6.MCU_GPIO.$suggestSolution             = "MCU_GPIO0";
    gpio6.MCU_GPIO.gpioPin.$suggestSolution     = "MCU_I2C0_SDA";
    gpio7.MCU_GPIO.$suggestSolution             = "MCU_GPIO0";
    gpio7.MCU_GPIO.gpioPin.$suggestSolution     = "MCU_I2C0_SCL";
    gpio8.MCU_GPIO.$suggestSolution             = "MCU_GPIO0";
    gpio8.MCU_GPIO.gpioPin.$suggestSolution     = "MCU_MCAN1_RX";
    gpio9.MCU_GPIO.$suggestSolution             = "MCU_GPIO0";
    gpio9.MCU_GPIO.gpioPin.$suggestSolution     = "MCU_MCAN1_TX";
    gpio10.MCU_GPIO.$suggestSolution            = "MCU_GPIO0";
    gpio10.MCU_GPIO.gpioPin.$suggestSolution    = "MCU_MCAN0_RX";
    gpio11.MCU_GPIO.$suggestSolution            = "MCU_GPIO0";
    gpio11.MCU_GPIO.gpioPin.$suggestSolution    = "MCU_MCAN0_TX";
    gpio12.MCU_GPIO.$suggestSolution            = "MCU_GPIO0";
    gpio12.MCU_GPIO.gpioPin.$suggestSolution    = "WKUP_UART0_RTSn";
    gpio13.MCU_GPIO.$suggestSolution            = "MCU_GPIO0";
    gpio13.MCU_GPIO.gpioPin.$suggestSolution    = "WKUP_UART0_CTSn";
    gpio14.MCU_GPIO.$suggestSolution            = "MCU_GPIO0";
    gpio14.MCU_GPIO.gpioPin.$suggestSolution    = "WKUP_UART0_TXD";
    gpio15.MCU_GPIO.$suggestSolution            = "MCU_GPIO0";
    gpio15.MCU_GPIO.gpioPin.$suggestSolution    = "WKUP_UART0_RXD";
    gpio16.MCU_GPIO.$suggestSolution            = "MCU_GPIO0";
    gpio16.MCU_GPIO.gpioPin.$suggestSolution    = "MCU_UART0_RTSn";
    gpio17.MCU_GPIO.$suggestSolution            = "MCU_GPIO0";
    gpio17.MCU_GPIO.gpioPin.$suggestSolution    = "MCU_UART0_CTSn";
    gpio18.MCU_GPIO.$suggestSolution            = "MCU_GPIO0";
    gpio18.MCU_GPIO.gpioPin.$suggestSolution    = "MCU_UART0_TXD";
    gpio19.MCU_GPIO.$suggestSolution            = "MCU_GPIO0";
    gpio19.MCU_GPIO.gpioPin.$suggestSolution    = "MCU_UART0_RXD";
    gpio20.MCU_GPIO.$suggestSolution            = "MCU_GPIO0";
    gpio20.MCU_GPIO.gpioPin.$suggestSolution    = "MCU_SPI0_D1";
    gpio21.GPIO.gpioPin.$suggestSolution        = "RGMII2_TD2";
    gpio22.GPIO.gpioPin.$suggestSolution        = "RGMII2_TD1";
    gpio23.GPIO.gpioPin.$suggestSolution        = "RGMII2_TD0";
    gpio24.GPIO.gpioPin.$suggestSolution        = "RGMII2_TXC";
    gpio25.GPIO.gpioPin.$suggestSolution        = "RGMII2_TX_CTL";
    gpio26.GPIO.gpioPin.$suggestSolution        = "MDIO0_MDC";
    gpio27.GPIO.gpioPin.$suggestSolution        = "MDIO0_MDIO";
    gpio28.GPIO.gpioPin.$suggestSolution        = "RGMII1_RD3";
    gpio29.GPIO.gpioPin.$suggestSolution        = "RGMII1_RD2";
    gpio30.GPIO.gpioPin.$suggestSolution        = "RGMII1_RD1";
    gpio31.GPIO.gpioPin.$suggestSolution        = "RGMII1_RD0";
    gpio32.GPIO.gpioPin.$suggestSolution        = "RGMII1_RXC";
    gpio33.GPIO.gpioPin.$suggestSolution        = "RGMII1_RX_CTL";
    gpio34.GPIO.gpioPin.$suggestSolution        = "RGMII1_TD3";
    gpio35.GPIO.gpioPin.$suggestSolution        = "RGMII1_TD2";
    gpio36.GPIO.gpioPin.$suggestSolution        = "RGMII1_TD1";
    gpio37.GPIO.gpioPin.$suggestSolution        = "RGMII1_TD0";
    gpio38.GPIO.gpioPin.$suggestSolution        = "RGMII1_TXC";
    gpio39.GPIO.gpioPin.$suggestSolution        = "RGMII1_TX_CTL";
    gpio40.GPIO.gpioPin.$suggestSolution        = "MMC2_SDWP";
    gpio41.GPIO.gpioPin.$suggestSolution        = "MMC2_SDCD";
    gpio42.GPIO.gpioPin.$suggestSolution        = "MMC2_CMD";
    gpio43.GPIO.gpioPin.$suggestSolution        = "MMC2_CLK";
    gpio44.GPIO.gpioPin.$suggestSolution        = "MMC2_DAT0";
    gpio45.GPIO.gpioPin.$suggestSolution        = "MMC2_DAT1";
    gpio46.GPIO.gpioPin.$suggestSolution        = "MMC2_DAT2";
    gpio47.GPIO.gpioPin.$suggestSolution        = "MMC2_DAT3";
    gpio48.GPIO.gpioPin.$suggestSolution        = "VOUT0_PCLK";
    gpio49.GPIO.gpioPin.$suggestSolution        = "VOUT0_VSYNC";
    gpio50.GPIO.gpioPin.$suggestSolution        = "VOUT0_DE";
    gpio51.GPIO.gpioPin.$suggestSolution        = "VOUT0_HSYNC";
    gpio52.GPIO.gpioPin.$suggestSolution        = "VOUT0_DATA15";
    gpio53.GPIO.gpioPin.$suggestSolution        = "VOUT0_DATA14";
    gpio54.GPIO.gpioPin.$suggestSolution        = "VOUT0_DATA13";
    gpio55.GPIO.gpioPin.$suggestSolution        = "VOUT0_DATA12";
    gpio56.GPIO.gpioPin.$suggestSolution        = "VOUT0_DATA11";
    gpio57.GPIO.gpioPin.$suggestSolution        = "VOUT0_DATA10";
    gpio58.GPIO.gpioPin.$suggestSolution        = "VOUT0_DATA9";
    gpio59.GPIO.gpioPin.$suggestSolution        = "VOUT0_DATA8";
    gpio60.GPIO.gpioPin.$suggestSolution        = "VOUT0_DATA7";
    gpio61.GPIO.gpioPin.$suggestSolution        = "VOUT0_DATA6";
    gpio62.GPIO.gpioPin.$suggestSolution        = "VOUT0_DATA5";
    gpio63.GPIO.gpioPin.$suggestSolution        = "VOUT0_DATA4";
    gpio64.GPIO.gpioPin.$suggestSolution        = "VOUT0_DATA3";
    gpio65.GPIO.gpioPin.$suggestSolution        = "VOUT0_DATA2";
    gpio66.GPIO.gpioPin.$suggestSolution        = "VOUT0_DATA1";
    gpio67.GPIO.gpioPin.$suggestSolution        = "VOUT0_DATA0";
    gpio68.GPIO.gpioPin.$suggestSolution        = "GPMC0_CSn3";
    gpio69.GPIO.gpioPin.$suggestSolution        = "GPMC0_CSn2";
    gpio70.GPIO.gpioPin.$suggestSolution        = "GPMC0_CSn1";
    gpio71.GPIO.gpioPin.$suggestSolution        = "GPMC0_CSn0";
    gpio72.GPIO.gpioPin.$suggestSolution        = "GPMC0_DIR";
    gpio73.GPIO.gpioPin.$suggestSolution        = "GPMC0_WPn";
    gpio74.GPIO.gpioPin.$suggestSolution        = "GPMC0_WAIT1";
    gpio75.GPIO.gpioPin.$suggestSolution        = "GPMC0_WAIT0";
    gpio76.GPIO.gpioPin.$suggestSolution        = "GPMC0_BE1n";
    gpio77.GPIO.gpioPin.$suggestSolution        = "GPMC0_BE0n_CLE";
    gpio78.GPIO.gpioPin.$suggestSolution        = "GPMC0_WEn";
    gpio79.GPIO.gpioPin.$suggestSolution        = "GPMC0_OEn_REn";
    gpio80.GPIO.gpioPin.$suggestSolution        = "GPMC0_ADVn_ALE";
    gpio81.GPIO.gpioPin.$suggestSolution        = "GPMC0_CLK";
    gpio82.GPIO.gpioPin.$suggestSolution        = "GPMC0_AD15";
    gpio83.GPIO.gpioPin.$suggestSolution        = "GPMC0_AD14";
    gpio84.GPIO.gpioPin.$suggestSolution        = "GPMC0_AD13";
    gpio85.GPIO.gpioPin.$suggestSolution        = "GPMC0_AD12";
    gpio86.GPIO.gpioPin.$suggestSolution        = "GPMC0_AD11";
    gpio87.GPIO.gpioPin.$suggestSolution        = "GPMC0_AD10";
    gpio88.GPIO.gpioPin.$suggestSolution        = "GPMC0_AD9";
    gpio89.GPIO.gpioPin.$suggestSolution        = "GPMC0_AD8";
    gpio90.GPIO.gpioPin.$suggestSolution        = "GPMC0_AD7";
    gpio91.GPIO.gpioPin.$suggestSolution        = "GPMC0_AD6";
    gpio92.GPIO.gpioPin.$suggestSolution        = "GPMC0_AD5";
    gpio93.GPIO.gpioPin.$suggestSolution        = "GPMC0_AD4";
    gpio94.GPIO.gpioPin.$suggestSolution        = "GPMC0_AD3";
    gpio95.GPIO.gpioPin.$suggestSolution        = "GPMC0_AD2";
    gpio96.GPIO.gpioPin.$suggestSolution        = "GPMC0_AD1";
    gpio97.GPIO.gpioPin.$suggestSolution        = "GPMC0_AD0";
    gpio98.GPIO.gpioPin.$suggestSolution        = "OSPI0_CSn3";
    gpio99.GPIO.gpioPin.$suggestSolution        = "OSPI0_CSn2";
    gpio100.GPIO.gpioPin.$suggestSolution       = "OSPI0_CSn1";
    gpio101.GPIO.gpioPin.$suggestSolution       = "OSPI0_CSn0";
    gpio102.GPIO.gpioPin.$suggestSolution       = "OSPI0_D7";
    gpio103.GPIO.gpioPin.$suggestSolution       = "OSPI0_D6";
    gpio104.GPIO.gpioPin.$suggestSolution       = "OSPI0_D5";
    gpio105.GPIO.gpioPin.$suggestSolution       = "OSPI0_D4";
    gpio106.GPIO.gpioPin.$suggestSolution       = "OSPI0_D3";
    gpio107.GPIO.gpioPin.$suggestSolution       = "OSPI0_D2";
    gpio108.GPIO.gpioPin.$suggestSolution       = "OSPI0_D1";
    gpio109.GPIO.gpioPin.$suggestSolution       = "OSPI0_D0";
    gpio110.GPIO.gpioPin.$suggestSolution       = "OSPI0_DQS";
    gpio111.GPIO.gpioPin.$suggestSolution       = "OSPI0_LBCLKO";
    gpio112.GPIO.gpioPin.$suggestSolution       = "OSPI0_CLK";
    gpio113.MCU_GPIO.$suggestSolution           = "MCU_GPIO0";
    gpio113.MCU_GPIO.gpioPin.$suggestSolution   = "MCU_SPI0_D0";
    gpio114.MCU_GPIO.$suggestSolution           = "MCU_GPIO0";
    gpio114.MCU_GPIO.gpioPin.$suggestSolution   = "MCU_SPI0_CLK";
    gpio115.MCU_GPIO.$suggestSolution           = "MCU_GPIO0";
    gpio115.MCU_GPIO.gpioPin.$suggestSolution   = "MCU_SPI0_CS1";
    gpio116.MCU_GPIO.$suggestSolution           = "MCU_GPIO0";
    gpio116.MCU_GPIO.gpioPin.$suggestSolution   = "MCU_SPI0_CS0";
    debug_log.uartLog.MCU_UART.$suggestSolution = "MCU_USART0";
    

    I also found a similar thread, so I'd like to share it just in case.
    https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1345814/am2434-syscfg-in-ccs-freezes-after-adding-a-large-number-of-gpios

    Best regards,
    O.H

  • Hi O.H,

    Thanks for the sharing the above details.

    Let me check this internally and revert back.

    Regards,

    Tushar

  • Hi Tushar,

    Sorry for rush you.

    Is there any update?? It would be helpful if you could let me know the situation.

    Best regards,
    O.H

  • Q2About the I2C terminal When changing the terminal setting from GPIO to I2C after startup, there is no need to set the GPIO side to open drain output in advance, just set it on the I2C side.

    Hello O.H,

    If the pin is an open drain, then users don't need to control any IOD settings in GPIO or I2C mode of operation.

    When you are changing from GPIO to I2C then you need to configure Mux mode accordingly, and other than that you don't need to enable any open drain settings.

    Mostly, IOD pins do not have pull up's supported . So, users need to connect to Resistor externally.

    When setting GPIO1_31, should we refer to "AM62Q Sysconfig File" for the offset "PIN_EXTINTN" from the base address?

    "PIN_EXTINTN" was not defined in enum Pinmux_MainOffsets in "pinmux.h" in the SDK source folder.
    \mcu_plus_sdk_am62x_09_02_00_38\source\drivers\pinmux\am62x\pinmux.h

    Are you expecting the offset value of GPIO1_31 from pinmux.h file ?

    This is available from pinmux.h file.

    GPIO1_31 Pin is available on D16 Pin  in MCU+SDK and in your case the same pin is available on B16 pin .

    So, packages will be different . 

    Regards,

    Anil.

  • Hello O.H.

    Thanks for your patience.

    Could you please let me know if there is a solution to the following error?

    I have checked the above Sysconfig file and able to reproduce the issue. This is a known issue and need changes from sysconfig tool also.

    I have filed an internal Jira ticket for the same, but this is not planned to be fixed in next release of MCU+SDK. 

    Regards,

    Tushar

  • Hello Anil,

    Thank you for your reply.

    If the pin is an open drain, then users don't need to control any IOD settings in GPIO or I2C mode of operation.

    When you are changing from GPIO to I2C then you need to configure Mux mode accordingly, and other than that you don't need to enable any open drain settings.

    Mostly, IOD pins do not have pull up's supported . So, users need to connect to Resistor externally.

    I understood.

    Are you expecting the offset value of GPIO1_31 from pinmux.h file ?

    This is available from pinmux.h file.

    OK. I will add it manually with reference to "AM62x_pinmux.h" available from "AM62Q Sysconfig File".

    Best regards,
    O.H

  • Hello Tushar,

    Thank you for your reply.

    I have checked the above Sysconfig file and able to reproduce the issue. This is a known issue and need changes from sysconfig tool also.

    I have filed an internal Jira ticket for the same, but this is not planned to be fixed in next release of MCU+SDK. 

    I understood. It would be helpful if you could let me know the release schedule, even if it's just a plan.

    Best regards,
    O.H

  • Hello O.H,

    GPIO1_31 Pin is available on D16 Pin  in MCU+SDK and in your case the same pin is available on B16 pin .

    So, packages will be different .

    Please also look at the above comment as well.

    I am saying that already this GPIO1_31 pin is available in MCU+SDK but this pin belongs D16 and not the B16 pin.

    Regards,

    Anil.

  • Hello Anil,

    Thank you for pointing that out. And sorry, let me confirm.

    I am saying that already this GPIO1_31 pin is available in MCU+SDK but this pin belongs D16 and not the B16 pin.

    Does this mean that we need to be careful about the difference between ALW (D16) and AMC (B16), and that the sample .sysconfig file provided with the MCU + SDK also needs to be changed to AMC?

    Could you please explain specifically what you mean by "already this GPIO1_31 pin is available in MCU+SDK"?

    Best regards,
    O.H

  • Hello O.H,

    In AM62X MCU+SDK, the GPIO1_31 pin is configured through ball B16 and not the D16.

    Which means that in MCU+SDK we use the ALW package and in your use case you are using a different package.

    This offset value and pin definition are seems missing in our MCU+SDK,.

    I will raise the bug.Meanwhile you can add the same offset value (0x1F4) and 

    PIN_EXTINTN defination should add in muc+sdk pinmux.h file and proceed further.

    Regards,

    Anil.

  • Hello Anil,

    Thank you for your kind answer. I understood. For now, we will have to add it manually.

    Best regards,
    O.H

  • Hello O.H.

    If your queries are clarified, please close this thread and open new threads for new queries.

    Regards,

    Anil.