int stm32_bringup(void) { #ifdef CONFIG_FS_PROCFS int ret; #ifdef CONFIG_STM32_CCM_PROCFS /* Register the CCM procfs entry. This must be done before the procfs is * mounted. */ (void)ccm_procfs_register(); #endif /* Mount the procfs file system */ ret = mount(NULL, STM32_PROCFS_MOUNTPOINT, "procfs", 0, NULL); if (ret < 0) { syslog(LOG_ERR, "ERROR: Failed to mount the PROC filesystem: %d (%d)\n", ret, errno); return ret; } #endif #ifdef CONFIG_BUTTONS /* Register the BUTTON driver */ ret = btn_lower_initialize("/dev/buttons"); if (ret < 0) { syslog(LOG_ERR, "ERROR: btn_lower_initialize() failed: %d\n", ret); } #endif #ifdef CONFIG_ADC /* Initialize ADC and register the ADC driver. */ ret = stm32_adc_setup(); if (ret < 0) { syslog(LOG_ERR, "ERROR: stm32_adc_setup failed: %d\n", ret); } #endif return OK; }
int lpc54_bringup(void) { #ifdef HAVE_MMCSD struct sdio_dev_s *sdmmc; #endif #ifdef HAVE_RTC_DRIVER struct rtc_lowerhalf_s *rtc; #endif int ret; #ifdef CONFIG_FS_PROCFS /* Mount the procfs file system */ ret = mount(NULL, "/proc", "procfs", 0, NULL); if (ret < 0) { syslog(LOG_ERR, "ERROR: Failed to mount procfs at /proc: %d\n", ret); } #endif #ifdef HAVE_RTC_DRIVER /* Instantiate the STM32 lower-half RTC driver */ rtc = lpc54_rtc_lowerhalf(); if (rtc == NULL) { syslog(LOG_ERR, "ERROR: Failed to instantiate the RTC lower-half driver\n"); } else { /* Bind the lower half driver and register the combined RTC driver * as /dev/rtc0 */ ret = rtc_initialize(0, rtc); if (ret < 0) { syslog(LOG_ERR, "ERROR: Failed to bind/register the RTC driver: %d\n", ret); } } #endif #ifdef HAVE_I2CTOOL /* Register I2C drivers on behalf of the I2C tool */ lpc54_i2ctool(); #endif #ifdef CONFIG_VIDEO_FB /* Initialize and register the framebuffer driver */ ret = fb_register(0, 0); if (ret < 0) { syslog(LOG_ERR, "ERROR: fb_register() failed: %d\n", ret); } #endif #ifdef HAVE_FT5x06 /* Register the FT5x06 touch panel driver */ ret = lpc54_ft5x06_register(); if (ret < 0) { syslog(LOG_ERR, "ERROR: lpc54_ft5x06_register() failed: %d\n", ret); } #endif #ifdef HAVE_MMCSD /* Get an instance of the SDIO interface */ sdmmc = lpc54_sdmmc_initialize(0); if (!sdmmc) { syslog(LOG_ERR, "ERROR: Failed to initialize SD/MMC\n"); } else { /* Dind the SDIO interface to the MMC/SD driver */ ret = mmcsd_slotinitialize(MMCSD_MINOR, sdmmc); if (ret != OK) { syslog(LOG_ERR, "ERROR: Failed to bind SDIO to the MMC/SD driver: %d\n", ret); } } #endif #ifdef CONFIG_BUTTONS_LOWER /* Register the BUTTON driver */ ret = btn_lower_initialize("/dev/buttons"); if (ret < 0) { syslog(LOG_ERR, "ERROR: btn_lower_initialize() failed: %d\n", ret); } #endif UNUSED(ret); return OK; }
int stm32_bringup(void) { #ifdef CONFIG_ONESHOT struct oneshot_lowerhalf_s *os = NULL; #endif int ret = OK; #ifdef CONFIG_PWM /* Initialize PWM and register the PWM device. */ ret = stm32_pwm_setup(); if (ret < 0) { syslog(LOG_ERR, "ERROR: stm32_pwm_setup() failed: %d\n", ret); } #endif #ifdef CONFIG_AUDIO_TONE /* Configure and initialize the tone generator. */ ret = stm32_tone_setup(); if (ret < 0) { syslog(LOG_ERR, "ERROR: stm32_tone_setup() failed: %d\n", ret); } #endif #ifdef CONFIG_RGBLED /* Configure and initialize the RGB LED. */ ret = stm32_rgbled_setup(); if (ret < 0) { syslog(LOG_ERR, "ERROR: stm32_rgbled_setup() failed: %d\n", ret); } #endif #ifdef CONFIG_CL_MFRC522 ret = stm32_mfrc522initialize("/dev/rfid0"); if (ret < 0) { syslog(LOG_ERR, "ERROR: stm32_mfrc522initialize() failed: %d\n", ret); } #endif #ifdef CONFIG_ONESHOT os = oneshot_initialize(1, 10); if (os) { ret = oneshot_register("/dev/oneshot", os); } #endif #ifdef CONFIG_BUTTONS /* Register the BUTTON driver */ ret = btn_lower_initialize("/dev/buttons"); if (ret < 0) { syslog(LOG_ERR, "ERROR: btn_lower_initialize() failed: %d\n", ret); } #endif #ifdef CONFIG_USERLED /* Register the LED driver */ ret = userled_lower_initialize("/dev/userleds"); if (ret < 0) { syslog(LOG_ERR, "ERROR: userled_lower_initialize() failed: %d\n", ret); } #endif #ifdef CONFIG_VEML6070 /* Register the UV-A light sensor */ ret = stm32_veml6070initialize("/dev/uvlight0"); if (ret < 0) { syslog(LOG_ERR, "ERROR: stm32_veml6070initialize() failed: %d\n", ret); } #endif return ret; }