aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-4.14/950-0409-dtoverlays-Add-support-for-ADV7280-M-ADV7281-M-and-A.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm2708/patches-4.14/950-0409-dtoverlays-Add-support-for-ADV7280-M-ADV7281-M-and-A.patch')
-rw-r--r--target/linux/brcm2708/patches-4.14/950-0409-dtoverlays-Add-support-for-ADV7280-M-ADV7281-M-and-A.patch134
1 files changed, 134 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-4.14/950-0409-dtoverlays-Add-support-for-ADV7280-M-ADV7281-M-and-A.patch b/target/linux/brcm2708/patches-4.14/950-0409-dtoverlays-Add-support-for-ADV7280-M-ADV7281-M-and-A.patch
new file mode 100644
index 0000000000..6b6bacca83
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.14/950-0409-dtoverlays-Add-support-for-ADV7280-M-ADV7281-M-and-A.patch
@@ -0,0 +1,134 @@
+From c325695bc45f687cb2b206d02c8d8e7f3c1ad0a1 Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Thu, 23 Aug 2018 10:42:41 +0100
+Subject: [PATCH 409/454] dtoverlays: Add support for ADV7280-M, ADV7281-M and
+ ADV7281-MA chips.
+
+The driver that supports the ADV7282-M also supports the ADV7280-M,
+ADV7281-M, and ADV7281-MA.
+The 7280-M exposes 8 analogue inputs. The 7281-M doesn't have the
+I2P deinterlacing block. The 7281-MA has 8 inputs but no I2P.
+Otherwise they are the same as ADV7282-M.
+
+Adds a new overlay "adv728x" that includes the existing adv7282
+overlay but adds several parameters to modify the behaviour.
+
+Adds a new addr parameter to allow the I2C address to be changed.
+(the chip has an address select pin to change between 0x20 and 0x21).
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+---
+ arch/arm/boot/dts/overlays/Makefile | 1 +
+ arch/arm/boot/dts/overlays/README | 13 +++++++
+ .../boot/dts/overlays/adv7282m-overlay.dts | 9 ++---
+ .../boot/dts/overlays/adv728x-m-overlay.dts | 36 +++++++++++++++++++
+ 4 files changed, 55 insertions(+), 4 deletions(-)
+ create mode 100644 arch/arm/boot/dts/overlays/adv728x-m-overlay.dts
+
+--- a/arch/arm/boot/dts/overlays/Makefile
++++ b/arch/arm/boot/dts/overlays/Makefile
+@@ -7,6 +7,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
+ ads1115.dtbo \
+ ads7846.dtbo \
+ adv7282m.dtbo \
++ adv728x-m.dtbo \
+ akkordion-iqdacplus.dtbo \
+ allo-boss-dac-pcm512x-audio.dtbo \
+ allo-digione.dtbo \
+--- a/arch/arm/boot/dts/overlays/README
++++ b/arch/arm/boot/dts/overlays/README
+@@ -274,6 +274,19 @@ Info: Analog Devices ADV7282M analogue
+ Load: dtoverlay=adv7282m,<param>=<val>
+ Params: i2c_pins_28_29 Use pins 28&29 for the I2C instead of 44&45.
+ This is required for Pi B+, 2, 0, and 0W.
++ addr Overrides the I2C address (default 0x21)
++
++
++Name: adv728x-m
++Info: Analog Devices ADV728[0|1|2]-M analogue video to CSI2 bridges.
++ This is a wrapper for adv7282m, and defaults to ADV7282M.
++Load: dtoverlay=adv728x-m,<param>=<val>
++Params: i2c_pins_28_29 Use pins 28&29 for the I2C instead of 44&45.
++ This is required for Pi B+, 2, 0, and 0W.
++ addr Overrides the I2C address (default 0x21)
++ adv7280m Select ADV7280-M.
++ adv7281m Select ADV7281-M.
++ adv7281ma Select ADV7281-MA.
+
+
+ Name: akkordion-iqdacplus
+--- a/arch/arm/boot/dts/overlays/adv7282m-overlay.dts
++++ b/arch/arm/boot/dts/overlays/adv7282m-overlay.dts
+@@ -12,13 +12,13 @@
+ #size-cells = <0>;
+ status = "okay";
+
+- adv7282: adv7282@21 {
++ adv728x: adv728x@21 {
+ compatible = "adi,adv7282-m";
+ reg = <0x21>;
+ status = "okay";
+ clock-frequency = <24000000>;
+ port {
+- adv7282_0: endpoint {
++ adv728x_0: endpoint {
+ remote-endpoint = <&csi1_ep>;
+ clock-lanes = <0>;
+ data-lanes = <1>;
+@@ -42,7 +42,7 @@
+ #address-cells = <1>;
+ #size-cells = <0>;
+ csi1_ep: endpoint {
+- remote-endpoint = <&adv7282_0>;
++ remote-endpoint = <&adv728x_0>;
+ };
+ };
+ };
+@@ -70,6 +70,7 @@
+ };
+
+ __overrides__ {
+- i2c_pins_28_29 = <0>,"+2-3";
++ i2c_pins_28_29 = <0>,"+2-3";
++ addr = <&adv728x>,"reg:0";
+ };
+ };
+--- /dev/null
++++ b/arch/arm/boot/dts/overlays/adv728x-m-overlay.dts
+@@ -0,0 +1,36 @@
++// Definitions for Analog Devices ADV728[0|1|2]-M video to CSI2 bridges on VC
++// I2C bus
++
++#include "adv7282m-overlay.dts"
++
++/{
++ compatible = "brcm,bcm2708";
++
++ // Fragment numbers deliberately high to avoid conflicts with the
++ // included adv7282m overlay file.
++
++ fragment@101 {
++ target = <&adv728x>;
++ __dormant__ {
++ compatible = "adi,adv7280-m";
++ };
++ };
++ fragment@102 {
++ target = <&adv728x>;
++ __dormant__ {
++ compatible = "adi,adv7281-m";
++ };
++ };
++ fragment@103 {
++ target = <&adv728x>;
++ __dormant__ {
++ compatible = "adi,adv7281-ma";
++ };
++ };
++
++ __overrides__ {
++ adv7280m = <0>, "+101";
++ adv7281m = <0>, "+102";
++ adv7281ma = <0>, "+103";
++ };
++};