The 8-bit ov7725 sensors can also be connected to the camera daughter board. This patch creates a separate dtsi file for ov7725 sensors and is included in r8a7742-iwg21d-q7-dbcm-ca.dts. The user can set VINx_SENSOR depending on the cameras connected. Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> Reviewed-by: Biju Das <biju.das.jz@xxxxxxxxxxxxxx> --- .../boot/dts/r8a7742-iwg21d-q7-dbcm-ca.dts | 7 ++ .../dts/r8a7742-iwg21d-q7-dbcm-ov7725.dtsi | 112 ++++++++++++++++++ 2 files changed, 119 insertions(+) create mode 100644 arch/arm/boot/dts/r8a7742-iwg21d-q7-dbcm-ov7725.dtsi diff --git a/arch/arm/boot/dts/r8a7742-iwg21d-q7-dbcm-ca.dts b/arch/arm/boot/dts/r8a7742-iwg21d-q7-dbcm-ca.dts index 1ab4f9771a34..915ff5fd437c 100644 --- a/arch/arm/boot/dts/r8a7742-iwg21d-q7-dbcm-ca.dts +++ b/arch/arm/boot/dts/r8a7742-iwg21d-q7-dbcm-ca.dts @@ -11,6 +11,7 @@ #define SENSOR_NONE 1 #define SENSOR_OV5640 2 +#define SENSOR_OV7725 3 /* 8bit CMOS Camera 1 (J13) */ #define CAM1_PARENT_I2C i2c0 @@ -40,6 +41,11 @@ * VIN2 interface and also the ov5640 node connected to it) * #define VIN2_SENSOR SENSOR_NONE * + * To tie VINx endpoints to ov7725_x endpoints set VINx_SENSOR to + * SENSOR_OV7725 for example if ov7725_3 is connected to the VIN3 + * interface set the below (this disables the ov5640_3) + * #define VIN3_SENSOR SENSOR_OV7725 + * */ #define VIN0_SENSOR SENSOR_OV5640 #define VIN1_SENSOR SENSOR_OV5640 @@ -47,6 +53,7 @@ #define VIN3_SENSOR SENSOR_OV5640 #include "r8a7742-iwg21d-q7-dbcm-ov5640.dtsi" +#include "r8a7742-iwg21d-q7-dbcm-ov7725.dtsi" #if (VIN0_SENSOR == SENSOR_NONE) #undef VIN0_REMOTE_EP diff --git a/arch/arm/boot/dts/r8a7742-iwg21d-q7-dbcm-ov7725.dtsi b/arch/arm/boot/dts/r8a7742-iwg21d-q7-dbcm-ov7725.dtsi new file mode 100644 index 000000000000..054d0a7cc5ce --- /dev/null +++ b/arch/arm/boot/dts/r8a7742-iwg21d-q7-dbcm-ov7725.dtsi @@ -0,0 +1,112 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * This include file ties VIN interfaces with ov7725 sensors on + * iWave-RZ/G1H Qseven board development platform connected with + * camera daughter board. + * + * Copyright (C) 2020 Renesas Electronics Corp. + */ + +#if (VIN0_SENSOR == SENSOR_OV7725) +#define OV7725_0_STATUS "okay" +#define OV7725_0_REMOTE_EP &VIN0_EP +#define VIN0_REMOTE_EP &ov7725_0 +#else +#define OV7725_0_STATUS "disabled" +#define OV7725_0_REMOTE_EP 0 +#endif + +#if (VIN1_SENSOR == SENSOR_OV7725) +#define OV7725_1_STATUS "okay" +#define OV7725_1_REMOTE_EP &VIN1_EP +#define VIN1_REMOTE_EP &ov7725_1 +#else +#define OV7725_1_STATUS "disabled" +#define OV7725_1_REMOTE_EP 0 +#endif + +#if (VIN2_SENSOR == SENSOR_OV7725) +#define OV7725_2_STATUS "okay" +#define OV7725_2_REMOTE_EP &VIN2_EP +#define VIN2_REMOTE_EP &ov7725_2 +#else +#define OV7725_2_STATUS "disabled" +#define OV7725_2_REMOTE_EP 0 +#endif + +#if (VIN3_SENSOR == SENSOR_OV7725) +#define OV7725_3_STATUS "okay" +#define OV7725_3_REMOTE_EP &VIN3_EP +#define VIN3_REMOTE_EP &ov7725_3 +#else +#define OV7725_3_STATUS "disabled" +#define OV7725_3_REMOTE_EP 0 +#endif + +&CAM1_PARENT_I2C { + ov7725@21 { + compatible = "ovti,ov7725"; + reg = <0x21>; + clocks = <&MCLK_CAM1>; + status = OV7725_0_STATUS; + + port { + ov7725_0: endpoint { + bus-width = <8>; + bus-type = <6>; + remote-endpoint = <OV7725_0_REMOTE_EP>; + }; + }; + }; +}; + +&CAM2_PARENT_I2C { + ov7725@21 { + compatible = "ovti,ov7725"; + reg = <0x21>; + clocks = <&MCLK_CAM2>; + status = OV7725_1_STATUS; + + port { + ov7725_1: endpoint { + bus-width = <8>; + bus-type = <6>; + remote-endpoint = <OV7725_1_REMOTE_EP>; + }; + }; + }; +}; + +&CAM3_PARENT_I2C { + ov7725@21 { + compatible = "ovti,ov7725"; + reg = <0x21>; + clocks = <&MCLK_CAM3>; + status = OV7725_2_STATUS; + + port { + ov7725_2: endpoint { + bus-width = <8>; + bus-type = <6>; + remote-endpoint = <OV7725_2_REMOTE_EP>; + }; + }; + }; +}; + +&CAM4_PARENT_I2C { + ov7725@21 { + compatible = "ovti,ov7725"; + reg = <0x21>; + clocks = <&MCLK_CAM4>; + status = OV7725_3_STATUS; + + port { + ov7725_3: endpoint { + bus-width = <8>; + bus-type = <6>; + remote-endpoint = <OV7725_3_REMOTE_EP>; + }; + }; + }; +}; -- 2.17.1