diff options
Diffstat (limited to 'target/linux/bcm27xx/patches-5.4/950-0836-dtoverlays-Add-an-overlay-for-the-Sony-IMX290-image-.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-5.4/950-0836-dtoverlays-Add-an-overlay-for-the-Sony-IMX290-image-.patch | 236 |
1 files changed, 0 insertions, 236 deletions
diff --git a/target/linux/bcm27xx/patches-5.4/950-0836-dtoverlays-Add-an-overlay-for-the-Sony-IMX290-image-.patch b/target/linux/bcm27xx/patches-5.4/950-0836-dtoverlays-Add-an-overlay-for-the-Sony-IMX290-image-.patch deleted file mode 100644 index f64db00ddc..0000000000 --- a/target/linux/bcm27xx/patches-5.4/950-0836-dtoverlays-Add-an-overlay-for-the-Sony-IMX290-image-.patch +++ /dev/null @@ -1,236 +0,0 @@ -From 57250281004e141dff4662d1abb3f31982ec01ee Mon Sep 17 00:00:00 2001 -From: Dave Stevenson <dave.stevenson@raspberrypi.com> -Date: Tue, 19 May 2020 13:35:17 +0100 -Subject: [PATCH] dtoverlays: Add an overlay for the Sony IMX290 - image sensor - -Adds an overlay to configure the IMX290 image sensor. - -Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> ---- - arch/arm/boot/dts/overlays/Makefile | 1 + - arch/arm/boot/dts/overlays/README | 16 ++ - arch/arm/boot/dts/overlays/imx290-overlay.dts | 32 ++++ - .../boot/dts/overlays/imx290_327-overlay.dtsi | 145 ++++++++++++++++++ - 4 files changed, 194 insertions(+) - create mode 100644 arch/arm/boot/dts/overlays/imx290-overlay.dts - create mode 100644 arch/arm/boot/dts/overlays/imx290_327-overlay.dtsi - ---- a/arch/arm/boot/dts/overlays/Makefile -+++ b/arch/arm/boot/dts/overlays/Makefile -@@ -85,6 +85,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ - i2s-gpio28-31.dtbo \ - ilitek251x.dtbo \ - imx219.dtbo \ -+ imx290.dtbo \ - imx477.dtbo \ - iqaudio-codec.dtbo \ - iqaudio-dac.dtbo \ ---- a/arch/arm/boot/dts/overlays/README -+++ b/arch/arm/boot/dts/overlays/README -@@ -1430,6 +1430,22 @@ Load: dtoverlay=imx219 - Params: <None> - - -+Name: imx290 -+Info: Sony IMX290 camera module. -+ Uses Unicam 1, which is the standard camera connector on most Pi -+ variants. NB This currently uses 4 CSI2 data lanes and therefore will -+ only work on a CM. -+Load: dtoverlay=imx290,<param> -+Params: 4lane Enable 4 CSI2 lanes. This requires a Compute -+ Module (1, 3, or 4). -+ clock-frequency Sets the clock frequency to match that used on -+ the board. -+ Modules from Vision Components use 37.125MHz -+ (the default), whilst those from Innomaker use -+ 74.25MHz. -+ mono Denote that the module is a mono sensor. -+ -+ - Name: imx477 - Info: Sony IMX477 camera module. - Uses Unicam 1, which is the standard camera connector on most Pi ---- /dev/null -+++ b/arch/arm/boot/dts/overlays/imx290-overlay.dts -@@ -0,0 +1,32 @@ -+// SPDX-License-Identifier: GPL-2.0-only -+// Definitions for IMX290 camera module on VC I2C bus -+/dts-v1/; -+/plugin/; -+ -+#include <dt-bindings/gpio/gpio.h> -+#include "imx290_327-overlay.dtsi" -+ -+/{ -+ compatible = "brcm,bcm2835"; -+ -+ // Fragment numbers deliberately high to avoid conflicts with the -+ // included imx290_327 overlay file. -+ -+ fragment@101 { -+ target = <&imx290>; -+ __overlay__ { -+ compatible = "sony,imx290"; -+ }; -+ }; -+ -+ fragment@102 { -+ target = <&imx290>; -+ __dormant__ { -+ compatible = "sony,imx290-mono"; -+ }; -+ }; -+ -+ __overrides__ { -+ mono = <0>, "-101+102"; -+ }; -+}; ---- /dev/null -+++ b/arch/arm/boot/dts/overlays/imx290_327-overlay.dtsi -@@ -0,0 +1,145 @@ -+// SPDX-License-Identifier: GPL-2.0-only -+// Partial definitions for IMX290 or IMX327 camera module on VC I2C bus -+// The compatible string should be set in an overlay that then includes this one -+/dts-v1/; -+/plugin/; -+ -+#include <dt-bindings/gpio/gpio.h> -+ -+/{ -+ compatible = "brcm,bcm2835"; -+ -+ fragment@0 { -+ target = <&i2c_csi_dsi>; -+ __overlay__ { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ status = "okay"; -+ -+ imx290: imx290@1a { -+ reg = <0x1a>; -+ status = "okay"; -+ -+ clocks = <&imx290_clk>; -+ clock-names = "xclk"; -+ clock-frequency = <37125000>; -+ -+ vdda-supply = <&imx290_vdda>; /* 2.8v */ -+ vdddo-supply = <&imx290_vdddo>; /* 1.8v */ -+ vddd-supply = <&imx290_vddd>; /* 1.5v */ -+ -+ port { -+ imx290_0: endpoint { -+ remote-endpoint = <&csi1_ep>; -+ clock-lanes = <0>; -+ }; -+ }; -+ }; -+ }; -+ }; -+ -+ fragment@1 { -+ target = <&csi1>; -+ __overlay__ { -+ status = "okay"; -+ -+ port { -+ csi1_ep: endpoint { -+ remote-endpoint = <&imx290_0>; -+ }; -+ }; -+ }; -+ }; -+ -+ fragment@2 { -+ target = <&i2c0if>; -+ __overlay__ { -+ status = "okay"; -+ }; -+ }; -+ -+ fragment@3 { -+ target-path="/"; -+ __overlay__ { -+ imx290_vdda: fixedregulator@0 { -+ compatible = "regulator-fixed"; -+ regulator-name = "imx290_vdda"; -+ regulator-min-microvolt = <2800000>; -+ regulator-max-microvolt = <2800000>; -+ gpio = <&gpio 41 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ }; -+ imx290_vdddo: fixedregulator@1 { -+ compatible = "regulator-fixed"; -+ regulator-name = "imx290_vdddo"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ }; -+ imx290_vddd: fixedregulator@2 { -+ compatible = "regulator-fixed"; -+ regulator-name = "imx290_vddd"; -+ regulator-min-microvolt = <1500000>; -+ regulator-max-microvolt = <1500000>; -+ }; -+ -+ imx290_clk: camera-clk { -+ compatible = "fixed-clock"; -+ #clock-cells = <0>; -+ clock-frequency = <37125000>; -+ }; -+ }; -+ }; -+ -+ fragment@4 { -+ target = <&i2c0mux>; -+ __overlay__ { -+ status = "okay"; -+ }; -+ }; -+ -+ fragment@5 { -+ target-path="/__overrides__"; -+ __overlay__ { -+ cam0-pwdn-ctrl = <&imx290_vdda>,"gpio:0"; -+ cam0-pwdn = <&imx290_vdda>,"gpio:4"; -+ }; -+ }; -+ -+ fragment@6 { -+ target = <&imx290_0>; -+ __overlay__ { -+ data-lanes = <1 2>; -+ link-frequencies = -+ /bits/ 64 <445500000 297000000>; -+ }; -+ }; -+ -+ fragment@7 { -+ target = <&imx290_0>; -+ __dormant__ { -+ data-lanes = <1 2 3 4>; -+ link-frequencies = -+ /bits/ 64 <222750000 148500000>; -+ }; -+ }; -+ -+ fragment@8 { -+ target = <&csi1_ep>; -+ __overlay__ { -+ data-lanes = <1 2>; -+ }; -+ }; -+ -+ fragment@9 { -+ target = <&csi1_ep>; -+ __dormant__ { -+ data-lanes = <1 2 3 4>; -+ }; -+ }; -+ -+ __overrides__ { -+ 4lane = <0>, "-6+7-8+9"; -+ clock-frequency = <&imx290_clk>,"clock-frequency:0", -+ <&imx290>,"clock-frequency:0"; -+ }; -+}; |