/** * 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 "AM64x" --part "Default" --package "ALV" --context "r5fss0-0" --product "MCU_PLUS_SDK_AM64x@10.01.00" * @v2CliArgs --device "AM6442" --package "FCBGA (ALV)" --variant "AM6442-D" --context "r5fss0-0" --product "MCU_PLUS_SDK_AM64x@10.01.00" * @versions {"tool":"1.22.0+3893"} */ /** * Import the modules used in this configuration. */ const eeprom = scripting.addModule("/board/eeprom/eeprom", {}, false); const eeprom1 = eeprom.addInstance(); const ethphy_cpsw_icssg = scripting.addModule("/board/ethphy_cpsw_icssg/ethphy_cpsw_icssg", {}, false); const ethphy_cpsw_icssg1 = ethphy_cpsw_icssg.addInstance(); const flash = scripting.addModule("/board/flash/flash", {}, false); const flash1 = flash.addInstance(); const bootloader = scripting.addModule("/drivers/bootloader/bootloader", {}, false); const bootloader1 = bootloader.addInstance(); const ddr = scripting.addModule("/drivers/ddr/ddr", {}, false); const ddr1 = ddr.addInstance(); const i2c = scripting.addModule("/drivers/i2c/i2c", {}, false); const i2c1 = i2c.addInstance(); const debug_log = scripting.addModule("/kernel/dpl/debug_log"); const dpl_cfg = scripting.addModule("/kernel/dpl/dpl_cfg"); const mpu_armv7 = scripting.addModule("/kernel/dpl/mpu_armv7", {}, false); const mpu_armv71 = mpu_armv7.addInstance(); const mpu_armv72 = mpu_armv7.addInstance(); const mpu_armv73 = mpu_armv7.addInstance(); const mpu_armv74 = mpu_armv7.addInstance(); const mpu_armv75 = mpu_armv7.addInstance(); const default_linker = scripting.addModule("/memory_configurator/default_linker", {}, false); const default_linker1 = default_linker.addInstance(); const general = scripting.addModule("/memory_configurator/general", {}, false); const general1 = general.addInstance(); const region = scripting.addModule("/memory_configurator/region", {}, false); const region1 = region.addInstance(); const section = scripting.addModule("/memory_configurator/section", {}, false); const section1 = section.addInstance(); const section2 = section.addInstance(); const section3 = section.addInstance(); const section4 = section.addInstance(); const section5 = section.addInstance(); const section6 = section.addInstance(); const enet_cpsw = scripting.addModule("/networking/enet_cpsw/enet_cpsw", {}, false); const enet_cpsw1 = enet_cpsw.addInstance(); /** * Write custom configuration values to the imported modules. */ eeprom1.$name = "CONFIG_EEPROM0"; bootloader1.appImageOffset = "0x80000"; bootloader1.$name = "CONFIG_BOOTLOADER_FLASH0"; bootloader1.appImageBaseAddress = "0x60080000"; flash1.$name = "CONFIG_FLASH0"; bootloader1.flashDriver = flash1; flash1.device = "CUSTOM_FLASH"; flash1.fname = "GD25Q64ESIG"; flash1.flashBlockSize = 65536; flash1.flashSize = 8388608; flash1.flashManfId = "0xC8"; flash1.flashDeviceId = "0x4017"; flash1.cmdBlockErase3B = "0xD8"; flash1.cmdBlockErase4B = "0xD8"; flash1.cmdSectorErase3B = "0x20"; flash1.cmdSectorErase4B = "0x20"; flash1.dummyClksCmd = 0; flash1.xspiWipRdCmd = "0x00"; flash1.xspiWipReg = "0x00000000"; flash1.flashDeviceBusyTimeout = 28000000; flash1.enable4BAddr = false; flash1.cmdRd = "0x6B"; flash1.cmdWr = "0x32"; flash1.dummyClksRd = 8; flash1.flashQeType = "6"; flash1.cmdExtType = "NONE"; flash1.protocol = "1s_1s_4s"; flash1.proto_isAddrReg = false; flash1.dummy_isAddrReg = false; flash1.strDtr_isAddrReg = false; flash1.peripheralDriver.$name = "CONFIG_OSPI0"; flash1.peripheralDriver.inputClkFreq = 200000000; flash1.peripheralDriver.OSPI.D7.rx = false; flash1.peripheralDriver.OSPI.D7.$used = false; flash1.peripheralDriver.OSPI.D6.rx = false; flash1.peripheralDriver.OSPI.D6.$used = false; flash1.peripheralDriver.OSPI.D5.rx = false; flash1.peripheralDriver.OSPI.D5.$used = false; flash1.peripheralDriver.OSPI.D4.rx = false; flash1.peripheralDriver.OSPI.D4.$used = false; flash1.peripheralDriver.child.$name = "drivers_ospi_v0_ospi_v0_template0"; ddr1.$name = "CONFIG_DDR0"; ddr1.ddrConfigIncludeFileName = "drivers/ddr/v0/soc/am64x_am243x/board_lpddrReginit.h"; i2c1.$name = "CONFIG_I2C1"; i2c1.I2C_child.$name = "drivers_i2c_v0_i2c_v0_template1"; const i2c2 = i2c.addInstance({}, false); i2c2.$name = "CONFIG_I2C0"; eeprom1.peripheralDriver = i2c2; i2c2.I2C_child.$name = "drivers_i2c_v0_i2c_v0_template0"; debug_log.enableUartLog = true; debug_log.enableCssLog = false; debug_log.uartLog.$name = "CONFIG_UART0"; debug_log.uartLog.intrEnable = "DISABLE"; debug_log.uartLog.UART.$assign = "USART0"; const uart_v0_template = scripting.addModule("/drivers/uart/v0/uart_v0_template", {}, false); const uart_v0_template1 = uart_v0_template.addInstance({}, false); uart_v0_template1.$name = "drivers_uart_v0_uart_v0_template0"; debug_log.uartLog.child = uart_v0_template1; mpu_armv71.$name = "CONFIG_MPU_REGION0"; mpu_armv71.size = 31; mpu_armv71.attributes = "Device"; mpu_armv71.accessPermissions = "Supervisor RD+WR, User RD"; mpu_armv71.allowExecute = false; mpu_armv72.$name = "CONFIG_MPU_REGION1"; mpu_armv72.size = 15; mpu_armv72.accessPermissions = "Supervisor RD+WR, User RD"; mpu_armv73.$name = "CONFIG_MPU_REGION2"; mpu_armv73.baseAddr = 0x41010000; mpu_armv73.size = 15; mpu_armv73.accessPermissions = "Supervisor RD+WR, User RD"; mpu_armv74.$name = "CONFIG_MPU_REGION3"; mpu_armv74.accessPermissions = "Supervisor RD+WR, User RD"; mpu_armv74.baseAddr = 0x70000000; mpu_armv74.size = 21; mpu_armv75.$name = "CONFIG_MPU_REGION4"; mpu_armv75.baseAddr = 0x80000000; mpu_armv75.size = 31; default_linker1.$name = "memory_configurator_default_linker0"; general1.$name = "CONFIG_GENERAL0"; general1.entry_point = "-e_vectors_sbl"; general1.irq_stack_size = 4096; general1.svc_stack_size = 256; general1.linker.$name = "TIARMCLANG0"; region1.$name = "MEMORY_REGION_CONFIGURATION0"; region1.memory_region.create(8); region1.memory_region[0].type = "TCMA_R5F"; region1.memory_region[0].$name = "R5F_VECS"; region1.memory_region[0].size = 0x40; region1.memory_region[0].auto = false; region1.memory_region[1].type = "TCMA_R5F"; region1.memory_region[1].$name = "R5F_TCMA"; region1.memory_region[1].size = 0x7FC0; region1.memory_region[2].type = "TCMB_R5F"; region1.memory_region[2].$name = "R5F_TCMB0"; region1.memory_region[2].size = 0x8000; region1.memory_region[3].$name = "MSRAM_VECS"; region1.memory_region[3].auto = false; region1.memory_region[3].size = 0x100; region1.memory_region[4].$name = "MSRAM_0"; region1.memory_region[4].auto = false; region1.memory_region[4].manualStartAddress = 0x70000100; region1.memory_region[4].size = 0x6FF00; region1.memory_region[5].$name = "MSRAM_1"; region1.memory_region[5].auto = false; region1.memory_region[5].manualStartAddress = 0x70070000; region1.memory_region[5].size = 0x20000; region1.memory_region[6].$name = "MSRAM_2"; region1.memory_region[6].size = 0x148000; region1.memory_region[7].$name = "MSRAM_3"; region1.memory_region[7].size = 0x8000; section1.$name = "Vector Table"; section1.group = false; section1.load_memory = "MSRAM_VECS"; section1.output_section.create(1); section1.output_section[0].$name = ".vectors"; section1.output_section[0].palignment = true; section2.$name = "Text Segments"; section2.load_memory = "MSRAM_0"; section2.output_section.create(7); section2.output_section[0].palignment = true; section2.output_section[0].$name = ".text"; section2.output_section[1].palignment = true; section2.output_section[1].$name = ".text.hwi"; section2.output_section[2].palignment = true; section2.output_section[2].$name = ".text.cache"; section2.output_section[3].palignment = true; section2.output_section[3].$name = ".text.mpu"; section2.output_section[4].palignment = true; section2.output_section[4].$name = ".text.boot"; section2.output_section[5].$name = ".data"; section2.output_section[5].palignment = true; section2.output_section[6].$name = ".rodata"; section2.output_section[6].palignment = true; section3.$name = "Memory Segments"; section3.group = false; section3.load_memory = "MSRAM_1"; section3.output_section.create(3); section3.output_section[0].$name = ".bss"; section3.output_section[0].palignment = true; section3.output_section[0].output_sections_start = "__BSS_START"; section3.output_section[0].output_sections_end = "__BSS_END"; section3.output_section[1].$name = ".sysmem"; section3.output_section[1].palignment = true; section3.output_section[2].$name = ".stack"; section3.output_section[2].palignment = true; section4.$name = "Stack Segments"; section4.load_memory = "MSRAM_1"; section4.output_section.create(5); section4.output_section[0].$name = ".irqstack"; section4.output_section[0].output_sections_start = "__IRQ_STACK_START"; section4.output_section[0].output_sections_end = "__IRQ_STACK_END"; section4.output_section[0].input_section.create(1); section4.output_section[0].input_section[0].$name = ". = . + __IRQ_STACK_SIZE;"; section4.output_section[1].$name = ".fiqstack"; section4.output_section[1].output_sections_start = "__FIQ_STACK_START"; section4.output_section[1].output_sections_end = "__FIQ_STACK_END"; section4.output_section[1].input_section.create(1); section4.output_section[1].input_section[0].$name = ". = . + __FIQ_STACK_SIZE;"; section4.output_section[2].$name = ".svcstack"; section4.output_section[2].output_sections_start = "__SVC_STACK_START"; section4.output_section[2].output_sections_end = "__SVC_STACK_END"; section4.output_section[2].input_section.create(1); section4.output_section[2].input_section[0].$name = ". = . + __SVC_STACK_SIZE;"; section4.output_section[3].$name = ".abortstack"; section4.output_section[3].output_sections_start = "__ABORT_STACK_START"; section4.output_section[3].output_sections_end = "__ABORT_STACK_END"; section4.output_section[3].input_section.create(1); section4.output_section[3].input_section[0].$name = ". = . + __ABORT_STACK_SIZE;"; section4.output_section[4].$name = ".undefinedstack"; section4.output_section[4].output_sections_start = "__UNDEFINED_STACK_START"; section4.output_section[4].output_sections_end = "__UNDEFINED_STACK_END"; section4.output_section[4].input_section.create(1); section4.output_section[4].input_section[0].$name = ". = . + __UNDEFINED_STACK_SIZE;"; section5.$name = "File buffer"; section5.load_memory = "MSRAM_2"; section5.output_section.create(1); section5.output_section[0].$name = ".bss.filebuf"; section6.$name = "Scratch pad"; section6.load_memory = "MSRAM_3"; section6.output_section.create(1); section6.output_section[0].$name = ".bss.sbl_scratch"; enet_cpsw1.$name = "CONFIG_ENET_CPSW0"; enet_cpsw1.RtosVariant = "NoRTOS"; enet_cpsw1.macAddrConfig = "Manual Entry"; enet_cpsw1.LargePoolPktCount = 16; enet_cpsw1.hostportTxCsumOffloadEn = false; enet_cpsw1.hostporRxDscpIPv4RemapEn = false; enet_cpsw1.hostportRemoveCrc = true; enet_cpsw1.hostpostPassCrcErrors = true; enet_cpsw1.DisableMacPort1 = true; enet_cpsw1.macAddrList = "88:0c:e0:67:d6:0e,88:0c:e0:67:d6:0e"; enet_cpsw1.phyToMacInterfaceMode = "RMII"; enet_cpsw1.MDIO.MDC.$assign = "PRG1_MDIO0_MDC"; enet_cpsw1.MDIO.MDIO.$assign = "PRG1_MDIO0_MDIO"; enet_cpsw1.txDmaChannel[0].$name = "ENET_DMA_TX_CH0"; enet_cpsw1.txDmaChannel[0].PacketsCount = 8; enet_cpsw1.rxDmaChannel[0].$name = "ENET_DMA_RX_CH0"; enet_cpsw1.rxDmaChannel[0].PacketsCount = 8; ethphy_cpsw_icssg1.$name = "CONFIG_ENET_ETHPHY0"; enet_cpsw1.ethphy2 = ethphy_cpsw_icssg1; ethphy_cpsw_icssg1.phySelect = "DP83826"; ethphy_cpsw_icssg1.phyAddr = 7; ethphy_cpsw_icssg1.skipExtendedConfig = true; const udma = scripting.addModule("/drivers/udma/udma", {}, false); const udma1 = udma.addInstance({}, false); enet_cpsw1.udmaDrv = udma1; /** * 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. */ flash1.peripheralDriver.OSPI.$suggestSolution = "OSPI0"; flash1.peripheralDriver.OSPI.CLK.$suggestSolution = "OSPI0_CLK"; flash1.peripheralDriver.OSPI.CSn0.$suggestSolution = "OSPI0_CSn0"; flash1.peripheralDriver.OSPI.DQS.$suggestSolution = "OSPI0_DQS"; flash1.peripheralDriver.OSPI.D3.$suggestSolution = "OSPI0_D3"; flash1.peripheralDriver.OSPI.D2.$suggestSolution = "OSPI0_D2"; flash1.peripheralDriver.OSPI.D1.$suggestSolution = "OSPI0_D1"; flash1.peripheralDriver.OSPI.D0.$suggestSolution = "OSPI0_D0"; i2c1.I2C.$suggestSolution = "I2C1"; i2c1.I2C.SCL.$suggestSolution = "I2C1_SCL"; i2c1.I2C.SDA.$suggestSolution = "I2C1_SDA"; i2c2.I2C.$suggestSolution = "I2C0"; i2c2.I2C.SCL.$suggestSolution = "I2C0_SCL"; i2c2.I2C.SDA.$suggestSolution = "I2C0_SDA"; debug_log.uartLog.UART.RXD.$suggestSolution = "UART0_RXD"; debug_log.uartLog.UART.TXD.$suggestSolution = "UART0_TXD"; enet_cpsw1.MDIO.$suggestSolution = "MDIO0"; enet_cpsw1.RMII.$suggestSolution = "CPSW"; enet_cpsw1.RMII.RMII_REF_CLK.$suggestSolution = "PRG1_PRU0_GPO10"; enet_cpsw1.RMII.RMII2_CRS_DV.$suggestSolution = "PRG1_PRU1_GPO13"; enet_cpsw1.RMII.RMII2_RX_ER.$suggestSolution = "PRG1_PRU1_GPO4"; enet_cpsw1.RMII.RMII2_RXD0.$suggestSolution = "PRG1_PRU1_GPO0"; enet_cpsw1.RMII.RMII2_RXD1.$suggestSolution = "PRG1_PRU1_GPO1"; enet_cpsw1.RMII.RMII2_TXD0.$suggestSolution = "PRG1_PRU1_GPO11"; enet_cpsw1.RMII.RMII2_TXD1.$suggestSolution = "PRG1_PRU1_GPO12"; enet_cpsw1.RMII.RMII2_TX_EN.$suggestSolution = "PRG1_PRU1_GPO15";