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:
parent
43e58aed34
commit
a019e92d23
7 changed files with 62 additions and 0 deletions
|
@ -547,6 +547,14 @@
|
|||
clocks = <&ccm IMX_CCM_USDHC2_CLK 0 0>;
|
||||
label = "USDHC_2";
|
||||
};
|
||||
|
||||
csi: csi@402bc000 {
|
||||
compatible = "nxp,imx-csi";
|
||||
reg = <0x402BC000 0x4000>;
|
||||
interrupts = <43 1>;
|
||||
status = "disabled";
|
||||
label = "CSI";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
26
dts/bindings/video/nxp,imx-csi.yaml
Normal file
26
dts/bindings/video/nxp,imx-csi.yaml
Normal file
|
@ -0,0 +1,26 @@
|
|||
#
|
||||
# Copyright (c) 2019, Linaro Limited
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
title: NXP MCUX CSI module
|
||||
|
||||
description: >
|
||||
This binding gives a base representation of NXP MCUX CMOS Sensor Interface
|
||||
|
||||
compatible: "nxp,imx-csi"
|
||||
|
||||
include: base.yaml
|
||||
|
||||
properties:
|
||||
interrupts:
|
||||
required: true
|
||||
|
||||
label:
|
||||
required: true
|
||||
|
||||
sensor-label:
|
||||
required: true
|
||||
type: string
|
||||
description: label of connected sensor device
|
|
@ -152,4 +152,9 @@ config HAS_MCUX_SMC
|
|||
help
|
||||
Set if the SMC module is present in the SoC.
|
||||
|
||||
config HAS_MCUX_CSI
|
||||
bool
|
||||
help
|
||||
Set if the CMOS Sensor Interface module is present in the SoC.
|
||||
|
||||
endif # HAS_MCUX
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue