Re: [PATCH v3 2/2] ARM: dts: r8a7742-iwg21d-q7-dbcm-ca: Add support for 8-bit ov7725 sensors

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

On Thu, Nov 26, 2020 at 10:30:53AM +0000, Lad Prabhakar wrote:
> 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"

Mmm, can't we alternatively include one .dtsi or the other depending
on a define symbol ? The .dtsi describe pluggable expansion boards,
they cannot be mixed, right ?

Thanks
  j

>

>  #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
>




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux