openwrt/target/linux/bcm27xx/patches-5.15/950-0609-dtoverlays-Convert-the-camera-sensor-overlays-to-use.patch
Álvaro Fernández Rojas 20ea6adbf1 bcm27xx: add support for linux v5.15
Build system: x86_64
Build-tested: bcm2708, bcm2709, bcm2710, bcm2711
Run-tested: bcm2708/RPiB+, bcm2709/RPi3B, bcm2710/RPi3B, bcm2711/RPi4B

Signed-off-by: Marty Jones <mj8263788@gmail.com>
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2022-05-17 15:11:22 +02:00

475 lines
11 KiB
Diff

From f8b75a1bcdbf2b5cc591079cafad3b94cc74ff48 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.com>
Date: Sat, 20 Nov 2021 14:43:29 +0000
Subject: [PATCH] dtoverlays: Convert the camera sensor overlays to use
the new regs and clks.
Now that we have regulators and clocks defined in the base DT for
image sensors, switch the overlays to use them.
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
---
arch/arm/boot/dts/overlays/imx219-overlay.dts | 40 ++++---------------
.../boot/dts/overlays/imx290_327-overlay.dtsi | 40 ++++---------------
.../boot/dts/overlays/imx477_378-overlay.dtsi | 31 +++-----------
arch/arm/boot/dts/overlays/imx519-overlay.dts | 38 +++---------------
arch/arm/boot/dts/overlays/ov5647-overlay.dts | 18 +++++----
arch/arm/boot/dts/overlays/ov7251-overlay.dts | 37 +++--------------
arch/arm/boot/dts/overlays/ov9281-overlay.dts | 39 ++++--------------
7 files changed, 50 insertions(+), 193 deletions(-)
--- a/arch/arm/boot/dts/overlays/imx219-overlay.dts
+++ b/arch/arm/boot/dts/overlays/imx219-overlay.dts
@@ -20,12 +20,12 @@
reg = <0x10>;
status = "okay";
- clocks = <&imx219_clk>;
+ clocks = <&cam1_clk>;
clock-names = "xclk";
VANA-supply = <&cam1_reg>; /* 2.8v */
- VDIG-supply = <&imx219_vdig>; /* 1.8v */
- VDDL-supply = <&imx219_vddl>; /* 1.2v */
+ VDIG-supply = <&cam_dummy_reg>; /* 1.8v */
+ VDDL-supply = <&cam_dummy_reg>; /* 1.2v */
rotation = <180>;
orientation = <2>;
@@ -68,26 +68,10 @@
};
fragment@3 {
- target-path="/";
+ target = <&cam1_clk>;
__overlay__ {
- 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>;
- };
+ status = "okay";
+ clock-frequency = <24000000>;
};
};
@@ -99,16 +83,6 @@
};
fragment@5 {
- target = <&cam1_reg>;
- __overlay__ {
- status = "okay";
- regulator-name = "imx219_vana";
- regulator-min-microvolt = <2800000>;
- regulator-max-microvolt = <2800000>;
- };
- };
-
- fragment@6 {
target = <&csi1>;
__overlay__ {
brcm,media-controller;
@@ -118,6 +92,6 @@
__overrides__ {
rotation = <&imx219>,"rotation:0";
orientation = <&imx219>,"orientation:0";
- media-controller = <0>,"=6";
+ media-controller = <0>,"=5";
};
};
--- a/arch/arm/boot/dts/overlays/imx290_327-overlay.dtsi
+++ b/arch/arm/boot/dts/overlays/imx290_327-overlay.dtsi
@@ -20,7 +20,7 @@
reg = <0x1a>;
status = "okay";
- clocks = <&imx290_clk>;
+ clocks = <&cam1_clk>;
clock-names = "xclk";
clock-frequency = <37125000>;
@@ -28,8 +28,8 @@
orientation = <2>;
vdda-supply = <&cam1_reg>; /* 2.8v */
- vdddo-supply = <&imx290_vdddo>; /* 1.8v */
- vddd-supply = <&imx290_vddd>; /* 1.5v */
+ vdddo-supply = <&cam_dummy_reg>; /* 1.8v */
+ vddd-supply = <&cam_dummy_reg>; /* 1.5v */
port {
imx290_0: endpoint {
@@ -62,26 +62,10 @@
};
fragment@3 {
- target-path="/";
+ target = <&cam1_clk>;
__overlay__ {
- 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>;
- };
+ status = "okay";
+ clock-frequency = <37125000>;
};
};
@@ -92,16 +76,6 @@
};
};
- fragment@5 {
- target = <&cam1_reg>;
- __overlay__ {
- status = "okay";
- regulator-name = "imx290_vdda";
- regulator-min-microvolt = <2800000>;
- regulator-max-microvolt = <2800000>;
- };
- };
-
fragment@6 {
target = <&imx290_0>;
__overlay__ {
@@ -143,7 +117,7 @@
__overrides__ {
4lane = <0>, "-6+7-8+9";
- clock-frequency = <&imx290_clk>,"clock-frequency:0",
+ clock-frequency = <&cam1_clk>,"clock-frequency:0",
<&imx290>,"clock-frequency:0";
rotation = <&imx290>,"rotation:0";
orientation = <&imx290>,"orientation:0";
--- a/arch/arm/boot/dts/overlays/imx477_378-overlay.dtsi
+++ b/arch/arm/boot/dts/overlays/imx477_378-overlay.dtsi
@@ -15,12 +15,12 @@
reg = <0x1a>;
status = "okay";
- clocks = <&imx477_clk>;
+ clocks = <&cam1_clk>;
clock-names = "xclk";
VANA-supply = <&cam1_reg>; /* 2.8v */
- VDIG-supply = <&imx477_vdig>; /* 1.05v */
- VDDL-supply = <&imx477_vddl>; /* 1.8v */
+ VDIG-supply = <&cam_dummy_reg>; /* 1.05v */
+ VDDL-supply = <&cam_dummy_reg>; /* 1.8v */
rotation = <180>;
orientation = <2>;
@@ -63,25 +63,10 @@
};
fragment@3 {
- target-path="/";
+ target = <&cam1_clk>;
__overlay__ {
- imx477_vdig: fixedregulator@0 {
- compatible = "regulator-fixed";
- regulator-name = "imx477_vdig";
- regulator-min-microvolt = <1050000>;
- regulator-max-microvolt = <1050000>;
- };
- imx477_vddl: fixedregulator@1 {
- compatible = "regulator-fixed";
- regulator-name = "imx477_vddl";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- };
- imx477_clk: camera-clk {
- compatible = "fixed-clock";
- #clock-cells = <0>;
- clock-frequency = <24000000>;
- };
+ clock-frequency = <24000000>;
+ status = "okay";
};
};
@@ -95,11 +80,7 @@
fragment@5 {
target = <&cam1_reg>;
__overlay__ {
- status = "okay";
- regulator-name = "imx477_vana";
startup-delay-us = <300000>;
- regulator-min-microvolt = <2800000>;
- regulator-max-microvolt = <2800000>;
};
};
--- a/arch/arm/boot/dts/overlays/imx519-overlay.dts
+++ b/arch/arm/boot/dts/overlays/imx519-overlay.dts
@@ -20,12 +20,12 @@
reg = <0x1a>;
status = "okay";
- clocks = <&imx519_clk>;
+ clocks = <&cam1_clk>;
clock-names = "xclk";
VANA-supply = <&cam1_reg>; /* 2.8v */
- VDIG-supply = <&imx519_vdig>; /* 1.8v */
- VDDL-supply = <&imx519_vddl>; /* 1.2v */
+ VDIG-supply = <&cam_dummy_reg>; /* 1.8v */
+ VDDL-supply = <&cam_dummy_reg>; /* 1.2v */
rotation = <0>;
orientation = <2>;
@@ -68,26 +68,10 @@
};
fragment@3 {
- target-path="/";
+ target = <&cam1_clk>;
__overlay__ {
- imx519_vdig: fixedregulator@1 {
- compatible = "regulator-fixed";
- regulator-name = "imx519_vdig";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- };
- imx519_vddl: fixedregulator@2 {
- compatible = "regulator-fixed";
- regulator-name = "imx519_vddl";
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1200000>;
- };
-
- imx519_clk: camera-clk {
- compatible = "fixed-clock";
- #clock-cells = <0>;
- clock-frequency = <24000000>;
- };
+ clock-frequency = <24000000>;
+ status = "okay";
};
};
@@ -98,16 +82,6 @@
};
};
- fragment@5 {
- target = <&cam1_reg>;
- __overlay__ {
- status = "okay";
- regulator-name = "imx519_vana";
- regulator-min-microvolt = <2800000>;
- regulator-max-microvolt = <2800000>;
- };
- };
-
fragment@6 {
target = <&csi1>;
__overlay__ {
--- a/arch/arm/boot/dts/overlays/ov5647-overlay.dts
+++ b/arch/arm/boot/dts/overlays/ov5647-overlay.dts
@@ -19,7 +19,7 @@
status = "okay";
pwdn-gpios = <&gpio 41 1>, <&gpio 32 1>;
- clocks = <&ov5647_clk>;
+ clocks = <&cam1_clk>;
rotation = <0>;
orientation = <2>;
@@ -77,13 +77,10 @@
};
fragment@5 {
- target-path = "/";
+ target = <&cam1_clk>;
__overlay__ {
- ov5647_clk: camera-clk {
- compatible = "fixed-clock";
- #clock-cells = <0>;
- clock-frequency = <25000000>;
- };
+ status = "okay";
+ clock-frequency = <25000000>;
};
};
@@ -94,6 +91,13 @@
};
};
+ fragment@7 {
+ target = <&cam1_reg>;
+ __overlay__ {
+ status = "disabled";
+ };
+ };
+
__overrides__ {
rotation = <&ov5647>,"rotation:0";
orientation = <&ov5647>,"orientation:0";
--- a/arch/arm/boot/dts/overlays/ov7251-overlay.dts
+++ b/arch/arm/boot/dts/overlays/ov7251-overlay.dts
@@ -20,13 +20,13 @@
reg = <0x60>;
status = "okay";
- clocks = <&ov7251_clk>;
+ clocks = <&cam1_clk>;
clock-names = "xclk";
clock-frequency = <24000000>;
- vdddo-supply = <&ov7251_dovdd>;
+ vdddo-supply = <&cam_dummy_reg>;
vdda-supply = <&cam1_reg>;
- vddd-supply = <&ov7251_dvdd>;
+ vddd-supply = <&cam_dummy_reg>;
rotation = <0>;
orientation = <2>;
@@ -67,25 +67,10 @@
};
fragment@3 {
- target-path="/";
+ target = <&cam1_clk>;
__overlay__ {
- ov7251_dovdd: fixedregulator@1 {
- compatible = "regulator-fixed";
- regulator-name = "ov7251_dovdd";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- };
- ov7251_dvdd: fixedregulator@2 {
- compatible = "regulator-fixed";
- regulator-name = "ov7251_dvdd";
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1200000>;
- };
- ov7251_clk: ov7251-clk {
- compatible = "fixed-clock";
- #clock-cells = <0>;
- clock-frequency = <24000000>;
- };
+ status = "okay";
+ clock-frequency = <24000000>;
};
};
@@ -96,16 +81,6 @@
};
};
- fragment@5 {
- target = <&cam1_reg>;
- __overlay__ {
- status = "okay";
- regulator-name = "ov7251_avdd";
- regulator-min-microvolt = <2800000>;
- regulator-max-microvolt = <2800000>;
- };
- };
-
fragment@6 {
target = <&csi1>;
__dormant__ {
--- a/arch/arm/boot/dts/overlays/ov9281-overlay.dts
+++ b/arch/arm/boot/dts/overlays/ov9281-overlay.dts
@@ -20,12 +20,12 @@
reg = <0x60>;
status = "okay";
- clocks = <&ov9281_clk>;
+ clocks = <&cam1_clk>;
clock-names = "xvclk";
avdd-supply = <&cam1_reg>;
- dovdd-supply = <&ov9281_dovdd>;
- dvdd-supply = <&ov9281_dvdd>;
+ dovdd-supply = <&cam_dummy_reg>;
+ dvdd-supply = <&cam_dummy_reg>;
rotation = <0>;
orientation = <2>;
@@ -67,25 +67,10 @@
};
fragment@3 {
- target-path="/";
+ target = <&cam1_clk>;
__overlay__ {
- ov9281_dovdd: fixedregulator@1 {
- compatible = "regulator-fixed";
- regulator-name = "ov9281_dovdd";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- };
- ov9281_dvdd: fixedregulator@2 {
- compatible = "regulator-fixed";
- regulator-name = "ov9281_dvdd";
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1200000>;
- };
- ov9281_clk: ov9281-clk {
- compatible = "fixed-clock";
- #clock-cells = <0>;
- clock-frequency = <24000000>;
- };
+ status = "okay";
+ clock-frequency = <24000000>;
};
};
@@ -97,16 +82,6 @@
};
fragment@5 {
- target = <&cam1_reg>;
- __overlay__ {
- status = "okay";
- regulator-name = "ov9281_avdd";
- regulator-min-microvolt = <2800000>;
- regulator-max-microvolt = <2800000>;
- };
- };
-
- fragment@6 {
target = <&csi1>;
__overlay__ {
brcm,media-controller;
@@ -116,6 +91,6 @@
__overrides__ {
rotation = <&ov9281>,"rotation:0";
orientation = <&ov9281>,"orientation:0";
- media-controller = <0>,"=6";
+ media-controller = <0>,"=5";
};
};