]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - processor-sdk/pdk.git/commitdiff
PDK-5037: Board: Added pinmux control for J7200 SoM muxes
authorM V Pratap Reddy <x0257344@ti.com>
Wed, 8 Jul 2020 07:00:52 +0000 (12:30 +0530)
committerSivaraj R <sivaraj@ti.com>
Wed, 8 Jul 2020 08:09:15 +0000 (03:09 -0500)
16 files changed:
packages/ti/board/diag/mcan/build/j7200_evm/GPIO_MCAN_config.c
packages/ti/board/diag/mcan/src/mcan_test.c
packages/ti/board/diag/norflash/src/spi_norflash_test.c
packages/ti/board/diag/rs485_uart/src/rs485_uart_diag_v2.c
packages/ti/board/src/j7200_evm/J7200_pinmux.h
packages/ti/board/src/j7200_evm/J7200_pinmux_data.c
packages/ti/board/src/j7200_evm/J7200_pinmux_data_audio.c [new file with mode: 0755]
packages/ti/board/src/j7200_evm/J7200_pinmux_data_profibus.c [new file with mode: 0755]
packages/ti/board/src/j7200_evm/board_control.c
packages/ti/board/src/j7200_evm/board_pinmux.c
packages/ti/board/src/j7200_evm/include/board_control.h
packages/ti/board/src/j7200_evm/include/board_pinmux.h
packages/ti/board/src/j7200_evm/j7200_evm_audio.syscfg [new file with mode: 0755]
packages/ti/board/src/j7200_evm/j7200_evm_baseboard_pinmux.syscfg [new file with mode: 0755]
packages/ti/board/src/j7200_evm/j7200_evm_profi.syscfg [new file with mode: 0755]
packages/ti/board/src/j7200_evm/src_files_j7200_evm.mk

index 00ebfc83f07b5e5e10daec9087b12323cad5b30d..4c025a573f2c3336059ac8105c114b2d7efb6bba 100755 (executable)
@@ -44,7 +44,7 @@
 #include <ti/drv/gpio/GPIO.h>\r
 #include <ti/drv/gpio/soc/GPIO_soc.h>\r
 \r
-#define PIN1                (0x0036U) /* MCU_CAN0_STB_PIN WKUP_GPIO0_58 */\r
+#define PIN1                (0x003AU) /* MCU_CAN0_STB_PIN WKUP_GPIO0_58 */\r
 #define PIN2                (0x0002U) /* MCU_CAN1_STB_PIN WKUP_GPIO0_2  */\r
 #define PIN3                (0x0000U) /* MCU_CAN0_EN_PIN WKUP_GPIO0_0  */\r
 \r
index f46be25eed6eb4db6b2bed2e602f1d7040dacc07..d144a5b0c14a13ca41e9f71906f07aa7047aa0aa 100755 (executable)
@@ -872,9 +872,7 @@ static void BoardDiag_mcanEnable(void)
 #if defined(j7200_evm)
         /* Enable GESI CAN STB pin to normal mode  */
         BoardDiag_McanMuxEnable(PIN_NUM_7, GPIO_SIGNAL_LEVEL_LOW);
-        BoardDiag_McanMuxEnable(PIN_NUM_1, GPIO_SIGNAL_LEVEL_HIGH);
-        BoardDiag_McanMuxEnable(PIN_NUM_2, GPIO_SIGNAL_LEVEL_HIGH);
-        BoardDiag_McanMuxEnable(PIN_NUM_3, GPIO_SIGNAL_LEVEL_HIGH);
+        Board_control(BOARD_CTRL_CMD_SET_SOM_CAN_MUX, NULL);
 #else
         /* GPIO0_60 */
         BoardDiag_mcanGpioConfig(CSL_GPIO0_BASE, 0);
index e444ae42b1741bcbbf39f3c2176c2f30e5d515fb..d42326061d7c88627e760a9c8e242e00180740bb 100755 (executable)
@@ -478,12 +478,19 @@ int main(void)
     Board_initCfg boardCfg;\r
     int8_t ret = 0;\r
 \r
+#if defined(j7200_evm)\r
+    Board_PinmuxConfig_t pinmuxCfg;\r
+    Board_pinmuxGetCfg(&pinmuxCfg);\r
+    pinmuxCfg.somMux = BOARD_PINMUX_SOM_PROFIBUS; /* Enables SPI pinmux */\r
+    Board_pinmuxSetCfg(&pinmuxCfg);\r
+#endif\r
+\r
 #ifdef PDK_RAW_BOOT\r
     boardCfg = BOARD_INIT_MODULE_CLOCK |\r
                BOARD_INIT_PINMUX_CONFIG |\r
                BOARD_INIT_UART_STDIO;\r
 #else\r
-    boardCfg = BOARD_INIT_UART_STDIO;\r
+    boardCfg = BOARD_INIT_UART_STDIO | BOARD_INIT_PINMUX_CONFIG;\r
 #endif\r
 \r
     status = Board_init(boardCfg);\r
@@ -491,7 +498,7 @@ int main(void)
     {\r
         return -1;\r
     }\r
-    //J7200_TODO: Pinmux for spi5 need to add, after board pinmux fix to add like hpb\r
+\r
     ret = BoardDiag_SpiNorflashTest();\r
     if(ret != 0)\r
     {\r
index 16b1d18060103a6b26b79b9b7a58313020fe9e80..5134863a1ee673c3746c3077dcdaad75de2ab37a 100755 (executable)
@@ -228,7 +228,6 @@ void BoardDiag_rs485UartMuxEnable(i2cIoExpPinNumber_t pinNum,
 }
 #endif
 
-#if defined(SOC_J721E)
 /**
  * \brief  UART mux selection function
  *
@@ -252,12 +251,11 @@ static void boardDiag_pruUartMux(uint8_t portNum)
 
     BoardDiag_rs485UartMuxEnable(PIN_NUM_2, GPIO_SIGNAL_LEVEL_HIGH);
 
-#else
+#elif defined(j721e_evm)
     GPIO_init();
     Board_pinmuxSetReg(BOARD_SOC_DOMAIN_MAIN,
                            PIN_PRG0_PRU0_GPO5,
                            BOARD_GPIO_PIN_MUX_CFG);
-#endif
     if(portNum == 0)
     {
         GPIO_write(2, GPIO_SIGNAL_LEVEL_LOW);
@@ -268,8 +266,8 @@ static void boardDiag_pruUartMux(uint8_t portNum)
         /* MAIN_UART4 path enable from the GESI board */
         Board_control(BOARD_CTRL_CMD_SET_RS485_UART4_EN_MUX, NULL);
     }
-}
 #endif
+}
 
 /**
  * \brief  main function
@@ -362,7 +360,10 @@ int BoardDiag_pruIcssUartTest(uint8_t portNum)
 #else
     /* Configure PROFI UART RTS line as GPIO*/
     BoardDiag_rs485GpioConfig(CSL_GPIO0_BASE, 0);
-#endif  /* #if defined(j721e_evm)s */
+    Board_pinmuxSetReg(BOARD_SOC_DOMAIN_MAIN,
+                       PIN_MCAN8_RX,
+                       BOARD_GPIO_PIN_MUX_CFG);
+#endif  /* #if defined(j721e_evm) */
 #endif  /* #if defined(am65xx_idk) */
 
 
@@ -456,7 +457,7 @@ int main(void)
     }
     for(portNum = 0; portNum < MAX_UART_PORTS_RS485 ; portNum++)
     {
-#if defined(SOC_J721E)
+#if defined(SOC_J721E) || defined(SOC_J7200)
     boardDiag_pruUartMux(portNum);
 #endif
     ret = BoardDiag_pruIcssUartTest(portNum);
index 35c59ccb2dcef37545a9c724968edf9e181def3e..f799eeb06ce889cde80b13fbe706c46b6418a130 100755 (executable)
@@ -141,6 +141,7 @@ enum pinWkupOffsets
        PIN_MCU_ADC0_AIN6                = 0x14C,\r
        PIN_MCU_ADC0_AIN7                = 0x150,\r
        PIN_MCU_OSPI0_CLK                = 0x0,\r
+    PIN_MCU_OSPI0_LBCLKO        = 0x4,\r
        PIN_MCU_OSPI0_CSN0               = 0x2C,\r
        PIN_MCU_OSPI0_D0                 = 0xC,\r
        PIN_MCU_OSPI0_D1                 = 0x10,\r
@@ -216,6 +217,11 @@ extern pinmuxBoardCfg_t gJ7200_MainPinmuxData[];
 extern pinmuxBoardCfg_t gJ7200_WkupPinmuxData[];\r
 extern pinmuxBoardCfg_t gJ7200_MainPinmuxDataCpsw[];\r
 extern pinmuxBoardCfg_t gJ7200_WkupPinmuxDataCpsw[];\r
+extern pinmuxBoardCfg_t gJ7200_WkupPinmuxDataHpb[];\r
+extern pinmuxBoardCfg_t gJ7200_MainPinmuxDataAudio[];\r
+extern pinmuxBoardCfg_t gJ7200_WkupPinmuxDataAudio[];\r
+extern pinmuxBoardCfg_t gJ7200_MainPinmuxDataProfibus[];\r
+extern pinmuxBoardCfg_t gJ7200_WkupPinmuxDataProfibus[];\r
 \r
 #ifdef __cplusplus\r
 }\r
