diff --git a/pocketbeagle-2.syscfg b/pocketbeagle-2.syscfg
new file mode 100644
index 0000000000000000000000000000000000000000..7b7635d77de00b78a1d8f20aa48c4fb0dcf52284
--- /dev/null
+++ b/pocketbeagle-2.syscfg
@@ -0,0 +1,463 @@
+/**
+ * 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"
+ * @versions {"tool":"1.14.0+2667"}
+ */
+
+/**
+ * These are the peripherals and settings in this configuration
+ */
+const iDSS1                                         = scripting.addPeripheral("DSS");
+iDSS1.$name                                         = "VOUT0";
+iDSS1.$assign                                       = "DSS0";
+iDSS1.VSYNC.$used                                   = false;
+iDSS1.HSYNC.$used                                   = false;
+iDSS1.PCLK.$used                                    = false;
+iDSS1.DE.$used                                      = false;
+iDSS1.DATA0.$assignAllowConflicts                   = "ball.U22";
+iDSS1.DATA0.$used                                   = false;
+iDSS1.DATA1.$assignAllowConflicts                   = "ball.V24";
+iDSS1.DATA1.$used                                   = false;
+iDSS1.DATA2.$assignAllowConflicts                   = "ball.W25";
+iDSS1.DATA2.$used                                   = false;
+iDSS1.DATA3.$used                                   = false;
+iDSS1.DATA4.$used                                   = false;
+iDSS1.DATA5.$assignAllowConflicts                   = "ball.Y24";
+iDSS1.DATA5.$used                                   = false;
+iDSS1.DATA6.$used                                   = false;
+iDSS1.DATA7.$used                                   = false;
+iDSS1.DATA8.$used                                   = false;
+iDSS1.DATA9.$used                                   = false;
+iDSS1.DATA10.$used                                  = false;
+iDSS1.DATA11.$used                                  = false;
+iDSS1.DATA12.$used                                  = false;
+iDSS1.DATA13.$used                                  = false;
+iDSS1.DATA14.$used                                  = false;
+iDSS1.DATA15.$used                                  = false;
+iDSS1.DATA16.$used                                  = false;
+iDSS1.DATA17.$used                                  = false;
+iDSS1.DATA18.$used                                  = false;
+iDSS1.DATA19.$used                                  = false;
+iDSS1.DATA20.$used                                  = false;
+iDSS1.DATA21.$used                                  = false;
+iDSS1.DATA22.$used                                  = false;
+iDSS1.DATA23.$used                                  = false;
+iDSS1.EXTPCLKIN.$used                               = false;
+const iECAP1                                        = scripting.addPeripheral("ECAP");
+iECAP1.$name                                        = "ECAP2";
+iECAP1.$assign                                      = "ECAP2";
+iECAP1.IN_APWM_OUT.$assignAllowConflicts            = "ball.B20";
+iECAP1.IN_APWM_OUT.$used                            = false;
+const iEPWM1                                        = scripting.addPeripheral("EPWM");
+iEPWM1.$useCase                                     = "EPWM_3";
+iEPWM1.$name                                        = "PWM2";
+iEPWM1.$assign                                      = "EHRPWM2";
+iEPWM1.A.$assign                                    = "ball.B17";
+iEPWM1.B.$assign                                    = "ball.A17";
+const iEPWM2                                        = scripting.addPeripheral("EPWM");
+iEPWM2.$useCase                                     = "EPWM_3";
+iEPWM2.$name                                        = "PWM0";
+iEPWM2.$assign                                      = "EHRPWM0";
+iEPWM2.A.$assignAllowConflicts                      = "ball.A13";
+iEPWM2.A.$used                                      = false;
+iEPWM2.B.$assignAllowConflicts                      = "ball.C13";
+const iEPWM3                                        = scripting.addPeripheral("EPWM");
+iEPWM3.$useCase                                     = "EPWM_3";
+iEPWM3.$name                                        = "PWM1";
+iEPWM3.$assign                                      = "EHRPWM1";
+iEPWM3.A.$assignAllowConflicts                      = "ball.B18";
+iEPWM3.A.$used                                      = false;
+iEPWM3.B.$assignAllowConflicts                      = "ball.B13";
+iEPWM3.B.$used                                      = false;
+const iEQEP1                                        = scripting.addPeripheral("EQEP");
+iEQEP1.$name                                        = "EQEP2";
+iEQEP1.$assign                                      = "EQEP2";
+iEQEP1.A.$assignAllowConflicts                      = "ball.AC21";
+iEQEP1.A.$used                                      = false;
+iEQEP1.B.$assignAllowConflicts                      = "ball.AE22";
+iEQEP1.B.$used                                      = false;
+iEQEP1.I.$assignAllowConflicts                      = "ball.AD21";
+iEQEP1.I.$used                                      = false;
+iEQEP1.S.$assignAllowConflicts                      = "ball.AC20";
+iEQEP1.S.$used                                      = false;
+const iEQEP2                                        = scripting.addPeripheral("EQEP");
+iEQEP2.$name                                        = "EQEP1";
+iEQEP2.$assign                                      = "EQEP1";
+iEQEP2.A.$assignAllowConflicts                      = "ball.B20";
+iEQEP2.A.$used                                      = false;
+iEQEP2.B.$assignAllowConflicts                      = "ball.D20";
+iEQEP2.B.$used                                      = false;
+iEQEP2.I.$assignAllowConflicts                      = "ball.A20";
+iEQEP2.I.$used                                      = false;
+iEQEP2.S.$assignAllowConflicts                      = "ball.E19";
+iEQEP2.S.$used                                      = false;
+const iEQEP3                                        = scripting.addPeripheral("EQEP");
+iEQEP3.$name                                        = "EQEP0";
+iEQEP3.$assign                                      = "EQEP0";
+iEQEP3.A.$assignAllowConflicts                      = "ball.B19";
+iEQEP3.A.$used                                      = false;
+iEQEP3.B.$assignAllowConflicts                      = "ball.A19";
+iEQEP3.B.$used                                      = false;
+iEQEP3.I.$assignAllowConflicts                      = "ball.E18";
+iEQEP3.I.$used                                      = false;
+iEQEP3.S.$assignAllowConflicts                      = "ball.B18";
+iEQEP3.S.$used                                      = false;
+const iGPMC1                                        = scripting.addPeripheral("GPMC");
+iGPMC1.$name                                        = "MyGPMC1";
+iGPMC1.A0.$used                                     = false;
+iGPMC1.A1.$used                                     = false;
+iGPMC1.A10.$used                                    = false;
+iGPMC1.A11.$used                                    = false;
+iGPMC1.A12.$used                                    = false;
+iGPMC1.A13.$used                                    = false;
+iGPMC1.A14.$used                                    = false;
+iGPMC1.A15.$used                                    = false;
+iGPMC1.A16.$used                                    = false;
+iGPMC1.A17.$used                                    = false;
+iGPMC1.A18.$used                                    = false;
+iGPMC1.A19.$used                                    = false;
+iGPMC1.A2.$used                                     = false;
+iGPMC1.A20.$used                                    = false;
+iGPMC1.A21.$used                                    = false;
+iGPMC1.A22.$used                                    = false;
+iGPMC1.A3.$used                                     = false;
+iGPMC1.A4.$used                                     = false;
+iGPMC1.A5.$used                                     = false;
+iGPMC1.A6.$used                                     = false;
+iGPMC1.A7.$used                                     = false;
+iGPMC1.A8.$used                                     = false;
+iGPMC1.A9.$used                                     = false;
+iGPMC1.AD0.$assign                                  = "ball.M25";
+iGPMC1.AD1.$assign                                  = "ball.N23";
+iGPMC1.AD10.$assign                                 = "ball.T25";
+iGPMC1.AD11.$assign                                 = "ball.R21";
+iGPMC1.AD12.$assign                                 = "ball.T22";
+iGPMC1.AD13.$assign                                 = "ball.T24";
+iGPMC1.AD14.$assign                                 = "ball.U25";
+iGPMC1.AD15.$assign                                 = "ball.U24";
+iGPMC1.AD2.$assign                                  = "ball.N24";
+iGPMC1.AD3.$assign                                  = "ball.N25";
+iGPMC1.AD4.$assign                                  = "ball.P24";
+iGPMC1.AD5.$assign                                  = "ball.P22";
+iGPMC1.AD6.$assign                                  = "ball.P21";
+iGPMC1.AD7.$assign                                  = "ball.R23";
+iGPMC1.AD8.$assign                                  = "ball.R24";
+iGPMC1.AD9.$assign                                  = "ball.R25";
+iGPMC1.WAIT0.$used                                  = false;
+iGPMC1.WAIT1.$used                                  = false;
+iGPMC1.BE1n.$used                                   = false;
+iGPMC1.CSn0.$used                                   = false;
+iGPMC1.CLK.$used                                    = false;
+iGPMC1.ADVn_ALE.$used                               = false;
+iGPMC1.OEn_REn.$used                                = false;
+iGPMC1.WEn.$used                                    = false;
+iGPMC1.BE0n_CLE.$used                               = false;
+const iI2C1                                         = scripting.addPeripheral("I2C");
+iI2C1.$name                                         = "I2C3";
+iI2C1.$assign                                       = "I2C3";
+iI2C1.SCL.$assign                                   = "ball.A15";
+iI2C1.SDA.$assign                                   = "ball.B15";
+const iI2C2                                         = scripting.addPeripheral("I2C");
+iI2C2.$name                                         = "I2C2";
+iI2C2.$assign                                       = "I2C2";
+iI2C2.SCL.$assign                                   = "ball.K22";
+iI2C2.SDA.$assign                                   = "ball.K24";
+const iJTAG1                                        = scripting.addPeripheral("JTAG");
+iJTAG1.$name                                        = "JTAG";
+iJTAG1.$assign                                      = "MCU_DEBUG0";
+iJTAG1.EMU0.$assign                                 = "ball.E12";
+iJTAG1.EMU1.$assign                                 = "ball.C11";
+iJTAG1.TCK.$assign                                  = "ball.A10";
+iJTAG1.TDI.$assign                                  = "ball.A11";
+iJTAG1.TDO.$assign                                  = "ball.D12";
+iJTAG1.TMS.$assign                                  = "ball.B11";
+iJTAG1.TRSTn.$assign                                = "ball.B10";
+const iMCAN1                                        = scripting.addPeripheral("MCAN");
+iMCAN1.$name                                        = "MCAN0";
+iMCAN1.RX.$assignAllowConflicts                     = "ball.E15";
+iMCAN1.RX.$used                                     = false;
+iMCAN1.TX.$assignAllowConflicts                     = "ball.C15";
+iMCAN1.TX.$used                                     = false;
+const iMCASP1                                       = scripting.addPeripheral("MCASP");
+iMCASP1.$useCase                                    = "MCASP_1";
+iMCASP1.$name                                       = "MCASP0";
+iMCASP1.$assign                                     = "MCASP0";
+iMCASP1.ACLKR.$assignAllowConflicts                 = "ball.A20";
+iMCASP1.ACLKX.$assignAllowConflicts                 = "ball.B20";
+iMCASP1.AFSR.$assignAllowConflicts                  = "ball.E19";
+iMCASP1.AFSX.$assignAllowConflicts                  = "ball.D20";
+iMCASP1.$pinGroup.AXR0.$assignAllowConflicts        = "ball.E18";
+iMCASP1.$pinGroup.AXR1.$assignAllowConflicts        = "ball.B18";
+iMCASP1.$pinGroup.AXR2.$assignAllowConflicts        = "ball.A19";
+iMCASP1.$pinGroup.AXR3.$assignAllowConflicts        = "ball.B19";
+iMCASP1.$pinGroup.AXR4.$used                        = false;
+iMCASP1.$pinGroup.AXR5.$used                        = false;
+iMCASP1.$pinGroup.$numPins                          = 4;
+const iMCASP2                                       = scripting.addPeripheral("MCASP");
+iMCASP2.$useCase                                    = "MCASP_1";
+iMCASP2.$name                                       = "MCASP2";
+iMCASP2.$assign                                     = "MCASP2";
+iMCASP2.ACLKR.$assignAllowConflicts                 = "ball.AA18";
+iMCASP2.ACLKR.$used                                 = false;
+iMCASP2.ACLKX.$assignAllowConflicts                 = "ball.AC20";
+iMCASP2.ACLKX.$used                                 = false;
+iMCASP2.AFSR.$assignAllowConflicts                  = "ball.AB20";
+iMCASP2.AFSR.$used                                  = false;
+iMCASP2.AFSX.$assignAllowConflicts                  = "ball.AD21";
+iMCASP2.AFSX.$used                                  = false;
+iMCASP2.$pinGroup.AXR0.$assignAllowConflicts        = "ball.AC21";
+iMCASP2.$pinGroup.AXR0.$used                        = false;
+iMCASP2.$pinGroup.AXR1.$assignAllowConflicts        = "ball.AD23";
+iMCASP2.$pinGroup.AXR1.$used                        = false;
+iMCASP2.$pinGroup.AXR2.$assignAllowConflicts        = "ball.AE23";
+iMCASP2.$pinGroup.AXR2.$used                        = false;
+iMCASP2.$pinGroup.AXR3.$assignAllowConflicts        = "ball.AD22";
+iMCASP2.$pinGroup.AXR3.$used                        = false;
+iMCASP2.$pinGroup.AXR4.$assignAllowConflicts        = "ball.AA19";
+iMCASP2.$pinGroup.AXR4.$used                        = false;
+iMCASP2.$pinGroup.AXR5.$assignAllowConflicts        = "ball.AE21";
+iMCASP2.$pinGroup.AXR5.$used                        = false;
+iMCASP2.$pinGroup.AXR6.$assignAllowConflicts        = "ball.Y18";
+iMCASP2.$pinGroup.AXR6.$used                        = false;
+iMCASP2.$pinGroup.AXR7.$assignAllowConflicts        = "ball.AB20";
+iMCASP2.$pinGroup.AXR7.$used                        = false;
+iMCASP2.$pinGroup.AXR8.$assignAllowConflicts        = "ball.AA18";
+iMCASP2.$pinGroup.AXR8.$used                        = false;
+iMCASP2.$pinGroup.AXR9.$used                        = false;
+iMCASP2.$pinGroup.AXR10.$used                       = false;
+iMCASP2.$pinGroup.AXR11.$used                       = false;
+iMCASP2.$pinGroup.AXR12.$assign                     = "ball.N20";
+iMCASP2.$pinGroup.AXR13.$assignAllowConflicts       = "ball.M22";
+iMCASP2.$pinGroup.AXR13.$used                       = false;
+iMCASP2.$pinGroup.AXR14.$assign                     = "ball.M21";
+iMCASP2.$pinGroup.AXR14.$used                       = false;
+iMCASP2.$pinGroup.AXR15.$assign                     = "ball.L21";
+iMCASP2.$pinGroup.AXR15.$used                       = false;
+const iMCU_MCAN1                                    = scripting.addPeripheral("MCU_MCAN");
+iMCU_MCAN1.$name                                    = "MCU_MCAN0";
+iMCU_MCAN1.$assign                                  = "MCU_MCAN0";
+iMCU_MCAN1.RX.$assign                               = "ball.B3";
+iMCU_MCAN1.TX.$assign                               = "ball.D6";
+const iMCU_MCAN2                                    = scripting.addPeripheral("MCU_MCAN");
+iMCU_MCAN2.$name                                    = "MCU_MCAN1";
+iMCU_MCAN2.$assign                                  = "MCU_MCAN1";
+iMCU_MCAN2.RX.$assign                               = "ball.D4";
+iMCU_MCAN2.TX.$assign                               = "ball.E5";
+const iMCU_SYSTEM1                                  = scripting.addPeripheral("MCU_SYSTEM");
+iMCU_SYSTEM1.$name                                  = "MyMCU_SYSTEM1";
+iMCU_SYSTEM1.MCU_ERRORn.$used                       = false;
+iMCU_SYSTEM1.MCU_EXT_REFCLK0.$used                  = false;
+iMCU_SYSTEM1.MCU_OBSCLK0.$used                      = false;
+iMCU_SYSTEM1.MCU_PORz.$assign                       = "ball.D2";
+iMCU_SYSTEM1.MCU_RESETSTATz.$used                   = false;
+iMCU_SYSTEM1.MCU_RESETz.$used                       = false;
+iMCU_SYSTEM1.MCU_SYSCLKOUT0.$used                   = false;
+const iMMC01                                        = scripting.addPeripheral("MMC0");
+iMMC01.$useCase                                     = "MMC0_3";
+iMMC01.$name                                        = "eMMC";
+iMMC01.$assign                                      = "MMC0";
+iMMC01.CMD.$assign                                  = "ball.Y3";
+iMMC01.CLK.$assign                                  = "ball.AB1";
+iMMC01.DAT0.$assign                                 = "ball.AA2";
+iMMC01.DAT1.$assign                                 = "ball.AA1";
+iMMC01.DAT2.$assign                                 = "ball.AA3";
+iMMC01.DAT3.$assign                                 = "ball.Y4";
+iMMC01.DAT4.$assign                                 = "ball.AB2";
+iMMC01.DAT5.$assign                                 = "ball.AC1";
+iMMC01.DAT6.$assign                                 = "ball.AD2";
+iMMC01.DAT7.$assign                                 = "ball.AC2";
+const iMMC11                                        = scripting.addPeripheral("MMC1");
+iMMC11.$useCase                                     = "MMC1_2";
+iMMC11.$name                                        = "uSD";
+iMMC11.$assign                                      = "MMC1";
+iMMC11.SDCD.$used                                   = true;
+iMMC11.SDWP.$used                                   = true;
+const iPRU_ICSSM0_ECAP1                             = scripting.addPeripheral("PRU_ICSSM0_ECAP");
+iPRU_ICSSM0_ECAP1.$name                             = "MyPRU_ICSSM0_ECAP1";
+iPRU_ICSSM0_ECAP1.IN_APWM_OUT.$assignAllowConflicts = "ball.M22";
+iPRU_ICSSM0_ECAP1.SYNC_IN.$used                     = false;
+iPRU_ICSSM0_ECAP1.SYNC_OUT.$used                    = false;
+const iPRU_ICSSM0_PRU1                              = scripting.addPeripheral("PRU_ICSSM0_PRU");
+iPRU_ICSSM0_PRU1.$name                              = "PRU0";
+iPRU_ICSSM0_PRU1.$assign                            = "PRU_ICSSM0_PRU0";
+iPRU_ICSSM0_PRU1.GPI0.$assign                       = "ball.V20";
+iPRU_ICSSM0_PRU1.GPI1.$assign                       = "ball.AA23";
+iPRU_ICSSM0_PRU1.GPI10.$assignAllowConflicts        = "ball.W25";
+iPRU_ICSSM0_PRU1.GPI11.$assign                      = "ball.W24";
+iPRU_ICSSM0_PRU1.GPI12.$assign                      = "ball.Y25";
+iPRU_ICSSM0_PRU1.GPI13.$assignAllowConflicts        = "ball.Y24";
+iPRU_ICSSM0_PRU1.GPI14.$assign                      = "ball.Y23";
+iPRU_ICSSM0_PRU1.GPI15.$assign                      = "ball.AA25";
+iPRU_ICSSM0_PRU1.GPI16.$assignAllowConflicts        = "ball.W21";
+iPRU_ICSSM0_PRU1.GPI16.$used                        = false;
+iPRU_ICSSM0_PRU1.GPI17.$assign                      = "ball.V21";
+iPRU_ICSSM0_PRU1.GPI18.$assign                      = "ball.AC25";
+iPRU_ICSSM0_PRU1.GPI19.$assign                      = "ball.AC24";
+iPRU_ICSSM0_PRU1.GPI2.$assign                       = "ball.AB25";
+iPRU_ICSSM0_PRU1.GPI3.$assign                       = "ball.AA24";
+iPRU_ICSSM0_PRU1.GPI4.$assign                       = "ball.Y22";
+iPRU_ICSSM0_PRU1.GPI5.$assign                       = "ball.AA21";
+iPRU_ICSSM0_PRU1.GPI6.$assign                       = "ball.AB24";
+iPRU_ICSSM0_PRU1.GPI7.$assign                       = "ball.Y20";
+iPRU_ICSSM0_PRU1.GPI8.$assignAllowConflicts         = "ball.U22";
+iPRU_ICSSM0_PRU1.GPI9.$assignAllowConflicts         = "ball.V24";
+iPRU_ICSSM0_PRU1.GPO0.$used                         = false;
+iPRU_ICSSM0_PRU1.GPO1.$used                         = false;
+iPRU_ICSSM0_PRU1.GPO10.$used                        = false;
+iPRU_ICSSM0_PRU1.GPO11.$used                        = false;
+iPRU_ICSSM0_PRU1.GPO12.$used                        = false;
+iPRU_ICSSM0_PRU1.GPO13.$used                        = false;
+iPRU_ICSSM0_PRU1.GPO14.$used                        = false;
+iPRU_ICSSM0_PRU1.GPO15.$used                        = false;
+iPRU_ICSSM0_PRU1.GPO16.$used                        = false;
+iPRU_ICSSM0_PRU1.GPO17.$used                        = false;
+iPRU_ICSSM0_PRU1.GPO18.$used                        = false;
+iPRU_ICSSM0_PRU1.GPO19.$used                        = false;
+iPRU_ICSSM0_PRU1.GPO2.$used                         = false;
+iPRU_ICSSM0_PRU1.GPO3.$used                         = false;
+iPRU_ICSSM0_PRU1.GPO4.$used                         = false;
+iPRU_ICSSM0_PRU1.GPO5.$used                         = false;
+iPRU_ICSSM0_PRU1.GPO6.$used                         = false;
+iPRU_ICSSM0_PRU1.GPO7.$used                         = false;
+iPRU_ICSSM0_PRU1.GPO8.$used                         = false;
+iPRU_ICSSM0_PRU1.GPO9.$used                         = false;
+const iPRU_ICSSM0_PRU2                              = scripting.addPeripheral("PRU_ICSSM0_PRU");
+iPRU_ICSSM0_PRU2.$name                              = "PRU1";
+iPRU_ICSSM0_PRU2.$assign                            = "PRU_ICSSM0_PRU1";
+iPRU_ICSSM0_PRU2.GPI0.$assignAllowConflicts         = "ball.AA19";
+iPRU_ICSSM0_PRU2.GPI1.$assignAllowConflicts         = "ball.AE21";
+iPRU_ICSSM0_PRU2.GPI10.$used                        = false;
+iPRU_ICSSM0_PRU2.GPI11.$used                        = false;
+iPRU_ICSSM0_PRU2.GPI12.$used                        = false;
+iPRU_ICSSM0_PRU2.GPI13.$used                        = false;
+iPRU_ICSSM0_PRU2.GPI14.$used                        = false;
+iPRU_ICSSM0_PRU2.GPI15.$used                        = false;
+iPRU_ICSSM0_PRU2.GPI16.$used                        = false;
+iPRU_ICSSM0_PRU2.GPI17.$used                        = false;
+iPRU_ICSSM0_PRU2.GPI18.$used                        = false;
+iPRU_ICSSM0_PRU2.GPI19.$used                        = false;
+iPRU_ICSSM0_PRU2.GPI2.$assignAllowConflicts         = "ball.Y18";
+iPRU_ICSSM0_PRU2.GPI3.$assignAllowConflicts         = "ball.AA18";
+iPRU_ICSSM0_PRU2.GPI4.$assignAllowConflicts         = "ball.AD21";
+iPRU_ICSSM0_PRU2.GPI5.$used                         = false;
+iPRU_ICSSM0_PRU2.GPI6.$used                         = false;
+iPRU_ICSSM0_PRU2.GPI7.$used                         = false;
+iPRU_ICSSM0_PRU2.GPI8.$used                         = false;
+iPRU_ICSSM0_PRU2.GPI9.$used                         = false;
+iPRU_ICSSM0_PRU2.GPO0.$used                         = false;
+iPRU_ICSSM0_PRU2.GPO1.$used                         = false;
+iPRU_ICSSM0_PRU2.GPO10.$used                        = false;
+iPRU_ICSSM0_PRU2.GPO11.$used                        = false;
+iPRU_ICSSM0_PRU2.GPO12.$used                        = false;
+iPRU_ICSSM0_PRU2.GPO13.$used                        = false;
+iPRU_ICSSM0_PRU2.GPO14.$used                        = false;
+iPRU_ICSSM0_PRU2.GPO15.$used                        = false;
+iPRU_ICSSM0_PRU2.GPO16.$used                        = false;
+iPRU_ICSSM0_PRU2.GPO17.$used                        = false;
+iPRU_ICSSM0_PRU2.GPO18.$used                        = false;
+iPRU_ICSSM0_PRU2.GPO19.$used                        = false;
+iPRU_ICSSM0_PRU2.GPO2.$used                         = false;
+iPRU_ICSSM0_PRU2.GPO3.$used                         = false;
+iPRU_ICSSM0_PRU2.GPO4.$used                         = false;
+iPRU_ICSSM0_PRU2.GPO5.$used                         = false;
+iPRU_ICSSM0_PRU2.GPO6.$used                         = false;
+iPRU_ICSSM0_PRU2.GPO7.$used                         = false;
+iPRU_ICSSM0_PRU2.GPO8.$used                         = false;
+iPRU_ICSSM0_PRU2.GPO9.$used                         = false;
+const iPRU_ICSSM0_UART1                             = scripting.addPeripheral("PRU_ICSSM0_UART");
+iPRU_ICSSM0_UART1.$useCase                          = "PRU_ICSSM0_UART_2";
+iPRU_ICSSM0_UART1.$name                             = "MyPRU_ICSSM0_UART1";
+iPRU_ICSSM0_UART1.RXD.$assign                       = "ball.AE18";
+const iRGMII1                                       = scripting.addPeripheral("RGMII");
+iRGMII1.$name                                       = "RGMII2";
+iRGMII1.$assign                                     = "RGMII2";
+iRGMII1.RD0.$assignAllowConflicts                   = "ball.AE23";
+iRGMII1.RD1.$assignAllowConflicts                   = "ball.AB20";
+iRGMII1.RD2.$assignAllowConflicts                   = "ball.AC21";
+iRGMII1.RD3.$assignAllowConflicts                   = "ball.AE22";
+iRGMII1.RXC.$assignAllowConflicts                   = "ball.AD23";
+iRGMII1.RX_CTL.$assignAllowConflicts                = "ball.AD22";
+iRGMII1.TD0.$assignAllowConflicts                   = "ball.Y18";
+iRGMII1.TD0.$used                                   = false;
+iRGMII1.TD1.$assignAllowConflicts                   = "ball.AA18";
+iRGMII1.TD1.$used                                   = false;
+iRGMII1.TD2.$assignAllowConflicts                   = "ball.AD21";
+iRGMII1.TD2.$used                                   = false;
+iRGMII1.TD3.$assignAllowConflicts                   = "ball.AC20";
+iRGMII1.TD3.$used                                   = false;
+iRGMII1.TXC.$assignAllowConflicts                   = "ball.AE21";
+iRGMII1.TXC.$used                                   = false;
+iRGMII1.TX_CTL.$assignAllowConflicts                = "ball.AA19";
+iRGMII1.TX_CTL.$used                                = false;
+const iSPI1                                         = scripting.addPeripheral("SPI");
+iSPI1.$name                                         = "SPI2";
+iSPI1.$assign                                       = "SPI2";
+iSPI1.CLK.$assignAllowConflicts                     = "ball.A20";
+iSPI1.CLK.$used                                     = false;
+iSPI1.CS0.$assignAllowConflicts                     = "ball.E19";
+iSPI1.CS0.$used                                     = false;
+iSPI1.CS1.$used                                     = false;
+iSPI1.CS2.$used                                     = false;
+iSPI1.CS3.$used                                     = false;
+iSPI1.D0.$assignAllowConflicts                      = "ball.B19";
+iSPI1.D0.$used                                      = false;
+iSPI1.D1.$assignAllowConflicts                      = "ball.A19";
+iSPI1.D1.$used                                      = false;
+const iSPI2                                         = scripting.addPeripheral("SPI");
+iSPI2.$useCase                                      = "SPI_1";
+iSPI2.$name                                         = "SPI0";
+iSPI2.$assign                                       = "SPI0";
+iSPI2.CLK.$assign                                   = "ball.A14";
+iSPI2.D0.$assignAllowConflicts                      = "ball.B13";
+iSPI2.D1.$assign                                    = "ball.B14";
+iSPI2.CS0.$assignAllowConflicts                     = "ball.A13";
+iSPI2.CS1.$assignAllowConflicts                     = "ball.C13";
+const iUART1                                        = scripting.addPeripheral("UART");
+iUART1.$useCase                                     = "UART_5";
+iUART1.$name                                        = "UART5";
+iUART1.$assign                                      = "USART5";
+iUART1.RXD.$assignAllowConflicts                    = "ball.C15";
+iUART1.TXD.$assignAllowConflicts                    = "ball.E15";
+const iUART2                                        = scripting.addPeripheral("UART");
+iUART2.$useCase                                     = "UART_5";
+iUART2.$name                                        = "UART0";
+iUART2.$assign                                      = "USART0";
+iUART2.RXD.$assign                                  = "ball.D14";
+iUART2.TXD.$assign                                  = "ball.E14";
+const iUSB1                                         = scripting.addPeripheral("USB");
+iUSB1.$name                                         = "USB1";
+iUSB1.$assign                                       = "USB1";
+iUSB1.DM.$assign                                    = "ball.AD10";
+iUSB1.DP.$assign                                    = "ball.AE9";
+iUSB1.DRVVBUS.$assign                               = "ball.F18";
+iUSB1.RCALIB.$assign                                = "ball.AC9";
+iUSB1.VBUS.$assign                                  = "ball.AB10";
+const iUSB2                                         = scripting.addPeripheral("USB");
+iUSB2.$name                                         = "USB0";
+iUSB2.$assign                                       = "USB0";
+iUSB2.DM.$assign                                    = "ball.AE11";
+iUSB2.DP.$assign                                    = "ball.AD11";
+iUSB2.DRVVBUS.$assign                               = "ball.C20";
+iUSB2.RCALIB.$assign                                = "ball.AE10";
+iUSB2.VBUS.$assign                                  = "ball.AC11";
+
+/**
+ * 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.
+ */
+iGPMC1.$suggestSolution                = "GPMC0";
+iMCAN1.$suggestSolution                = "MCAN0";
+iMCU_SYSTEM1.$suggestSolution          = "MCU_SYSTEM0";
+iMMC11.CMD.$suggestSolution            = "ball.A21";
+iMMC11.CLK.$suggestSolution            = "ball.B22";
+iMMC11.DAT0.$suggestSolution           = "ball.A22";
+iMMC11.DAT1.$suggestSolution           = "ball.B21";
+iMMC11.DAT2.$suggestSolution           = "ball.C21";
+iMMC11.DAT3.$suggestSolution           = "ball.D22";
+iMMC11.SDCD.$suggestSolution           = "ball.D17";
+iMMC11.SDWP.$suggestSolution           = "ball.C17";
+iPRU_ICSSM0_ECAP1.$suggestSolution     = "PRU_ICSSM0_ECAP0";
+iPRU_ICSSM0_UART1.$suggestSolution     = "PRU_ICSSM0_UART0";
+iPRU_ICSSM0_UART1.TXD.$suggestSolution = "ball.AD18";