/*============================================================================== * */ void MSS_SYS_init(sys_serv_async_event_handler_t event_handler) { MSS_COMBLK_init(asynchronous_event_handler); g_event_handler = event_handler; g_request_in_progress = 0u; g_last_response_length = 0u; }
/* * M2S platform initialization. */ static void __init m2s_init(void) { /* * Configure the IOMUXes of SmartFusion2 */ m2s_iomux_init(); #if defined(CONFIG_SERIAL_8250) /* * Configure the UART devices */ m2s_uart_init(); #endif #if defined(CONFIG_SPI_M2S) /* * Configure the SPI master interfaces (and possibly, * SPI slave devices). */ m2s_spi_init(); #endif #if defined(CONFIG_M2S_ETH) m2s_eth_init(); #endif #if defined(CONFIG_I2C_A2F) /* * Configure the I2C controllers (and possible I2C devices). */ m2s_i2c_init(); #endif #if defined(CONFIG_GPIOLIB) /* * Register M2S GPIO lines */ m2s_gpio_init(); #endif #if defined(CONFIG_M2S_MSS_USB) m2s_usb_init(); #endif printk(KERN_INFO " ********* \n"); //comblk_test(); MSS_COMBLK_init(); MSS_SYS_get_serial_number(); MSS_SYS_get_design_version(); MSS_DDR_copy(); SYSREG->MDDR_CR &= ~(1<<0); printk(KERN_INFO " MDDR_CR = 0x%x", SYSREG->MDDR_CR); printk(KERN_INFO " ********* \n"); /* uint8_t i=0; for(i=0;i<83;i++){ disable_irq(i); } uint32_t stack_ptr = 0x20010000; uint32_t reset_ptr = 0x00000375; uint32_t base_ptr = 0x60020000; set_MSP(stack_ptr); SYSREG->ESRAM_CR &= 0xFFFFFFFC; // disable the eSRAM mapping SYSREG->ENVM_CR &= 0xFFFFFFF0; SYSREG->ENVM_CR |= 0x10; SYSREG->ENVM_REMAP_BASE_CR = (base_ptr & 0x3FFFF) | 1; // enable the eNVM mapping ((void (*)())(reset_ptr))(); // jump to the reset pointer for (;;) { ; } // no way to reach this point */ ///add version number u32 val = MSMVERSION->linux_version; MSMVERSION->linux_version = 0x20100D00 | (val & 0xFF); }