X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=blobdiff_plain;f=target%2Flinux%2Fbrcm2708%2Fpatches-4.19%2F950-0185-arm-dt-Add-DT-overlays-for-ADV7282M-OV5647-and-TC358.patch;fp=target%2Flinux%2Fbrcm2708%2Fpatches-4.19%2F950-0185-arm-dt-Add-DT-overlays-for-ADV7282M-OV5647-and-TC358.patch;h=0000000000000000000000000000000000000000;hp=a5f0c76dd175856ecde45758d8c701a38fb7f94c;hb=c2308a7e4adbb2acc8ff149f91d1ca46801c135e;hpb=67dcc43f3a22dc3a7ac07a7065971b426feeb043 diff --git a/target/linux/brcm2708/patches-4.19/950-0185-arm-dt-Add-DT-overlays-for-ADV7282M-OV5647-and-TC358.patch b/target/linux/brcm2708/patches-4.19/950-0185-arm-dt-Add-DT-overlays-for-ADV7282M-OV5647-and-TC358.patch deleted file mode 100644 index a5f0c76dd1..0000000000 --- a/target/linux/brcm2708/patches-4.19/950-0185-arm-dt-Add-DT-overlays-for-ADV7282M-OV5647-and-TC358.patch +++ /dev/null @@ -1,481 +0,0 @@ -From c3ea5332de058ee7b9139133f2f8103b6dff2478 Mon Sep 17 00:00:00 2001 -From: Dave Stevenson -Date: Wed, 31 Oct 2018 15:01:59 +0000 -Subject: [PATCH] arm: dt: Add DT overlays for ADV7282M, OV5647, and - TC358743 - -DT overlays to setup the above devices via i2c_arm and csi1. -(This currently does not use the i2c-mux-pinctrl driver to -dynamically switch the pinctrl) - -tc358743 is tc358743 running at a default link frequency -of 972Mbit/s. This allows up to 1080P50 UYVY on 2 lanes. -There is a parameter to allow changing the link frequency, -but the only values supported by the driver are 297000000 -for 594Mbit/s, and 486000000 for 972Mbit/s. -There is also a parameter to enable 4 lane mode (only -relevant to Compute Module (1 or 3) csi1). - -tc358743-audio overlay enables I2S audio from the TC358743 -to the Pi (SD to GPIO20, SCK to GPIO18, WFS to GPIO19). - -ADV7282M is the Analog Devices analogue video to CSI bridge -chip. - -OV5647 is the Pi V1.3 camera module. Currently the driver only -supports VGA 8bit Bayer and very few controls. - -Signed-off-by: Dave Stevenson ---- - arch/arm/boot/dts/overlays/Makefile | 4 + - arch/arm/boot/dts/overlays/README | 51 ++++++++ - .../boot/dts/overlays/adv7282m-overlay.dts | 76 ++++++++++++ - arch/arm/boot/dts/overlays/ov5647-overlay.dts | 87 ++++++++++++++ - .../dts/overlays/tc358743-audio-overlay.dts | 52 ++++++++ - .../boot/dts/overlays/tc358743-overlay.dts | 112 ++++++++++++++++++ - 6 files changed, 382 insertions(+) - create mode 100644 arch/arm/boot/dts/overlays/adv7282m-overlay.dts - create mode 100644 arch/arm/boot/dts/overlays/ov5647-overlay.dts - create mode 100644 arch/arm/boot/dts/overlays/tc358743-audio-overlay.dts - create mode 100644 arch/arm/boot/dts/overlays/tc358743-overlay.dts - ---- a/arch/arm/boot/dts/overlays/Makefile -+++ b/arch/arm/boot/dts/overlays/Makefile -@@ -6,6 +6,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ - ads1015.dtbo \ - ads1115.dtbo \ - ads7846.dtbo \ -+ adv7282m.dtbo \ - akkordion-iqdacplus.dtbo \ - allo-boss-dac-pcm512x-audio.dtbo \ - allo-digione.dtbo \ -@@ -81,6 +82,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ - mmc.dtbo \ - mpu6050.dtbo \ - mz61581.dtbo \ -+ ov5647.dtbo \ - papirus.dtbo \ - pi3-act-led.dtbo \ - pi3-disable-bt.dtbo \ -@@ -132,6 +134,8 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ - spi2-3cs.dtbo \ - superaudioboard.dtbo \ - sx150x.dtbo \ -+ tc358743.dtbo \ -+ tc358743-audio.dtbo \ - tinylcd35.dtbo \ - uart0.dtbo \ - uart1.dtbo \ ---- a/arch/arm/boot/dts/overlays/README -+++ b/arch/arm/boot/dts/overlays/README -@@ -267,6 +267,15 @@ Params: cs SPI bus - www.kernel.org/doc/Documentation/devicetree/bindings/input/ads7846.txt - - -+Name: adv7282m -+Info: Analog Devices ADV7282M analogue video to CSI2 bridge. -+ Uses Unicam1, which is the standard camera connector on most Pi -+ variants. -+Load: dtoverlay=adv7282m,= -+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. -+ -+ - Name: akkordion-iqdacplus - Info: Configures the Digital Dreamtime Akkordion Music Player (based on the - OEM IQAudIO DAC+ or DAC Zero module). -@@ -1284,6 +1293,23 @@ Params: speed Display - xohms Touchpanel sensitivity (X-plate resistance) - - -+Name: ov5647 -+Info: Omnivision OV5647 camera module. -+ Uses Unicam 1, which is the standard camera connector on most Pi -+ variants. -+Load: dtoverlay=ov5647,= -+Params: cam0-pwdn GPIO used to control the sensor powerdown line. -+ -+ cam0-led GPIO used to control the sensor led -+ Both these fields should be automatically filled -+ in by the firmware to reflect the default GPIO -+ configuration of the particular Pi variant in -+ use. -+ -+ 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. -+ -+ - Name: papirus - Info: PaPiRus ePaper Screen by Pi Supply (both HAT and pHAT) - Load: dtoverlay=papirus,= -@@ -1893,6 +1919,31 @@ Params: sx150-- Enables - connected. - - -+Name: tc358743 -+Info: Toshiba TC358743 HDMI to CSI-2 bridge chip. -+ Uses Unicam 1, which is the standard camera connector on most Pi -+ variants. -+Load: dtoverlay=tc358743,= -+Params: 4lane Use 4 lanes (only applicable to Compute Modules -+ CAM1 connector). -+ -+ link-frequency Set the link frequency. Only values of 297000000 -+ (574Mbit/s) and 486000000 (972Mbit/s - default) -+ are supported by the driver. -+ -+ 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. -+ -+ -+Name: tc358743-audio -+Info: Used in combination with the tc358743-fast overlay to route the audio -+ from the TC358743 over I2S to the Pi. -+ Wiring is LRCK/WFS to GPIO 19, BCK/SCK to GPIO 18, and DATA/SD to GPIO -+ 20. -+Load: dtoverlay=tc358743-audio,= -+Params: card-name Override the default, "tc358743", card name. -+ -+ - Name: tinylcd35 - Info: 3.5" Color TFT Display by www.tinylcd.com - Options: Touch, RTC, keypad ---- /dev/null -+++ b/arch/arm/boot/dts/overlays/adv7282m-overlay.dts -@@ -0,0 +1,76 @@ -+// SPDX-License-Identifier: GPL-2.0-only -+// Definitions for Analog Devices ADV7282-M video to CSI2 bridge on VC I2C bus -+/dts-v1/; -+/plugin/; -+ -+/{ -+ compatible = "brcm,bcm2708"; -+ -+ fragment@0 { -+ target = <&i2c_vc>; -+ __overlay__ { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ status = "okay"; -+ -+ adv7282: adv7282@21 { -+ compatible = "adi,adv7282-m"; -+ reg = <0x21>; -+ status = "okay"; -+ clock-frequency = <24000000>; -+ port { -+ adv7282_0: endpoint { -+ remote-endpoint = <&csi1_ep>; -+ clock-lanes = <0>; -+ data-lanes = <1>; -+ link-frequencies = -+ /bits/ 64 <297000000>; -+ -+ mclk-frequency = <12000000>; -+ }; -+ }; -+ }; -+ }; -+ }; -+ fragment@1 { -+ target = <&csi1>; -+ __overlay__ { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ status = "okay"; -+ -+ port { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ csi1_ep: endpoint { -+ remote-endpoint = <&adv7282_0>; -+ }; -+ }; -+ }; -+ }; -+ fragment@2 { -+ target = <&i2c0_pins>; -+ __dormant__ { -+ brcm,pins = <28 29>; -+ brcm,function = <4>; /* alt0 */ -+ }; -+ -+ }; -+ fragment@3 { -+ target = <&i2c0_pins>; -+ __overlay__ { -+ brcm,pins = <44 45>; -+ brcm,function = <5>; /* alt1 */ -+ }; -+ }; -+ fragment@4 { -+ target = <&i2c_vc>; -+ __overlay__ { -+ status = "okay"; -+ }; -+ }; -+ -+ __overrides__ { -+ i2c_pins_28_29 = <0>,"+2-3"; -+ }; -+}; ---- /dev/null -+++ b/arch/arm/boot/dts/overlays/ov5647-overlay.dts -@@ -0,0 +1,87 @@ -+// SPDX-License-Identifier: GPL-2.0-only -+// Definitions for OV5647 camera module on VC I2C bus -+/dts-v1/; -+/plugin/; -+ -+/{ -+ compatible = "brcm,bcm2708"; -+ -+ fragment@0 { -+ target = <&i2c_vc>; -+ __overlay__ { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ status = "okay"; -+ -+ ov5647: ov5647@36 { -+ compatible = "ov5647"; -+ reg = <0x36>; -+ status = "okay"; -+ -+ pwdn-gpios = <&gpio 41 1>, <&gpio 32 1>; -+ clocks = <&ov5647_clk>; -+ -+ ov5647_clk: camera-clk { -+ compatible = "fixed-clock"; -+ #clock-cells = <0>; -+ clock-frequency = <25000000>; -+ }; -+ -+ port { -+ ov5647_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__ { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ status = "okay"; -+ -+ port { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ csi1_ep: endpoint { -+ remote-endpoint = <&ov5647_0>; -+ }; -+ }; -+ }; -+ }; -+ -+ fragment@2 { -+ target = <&i2c0_pins>; -+ __dormant__ { -+ brcm,pins = <28 29>; -+ brcm,function = <4>; /* alt0 */ -+ }; -+ }; -+ fragment@3 { -+ target = <&i2c0_pins>; -+ __overlay__ { -+ brcm,pins = <44 45>; -+ brcm,function = <5>; /* alt1 */ -+ }; -+ }; -+ fragment@4 { -+ target = <&i2c_vc>; -+ __overlay__ { -+ status = "okay"; -+ }; -+ }; -+ -+ __overrides__ { -+ i2c_pins_28_29 = <0>,"+4-5"; -+ cam0-pwdn = <&ov5647>,"pwdn-gpios:4"; -+ cam0-led = <&ov5647>,"pwdn-gpios:16"; -+ }; -+}; ---- /dev/null -+++ b/arch/arm/boot/dts/overlays/tc358743-audio-overlay.dts -@@ -0,0 +1,52 @@ -+// SPDX-License-Identifier: GPL-2.0-only -+// Definitions to add I2S audio from the Toshiba TC358743 HDMI to CSI2 bridge. -+// Requires tc358743 overlay to have been loaded to actually function. -+/dts-v1/; -+/plugin/; -+ -+/ { -+ compatible = "brcm,bcm2708"; -+ -+ fragment@0 { -+ target = <&i2s>; -+ __overlay__ { -+ status = "okay"; -+ }; -+ }; -+ -+ fragment@1 { -+ target-path = "/"; -+ __overlay__ { -+ tc358743_codec: tc358743-codec { -+ #sound-dai-cells = <0>; -+ compatible = "linux,spdif-dir"; -+ status = "okay"; -+ }; -+ }; -+ }; -+ -+ fragment@2 { -+ target = <&sound>; -+ sound_overlay: __overlay__ { -+ compatible = "simple-audio-card"; -+ simple-audio-card,format = "i2s"; -+ simple-audio-card,name = "tc358743"; -+ simple-audio-card,bitclock-master = <&dailink0_slave>; -+ simple-audio-card,frame-master = <&dailink0_slave>; -+ status = "okay"; -+ -+ simple-audio-card,cpu { -+ sound-dai = <&i2s>; -+ dai-tdm-slot-num = <2>; -+ dai-tdm-slot-width = <32>; -+ }; -+ dailink0_slave: simple-audio-card,codec { -+ sound-dai = <&tc358743_codec>; -+ }; -+ }; -+ }; -+ -+ __overrides__ { -+ card-name = <&sound_overlay>,"simple-audio-card,name"; -+ }; -+}; ---- /dev/null -+++ b/arch/arm/boot/dts/overlays/tc358743-overlay.dts -@@ -0,0 +1,112 @@ -+// SPDX-License-Identifier: GPL-2.0-only -+// Definitions for Toshiba TC358743 HDMI to CSI2 bridge on VC I2C bus -+/dts-v1/; -+/plugin/; -+ -+/{ -+ compatible = "brcm,bcm2708"; -+ -+ fragment@0 { -+ target = <&i2c_vc>; -+ __overlay__ { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ status = "okay"; -+ -+ tc358743@0f { -+ compatible = "toshiba,tc358743"; -+ reg = <0x0f>; -+ status = "okay"; -+ -+ clocks = <&tc358743_clk>; -+ clock-names = "refclk"; -+ -+ tc358743_clk: bridge-clk { -+ compatible = "fixed-clock"; -+ #clock-cells = <0>; -+ clock-frequency = <27000000>; -+ }; -+ -+ port { -+ tc358743: endpoint { -+ remote-endpoint = <&csi1_ep>; -+ clock-lanes = <0>; -+ clock-noncontinuous; -+ link-frequencies = -+ /bits/ 64 <486000000>; -+ }; -+ }; -+ }; -+ }; -+ }; -+ -+ fragment@1 { -+ target = <&csi1>; -+ __overlay__ { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ status = "okay"; -+ -+ port { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ csi1_ep: endpoint { -+ remote-endpoint = <&tc358743>; -+ }; -+ }; -+ }; -+ }; -+ -+ fragment@2 { -+ target = <&i2c_vc>; -+ __overlay__ { -+ tc358743@0f { -+ port { -+ endpoint { -+ data-lanes = <1 2>; -+ }; -+ }; -+ }; -+ }; -+ }; -+ -+ fragment@3 { -+ target = <&i2c_vc>; -+ __dormant__ { -+ tc358743@0f { -+ port { -+ endpoint { -+ data-lanes = <1 2 3 4>; -+ }; -+ }; -+ }; -+ }; -+ }; -+ -+ fragment@4 { -+ target = <&i2c0_pins>; -+ __dormant__ { -+ brcm,pins = <28 29>; -+ brcm,function = <4>; /* alt0 */ -+ }; -+ }; -+ fragment@5 { -+ target = <&i2c0_pins>; -+ __overlay__ { -+ brcm,pins = <44 45>; -+ brcm,function = <5>; /* alt1 */ -+ }; -+ }; -+ fragment@6 { -+ target = <&i2c_vc>; -+ __overlay__ { -+ status = "okay"; -+ }; -+ }; -+ -+ __overrides__ { -+ i2c_pins_28_29 = <0>,"+4-5"; -+ 4lane = <0>, "-2+3"; -+ link-frequency = <&tc358743>,"link-frequencies#0"; -+ }; -+};