linux-loongson/arch/arm64/boot/dts/ti/k3-j721e-sk-csi2-dual-imx219.dtso
Yemike Abhilash Chandra c6a20a2502 arm64: dts: ti: k3-j721e-sk: Add requiried voltage supplies for IMX219
The device tree overlay for the IMX219 sensor requires three voltage
supplies to be defined: VANA (analog), VDIG (digital core), and VDDL
(digital I/O). Add the corresponding voltage supply definitions to
avoid dtbs_check warnings.

Fixes: f767eb9180 ("arm64: dts: ti: k3-j721e-sk: Add overlay for IMX219")
Cc: stable@vger.kernel.org
Signed-off-by: Yemike Abhilash Chandra <y-abhilashchandra@ti.com>
Link: https://lore.kernel.org/r/20250415111328.3847502-5-y-abhilashchandra@ti.com
Signed-off-by: Nishanth Menon <nm@ti.com>
2025-04-18 13:28:12 -05:00

197 lines
3.3 KiB
Plaintext

// SPDX-License-Identifier: GPL-2.0-only OR MIT
/**
* DT Overlay for dual RPi Camera V2.1 (Sony IMX219) interfaced with CSI2
* on J721E SK, AM68 SK or AM69-SK board.
* https://datasheets.raspberrypi.org/camera/camera-v2-schematic.pdf
*
* Copyright (C) 2024 Texas Instruments Incorporated - https://www.ti.com/
*/
/dts-v1/;
/plugin/;
#include <dt-bindings/gpio/gpio.h>
#include "k3-pinctrl.h"
&{/} {
clk_imx219_fixed: imx219-xclk {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <24000000>;
};
reg_2p8v: regulator-2p8v {
compatible = "regulator-fixed";
regulator-name = "2P8V";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
vin-supply = <&vdd_sd_dv>;
regulator-always-on;
};
reg_1p8v: regulator-1p8v {
compatible = "regulator-fixed";
regulator-name = "1P8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
vin-supply = <&vdd_sd_dv>;
regulator-always-on;
};
reg_1p2v: regulator-1p2v {
compatible = "regulator-fixed";
regulator-name = "1P2V";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
vin-supply = <&vdd_sd_dv>;
regulator-always-on;
};
};
&csi_mux {
idle-state = <1>;
};
/* CAM0 I2C */
&cam0_i2c {
#address-cells = <1>;
#size-cells = <0>;
imx219_0: imx219-0@10 {
compatible = "sony,imx219";
reg = <0x10>;
clocks = <&clk_imx219_fixed>;
VANA-supply = <&reg_2p8v>;
VDIG-supply = <&reg_1p8v>;
VDDL-supply = <&reg_1p2v>;
port {
csi2_cam0: endpoint {
remote-endpoint = <&csi2rx0_in_sensor>;
link-frequencies = /bits/ 64 <456000000>;
clock-lanes = <0>;
data-lanes = <1 2>;
};
};
};
};
/* CAM1 I2C */
&cam1_i2c {
#address-cells = <1>;
#size-cells = <0>;
imx219_1: imx219-1@10 {
compatible = "sony,imx219";
reg = <0x10>;
clocks = <&clk_imx219_fixed>;
VANA-supply = <&reg_2p8v>;
VDIG-supply = <&reg_1p8v>;
VDDL-supply = <&reg_1p2v>;
port {
csi2_cam1: endpoint {
remote-endpoint = <&csi2rx1_in_sensor>;
link-frequencies = /bits/ 64 <456000000>;
clock-lanes = <0>;
data-lanes = <1 2>;
};
};
};
};
&cdns_csi2rx0 {
ports {
#address-cells = <1>;
#size-cells = <0>;
csi0_port0: port@0 {
reg = <0>;
status = "okay";
csi2rx0_in_sensor: endpoint {
remote-endpoint = <&csi2_cam0>;
bus-type = <4>; /* CSI2 DPHY. */
clock-lanes = <0>;
data-lanes = <1 2>;
};
};
csi0_port1: port@1 {
reg = <1>;
status = "disabled";
};
csi0_port2: port@2 {
reg = <2>;
status = "disabled";
};
csi0_port3: port@3 {
reg = <3>;
status = "disabled";
};
csi0_port4: port@4 {
reg = <4>;
status = "disabled";
};
};
};
&dphy0 {
status = "okay";
};
&ti_csi2rx0 {
status = "okay";
};
&cdns_csi2rx1 {
ports {
#address-cells = <1>;
#size-cells = <0>;
csi1_port0: port@0 {
reg = <0>;
status = "okay";
csi2rx1_in_sensor: endpoint {
remote-endpoint = <&csi2_cam1>;
bus-type = <4>; /* CSI2 DPHY. */
clock-lanes = <0>;
data-lanes = <1 2>;
};
};
csi1_port1: port@1 {
reg = <1>;
status = "disabled";
};
csi1_port2: port@2 {
reg = <2>;
status = "disabled";
};
csi1_port3: port@3 {
reg = <3>;
status = "disabled";
};
csi1_port4: port@4 {
reg = <4>;
status = "disabled";
};
};
};
&dphy1 {
status = "okay";
};
&ti_csi2rx1 {
status = "okay";
};