soc: nxp: rt: Add CSI video support

Add CSI node to generic nxp rt dtsi.
Add corresponding dts binding.
Add CSI capability for rt MCUs.

Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
This commit is contained in:
Loic Poulain 2019-07-01 14:47:14 +02:00 committed by Maureen Helm
commit a019e92d23
7 changed files with 62 additions and 0 deletions

View file

@ -165,6 +165,13 @@ config USB_DC_NXP_EHCI
endif # USB
if VIDEO
config VIDEO_MCUX_CSI
default y if HAS_MCUX_CSI
endif
source "soc/arm/nxp_imx/rt/Kconfig.defconfig.mimxrt*"
endif # SOC_SERIES_IMX_RT

View file

@ -70,6 +70,7 @@ config SOC_MIMXRT1051
select HAS_MCUX_USB_EHCI
select HAS_MCUX_USDHC1
select HAS_MCUX_USDHC2
select HAS_MCUX_CSI
config SOC_MIMXRT1052
bool "SOC_MIMXRT1052"
@ -93,6 +94,7 @@ config SOC_MIMXRT1052
select HAS_MCUX_USB_EHCI
select HAS_MCUX_USDHC1
select HAS_MCUX_USDHC2
select HAS_MCUX_CSI
config SOC_MIMXRT1061
bool "SOC_MIMXRT1061"
@ -113,6 +115,7 @@ config SOC_MIMXRT1061
select HAS_MCUX_USB_EHCI
select HAS_MCUX_USDHC1
select HAS_MCUX_USDHC2
select HAS_MCUX_CSI
config SOC_MIMXRT1062
bool "SOC_MIMXRT1062"
@ -136,6 +139,7 @@ config SOC_MIMXRT1062
select HAS_MCUX_USB_EHCI
select HAS_MCUX_USDHC1
select HAS_MCUX_USDHC2
select HAS_MCUX_CSI
config SOC_MIMXRT1064
bool "SOC_MIMXRT1064"
@ -159,6 +163,7 @@ config SOC_MIMXRT1064
select HAS_MCUX_USB_EHCI
select HAS_MCUX_USDHC1
select HAS_MCUX_USDHC2
select HAS_MCUX_CSI
endchoice

View file

@ -233,4 +233,10 @@
#define DT_PWM_MCUX_15_NAME DT_NXP_IMX_PWM_403E8000_PWM3_LABEL
#define DT_PWM_MCUX_15_INDEX DT_NXP_IMX_PWM_403E8000_PWM3_INDEX
#define DT_VIDEO_MCUX_CSI_BASE_ADDRESS DT_NXP_IMX_CSI_402BC000_BASE_ADDRESS
#define DT_VIDEO_MCUX_CSI_IRQ DT_NXP_IMX_CSI_402BC000_IRQ_0
#define DT_VIDEO_MCUX_CSI_IRQ_PRI DT_NXP_IMX_CSI_402BC000_IRQ_0_PRIORITY
#define DT_VIDEO_MCUX_CSI_NAME DT_NXP_IMX_CSI_402BC000_LABEL
#define DT_VIDEO_MCUX_CSI_SENSOR_NAME DT_NXP_IMX_CSI_402BC000_SENSOR_LABEL
/* End of SoC Level DTS fixup file */

View file

@ -199,6 +199,11 @@ static ALWAYS_INLINE void clock_init(void)
CLOCK_SetMux(kCLOCK_Usdhc2Mux, 1U);
CLOCK_EnableClock(kCLOCK_Usdhc2);
#endif
#endif
#ifdef CONFIG_VIDEO_MCUX_CSI
CLOCK_EnableClock(kCLOCK_Csi); /* Disable CSI clock gate */
CLOCK_SetDiv(kCLOCK_CsiDiv, 0); /* Set CSI divider to 1 */
CLOCK_SetMux(kCLOCK_CsiMux, 0); /* Set CSI source to OSC 24M */
#endif
/* Keep the system clock running so SYSTICK can wake up the system from