Skip to content

Commit

Permalink
Add DT overlays for ADV7282M, OV5647, and TC358743
Browse files Browse the repository at this point in the history
DT overlays to setup the above devices via i2c_vc
and csi1

tc358743-fast is tc358743 at 990Mbit/s

Adds new overlay for TC358743 HDMI to CSI2 bridge running at 990Mbit/s
per lane instead of 594Mbit/s. That means 1080P50 UYVY can run down
2 lanes.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
  • Loading branch information
6by9 committed Sep 13, 2017
1 parent 8bcfa27 commit 7d34221
Show file tree
Hide file tree
Showing 5 changed files with 233 additions and 0 deletions.
4 changes: 4 additions & 0 deletions arch/arm/boot/dts/overlays/Makefile
Expand Up @@ -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 \
Expand Down Expand Up @@ -64,6 +65,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
mmc.dtbo \
mpu6050.dtbo \
mz61581.dtbo \
ov5647.dtbo \
pi3-act-led.dtbo \
pi3-disable-bt.dtbo \
pi3-disable-wifi.dtbo \
Expand Down Expand Up @@ -109,6 +111,8 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
spi2-1cs.dtbo \
spi2-2cs.dtbo \
spi2-3cs.dtbo \
tc358743.dtbo \
tc358743-fast.dtbo \
tinylcd35.dtbo \
uart1.dtbo \
vc4-fkms-v3d.dtbo \
Expand Down
52 changes: 52 additions & 0 deletions arch/arm/boot/dts/overlays/adv7282m-overlay.dts
@@ -0,0 +1,52 @@
// 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>;
//clock-noncontinuous;
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>;
};
};
};
};
};

59 changes: 59 additions & 0 deletions arch/arm/boot/dts/overlays/ov5647-overlay.dts
@@ -0,0 +1,59 @@
// 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>;
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>;
};
};
};
};
};
59 changes: 59 additions & 0 deletions arch/arm/boot/dts/overlays/tc358743-fast-overlay.dts
@@ -0,0 +1,59 @@
// 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>;
data-lanes = <1 2>;
clock-noncontinuous;
link-frequencies =
/bits/ 64 <495000000>;
};
};
};
};
};

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>;
};
};
};
};
};
59 changes: 59 additions & 0 deletions arch/arm/boot/dts/overlays/tc358743-overlay.dts
@@ -0,0 +1,59 @@
// 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>;
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 = <&tc358743>;
};
};
};
};
};

0 comments on commit 7d34221

Please sign in to comment.