diff --git a/boards/arm/cxd56xx/spresense/Kconfig b/boards/arm/cxd56xx/spresense/Kconfig index 872b400409..46cded7dac 100644 --- a/boards/arm/cxd56xx/spresense/Kconfig +++ b/boards/arm/cxd56xx/spresense/Kconfig @@ -765,4 +765,12 @@ config CXD56_BINARY Create nuttx.spk binary format used on spresense board and boards based on cxd56xx arch. +config CXD56_CAMERA_LATE_INITIALIZE + bool "Camera drivers late initialization" + default n + depends on CXD56_CISIF + ---help--- + The camera drivers can be initialized on an application code after system booted up + by enabling this configuration switch. + endif diff --git a/boards/arm/cxd56xx/spresense/src/cxd56_bringup.c b/boards/arm/cxd56xx/spresense/src/cxd56_bringup.c index 0c5d25c22a..fa01f4860c 100644 --- a/boards/arm/cxd56xx/spresense/src/cxd56_bringup.c +++ b/boards/arm/cxd56xx/spresense/src/cxd56_bringup.c @@ -378,13 +378,14 @@ int cxd56_bringup(void) } #endif +#ifndef CONFIG_CXD56_CAMERA_LATE_INITIALIZE #ifdef CONFIG_VIDEO_ISX019 ret = isx019_initialize(); if (ret < 0) { _err("ERROR: Failed to initialize ISX019 board. %d\n", errno); } -#endif +#endif /* CONFIG_VIDEO_ISX019 */ #ifdef CONFIG_VIDEO_ISX012 ret = isx012_initialize(); @@ -392,7 +393,7 @@ int cxd56_bringup(void) { _err("ERROR: Failed to initialize ISX012 board. %d\n", errno); } -#endif +#endif /* CONFIG_VIDEO_ISX012 */ #ifdef CONFIG_CXD56_CISIF ret = cxd56_cisif_initialize(); @@ -401,7 +402,8 @@ int cxd56_bringup(void) _err("ERROR: Failed to initialize CISIF. %d\n", errno); ret = ERROR; } -#endif +#endif /* CONFIG_CXD56_CISIF */ +#endif /* CONFIG_CXD56_CAMERA_LATE_INITIALIZE */ #if defined(CONFIG_CXD56_SDIO) /* In order to prevent Hi-Z from being input to the SD Card controller,