diff options
Diffstat (limited to 'target/linux/brcm2708/patches-4.14/950-0343-arm-dt-Add-DT-overlays-for-ADV7282M-OV5647-and-TC358.patch')
-rw-r--r-- | target/linux/brcm2708/patches-4.14/950-0343-arm-dt-Add-DT-overlays-for-ADV7282M-OV5647-and-TC358.patch | 477 |
1 files changed, 0 insertions, 477 deletions
diff --git a/target/linux/brcm2708/patches-4.14/950-0343-arm-dt-Add-DT-overlays-for-ADV7282M-OV5647-and-TC358.patch b/target/linux/brcm2708/patches-4.14/950-0343-arm-dt-Add-DT-overlays-for-ADV7282M-OV5647-and-TC358.patch deleted file mode 100644 index 008af64e8e..0000000000 --- a/target/linux/brcm2708/patches-4.14/950-0343-arm-dt-Add-DT-overlays-for-ADV7282M-OV5647-and-TC358.patch +++ /dev/null @@ -1,477 +0,0 @@ -From c4146a18836381f09b1ea2f4295cb94aa606f67b Mon Sep 17 00:00:00 2001 -From: Dave Stevenson <dave.stevenson@raspberrypi.org> -Date: Thu, 5 Jul 2018 16:44:39 +0100 -Subject: [PATCH 343/454] 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 <dave.stevenson@raspberrypi.org> ---- - arch/arm/boot/dts/overlays/Makefile | 4 + - arch/arm/boot/dts/overlays/README | 51 ++++++++ - .../boot/dts/overlays/adv7282m-overlay.dts | 75 ++++++++++++ - arch/arm/boot/dts/overlays/ov5647-overlay.dts | 86 ++++++++++++++ - .../dts/overlays/tc358743-audio-overlay.dts | 51 ++++++++ - .../boot/dts/overlays/tc358743-overlay.dts | 111 ++++++++++++++++++ - 6 files changed, 378 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 \ -@@ -77,6 +78,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ - mmc.dtbo \ - mpu6050.dtbo \ - mz61581.dtbo \ -+ ov5647.dtbo \ - papirus.dtbo \ - pi3-act-led.dtbo \ - pi3-disable-bt.dtbo \ -@@ -127,6 +129,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,<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. -+ -+ - Name: akkordion-iqdacplus - Info: Configures the Digital Dreamtime Akkordion Music Player (based on the - OEM IQAudIO DAC+ or DAC Zero module). -@@ -1232,6 +1241,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,<param>=<val> -+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,<param>=<val> -@@ -1828,6 +1854,31 @@ Params: sx150<x>-<n>-<m> 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,<param>=<val> -+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,<param>=<val> -+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,75 @@ -+// 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,86 @@ -+// 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,51 @@ -+// 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,111 @@ -+// 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"; -+ }; -+}; |