index 303c783077d0189bb45e61b0f75f1d50ff307c9d..727f952afac5be7fc8adc4ca8d33b0b74e9c0309 100644 (file)
@@ -1,5 +1,5 @@
 /**\r
-* Note: This file was auto-generated by TI PinMux on 6/10/2020 at 7:02:21 PM.\r
+* Note: This file was auto-generated by TI PinMux on 7/8/2020 at 10:12:19 AM.\r
 *\r
 * \file  J7200_pinmux_data.c\r
 *\r
@@ -968,6 +968,11 @@ static pinmuxPerCfg_t gWkup_gpio0PinCfg[] =
         PIN_WKUP_GPIO0_7, PIN_MODE(7) | \\r
         ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
     },\r
+    /* MyWKUP_GPIO1 -> WKUP_GPIO0_17 -> C8 */\r
+    {\r
+        PIN_MCU_OSPI0_LBCLKO, PIN_MODE(7) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
     /* MyWKUP_GPIO1 -> WKUP_GPIO0_56 -> C13 */\r
     {\r
         PIN_MCU_SPI0_CLK, PIN_MODE(7) | \\r
@@ -1119,6 +1124,77 @@ static pinmuxPerCfg_t gWkup_uart0PinCfg[] =
     {PINMUX_END}\r
 };\r
 \r
+static pinmuxPerCfg_t gMcu_fss0_hpb0PinCfg[] =\r
+{\r
+    /* MyMCU_FSS0_HPB1 -> MCU_HYPERBUS0_CK -> B6 */\r
+    {\r
+        PIN_MCU_OSPI0_CLK, PIN_MODE(1) | \\r
+        ((PIN_PULL_DISABLE) & (~PIN_PULL_DIRECTION & ~PIN_INPUT_ENABLE))\r
+    },\r
+    /* MyMCU_FSS0_HPB1 -> MCU_HYPERBUS0_CKn -> C8 */\r
+    {\r
+        PIN_MCU_OSPI0_LBCLKO, PIN_MODE(1) | \\r
+        ((PIN_PULL_DISABLE) & (~PIN_PULL_DIRECTION & ~PIN_INPUT_ENABLE))\r
+    },\r
+    /* MyMCU_FSS0_HPB1 -> MCU_HYPERBUS0_CSn0 -> D6 */\r
+    {\r
+        PIN_MCU_OSPI0_CSN0, PIN_MODE(1) | \\r
+        ((PIN_PULL_DISABLE) & (~PIN_PULL_DIRECTION & ~PIN_INPUT_ENABLE))\r
+    },\r
+    /* MyMCU_FSS0_HPB1 -> MCU_HYPERBUS0_RWDS -> B7 */\r
+    {\r
+        PIN_MCU_OSPI0_DQS, PIN_MODE(1) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    /* MyMCU_FSS0_HPB1 -> MCU_HYPERBUS0_DQ0 -> D8 */\r
+    {\r
+        PIN_MCU_OSPI0_D0, PIN_MODE(1) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    /* MyMCU_FSS0_HPB1 -> MCU_HYPERBUS0_DQ1 -> C7 */\r
+    {\r
+        PIN_MCU_OSPI0_D1, PIN_MODE(1) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    /* MyMCU_FSS0_HPB1 -> MCU_HYPERBUS0_DQ2 -> C5 */\r
+    {\r
+        PIN_MCU_OSPI0_D2, PIN_MODE(1) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    /* MyMCU_FSS0_HPB1 -> MCU_HYPERBUS0_DQ3 -> A5 */\r
+    {\r
+        PIN_MCU_OSPI0_D3, PIN_MODE(1) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    /* MyMCU_FSS0_HPB1 -> MCU_HYPERBUS0_DQ4 -> A6 */\r
+    {\r
+        PIN_MCU_OSPI0_D4, PIN_MODE(1) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    /* MyMCU_FSS0_HPB1 -> MCU_HYPERBUS0_DQ5 -> B8 */\r
+    {\r
+        PIN_MCU_OSPI0_D5, PIN_MODE(1) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    /* MyMCU_FSS0_HPB1 -> MCU_HYPERBUS0_DQ6 -> A8 */\r
+    {\r
+        PIN_MCU_OSPI0_D6, PIN_MODE(1) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    /* MyMCU_FSS0_HPB1 -> MCU_HYPERBUS0_DQ7 -> A7 */\r
+    {\r
+        PIN_MCU_OSPI0_D7, PIN_MODE(1) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    {PINMUX_END}\r
+};\r
+\r
+static pinmuxModuleCfg_t gMcu_fss0_hpbPinCfg[] =\r
+{\r
+    {0, TRUE, gMcu_fss0_hpb0PinCfg},\r
+    {PINMUX_END}\r
+};\r
+\r
 static pinmuxModuleCfg_t gWkup_uartPinCfg[] =\r
 {\r
     {0, TRUE, gWkup_uart0PinCfg},\r
@@ -1158,3 +1234,9 @@ pinmuxBoardCfg_t gJ7200_WkupPinmuxData[] =
     {12, gWkup_uartPinCfg},\r
     {PINMUX_END}\r
 };\r
+\r
+pinmuxBoardCfg_t gJ7200_WkupPinmuxDataHpb[] =\r
+{\r
+    {0, gMcu_fss0_hpbPinCfg},\r
+    {PINMUX_END}\r
+};\r
diff --git a/packages/ti/board/src/j7200_evm/J7200_pinmux_data_audio.c b/packages/ti/board/src/j7200_evm/J7200_pinmux_data_audio.c
new file mode 100755 (executable)
index 0000000..4bce786
--- /dev/null
@@ -0,0 +1,168 @@
+/**\r
+* Note: This file was auto-generated by TI PinMux on 7/8/2020 at 8:33:56 AM.\r
+*\r
+* \file  J7200_pinmux_data.c\r
+*\r
+* \brief  This file contains the pin mux configurations for the boards.\r
+*         These are prepared based on how the peripherals are extended on\r
+*         the boards.\r
+*\r
+* \copyright Copyright (CU) 2020 Texas Instruments Incorporated -\r
+*             http://www.ti.com/\r
+*/\r
+\r
+/* ========================================================================== */\r
+/*                             Include Files                                  */\r
+/* ========================================================================== */\r
+\r
+#include "J7200_pinmux.h"\r
+\r
+/** Peripheral Pin Configurations */\r
+\r
+\r
+static pinmuxPerCfg_t gMcasp0PinCfg[] =\r
+{\r
+    /* MyMCASP0 -> MCASP0_ACLKR -> U17 */\r
+    {\r
+        PIN_MCAN10_TX, PIN_MODE(12) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    /* MyMCASP0 -> MCASP0_ACLKX -> W15 */\r
+    {\r
+        PIN_MCAN4_TX, PIN_MODE(12) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    /* MyMCASP0 -> MCASP0_AFSX -> Y16 */\r
+    {\r
+        PIN_RMII1_TXD0, PIN_MODE(12) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    /* MyMCASP0 -> MCASP0_AXR0 -> W16 */\r
+    {\r
+        PIN_MCAN3_RX, PIN_MODE(12) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    /* MyMCASP0 -> MCASP0_AXR1 -> Y21 */\r
+    {\r
+        PIN_MCAN3_TX, PIN_MODE(12) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    /* MyMCASP0 -> MCASP0_AXR2 -> Y20 */\r
+    {\r
+        PIN_MCAN4_RX, PIN_MODE(12) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    /* MyMCASP0 -> MCASP0_AXR3 -> AA19 */\r
+    {\r
+        PIN_RMII1_TXD1, PIN_MODE(12) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    /* MyMCASP0 -> MCASP0_AXR4 -> U19 */\r
+    {\r
+        PIN_MCAN8_RX, PIN_MODE(12) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    /* MyMCASP0 -> MCASP0_AXR5 -> T15 */\r
+    {\r
+        PIN_MCAN8_TX, PIN_MODE(12) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    /* MyMCASP0 -> MCASP0_AXR6 -> U20 */\r
+    {\r
+        PIN_MCAN10_RX, PIN_MODE(12) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    {PINMUX_END}\r
+};\r
+\r
+static pinmuxPerCfg_t gMcasp1PinCfg[] =\r
+{\r
+    /* MyMCASP1 -> MCASP1_ACLKX -> Y19 */\r
+    {\r
+        PIN_MCAN2_RX, PIN_MODE(12) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    /* MyMCASP1 -> MCASP1_AFSX -> Y18 */\r
+    {\r
+        PIN_MCAN2_TX, PIN_MODE(12) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    /* MyMCASP1 -> MCASP1_AXR0 -> Y17 */\r
+    {\r
+        PIN_RMII1_RX_ER, PIN_MODE(12) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    /* MyMCASP1 -> MCASP1_AXR1 -> AA20 */\r
+    {\r
+        PIN_RMII1_CRS_DV, PIN_MODE(12) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    /* MyMCASP1 -> MCASP1_AXR2 -> Y15 */\r
+    {\r
+        PIN_RMII1_RXD1, PIN_MODE(12) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    /* MyMCASP1 -> MCASP1_AXR3 -> AA17 */\r
+    {\r
+        PIN_RMII1_RXD0, PIN_MODE(12) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    /* MyMCASP1 -> MCASP1_AXR4 -> U16 */\r
+    {\r
+        PIN_MCAN7_TX, PIN_MODE(12) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    /* MyMCASP1 -> MCASP1_AXR5 -> U14 */\r
+    {\r
+        PIN_MCAN6_RX, PIN_MODE(12) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    /* MyMCASP1 -> MCASP1_AXR6 -> T13 */\r
+    {\r
+        PIN_MCAN6_TX, PIN_MODE(12) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    /* MyMCASP1 -> MCASP1_AXR7 -> V19 */\r
+    {\r
+        PIN_MCAN5_RX, PIN_MODE(12) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    {PINMUX_END}\r
+};\r
+\r
+static pinmuxModuleCfg_t gMcaspPinCfg[] =\r
+{\r
+    {0, TRUE, gMcasp0PinCfg},\r
+    {1, TRUE, gMcasp1PinCfg},\r
+    {PINMUX_END}\r
+};\r
+\r
+\r
+static pinmuxPerCfg_t gSystem0PinCfg[] =\r
+{\r
+    /* MySYSTEM1 -> AUDIO_EXT_REFCLK1 -> U21 */\r
+    {\r
+        PIN_MCAN16_RX, PIN_MODE(14) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    {PINMUX_END}\r
+};\r
+\r
+static pinmuxModuleCfg_t gSystemPinCfg[] =\r
+{\r
+    {0, TRUE, gSystem0PinCfg},\r
+    {PINMUX_END}\r
+};\r
+\r
+\r
+pinmuxBoardCfg_t gJ7200_MainPinmuxDataAudio[] =\r
+{\r
+    {0, gMcaspPinCfg},\r
+    {1, gSystemPinCfg},\r
+    {PINMUX_END}\r
+};\r
+\r
+pinmuxBoardCfg_t gJ7200_WkupPinmuxDataAudio[] =\r
+{\r
+    {PINMUX_END}\r
+};\r
diff --git a/packages/ti/board/src/j7200_evm/J7200_pinmux_data_profibus.c b/packages/ti/board/src/j7200_evm/J7200_pinmux_data_profibus.c
new file mode 100755 (executable)
index 0000000..5b6474e
--- /dev/null
@@ -0,0 +1,102 @@
+/**\r
+* Note: This file was auto-generated by TI PinMux on 7/8/2020 at 8:43:51 AM.\r
+*\r
+* \file  J7200_pinmux_data.c\r
+*\r
+* \brief  This file contains the pin mux configurations for the boards.\r
+*         These are prepared based on how the peripherals are extended on\r
+*         the boards.\r
+*\r
+* \copyright Copyright (CU) 2020 Texas Instruments Incorporated -\r
+*             http://www.ti.com/\r
+*/\r
+\r
+/* ========================================================================== */\r
+/*                             Include Files                                  */\r
+/* ========================================================================== */\r
+\r
+#include "J7200_pinmux.h"\r
+\r
+/** Peripheral Pin Configurations */\r
+\r
+\r
+static pinmuxPerCfg_t gSpi5PinCfg[] =\r
+{\r
+    /* MySPI5 -> SPI5_CLK -> W15 */\r
+    {\r
+        PIN_MCAN4_TX, PIN_MODE(8) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    /* MySPI5 -> SPI5_CS0 -> W16 */\r
+    {\r
+        PIN_MCAN3_RX, PIN_MODE(8) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    /* MySPI5 -> SPI5_CS1 -> V21 */\r
+    {\r
+        PIN_MCAN5_TX, PIN_MODE(8) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    /* MySPI5 -> SPI5_D0 -> Y21 */\r
+    {\r
+        PIN_MCAN3_TX, PIN_MODE(8) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    /* MySPI5 -> SPI5_D1 -> Y20 */\r
+    {\r
+        PIN_MCAN4_RX, PIN_MODE(8) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    {PINMUX_END}\r
+};\r
+\r
+static pinmuxModuleCfg_t gSpiPinCfg[] =\r
+{\r
+    {5, TRUE, gSpi5PinCfg},\r
+    {PINMUX_END}\r
+};\r
+\r
+\r
+static pinmuxPerCfg_t gUart3PinCfg[] =\r
+{\r
+    /* MyUART3 -> UART3_CTSn -> T15 */\r
+    {\r
+        PIN_MCAN8_TX, PIN_MODE(11) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    /* MyUART3 -> UART3_RTSn -> U19 */\r
+    {\r
+        PIN_MCAN8_RX, PIN_MODE(11) | \\r
+        ((PIN_PULL_DISABLE) & (~PIN_PULL_DIRECTION & ~PIN_INPUT_ENABLE))\r
+    },\r
+    /* MyUART3 -> UART3_RXD -> Y18 */\r
+    {\r
+        PIN_MCAN2_TX, PIN_MODE(11) | \\r
+        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))\r
+    },\r
+    /* MyUART3 -> UART3_TXD -> Y19 */\r
+    {\r
+        PIN_MCAN2_RX, PIN_MODE(11) | \\r
+        ((PIN_PULL_DISABLE) & (~PIN_PULL_DIRECTION & ~PIN_INPUT_ENABLE))\r
+    },\r
+    {PINMUX_END}\r
+};\r
+\r
+static pinmuxModuleCfg_t gUartPinCfg[] =\r
+{\r
+    {3, TRUE, gUart3PinCfg},\r
+    {PINMUX_END}\r
+};\r
+\r
+\r
+pinmuxBoardCfg_t gJ7200_MainPinmuxDataProfibus[] =\r
+{\r
+    {0, gSpiPinCfg},\r
+    {1, gUartPinCfg},\r
+    {PINMUX_END}\r
+};\r
+\r
+pinmuxBoardCfg_t gJ7200_WkupPinmuxDataProfibus[] =\r
+{\r
+    {PINMUX_END}\r
+};\r
index 4db3dac2b67fd0b9097f50c4043dc522a38bab70..441e7ee94792766c2dc755dd8d7039a41b09a0f8 100755 (executable)
@@ -115,6 +115,137 @@ static Board_STATUS Board_setCpsw5GMdioMux(void)
     return status;\r
 }\r
 \r
+/**\r
+ * \brief   Configures IO mux on SoM board\r
+ *\r
+ * \return  Board_SOK in case of success or appropriate error code.\r
+ *\r
+ */\r
+static Board_STATUS Board_setSomMux(uint8_t mask,\r
+                                    uint8_t value)\r
+{\r
+    Board_I2cInitCfg_t i2cCfg;\r
+    Board_STATUS status;\r
+    uint8_t ioExpData;\r
+\r
+    i2cCfg.i2cInst    = BOARD_I2C_IOEXP_SOM_DEVICE1_INSTANCE;\r
+    i2cCfg.socDomain  = BOARD_SOC_DOMAIN_MAIN;\r
+    i2cCfg.enableIntr = false;\r
+    Board_setI2cInitConfig(&i2cCfg);\r
+\r
+    status = Board_i2cIoExpInit();\r
+    if(status == BOARD_SOK)\r
+    {\r
+        /* Setting the port direction as output */\r
+        status = Board_i2cIoExpSetPortDirection(BOARD_I2C_IOEXP_SOM_DEVICE1_ADDR,\r
+                                                ONE_PORT_IOEXP,\r
+                                                PORTNUM_0,\r
+                                                0);\r
+        BOARD_delay(1000);\r
+\r
+        /* Reading the IO expander current port settings */\r
+        status |= Board_i2cIoExpReadOutputPort(BOARD_I2C_IOEXP_SOM_DEVICE1_ADDR,\r
+                                               ONE_PORT_IOEXP,\r
+                                               PORTNUM_0,\r
+                                               &ioExpData);\r
+        BOARD_delay(1000);\r
+\r
+        ioExpData = (ioExpData & ~(mask)) | value;\r
+\r
+        /* Modify the IO expander port settings to enable audio Mux */\r
+        status |= Board_i2cIoExpWritePort(BOARD_I2C_IOEXP_SOM_DEVICE1_ADDR,\r
+                                          ONE_PORT_IOEXP,\r
+                                          PORTNUM_0,\r
+                                          ioExpData);\r
+\r
+        BOARD_delay(1000);        \r
+\r
+        Board_i2cIoExpDeInit();\r
+    }\r
+\r
+    return status;\r
+}\r
+\r
+/**\r
+ * \brief   Enables Audio mux on SoM board\r
+ *\r
+ * \return  Board_SOK in case of success or appropriate error code.\r
+ *\r
+ */\r
+static Board_STATUS Board_setSomAudioMux(void)\r
+{\r
+    Board_STATUS status;\r
+\r
+    status = Board_setSomMux(BOARD_CTRL_CMD_SOM_AUDIO_MUX_MASK,\r
+                             BOARD_CTRL_CMD_SOM_AUDIO_MUX_ENABLE);\r
+\r
+    return status;\r
+}\r
+\r
+/**\r
+ * \brief   Enables CAN and UART mux on SoM board\r
+ *\r
+ * \return  Board_SOK in case of success or appropriate error code.\r
+ *\r
+ */\r
+static Board_STATUS Board_setSomCanMux(void)\r
+{\r
+    Board_STATUS status;\r
+\r
+    status = Board_setSomMux(BOARD_CTRL_CMD_SOM_CAN_MUX_MASK,\r
+                             BOARD_CTRL_CMD_SOM_CAN_MUX_ENABLE);\r
+\r
+    return status;\r
+}\r
+\r
+/**\r
+ * \brief   Enables Profibus and SPI mux on SoM board\r
+ *\r
+ * \return  Board_SOK in case of success or appropriate error code.\r
+ *\r
+ */\r
+static Board_STATUS Board_setSomProfibusMux(void)\r
+{\r
+    Board_STATUS status;\r
+\r
+    status = Board_setSomMux(BOARD_CTRL_CMD_SOM_PROFIBUS_MUX_MASK,\r
+                             BOARD_CTRL_CMD_SOM_PROFIBUS_MUX_ENABLE);\r
+\r
+    return status;\r
+}\r
+\r
+/**\r
+ * \brief   Enables LIN mux on SoM board\r
+ *\r
+ * \return  Board_SOK in case of success or appropriate error code.\r
+ *\r
+ */\r
+static Board_STATUS Board_setSomLinMux(void)\r
+{\r
+    Board_STATUS status;\r
+\r
+    status = Board_setSomMux(BOARD_CTRL_CMD_SOM_LIN_MUX_MASK,\r
+                             BOARD_CTRL_CMD_SOM_LIN_MUX_ENABLE);\r
+\r
+    return status;\r
+}\r
+\r
+/**\r
+ * \brief   Enables UART mux on SoM board\r
+ *\r
+ * \return  Board_SOK in case of success or appropriate error code.\r
+ *\r
+ */\r
+static Board_STATUS Board_setSomUartMux(void)\r
+{\r
+    Board_STATUS status;\r
+\r
+    status = Board_setSomMux(BOARD_CTRL_CMD_SOM_UART_MUX_MASK,\r
+                             BOARD_CTRL_CMD_SOM_UART_MUX_ENABLE);\r
+\r
+    return status;\r
+}\r
+\r
 /**\r
  * \brief Board control function\r
  *\r
@@ -139,6 +270,26 @@ Board_STATUS Board_control(uint32_t cmd, void *arg)
             status = Board_setCpsw5GMdioMux();\r
             break;\r
 \r
+        case BOARD_CTRL_CMD_SET_SOM_CAN_MUX:\r
+            status = Board_setSomCanMux();\r
+            break;\r
+\r
+        case BOARD_CTRL_CMD_SET_SOM_AUDIO_MUX:\r
+            status = Board_setSomAudioMux();\r
+            break;\r
+\r
+        case BOARD_CTRL_CMD_SET_SOM_PROFIBUS_MUX:\r
+            status = Board_setSomProfibusMux();\r
+            break;\r
+\r
+        case BOARD_CTRL_CMD_SET_SOM_LIN_MUX:\r
+            status = Board_setSomLinMux();\r
+            break;\r
+\r
+        case BOARD_CTRL_CMD_SET_SOM_UART_MUX:\r
+            status = Board_setSomUartMux();\r
+            break;\r
+\r
         default:\r
             status = BOARD_INVALID_PARAM;\r
             break;\r
index 9e7aa73aea8a043b24439b212a43153ac3a07800..752601b09daa5d6ba8a27ac797775c4d3305dd2d 100755 (executable)
@@ -43,6 +43,7 @@
 #include "board_pinmux.h"\r
 \r
 static Board_PinmuxConfig_t gBoardPinmuxCfg = {BOARD_PINMUX_CUSTOM,\r
+                                               BOARD_PINMUX_SOM_CAN,\r
                                                BOARD_PINMUX_GESI_CPSW,\r
                                                BOARD_PINMUX_ENET_QSGMII,\r
                                                BOARD_PINMUX_FSS_OSPI};\r
@@ -425,10 +426,29 @@ Board_STATUS Board_pinmuxConfig (void)
     Board_pinmuxUpdate(gJ7200_WkupPinmuxData,\r
                        BOARD_SOC_DOMAIN_WKUP);\r
 \r
+    if(gBoardPinmuxCfg.somMux == BOARD_PINMUX_SOM_AUDIO)\r
+    {\r
+        Board_pinmuxUpdate(gJ7200_MainPinmuxDataAudio,\r
+                           BOARD_SOC_DOMAIN_MAIN);\r
+        Board_pinmuxUpdate(gJ7200_WkupPinmuxDataAudio,\r
+                           BOARD_SOC_DOMAIN_WKUP);\r
+    }\r
+    else if(gBoardPinmuxCfg.somMux == BOARD_PINMUX_SOM_PROFIBUS)\r
+    {\r
+        Board_pinmuxUpdate(gJ7200_MainPinmuxDataProfibus,\r
+                           BOARD_SOC_DOMAIN_MAIN);\r
+        Board_pinmuxUpdate(gJ7200_WkupPinmuxDataProfibus,\r
+                           BOARD_SOC_DOMAIN_WKUP);\r
+    }\r
+    else\r
+    {\r
+        /* Pinmux for 'BOARD_PINMUX_SOM_CAN' is active by default */\r
+    }\r
+\r
     if(gBoardPinmuxCfg.fssCfg == BOARD_PINMUX_FSS_HPB)\r
     {\r
-//        Board_pinmuxUpdate(gJ7200_WkupPinmuxDataHpb,  //J7200_TODO: Need to enable\r
-//                           BOARD_SOC_DOMAIN_WKUP);\r
+        Board_pinmuxUpdate(gJ7200_WkupPinmuxDataHpb,\r
+                           BOARD_SOC_DOMAIN_WKUP);\r
     }\r
 \r
     return status;\r
index 58cee2c5bf84ba1d6b578082c1227765fa032e67..a28e8a225b645f3119ca535635632eb7f51b3ed6 100755 (executable)
@@ -60,8 +60,24 @@ extern "C" {
 #include <ti/board/src/j7200_evm/include/board_utils.h>
 #include <ti/board/src/j7200_evm/include/board_i2c_io_exp.h>
 
-#define BOARD_CTRL_CMD_SET_IO_EXP_PIN_OUT       (0)
-#define BOARD_CTRL_CMD_SET_GESI_CPSW_MDIO_MUX   (1U)
+#define BOARD_CTRL_CMD_SET_IO_EXP_PIN_OUT        (0)
+#define BOARD_CTRL_CMD_SET_GESI_CPSW_MDIO_MUX    (1U)
+#define BOARD_CTRL_CMD_SET_SOM_CAN_MUX           (2U)
+#define BOARD_CTRL_CMD_SET_SOM_AUDIO_MUX         (3U)
+#define BOARD_CTRL_CMD_SET_SOM_PROFIBUS_MUX      (4U)
+#define BOARD_CTRL_CMD_SET_SOM_LIN_MUX           (5U)
+#define BOARD_CTRL_CMD_SET_SOM_UART_MUX          (6U)
+
+#define BOARD_CTRL_CMD_SOM_CAN_MUX_MASK           (0x2EU)
+#define BOARD_CTRL_CMD_SOM_CAN_MUX_ENABLE         (0xEU)
+#define BOARD_CTRL_CMD_SOM_AUDIO_MUX_MASK         (0x2EU)
+#define BOARD_CTRL_CMD_SOM_AUDIO_MUX_ENABLE       (0x8U)
+#define BOARD_CTRL_CMD_SOM_PROFIBUS_MUX_MASK      (0xEU)
+#define BOARD_CTRL_CMD_SOM_PROFIBUS_MUX_ENABLE    (0x6U)
+#define BOARD_CTRL_CMD_SOM_LIN_MUX_MASK           (0x3EU)
+#define BOARD_CTRL_CMD_SOM_LIN_MUX_ENABLE         (0x3EU)
+#define BOARD_CTRL_CMD_SOM_UART_MUX_MASK          (0x1EU)
+#define BOARD_CTRL_CMD_SOM_UART_MUX_ENABLE        (0xEU)
 
 /**
  * \brief Structure to configure the board IO expander parameters
index 8dd6421c2ed7bc5cde219d1b84dbabe983045e51..b9a350139cdb20b3ff4e0fbf54e4ef7ffd0d00cd 100644 (file)
@@ -79,11 +79,14 @@ extern "C" {
 #define BOARD_WKUP_MMR_P7_CLAIM_OFFSET  (0x1C000U)\r
 #define BOARD_MMR_CLAIM_ADDR_PER_REG    (128U)\r
 \r
-#define BOARD_PINMUX_CUSTOM             (0)  // Default\r
+#define BOARD_PINMUX_CUSTOM             (0)  /* Default */\r
 #define BOARD_PINMUX_AUTO               (1U)\r
+#define BOARD_PINMUX_SOM_CAN            (0U)  /* Default */\r
+#define BOARD_PINMUX_SOM_AUDIO          (1U)  /* Default */\r
+#define BOARD_PINMUX_SOM_PROFIBUS       (2U)  /* Default */\r
 #define BOARD_PINMUX_GESI_CPSW          (0U)\r
-#define BOARD_PINMUX_ENET_QSGMII        (0)  // Default\r
-#define BOARD_PINMUX_FSS_OSPI           (0)  // Default\r
+#define BOARD_PINMUX_ENET_QSGMII        (0)  /* Default */\r
+#define BOARD_PINMUX_FSS_OSPI           (0)  /* Default */\r
 #define BOARD_PINMUX_FSS_HPB            (1)\r
 \r
 /* Structure to set the board pinmux configuration */\r
@@ -100,6 +103,14 @@ typedef struct Board_PinmuxConfig_s
      */\r
     uint8_t autoCfg;\r
 \r
+    /**\r
+     * Pinmux config control for Audio/MCAN/Profibus mux on SoM board\r
+     *  BOARD_PINMUX_SOM_CAN(0) - Enables MCAN, LIN and RGMII GPIO IOs\r
+     *  BOARD_PINMUX_SOM_AUDIO(1) - Enables Audio IOs\r
+     *  BOARD_PINMUX_SOM_PROFIBUS(2) - Enables Profibus IOs\r
+     */\r
+    uint8_t somMux;\r
+\r
     /**\r
      * Pinmux config control for GESI/Infotainment expansion connector\r
      *  BOARD_PINMUX_GESI_CPSW(0) - GESI Board (CPSW5G RGMII)\r
diff --git a/packages/ti/board/src/j7200_evm/j7200_evm_audio.syscfg b/packages/ti/board/src/j7200_evm/j7200_evm_audio.syscfg
new file mode 100755 (executable)
index 0000000..e0fb1f5
--- /dev/null
@@ -0,0 +1,94 @@
+/**
+ * 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 "J7200_DRA821_SR1.0_alpha" --package "ALM" --part "Default"
+ * @versions {"data":"20201003","timestamp":"2020060911","tool":"1.4.0+1234","templates":"20190604"}
+ */
+
+/**
+ * Import the modules used in this configuration.
+ */
+const powerDomains = scripting.addModule("/ti/corePinmux/powerDomains");
+
+/**
+ * Write custom configuration values to the imported modules.
+ */
+powerDomains.CANUART          = "3.3 V";
+powerDomains.MMC1             = "3.3 V";
+powerDomains.MCU_CPSW2G_RGMII = "3.3 V";
+powerDomains.MCU_GENERAL      = "3.3 V";
+powerDomains.GENERAL          = "3.3 V";
+
+/**
+ * These are the peripherals and settings in this configuration
+ */
+const iMCASP1                      = scripting.addPeripheral("MCASP");
+iMCASP1.$name                      = "MyMCASP0";
+iMCASP1.$assign                    = "MCASP0";
+iMCASP1.ACLKR.$assign              = "U17";
+iMCASP1.ACLKR.$used                = true;
+iMCASP1.ACLKX.$assign              = "W15";
+iMCASP1.AFSX.$assign               = "Y16";
+iMCASP1.$pinGroup.AXR0.$assign     = "W16";
+iMCASP1.$pinGroup.AXR1.$assign     = "Y21";
+iMCASP1.$pinGroup.AXR10.$used      = false;
+iMCASP1.$pinGroup.AXR11.$used      = false;
+iMCASP1.$pinGroup.AXR12.$used      = false;
+iMCASP1.$pinGroup.AXR13.$used      = false;
+iMCASP1.$pinGroup.AXR14.$used      = false;
+iMCASP1.$pinGroup.AXR15.$used      = false;
+iMCASP1.$pinGroup.AXR2.$assign     = "Y20";
+iMCASP1.$pinGroup.AXR3.$assign     = "AA19";
+iMCASP1.$pinGroup.AXR4.$assign     = "U19";
+iMCASP1.$pinGroup.AXR5.$assign     = "T15";
+iMCASP1.$pinGroup.AXR6.$assign     = "U20";
+iMCASP1.$pinGroup.AXR7.$used       = false;
+iMCASP1.$pinGroup.AXR8.$used       = false;
+iMCASP1.$pinGroup.AXR9.$used       = false;
+iMCASP1.$pinGroup.$numPins         = 7;
+const iMCASP2                      = scripting.addPeripheral("MCASP");
+iMCASP2.$name                      = "MyMCASP1";
+iMCASP2.ACLKX.$assign              = "Y19";
+iMCASP2.AFSX.$assign               = "Y18";
+iMCASP2.$pinGroup.AXR0.$assign     = "Y17";
+iMCASP2.$pinGroup.AXR1.$assign     = "AA20";
+iMCASP2.$pinGroup.AXR10.$used      = false;
+iMCASP2.$pinGroup.AXR11.$used      = false;
+iMCASP2.$pinGroup.AXR12.$used      = false;
+iMCASP2.$pinGroup.AXR13.$used      = false;
+iMCASP2.$pinGroup.AXR14.$used      = false;
+iMCASP2.$pinGroup.AXR15.$used      = false;
+iMCASP2.$pinGroup.AXR2.$assign     = "Y15";
+iMCASP2.$pinGroup.AXR3.$assign     = "AA17";
+iMCASP2.$pinGroup.AXR4.$assign     = "U16";
+iMCASP2.$pinGroup.AXR5.$assign     = "U14";
+iMCASP2.$pinGroup.AXR6.$assign     = "T13";
+iMCASP2.$pinGroup.AXR7.$assign     = "V19";
+iMCASP2.$pinGroup.AXR8.$used       = false;
+iMCASP2.$pinGroup.AXR9.$used       = false;
+iMCASP2.$pinGroup.$numPins         = 8;
+const iSYSTEM1                     = scripting.addPeripheral("SYSTEM");
+iSYSTEM1.$name                     = "MySYSTEM1";
+iSYSTEM1.AUDIO_EXT_REFCLK0.$used   = false;
+iSYSTEM1.AUDIO_EXT_REFCLK1.$assign = "U21";
+iSYSTEM1.EXTINTn.$used             = false;
+iSYSTEM1.EXT_REFCLK1.$used         = false;
+iSYSTEM1.FCLK_MUX.$used            = false;
+iSYSTEM1.OBSCLK0.$used             = false;
+iSYSTEM1.OBSCLK1.$used             = false;
+iSYSTEM1.OBSCLK2.$used             = false;
+iSYSTEM1.RESETSTATz.$used          = false;
+iSYSTEM1.SOC_SAFETY_ERRORn.$used   = false;
+iSYSTEM1.SYNC0_OUT.$used           = false;
+iSYSTEM1.SYNC1_OUT.$used           = false;
+iSYSTEM1.SYNC2_OUT.$used           = false;
+iSYSTEM1.SYNC3_OUT.$used           = false;
+iSYSTEM1.SYSCLKOUT0.$used          = false;
+
+/**
+ * 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.
+ */
+iMCASP2.$suggestSolution  = "MCASP1";
+iSYSTEM1.$suggestSolution = "SYSTEM0";
diff --git a/packages/ti/board/src/j7200_evm/j7200_evm_baseboard_pinmux.syscfg b/packages/ti/board/src/j7200_evm/j7200_evm_baseboard_pinmux.syscfg
new file mode 100755 (executable)
index 0000000..442a49c
--- /dev/null
@@ -0,0 +1,553 @@
+/**
+ * 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 "J7200_DRA821_SR1.0_alpha" --package "ALM" --part "Default"
+ * @versions {"data":"20201003","timestamp":"2020060911","tool":"1.4.0+1234","templates":"20190604"}
+ */
+
+/**
+ * Import the modules used in this configuration.
+ */
+const powerDomains = scripting.addModule("/ti/corePinmux/powerDomains");
+
+/**
+ * Write custom configuration values to the imported modules.
+ */
+powerDomains.CANUART          = "3.3 V";
+powerDomains.MMC1             = "3.3 V";
+powerDomains.MCU_CPSW2G_RGMII = "3.3 V";
+powerDomains.MCU_GENERAL      = "3.3 V";
+powerDomains.GENERAL          = "3.3 V";
+
+/**
+ * These are the peripherals and settings in this configuration
+ */
+const iDDRSS1                           = scripting.addPeripheral("DDRSS");
+iDDRSS1.$name                           = "MyDDRSS0";
+iDDRSS1.$assignVoltage                  = "1.1 V";
+iDDRSS1.CKN.$assign                     = "H1";
+iDDRSS1.RET.$assign                     = "R5";
+iDDRSS1.CKP.$assign                     = "G1";
+iDDRSS1.RESETn.$assign                  = "J5";
+iDDRSS1.CA0.$assign                     = "G4";
+iDDRSS1.CA1.$assign                     = "H3";
+iDDRSS1.CA2.$assign                     = "J4";
+iDDRSS1.CA3.$assign                     = "K1";
+iDDRSS1.CA4.$assign                     = "J2";
+iDDRSS1.CA5.$assign                     = "H5";
+iDDRSS1.CKE0.$assign                    = "G2";
+iDDRSS1.CKE1.$assign                    = "H2";
+iDDRSS1.CSn0_0.$assign                  = "G3";
+iDDRSS1.CSn0_1.$assign                  = "K2";
+iDDRSS1.CSn1_0.$assign                  = "G5";
+iDDRSS1.CSn1_1.$assign                  = "J3";
+iDDRSS1.DM0.$assign                     = "A3";
+iDDRSS1.DM1.$assign                     = "E4";
+iDDRSS1.DM2.$assign                     = "N1";
+iDDRSS1.DM3.$assign                     = "R4";
+iDDRSS1.DQ0.$assign                     = "B4";
+iDDRSS1.DQ1.$assign                     = "A4";
+iDDRSS1.DQ2.$assign                     = "C4";
+iDDRSS1.DQ3.$assign                     = "C1";
+iDDRSS1.DQ4.$assign                     = "C3";
+iDDRSS1.DQ5.$assign                     = "C2";
+iDDRSS1.DQ6.$assign                     = "A2";
+iDDRSS1.DQ7.$assign                     = "B3";
+iDDRSS1.DQ8.$assign                     = "D1";
+iDDRSS1.DQ9.$assign                     = "D2";
+iDDRSS1.DQ10.$assign                    = "F2";
+iDDRSS1.DQ11.$assign                    = "E3";
+iDDRSS1.DQ12.$assign                    = "F3";
+iDDRSS1.DQ13.$assign                    = "F4";
+iDDRSS1.DQ14.$assign                    = "D4";
+iDDRSS1.DQ15.$assign                    = "F5";
+iDDRSS1.DQ16.$assign                    = "K4";
+iDDRSS1.DQ17.$assign                    = "L4";
+iDDRSS1.DQ18.$assign                    = "M4";
+iDDRSS1.DQ19.$assign                    = "L3";
+iDDRSS1.DQ20.$assign                    = "L2";
+iDDRSS1.DQ21.$assign                    = "L1";
+iDDRSS1.DQ22.$assign                    = "M3";
+iDDRSS1.DQ23.$assign                    = "N2";
+iDDRSS1.DQ24.$assign                    = "R3";
+iDDRSS1.DQ25.$assign                    = "T1";
+iDDRSS1.DQ26.$assign                    = "P1";
+iDDRSS1.DQ27.$assign                    = "P2";
+iDDRSS1.DQ28.$assign                    = "N4";
+iDDRSS1.DQ29.$assign                    = "P3";
+iDDRSS1.DQ30.$assign                    = "P4";
+iDDRSS1.DQ31.$assign                    = "N5";
+iDDRSS1.DQS0N.$assign                   = "B1";
+iDDRSS1.DQS0P.$assign                   = "B2";
+iDDRSS1.DQS1N.$assign                   = "E1";
+iDDRSS1.DQS1P.$assign                   = "E2";
+iDDRSS1.DQS2N.$assign                   = "M1";
+iDDRSS1.DQS2P.$assign                   = "M2";
+iDDRSS1.DQS3N.$assign                   = "R1";
+iDDRSS1.DQS3P.$assign                   = "R2";
+const iDEBUGSS1                         = scripting.addPeripheral("DEBUGSS");
+iDEBUGSS1.$name                         = "MyDEBUGSS1";
+iDEBUGSS1.CLK.$used                     = false;
+iDEBUGSS1.CTL.$used                     = false;
+iDEBUGSS1.TMS.$assign                   = "U4";
+iDEBUGSS1.TDI.$assign                   = "F19";
+iDEBUGSS1.TDO.$assign                   = "F21";
+iDEBUGSS1.DATA0.$used                   = false;
+iDEBUGSS1.DATA1.$used                   = false;
+iDEBUGSS1.DATA2.$used                   = false;
+iDEBUGSS1.DATA3.$used                   = false;
+iDEBUGSS1.DATA4.$used                   = false;
+iDEBUGSS1.DATA5.$used                   = false;
+iDEBUGSS1.DATA6.$used                   = false;
+iDEBUGSS1.DATA7.$used                   = false;
+iDEBUGSS1.DATA8.$used                   = false;
+iDEBUGSS1.DATA9.$used                   = false;
+iDEBUGSS1.DATA10.$used                  = false;
+iDEBUGSS1.DATA11.$used                  = false;
+iDEBUGSS1.DATA12.$used                  = false;
+iDEBUGSS1.DATA13.$used                  = false;
+iDEBUGSS1.DATA14.$used                  = false;
+iDEBUGSS1.DATA15.$used                  = false;
+iDEBUGSS1.DATA16.$used                  = false;
+iDEBUGSS1.DATA17.$used                  = false;
+iDEBUGSS1.DATA18.$used                  = false;
+iDEBUGSS1.DATA19.$used                  = false;
+iDEBUGSS1.DATA20.$used                  = false;
+iDEBUGSS1.DATA21.$used                  = false;
+iDEBUGSS1.DATA22.$used                  = false;
+iDEBUGSS1.DATA23.$used                  = false;
+iDEBUGSS1.EMU0.$assign                  = "A13";
+iDEBUGSS1.EMU1.$assign                  = "D12";
+iDEBUGSS1.TCK.$assign                   = "B15";
+iDEBUGSS1.TRSTn.$assign                 = "B20";
+const iGPIO1                            = scripting.addPeripheral("GPIO");
+iGPIO1.$name                            = "MyGPIO1";
+iGPIO1.$assignVoltage                   = "3.3 V";
+iGPIO1["4"].$assign                     = "AA20";
+iGPIO1["4"].$used                       = true;
+iGPIO1["12"].$assign                    = "V16";
+iGPIO1["12"].$used                      = true;
+iGPIO1["27"].$assign                    = "T14";
+iGPIO1["27"].$used                      = true;
+iGPIO1["28"].$assign                    = "U18";
+iGPIO1["28"].$used                      = true;
+iGPIO1["44"].$assign                    = "U13";
+iGPIO1["44"].$used                      = true;
+iGPIO1["55"].$assign                    = "T5";
+iGPIO1["55"].$used                      = true;
+const iI2C1                             = scripting.addPeripheral("I2C");
+iI2C1.$name                             = "MyI2C2";
+iI2C1.$assign                           = "I2C2";
+iI2C1.$assignVoltage                    = "3.3 V";
+iI2C1.SCL.$assign                       = "Y1";
+iI2C1.SDA.$assign                       = "V4";
+const iI2C2                             = scripting.addPeripheral("I2C");
+iI2C2.$name                             = "MyI2C0";
+iI2C2.$assign                           = "I2C0";
+iI2C2.$assignVoltage                    = "3.3 V";
+iI2C2.SCL.$assign                       = "V3";
+iI2C2.SDA.$assign                       = "W2";
+const iI2C3                             = scripting.addPeripheral("I2C");
+iI2C3.$name                             = "MyI2C1";
+iI2C3.$assign                           = "I2C1";
+iI2C3.$assignVoltage                    = "3.3 V";
+iI2C3.SCL.$assign                       = "U3";
+iI2C3.SDA.$assign                       = "T3";
+const iMCAN1                            = scripting.addPeripheral("MCAN");
+iMCAN1.$name                            = "MyMCAN0";
+iMCAN1.$assign                          = "MCAN0";
+iMCAN1.RX.$assign                       = "V20";
+iMCAN1.TX.$assign                       = "V18";
+const iMCAN2                            = scripting.addPeripheral("MCAN");
+iMCAN2.$name                            = "MyMCAN3";
+iMCAN2.$assign                          = "MCAN3";
+iMCAN2.RX.$assign                       = "W16";
+iMCAN2.TX.$assign                       = "Y21";
+const iMCAN3                            = scripting.addPeripheral("MCAN");
+iMCAN3.$name                            = "MyMCAN4";
+iMCAN3.$assign                          = "MCAN4";
+iMCAN3.$assignVoltage                   = "3.3 V";
+iMCAN3.RX.$assign                       = "Y20";
+iMCAN3.TX.$assign                       = "W15";
+const iMCAN4                            = scripting.addPeripheral("MCAN");
+iMCAN4.$name                            = "MyMCAN5";
+iMCAN4.$assign                          = "MCAN5";
+iMCAN4.$assignVoltage                   = "3.3 V";
+iMCAN4.RX.$assign                       = "V19";
+iMCAN4.TX.$assign                       = "V21";
+const iMCAN5                            = scripting.addPeripheral("MCAN");
+iMCAN5.$name                            = "MyMCAN6";
+iMCAN5.$assign                          = "MCAN6";
+iMCAN5.$assignVoltage                   = "3.3 V";
+iMCAN5.RX.$assign                       = "U14";
+iMCAN5.TX.$assign                       = "T13";
+const iMCAN6                            = scripting.addPeripheral("MCAN");
+iMCAN6.$name                            = "MyMCAN7";
+iMCAN6.$assign                          = "MCAN7";
+iMCAN6.$assignVoltage                   = "3.3 V";
+iMCAN6.RX.$assign                       = "U15";
+iMCAN6.TX.$assign                       = "U16";
+const iMCAN7                            = scripting.addPeripheral("MCAN");
+iMCAN7.$name                            = "MyMCAN10";
+iMCAN7.$assign                          = "MCAN10";
+iMCAN7.$assignVoltage                   = "3.3 V";
+iMCAN7.RX.$assign                       = "U20";
+iMCAN7.TX.$assign                       = "U17";
+const iMCAN8                            = scripting.addPeripheral("MCAN");
+iMCAN8.$name                            = "MyMCAN8";
+iMCAN8.$assign                          = "MCAN8";
+iMCAN8.RX.$assign                       = "U19";
+iMCAN8.TX.$assign                       = "T15";
+const iMCU_ADC1                         = scripting.addPeripheral("MCU_ADC");
+iMCU_ADC1.$name                         = "MyMCU_ADC0";
+iMCU_ADC1.$assignVoltage                = "1.8 V";
+iMCU_ADC1.$useCase                      = "ADC_0";
+iMCU_ADC1.AIN0.$assign                  = "H17";
+iMCU_ADC1.AIN0.$used                    = true;
+iMCU_ADC1.AIN1.$assign                  = "K18";
+iMCU_ADC1.AIN1.$used                    = true;
+iMCU_ADC1.AIN2.$assign                  = "M17";
+iMCU_ADC1.AIN2.$used                    = true;
+iMCU_ADC1.AIN3.$assign                  = "L18";
+iMCU_ADC1.AIN3.$used                    = true;
+iMCU_ADC1.AIN4.$assign                  = "J18";
+iMCU_ADC1.AIN4.$used                    = true;
+iMCU_ADC1.AIN5.$assign                  = "J17";
+iMCU_ADC1.AIN5.$used                    = true;
+iMCU_ADC1.AIN6.$assign                  = "K17";
+iMCU_ADC1.AIN6.$used                    = true;
+iMCU_ADC1.AIN7.$assign                  = "L17";
+iMCU_ADC1.AIN7.$used                    = true;
+const iMCU_FSS0_OSPI1                   = scripting.addPeripheral("MCU_FSS0_OSPI");
+iMCU_FSS0_OSPI1.$name                   = "MyMCU_FSS0_OSPI0";
+iMCU_FSS0_OSPI1.$assignVoltage          = "1.8 V";
+iMCU_FSS0_OSPI1.$useCase                = "MCU_FSS0_OSPI_4";
+iMCU_FSS0_OSPI1.CLK.$assign             = "B6";
+iMCU_FSS0_OSPI1.CSn0.$assign            = "D6";
+iMCU_FSS0_OSPI1.CSn0.$used              = true;
+iMCU_FSS0_OSPI1.D0.$assign              = "D8";
+iMCU_FSS0_OSPI1.D1.$assign              = "C7";
+iMCU_FSS0_OSPI1.D2.$assign              = "C5";
+iMCU_FSS0_OSPI1.D3.$assign              = "A5";
+iMCU_FSS0_OSPI1.D4.$assign              = "A6";
+iMCU_FSS0_OSPI1.D5.$assign              = "B8";
+iMCU_FSS0_OSPI1.D6.$assign              = "A8";
+iMCU_FSS0_OSPI1.D7.$assign              = "A7";
+iMCU_FSS0_OSPI1.DQS.$assign             = "B7";
+iMCU_FSS0_OSPI1.LBCLKO.$used            = false;
+iMCU_FSS0_OSPI1.ECC_FAIL.$used          = false;
+iMCU_FSS0_OSPI1.RESET_OUT0.$used        = false;
+iMCU_FSS0_OSPI1.RESET_OUT1.$used        = false;
+const iMCU_I2C1                         = scripting.addPeripheral("MCU_I2C");
+iMCU_I2C1.$name                         = "MyMCU_I2C0";
+iMCU_I2C1.$assign                       = "MCU_I2C0";
+iMCU_I2C1.$assignVoltage                = "3.3 V";
+iMCU_I2C1.SCL.$assign                   = "G21";
+iMCU_I2C1.SDA.$assign                   = "G20";
+const iMCU_I3C1                         = scripting.addPeripheral("MCU_I3C");
+iMCU_I3C1.$name                         = "MyMCU_I3C0";
+iMCU_I3C1.$assignVoltage                = "3.3 V";
+iMCU_I3C1.SCL.$assign                   = "C21";
+iMCU_I3C1.SDA.$assign                   = "C19";
+iMCU_I3C1.SDAPULLEN.$assign             = "C16";
+const iMCU_MCAN1                        = scripting.addPeripheral("MCU_MCAN");
+iMCU_MCAN1.$name                        = "MyMCU_MCAN0";
+iMCU_MCAN1.$assign                      = "MCU_MCAN0";
+iMCU_MCAN1.$assignVoltage               = "3.3 V";
+iMCU_MCAN1.RX.$assign                   = "A17";
+iMCU_MCAN1.TX.$assign                   = "A16";
+const iMCU_MCAN2                        = scripting.addPeripheral("MCU_MCAN");
+iMCU_MCAN2.$name                        = "MyMCU_MCAN1";
+iMCU_MCAN2.$assign                      = "MCU_MCAN1";
+iMCU_MCAN2.$assignVoltage               = "3.3 V";
+iMCU_MCAN2.RX.$assign                   = "B16";
+iMCU_MCAN2.TX.$assign                   = "D13";
+const iMCU_MDIO1                        = scripting.addPeripheral("MCU_MDIO");
+iMCU_MDIO1.$name                        = "MyMCU_MDIO0";
+iMCU_MDIO1.$assignVoltage               = "3.3 V";
+iMCU_MDIO1.MDC.$assign                  = "D9";
+iMCU_MDIO1.MDIO.$assign                 = "C9";
+const iMCU_RGMII1                       = scripting.addPeripheral("MCU_RGMII");
+iMCU_RGMII1.$name                       = "MyMCU_RGMII1";
+iMCU_RGMII1.$assignVoltage              = "3.3 V";
+iMCU_RGMII1.RD0.$assign                 = "A9";
+iMCU_RGMII1.RD1.$assign                 = "B9";
+iMCU_RGMII1.RD2.$assign                 = "A10";
+iMCU_RGMII1.RD3.$assign                 = "C10";
+iMCU_RGMII1.RXC.$assign                 = "B10";
+iMCU_RGMII1.RX_CTL.$assign              = "A11";
+iMCU_RGMII1.TD0.$assign                 = "D10";
+iMCU_RGMII1.TD1.$assign                 = "B11";
+iMCU_RGMII1.TD2.$assign                 = "B12";
+iMCU_RGMII1.TD3.$assign                 = "C12";
+iMCU_RGMII1.TXC.$assign                 = "A12";
+iMCU_RGMII1.TX_CTL.$assign              = "D11";
+const iMCU_UART1                        = scripting.addPeripheral("MCU_UART");
+iMCU_UART1.$name                        = "MyMCU_UART0";
+iMCU_UART1.$assignVoltage               = "3.3 V";
+iMCU_UART1.$useCase                     = "MCU_UART_1";
+iMCU_UART1.RXD.$assign                  = "D20";
+iMCU_UART1.TXD.$assign                  = "D19";
+iMCU_UART1.CTSn.$assign                 = "E20";
+iMCU_UART1.RTSn.$assign                 = "E21";
+const iMDIO1                            = scripting.addPeripheral("MDIO");
+iMDIO1.$name                            = "MyMDIO0";
+iMDIO1.$assignVoltage                   = "3.3 V";
+iMDIO1.MDC.$assign                      = "W19";
+iMDIO1.MDIO.$assign                     = "W14";
+const iMMCSD1                           = scripting.addPeripheral("MMCSD");
+iMMCSD1.$name                           = "MyMMCSD1";
+iMMCSD1.$assign                         = "MMC1";
+iMMCSD1.$assignVoltage                  = "3.3 V";
+iMMCSD1.$useCase                        = "MMCSD_2";
+iMMCSD1.CMD.$assign                     = "M20";
+iMMCSD1.CLK.$assign                     = "P21";
+iMMCSD1.DAT0.$assign                    = "M19";
+iMMCSD1.DAT1.$assign                    = "N21";
+iMMCSD1.DAT2.$assign                    = "N20";
+iMMCSD1.DAT3.$assign                    = "N19";
+iMMCSD1.SDCD.$assign                    = "V1";
+iMMCSD1.SDWP.$used                      = false;
+const iMMCSD2                           = scripting.addPeripheral("MMCSD");
+iMMCSD2.$name                           = "MyMMCSD0";
+iMMCSD2.$assign                         = "MMC0";
+iMMCSD2.$assignVoltage                  = "1.8 V";
+iMMCSD2.$useCase                        = "MMCSD_5";
+iMMCSD2.CMD.$assign                     = "R17";
+iMMCSD2.CLK.$assign                     = "P18";
+iMMCSD2.DS.$assign                      = "P19";
+iMMCSD2.DS.$used                        = true;
+iMMCSD2.DAT0.$assign                    = "R16";
+iMMCSD2.DAT1.$assign                    = "P17";
+iMMCSD2.DAT2.$assign                    = "R18";
+iMMCSD2.DAT3.$assign                    = "R20";
+iMMCSD2.DAT4.$assign                    = "R19";
+iMMCSD2.DAT5.$assign                    = "P16";
+iMMCSD2.DAT6.$assign                    = "R21";
+iMMCSD2.DAT7.$assign                    = "T21";
+const iOSC1                             = scripting.addPeripheral("OSC");
+iOSC1.$name                             = "MyOSC1";
+iOSC1.$assignVoltage                    = "1.8 V";
+iOSC1.XO.$assign                        = "J19";
+iOSC1.XI.$assign                        = "K19";
+const iPCIE1                            = scripting.addPeripheral("PCIE");
+iPCIE1.$name                            = "MyPCIE1";
+iPCIE1.$assignVoltage                   = "1.8 V";
+iPCIE1.$useCase                         = "PCIE_2";
+iPCIE1.CLKREQn.$used                    = false;
+iPCIE1.TX0_N.$assign                    = "W11";
+iPCIE1.TX1_N.$assign                    = "Y10";
+iPCIE1.TX0_P.$assign                    = "W12";
+iPCIE1.TX1_P.$assign                    = "Y11";
+iPCIE1.RX0_N.$assign                    = "AA11";
+iPCIE1.RX1_N.$assign                    = "W8";
+iPCIE1.RX0_P.$assign                    = "AA12";
+iPCIE1.RX1_P.$assign                    = "W9";
+const iRGMII1                           = scripting.addPeripheral("RGMII");
+iRGMII1.$name                           = "MyRGMII2";
+iRGMII1.$assign                         = "RGMII2";
+iRGMII1.$assignVoltage                  = "3.3 V";
+iRGMII1.RD0.$assign                     = "Y13";
+iRGMII1.RD1.$assign                     = "AA15";
+iRGMII1.RD2.$assign                     = "AA14";
+iRGMII1.RD3.$assign                     = "AA18";
+iRGMII1.RXC.$assign                     = "Y14";
+iRGMII1.RX_CTL.$assign                  = "AA16";
+iRGMII1.TD0.$assign                     = "W17";
+iRGMII1.TD1.$assign                     = "W20";
+iRGMII1.TD2.$assign                     = "V14";
+iRGMII1.TD3.$assign                     = "V13";
+iRGMII1.TXC.$assign                     = "W21";
+iRGMII1.TX_CTL.$assign                  = "U12";
+const iSERDES1                          = scripting.addPeripheral("SERDES");
+iSERDES1.$name                          = "MySERDES0";
+iSERDES1.$assignVoltage                 = "1.8 V";
+iSERDES1.REFCLK_N.$assign               = "AA8";
+iSERDES1.REFCLK_P.$assign               = "AA9";
+const iSGMII1                           = scripting.addPeripheral("SGMII");
+iSGMII1.$name                           = "MySGMII1";
+iSGMII1.$assign                         = "SGMII1";
+iSGMII1.$assignVoltage                  = "1.8 V";
+iSGMII1.RXN0.$assign                    = "Y7";
+iSGMII1.RXP0.$assign                    = "Y8";
+iSGMII1.TXN0.$assign                    = "AA5";
+iSGMII1.TXP0.$assign                    = "AA6";
+const iSYSTEM1                          = scripting.addPeripheral("SYSTEM");
+iSYSTEM1.$name                          = "MySYSTEM1";
+iSYSTEM1.$assignVoltage                 = "3.3 V";
+iSYSTEM1.AUDIO_EXT_REFCLK0.$used        = false;
+iSYSTEM1.AUDIO_EXT_REFCLK1.$used        = false;
+iSYSTEM1.EXTINTn.$assign                = "U6";
+iSYSTEM1.EXT_REFCLK1.$used              = false;
+iSYSTEM1.FCLK_MUX.$used                 = false;
+iSYSTEM1.OBSCLK0.$used                  = false;
+iSYSTEM1.OBSCLK1.$used                  = false;
+iSYSTEM1.OBSCLK2.$used                  = false;
+iSYSTEM1.RESETSTATz.$assign             = "U2";
+iSYSTEM1.SOC_SAFETY_ERRORn.$assign      = "V2";
+iSYSTEM1.SYNC0_OUT.$used                = false;
+iSYSTEM1.SYNC1_OUT.$used                = false;
+iSYSTEM1.SYNC2_OUT.$used                = false;
+iSYSTEM1.SYNC3_OUT.$used                = false;
+iSYSTEM1.SYSCLKOUT0.$used               = false;
+const iUART1                            = scripting.addPeripheral("UART");
+iUART1.$name                            = "MyUART5";
+iUART1.$assign                          = "USART5";
+iUART1.$assignVoltage                   = "3.3 V";
+iUART1.$useCase                         = "UART_5";
+iUART1.RXD.$assign                      = "Y15";
+iUART1.TXD.$assign                      = "AA17";
+const iUART2                            = scripting.addPeripheral("UART");
+iUART2.$name                            = "MyUART6";
+iUART2.$assign                          = "USART6";
+iUART2.$assignVoltage                   = "3.3 V";
+iUART2.$useCase                         = "UART_5";
+iUART2.RXD.$assign                      = "Y16";
+iUART2.TXD.$assign                      = "Y17";
+const iUART3                            = scripting.addPeripheral("UART");
+iUART3.$name                            = "MyUART9";
+iUART3.$assign                          = "USART9";
+iUART3.$assignVoltage                   = "3.3 V";
+iUART3.$useCase                         = "UART_5";
+iUART3.RXD.$assign                      = "AA19";
+iUART3.TXD.$assign                      = "V17";
+const iUART4                            = scripting.addPeripheral("UART");
+iUART4.$name                            = "MyUART3";
+iUART4.$assign                          = "USART3";
+iUART4.$assignVoltage                   = "3.3 V";
+iUART4.$useCase                         = "UART_2";
+iUART4.RXD.$assign                      = "Y18";
+iUART4.TXD.$assign                      = "Y19";
+iUART4.CTSn.$assign                     = "T15";
+iUART4.CTSn.$used                       = false;
+iUART4.RTSn.$assign                     = "U19";
+iUART4.RTSn.$used                       = false;
+const iUART5                            = scripting.addPeripheral("UART");
+iUART5.$name                            = "MyUART7";
+iUART5.$assign                          = "USART7";
+iUART5.$assignVoltage                   = "3.3 V";
+iUART5.$useCase                         = "UART_5";
+iUART5.RXD.$assign                      = "U21";
+iUART5.TXD.$assign                      = "V15";
+const iUART6                            = scripting.addPeripheral("UART");
+iUART6.$name                            = "MyUART0";
+iUART6.$assign                          = "USART0";
+iUART6.$assignVoltage                   = "3.3 V";
+iUART6.$useCase                         = "UART_2";
+iUART6.RXD.$assign                      = "T16";
+iUART6.TXD.$assign                      = "T17";
+iUART6.CTSn.$assign                     = "W3";
+iUART6.RTSn.$assign                     = "U5";
+const iUART7                            = scripting.addPeripheral("UART");
+iUART7.$name                            = "MyUART1";
+iUART7.$assign                          = "USART1";
+iUART7.$assignVoltage                   = "3.3 V";
+iUART7.$useCase                         = "UART_5";
+iUART7.RXD.$assign                      = "T18";
+iUART7.TXD.$assign                      = "T20";
+const iUSB1                             = scripting.addPeripheral("USB");
+iUSB1.$name                             = "MyUSB0";
+iUSB1.DM.$assign                        = "AA3";
+iUSB1.DP.$assign                        = "AA2";
+iUSB1.DRVVBUS.$assign                   = "T4";
+iUSB1.ID.$assign                        = "V6";
+iUSB1.VBUS.$assign                      = "Y2";
+iUSB1.SSRX2N.$assign                    = "W5";
+iUSB1.SSRX2P.$assign                    = "W6";
+iUSB1.SSTX2N.$assign                    = "Y4";
+iUSB1.SSTX2P.$assign                    = "Y5";
+iUSB1.SSRX1N.$used                      = false;
+iUSB1.SSRX1P.$used                      = false;
+iUSB1.SSTX1N.$used                      = false;
+iUSB1.SSTX1P.$used                      = false;
+const iWKUP_GPIO1                       = scripting.addPeripheral("WKUP_GPIO");
+iWKUP_GPIO1.$name                       = "MyWKUP_GPIO1";
+iWKUP_GPIO1["0"].$assign                = "B18";
+iWKUP_GPIO1["0"].$used                  = true;
+iWKUP_GPIO1["1"].$assign                = "B19";
+iWKUP_GPIO1["1"].$used                  = true;
+iWKUP_GPIO1["2"].$assign                = "D14";
+iWKUP_GPIO1["2"].$used                  = true;
+iWKUP_GPIO1["3"].$assign                = "B21";
+iWKUP_GPIO1["3"].$used                  = true;
+iWKUP_GPIO1["6"].$assign                = "C14";
+iWKUP_GPIO1["6"].$used                  = true;
+iWKUP_GPIO1["7"].$assign                = "C18";
+iWKUP_GPIO1["7"].$used                  = true;
+iWKUP_GPIO1["17"].$assign               = "C8";
+iWKUP_GPIO1["17"].$used                 = true;
+iWKUP_GPIO1["56"].$assign               = "C13";
+iWKUP_GPIO1["56"].$used                 = true;
+iWKUP_GPIO1["57"].$assign               = "A20";
+iWKUP_GPIO1["57"].$used                 = true;
+iWKUP_GPIO1["58"].$assign               = "B17";
+iWKUP_GPIO1["58"].$used                 = true;
+iWKUP_GPIO1["59"].$assign               = "A19";
+iWKUP_GPIO1["59"].$used                 = true;
+iWKUP_GPIO1["77"].$assign               = "D21";
+iWKUP_GPIO1["77"].$used                 = true;
+iWKUP_GPIO1["78"].$assign               = "E19";
+iWKUP_GPIO1["78"].$used                 = true;
+iWKUP_GPIO1["80"].$assign               = "D18";
+iWKUP_GPIO1["80"].$used                 = true;
+iWKUP_GPIO1["84"].$assign               = "E18";
+iWKUP_GPIO1["84"].$used                 = true;
+const iWKUP_I2C1                        = scripting.addPeripheral("WKUP_I2C");
+iWKUP_I2C1.$name                        = "MyWKUP_I2C0";
+iWKUP_I2C1.$assignVoltage               = "3.3 V";
+iWKUP_I2C1.SCL.$assign                  = "F20";
+iWKUP_I2C1.SDA.$assign                  = "H21";
+const iWKUP_OSC1                        = scripting.addPeripheral("WKUP_OSC");
+iWKUP_OSC1.$name                        = "MyWKUP_OSC0";
+iWKUP_OSC1.$assignVoltage               = "1.8 V";
+iWKUP_OSC1.XO.$assign                   = "L21";
+iWKUP_OSC1.XI.$assign                   = "K21";
+iWKUP_OSC1.LF_CLKIN.$assign             = "C17";
+const iWKUP_SYSTEM1                     = scripting.addPeripheral("WKUP_SYSTEM");
+iWKUP_SYSTEM1.$name                     = "MyWKUP_SYSTEM1";
+iWKUP_SYSTEM1.$assignVoltage            = "3.3 V";
+iWKUP_SYSTEM1.MCU_CLKOUT0.$used         = false;
+iWKUP_SYSTEM1.MCU_EXT_REFCLK0.$used     = false;
+iWKUP_SYSTEM1.MCU_OBSCLK0.$used         = false;
+iWKUP_SYSTEM1.MCU_PORz.$assign          = "G19";
+iWKUP_SYSTEM1.MCU_RESETSTATz.$assign    = "B13";
+iWKUP_SYSTEM1.MCU_RESETz.$assign        = "A18";
+iWKUP_SYSTEM1.MCU_SAFETY_ERRORn.$assign = "G18";
+iWKUP_SYSTEM1.MCU_SYSCLKOUT0.$used      = false;
+iWKUP_SYSTEM1.PMIC_POWER_EN1.$assign    = "C15";
+iWKUP_SYSTEM1.PMIC_WAKE0.$assign        = "T19";
+iWKUP_SYSTEM1.PMIC_WAKE1.$used          = false;
+iWKUP_SYSTEM1.PORz.$assign              = "H20";
+iWKUP_SYSTEM1.RESET_REQz.$assign        = "A15";
+const iWKUP_UART1                       = scripting.addPeripheral("WKUP_UART");
+iWKUP_UART1.$name                       = "MyWKUP_UART0";
+iWKUP_UART1.CTSn.$used                  = false;
+iWKUP_UART1.RTSn.$used                  = false;
+iWKUP_UART1.RXD.$assign                 = "B14";
+iWKUP_UART1.TXD.$assign                 = "A14";
+
+/**
+ * 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.
+ */
+iDDRSS1.$suggestSolution         = "DDR0";
+iDEBUGSS1.$suggestSolution       = "DEBUG0";
+iGPIO1.$suggestSolution          = "GPIO0";
+iMCU_ADC1.$suggestSolution       = "MCU_ADC0";
+iMCU_FSS0_OSPI1.$suggestSolution = "MCU_OSPI0";
+iMCU_I3C1.$suggestSolution       = "MCU_I3C0";
+iMCU_MDIO1.$suggestSolution      = "MCU_MDIO0";
+iMCU_RGMII1.$suggestSolution     = "MCU_RGMII1";
+iMCU_UART1.$suggestSolution      = "MCU_USART0";
+iMDIO1.$suggestSolution          = "MDIO0";
+iOSC1.$suggestSolution           = "OSC1";
+iPCIE1.$suggestSolution          = "PCIE1";
+iSERDES1.$suggestSolution        = "SERDES0";
+iSYSTEM1.$suggestSolution        = "SYSTEM0";
+iUSB1.$suggestSolution           = "USB0";
+iWKUP_GPIO1.$suggestSolution     = "WKUP_GPIO0";
+iWKUP_I2C1.$suggestSolution      = "WKUP_I2C0";
+iWKUP_OSC1.$suggestSolution      = "WKUP_OSC0";
+iWKUP_SYSTEM1.$suggestSolution   = "WKUP_SYSTEM0";
+iWKUP_UART1.$suggestSolution     = "WKUP_USART0";
diff --git a/packages/ti/board/src/j7200_evm/j7200_evm_profi.syscfg b/packages/ti/board/src/j7200_evm/j7200_evm_profi.syscfg
new file mode 100755 (executable)
index 0000000..99a91a3
--- /dev/null
@@ -0,0 +1,45 @@
+/**
+ * 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 "J7200_DRA821_SR1.0_alpha" --package "ALM" --part "Default"
+ * @versions {"data":"20201003","timestamp":"2020060911","tool":"1.4.0+1234","templates":"20190604"}
+ */
+
+/**
+ * Import the modules used in this configuration.
+ */
+const powerDomains = scripting.addModule("/ti/corePinmux/powerDomains");
+
+/**
+ * Write custom configuration values to the imported modules.
+ */
+powerDomains.CANUART          = "3.3 V";
+powerDomains.MMC1             = "3.3 V";
+powerDomains.MCU_CPSW2G_RGMII = "3.3 V";
+powerDomains.MCU_GENERAL      = "3.3 V";
+powerDomains.GENERAL          = "3.3 V";
+
+/**
+ * These are the peripherals and settings in this configuration
+ */
+const iSPI1         = scripting.addPeripheral("SPI");
+iSPI1.$name         = "MySPI5";
+iSPI1.$assign       = "SPI5";
+iSPI1.CLK.$assign   = "W15";
+iSPI1.CS0.$assign   = "W16";
+iSPI1.CS1.$assign   = "V21";
+iSPI1.CS2.$used     = false;
+iSPI1.CS3.$used     = false;
+iSPI1.D0.$assign    = "Y21";
+iSPI1.D1.$assign    = "Y20";
+const iUART1        = scripting.addPeripheral("UART");
+iUART1.$name        = "MyUART3";
+iUART1.$assign      = "USART3";
+iUART1.CTSn.$assign = "T15";
+iUART1.DCDn.$used   = false;
+iUART1.DSRn.$used   = false;
+iUART1.DTRn.$used   = false;
+iUART1.RIn.$used    = false;
+iUART1.RTSn.$assign = "U19";
+iUART1.RXD.$assign  = "Y18";
+iUART1.TXD.$assign  = "Y19";
index 74789c0e59eaf187a9f1c7502d1747b00b8e7de0..66cd9cab9a36274db4672427485fbab02fa14135 100755 (executable)
@@ -5,6 +5,6 @@ INCDIR += src/j7200_evm src/j7200_evm/include
 # Common source files across all platforms and cores
 SRCS_COMMON += board_init.c board_lld_init.c board_clock.c board_mmr.c board_pll.c board_serdes_cfg.c
 SRCS_COMMON += board_ddr.c board_info.c board_ethernet_config.c board_i2c_io_exp.c board_utils.c board_control.c board_power.c
-SRCS_COMMON += board_pinmux.c J7200_pinmux_data.c J7200_pinmux_data_cpsw.c
+SRCS_COMMON += board_pinmux.c J7200_pinmux_data.c J7200_pinmux_data_cpsw.c J7200_pinmux_data_audio.c J7200_pinmux_data_profibus.c
 
 PACKAGE_SRCS_COMMON = src/j7200_evm/src_files_j7200_evm.mk