/// <summary> /// The public constructor for the OMAP_L137 device AIS generator. /// The constructor is where the device differentiation is defined. /// </summary> public AISGen_OMAP_L137() : base() { // Define the device name - used for default file names devNameShort = "OMAP-L137"; devNameLong = "OMAPL137"; // Define OMAP-L138 ROM boot loader functions ROMFunc = new AisROMFunction[9]; ROMFunc[0].funcName = ROMFunctionNames.PLLConfig; ROMFunc[0].iniSectionName = "PLLCONFIG"; ROMFunc[0].numParams = 2; ROMFunc[0].paramNames = new String[2] { "PLLCFG0", "PLLCFG1" }; ROMFunc[1].funcName = ROMFunctionNames.PeriphClockConfig; ROMFunc[1].iniSectionName = "PERIPHCLKCFG"; ROMFunc[1].numParams = 1; ROMFunc[1].paramNames = new String[1] { "PERIPHCLKCFG" }; ROMFunc[2].funcName = ROMFunctionNames.EMIF3CConfigSDRAM; ROMFunc[2].iniSectionName = "EMIF3SDRAM"; ROMFunc[2].numParams = 4; ROMFunc[2].paramNames = new String[4] { "SDCR", "SDTIMR", "SDTIMR2", "SDRCR" }; ROMFunc[3].funcName = ROMFunctionNames.EMIF25ConfigSDRAM; ROMFunc[3].iniSectionName = "EMIF25SDRAM"; ROMFunc[3].numParams = 4; ROMFunc[3].paramNames = new String[4] { "SDBCR", "SDTIMR", "SDRSRPDEXIT", "SDRCR" }; ROMFunc[4].funcName = ROMFunctionNames.EMIF25ConfigAsync; ROMFunc[4].iniSectionName = "EMIF25ASYNC"; ROMFunc[4].numParams = 4; ROMFunc[4].paramNames = new String[4] { "A1CR", "A2CR", "A3CR", "A4CR" }; ROMFunc[5].funcName = ROMFunctionNames.PLLandClockConfig; ROMFunc[5].iniSectionName = "PLLANDCLOCKCONFIG"; ROMFunc[5].numParams = 3; ROMFunc[5].paramNames = new String[3] { "PLLCFG0", "PLLCFG1", "PERIPHCLKCFG" }; ROMFunc[6].funcName = ROMFunctionNames.PSCConfig; ROMFunc[6].iniSectionName = "PSCCONFIG"; ROMFunc[6].numParams = 1; ROMFunc[6].paramNames = new String[1] { "LPSCCFG" }; ROMFunc[7].funcName = ROMFunctionNames.PINMUXConfig; ROMFunc[7].iniSectionName = "PINMUX"; ROMFunc[7].numParams = 3; ROMFunc[7].paramNames = new String[3] { "REGNUM", "MASK", "VALUE" }; ROMFunc[8].funcName = ROMFunctionNames.FastBoot; ROMFunc[8].iniSectionName = "FASTBOOT"; ROMFunc[8].numParams = 0; ROMFunc[8].paramNames = null; AISExtraFunc = new AisExtraFunction[4]; AISExtraFunc[0].funcName = "setEmifB45Div"; AISExtraFunc[0].aisExtraFileName = "DSP_AISExtra_" + devNameShort + ".out"; AISExtraFunc[0].iniSectionName = "DSP_SET_EMIFB_45DIV"; AISExtraFunc[0].numParams = 0; AISExtraFunc[0].paramNames = null; AISExtraFunc[0].isInitFunc = false; AISExtraFunc[1].funcName = "setEmifB45Div"; AISExtraFunc[1].aisExtraFileName = "ARM_AISExtra_" + devNameShort + ".out"; AISExtraFunc[1].iniSectionName = "ARM_SET_EMIFB_45DIV"; AISExtraFunc[1].numParams = 0; AISExtraFunc[1].paramNames = null; AISExtraFunc[1].isInitFunc = false; AISExtraFunc[2].funcName = "setEmifA45Div"; AISExtraFunc[2].aisExtraFileName = "DSP_AISExtra_" + devNameShort + ".out"; AISExtraFunc[2].iniSectionName = "DSP_SET_EMIFA_45DIV"; AISExtraFunc[2].numParams = 0; AISExtraFunc[2].paramNames = null; AISExtraFunc[2].isInitFunc = false; AISExtraFunc[3].funcName = "setEmifA45Div"; AISExtraFunc[3].aisExtraFileName = "ARM_AISExtra_" + devNameShort + ".out"; AISExtraFunc[3].iniSectionName = "ARM_SET_EMIFA_45DIV"; AISExtraFunc[3].numParams = 0; AISExtraFunc[3].paramNames = null; AISExtraFunc[3].isInitFunc = false; // OMAP-L137 is little endian devEndian = Endian.LittleEndian; // OMAP-L137 AIS data is little endian; devAISEndian = Endian.LittleEndian; // Create default CRC object for this device devCRC = new CRC32(0x04C11DB7, 0x00000000, 0x00000000, false, 1, UtilLib.CRC.CRCType.INCREMENTAL, UtilLib.CRC.CRCCalcMethod.BITWISE); }
/// <summary> /// The public constructor for the DM637x device AIS generator. /// The constructor is where the device differentiation is defined. /// </summary> public AISGen_OMAP_L138() : base() { // Define the device name - used for default file names devNameShort = "OMAP-L138"; devNameLong = "OMAPL138"; // Define OMAP-L138 ROM boot loader functions ROMFunc = new AisROMFunction[13]; ROMFunc[0].funcName = ROMFunctionNames.PLL0Config; ROMFunc[0].iniSectionName = "PLL0CONFIG"; ROMFunc[0].numParams = 2; ROMFunc[0].paramNames = new String[2] { "PLL0CFG0", "PLL0CFG1" }; ROMFunc[1].funcName = ROMFunctionNames.PLL1Config; ROMFunc[1].iniSectionName = "PLL1CONFIG"; ROMFunc[1].numParams = 2; ROMFunc[1].paramNames = new String[2] { "PLL1CFG0", "PLL1CFG1" }; ROMFunc[2].funcName = ROMFunctionNames.PeriphClockConfig; ROMFunc[2].iniSectionName = "PERIPHCLKCFG"; ROMFunc[2].numParams = 1; ROMFunc[2].paramNames = new String[1] { "PERIPHCLKCFG" }; ROMFunc[3].funcName = ROMFunctionNames.EMIF3AConfigDDR; ROMFunc[3].iniSectionName = "EMIF3DDR"; ROMFunc[3].numParams = 8; ROMFunc[3].paramNames = new String[8] { "PLL1CFG0", "PLL1CFG1", "DDRPHYC1R", "SDCR", "SDTIMR", "SDTIMR2", "SDRCR", "CLK2XSRC" }; ROMFunc[4].funcName = ROMFunctionNames.EMIF25ConfigSDRAM; ROMFunc[4].iniSectionName = "EMIF25SDRAM"; ROMFunc[4].numParams = 5; ROMFunc[4].paramNames = new String[5] { "SDBCR", "SDTIMR", "SDRSRPDEXIT", "SDRCR", "DIV4p5_CLK_ENABLE" }; ROMFunc[5].funcName = ROMFunctionNames.EMIF25ConfigAsync; ROMFunc[5].iniSectionName = "EMIF25ASYNC"; ROMFunc[5].numParams = 5; ROMFunc[5].paramNames = new String[5] { "A1CR", "A2CR", "A3CR", "A4CR", "NANDFCR" }; ROMFunc[6].funcName = ROMFunctionNames.PLLandClockConfig; ROMFunc[6].iniSectionName = "PLLANDCLOCKCONFIG"; ROMFunc[6].numParams = 3; ROMFunc[6].paramNames = new String[3] { "PLL0CFG0", "PLL0CFG1", "PERIPHCLKCFG" }; ROMFunc[7].funcName = ROMFunctionNames.PSCConfig; ROMFunc[7].iniSectionName = "PSCCONFIG"; ROMFunc[7].numParams = 1; ROMFunc[7].paramNames = new String[1] { "LPSCCFG" }; ROMFunc[8].funcName = ROMFunctionNames.PINMUXConfig; ROMFunc[8].iniSectionName = "PINMUX"; ROMFunc[8].numParams = 3; ROMFunc[8].paramNames = new String[3] { "REGNUM", "MASK", "VALUE" }; ROMFunc[9].funcName = ROMFunctionNames.FastBoot; ROMFunc[9].iniSectionName = "FASTBOOT"; ROMFunc[9].numParams = 0; ROMFunc[9].paramNames = null; ROMFunc[10].funcName = ROMFunctionNames.IOPUConfig; ROMFunc[10].iniSectionName = "IOPUCONFIG"; ROMFunc[10].numParams = 2; ROMFunc[10].paramNames = new String[2] { "IOPUSELECT", "MPPAVALUE" }; ROMFunc[11].funcName = ROMFunctionNames.MPUConfig; ROMFunc[11].iniSectionName = "MPUCONFIG"; ROMFunc[11].numParams = 4; ROMFunc[11].paramNames = new String[4] { "MPUSELECT", "STARTADDR", "ENDADDR", "MPPAVALUE" }; ROMFunc[12].funcName = ROMFunctionNames.TAPSConfig; ROMFunc[12].iniSectionName = "TAPSCONFIG"; ROMFunc[12].numParams = 1; ROMFunc[12].paramNames = new String[1] { "TAPSCFG" }; AISExtraFunc = new AisExtraFunction[4]; AISExtraFunc[0].funcName = "PatchDDRConfig"; AISExtraFunc[0].aisExtraFileName = "ARM_AISExtra_" + devNameShort + ".out"; AISExtraFunc[0].iniSectionName = "ARM_EMIF3DDR_PATCHFXN"; AISExtraFunc[0].numParams = 6; AISExtraFunc[0].paramNames = new String[6] { "DDRPHYC1R", "SDCR", "SDTIMR", "SDTIMR2", "SDRCR", "CLK2XSRC" }; AISExtraFunc[0].isInitFunc = false; AISExtraFunc[1].funcName = "PatchDDRConfig"; AISExtraFunc[1].aisExtraFileName = "DSP_AISExtra_" + devNameShort + ".out"; AISExtraFunc[1].iniSectionName = "DSP_EMIF3DDR_PATCHFXN"; AISExtraFunc[1].numParams = 6; AISExtraFunc[1].paramNames = new String[6] { "DDRPHYC1R", "SDCR", "SDTIMR", "SDTIMR2", "SDRCR", "CLK2XSRC" }; AISExtraFunc[1].isInitFunc = false; AISExtraFunc[2].funcName = "NAND_ECC_patchApply"; AISExtraFunc[2].aisExtraFileName = "ARM_nand_ecc_patch_" + devNameShort + ".out"; AISExtraFunc[2].iniSectionName = "ARM_NAND_ECC_PATCHFXN"; AISExtraFunc[2].numParams = 0; AISExtraFunc[2].paramNames = null; AISExtraFunc[2].isInitFunc = false; AISExtraFunc[3].funcName = "NAND_ECC_patchApply"; AISExtraFunc[3].aisExtraFileName = "DSP_nand_ecc_patch_" + devNameShort + ".out"; AISExtraFunc[3].iniSectionName = "DSP_NAND_ECC_PATCHFXN"; AISExtraFunc[3].numParams = 0; AISExtraFunc[3].paramNames = null; AISExtraFunc[3].isInitFunc = false; // OMAP-L138 is little endian devEndian = Endian.LittleEndian; // OMAP-L138 AIS data is little endian; devAISEndian = Endian.LittleEndian; // Create default CRC object for this device devCRC = new CRC32(0x04C11DB7, 0xFFFFFFFF, 0xFFFFFFFF, true, 1, CRCType.INCREMENTAL, CRCCalcMethod.LUT); }