// SPDX-License-Identifier: GPL-2.0-only // Definitions for IMX219 camera module on VC I2C bus /dts-v1/; /plugin/; #include /{ compatible = "brcm,bcm2835"; fragment@0 { target = <&i2c_csi_dsi>; __overlay__ { #address-cells = <1>; #size-cells = <0>; status = "okay"; imx219: imx219@10 { compatible = "sony,imx219"; reg = <0x10>; status = "okay"; clocks = <&imx219_clk>; clock-names = "xclk"; VANA-supply = <&imx219_vana>; /* 2.8v */ VDIG-supply = <&imx219_vdig>; /* 1.8v */ VDDL-supply = <&imx219_vddl>; /* 1.2v */ port { imx219_0: endpoint { remote-endpoint = <&csi1_ep>; clock-lanes = <0>; data-lanes = <1 2>; clock-noncontinuous; link-frequencies = /bits/ 64 <297000000>; }; }; }; }; }; fragment@1 { target = <&csi1>; __overlay__ { status = "okay"; port { csi1_ep: endpoint { remote-endpoint = <&imx219_0>; }; }; }; }; fragment@2 { target = <&i2c0if>; __overlay__ { status = "okay"; }; }; fragment@3 { target-path="/"; __overlay__ { imx219_vana: fixedregulator@0 { compatible = "regulator-fixed"; regulator-name = "imx219_vana"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; gpio = <&gpio 41 GPIO_ACTIVE_HIGH>; enable-active-high; }; imx219_vdig: fixedregulator@1 { compatible = "regulator-fixed"; regulator-name = "imx219_vdig"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; }; imx219_vddl: fixedregulator@2 { compatible = "regulator-fixed"; regulator-name = "imx219_vddl"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; }; imx219_clk: camera-clk { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <24000000>; }; }; }; fragment@4 { target = <&i2c0mux>; __overlay__ { status = "okay"; }; }; fragment@5 { target-path="/__overrides__"; __overlay__ { cam0-pwdn-ctrl = <&imx219_vana>,"gpio:0"; cam0-pwdn = <&imx219_vana>,"gpio:4"; }; }; };