Commit 3d52973d authored by Lad Prabhakar's avatar Lad Prabhakar Committed by Geert Uytterhoeven
Browse files

arm64: dts: renesas: rzg2l-smarc: Enable CRU, CSI support



Enable CRU, CSI on RZ/G2L SMARC EVK and tie the CSI to OV5645 sensor
using Device Tree overlay. rz-smarc-cru-csi-ov5645.dtsi is created so
that RZ/G2L alike EVKs can make use of it.

Signed-off-by: default avatarLad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20230322125648.24948-3-prabhakar.mahadev-lad.rj@bp.renesas.com


Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
parent 95c91e77
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -80,6 +80,7 @@ dtb-$(CONFIG_ARCH_R9A07G043) += r9a07g043-smarc-pmod.dtbo

dtb-$(CONFIG_ARCH_R9A07G044) += r9a07g044c2-smarc.dtb
dtb-$(CONFIG_ARCH_R9A07G044) += r9a07g044l2-smarc.dtb
dtb-$(CONFIG_ARCH_R9A07G044) += r9a07g044l2-smarc-cru-csi-ov5645.dtbo

dtb-$(CONFIG_ARCH_R9A07G054) += r9a07g054l2-smarc.dtb

+21 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0
/*
 * Device Tree overlay for the RZ/G2L SMARC EVK with OV5645 camera
 * connected to CSI and CRU enabled.
 *
 * Copyright (C) 2023 Renesas Electronics Corp.
 */

/dts-v1/;
/plugin/;

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/rzg2l-pinctrl.h>

#define OV5645_PARENT_I2C i2c0
#include "rz-smarc-cru-csi-ov5645.dtsi"

&ov5645 {
	enable-gpios = <&pinctrl RZG2L_GPIO(2, 0) GPIO_ACTIVE_HIGH>;
	reset-gpios = <&pinctrl RZG2L_GPIO(40, 2) GPIO_ACTIVE_LOW>;
};
+80 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0
/*
 * Common Device Tree for the RZ/G2L SMARC EVK (and alike EVKs) with
 * OV5645 camera connected to CSI and CRU enabled.
 *
 * Copyright (C) 2023 Renesas Electronics Corp.
 */

&{/} {
	ov5645_vdddo_1v8: 1p8v {
		compatible = "regulator-fixed";
		regulator-name = "camera_vdddo";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
		regulator-always-on;
	};

	ov5645_vdda_2v8: 2p8v {
		compatible = "regulator-fixed";
		regulator-name = "camera_vdda";
		regulator-min-microvolt = <2800000>;
		regulator-max-microvolt = <2800000>;
		regulator-always-on;
	};

	ov5645_vddd_1v5: 1p5v {
		compatible = "regulator-fixed";
		regulator-name = "camera_vddd";
		regulator-min-microvolt = <1500000>;
		regulator-max-microvolt = <1500000>;
		regulator-always-on;
	};

	ov5645_fixed_clk: osc25250-clk {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <24000000>;
	};
};

&cru {
	status = "okay";
};

&csi2 {
	status = "okay";

	ports {
		port@0 {
			csi2_in: endpoint {
				clock-lanes = <0>;
				data-lanes = <1 2>;
				remote-endpoint = <&ov5645_ep>;
			};
		};
	};
};

&OV5645_PARENT_I2C {
	#address-cells = <1>;
	#size-cells = <0>;

	ov5645: camera@3c {
		compatible = "ovti,ov5645";
		reg = <0x3c>;
		clocks = <&ov5645_fixed_clk>;
		clock-frequency = <24000000>;
		vdddo-supply = <&ov5645_vdddo_1v8>;
		vdda-supply = <&ov5645_vdda_2v8>;
		vddd-supply = <&ov5645_vddd_1v5>;

		port {
			ov5645_ep: endpoint {
				clock-lanes = <0>;
				data-lanes = <1 2>;
				remote-endpoint = <&csi2_in>;
			};
		};
	};
};