Skip to content

Commit

Permalink
ARM64: dts: imx8mm-pico-wizard: add dtoverlay for TechNexion CAM-OV56…
Browse files Browse the repository at this point in the history
…45 and seperate OV5640 as independent dtoverlay
  • Loading branch information
richard-hu committed Apr 28, 2021
1 parent 49e098e commit 78d1314
Show file tree
Hide file tree
Showing 4 changed files with 160 additions and 42 deletions.
43 changes: 2 additions & 41 deletions arch/arm64/boot/dts/freescale/imx8mm-pico-wizard.dts
Original file line number Diff line number Diff line change
Expand Up @@ -254,37 +254,6 @@
interrupt-parent = <&gpio3>;
interrupts = <1 0>;
};

/* PCA9554 on camera tev_mipi board */
pca9554_tev_mipi: pca9554_tev_mipi@24 {
compatible = "nxp,pca9554";
reg =<0x24>;
gpio-controller;
#gpio-cells = <2>;
};

ov5640_mipi: ov5640_mipi@3c {
compatible = "ovti,ov5640_mipi";
reg = <0x3c>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_csi_rst>;
clocks = <&clk IMX8MM_CLK_CLKO1>;
clock-names = "csi_mclk";
assigned-clocks = <&clk IMX8MM_CLK_CLKO1>;
assigned-clock-parents = <&clk IMX8MM_CLK_24M>;
assigned-clock-rates = <24000000>;
csi_id = <0>;
pwn-gpios = <&pca9554_tev_mipi 2 GPIO_ACTIVE_LOW>;
rst-gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
mclk = <24000000>;
mclk_source = <0>;
port {
ov5640_mipi1_ep: endpoint {
remote-endpoint = <&mipi1_sensor_ep>;
};
};
};
};

&i2c3 {
Expand Down Expand Up @@ -346,7 +315,7 @@

&csi1_bridge {
fsl,mipi-mode;
status = "okay";
status = "disabled";
port {
csi1_ep: endpoint {
remote-endpoint = <&csi1_mipi_ep>;
Expand All @@ -357,16 +326,8 @@
&mipi_csi_1 {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
status = "disabled";
port {
mipi1_sensor_ep: endpoint@1 {
remote-endpoint = <&ov5640_mipi1_ep>;
data-lanes = <2>;
csis-hs-settle = <13>;
csis-clk-settle = <2>;
csis-wclk;
};

csi1_mipi_ep: endpoint@2 {
remote-endpoint = <&csi1_ep>;
};
Expand Down
3 changes: 2 additions & 1 deletion arch/arm64/boot/dts/freescale/overlays/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ dtbo-$(CONFIG_ARCH_MXC) += imx8mm-pico-pi-ili9881c.dtbo imx8mm-pico-pi-voicehat.
dtbo-$(CONFIG_ARCH_MXC) += imx8mm-pico-wizard-ili9881c.dtbo imx8mm-pico-wizard-voicehat.dtbo imx8mm-pico-wizard-mipi2hdmi-adv7535.dtbo \
imx8mm-pico-wizard-g080uan01.dtbo imx8mm-pico-wizard-g101uan02.dtbo \
imx8mm-pico-wizard-clix1nfc.dtbo imx8mm-pico-wizard-clix2nfc.dtbo \
imx8mm-pico-wizard-sn65dsi84-vl10112880.dtbo imx8mm-pico-wizard-sn65dsi84-vl15613676.dtbo imx8mm-pico-wizard-sn65dsi84-vl215192108.dtbo
imx8mm-pico-wizard-sn65dsi84-vl10112880.dtbo imx8mm-pico-wizard-sn65dsi84-vl15613676.dtbo imx8mm-pico-wizard-sn65dsi84-vl215192108.dtbo \
imx8mm-pico-wizard-ov5640.dtbo imx8mm-pico-wizard-ov5645.dtbo
dtbo-$(CONFIG_ARCH_MXC) += imx8mp-edm-g-wb-lvds-vl10112880.dtbo imx8mp-edm-g-wb-lvds-vl15613676.dtbo imx8mp-edm-g-wb-lvds-vl215192108.dtbo
dtbo-$(CONFIG_ARCH_MXC) += imx8mq-edm-wizard-mipi2hdmi-adv7535.dtbo imx8mq-edm-wizard-ili9881c.dtbo \
imx8mq-edm-wizard-g080uan01.dtbo imx8mq-edm-wizard-g101uan02.dtbo \
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright 2020 TechNexion Ltd.
*
* Author: Richard Hu <richard.hu@technexion.com>
*
*/

/dts-v1/;
/plugin/;

#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/clock/imx8mm-clock.h>
#include <dt-bindings/gpio/gpio.h>

/ {
fragment@0 {
target = <&csi1_bridge>;
__overlay__ {
status = "okay";
};
};

fragment@1 {
target = <&mipi_csi_1>;
__overlay__ {
status = "okay";
#address-cells = <1>;
#size-cells = <0>;

port {
mipi1_sensor_ep: endpoint@1 {
remote-endpoint = <&ov5640_mipi1_ep>;
data-lanes = <2>;
csis-hs-settle = <13>;
csis-clk-settle = <2>;
csis-wclk;
};
};
};
};

fragment@2 {
target = <&i2c2>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";

/* PCA9554 on camera tev_mipi board */
pca9554_tev_mipi: pca9554_tev_mipi@24 {
compatible = "nxp,pca9554";
reg =<0x24>;
gpio-controller;
#gpio-cells = <2>;
};

ov5640_mipi: ov5640_mipi@3c {
compatible = "ovti,ov5640_mipi";
reg = <0x3c>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_csi_rst>;
clocks = <&clk IMX8MM_CLK_CLKO1>;
clock-names = "csi_mclk";
assigned-clocks = <&clk IMX8MM_CLK_CLKO1>;
assigned-clock-parents = <&clk IMX8MM_CLK_24M>;
assigned-clock-rates = <24000000>;
csi_id = <0>;
pwn-gpios = <&pca9554_tev_mipi 2 GPIO_ACTIVE_LOW>;
rst-gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
mclk = <24000000>;
mclk_source = <0>;
port {
ov5640_mipi1_ep: endpoint {
remote-endpoint = <&mipi1_sensor_ep>;
};
};
};
};
};
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright 2020 TechNexion Ltd.
*
* Author: Richard Hu <richard.hu@technexion.com>
*
*/

/dts-v1/;
/plugin/;

#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/clock/imx8mm-clock.h>
#include <dt-bindings/gpio/gpio.h>

/ {
fragment@0 {
target = <&csi1_bridge>;
__overlay__ {
status = "okay";
};
};

fragment@1 {
target = <&mipi_csi_1>;
__overlay__ {
status = "okay";
#address-cells = <1>;
#size-cells = <0>;

port {
mipi1_sensor_ep: endpoint@1 {
remote-endpoint = <&ov5645_mipi1_ep>;
data-lanes = <2>;
csis-hs-settle = <13>;
csis-clk-settle = <2>;
csis-wclk;
};
};
};
};

fragment@2 {
target = <&i2c2>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";

ov5645_mipi: ov5645_mipi@3c {
compatible = "ovti,ov5645_mipi_v2";
reg = <0x3c>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_csi_rst>;
clocks = <&clk IMX8MM_CLK_CLKO1>;
clock-names = "csi_mclk";
assigned-clocks = <&clk IMX8MM_CLK_CLKO1>;
assigned-clock-parents = <&clk IMX8MM_CLK_24M>;
assigned-clock-rates = <24000000>;
csi_id = <0>;
pwn-gpios = <&pca9555_26 15 GPIO_ACTIVE_LOW>;
rst-gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
mclk = <24000000>;
mclk_source = <0>;
port {
ov5645_mipi1_ep: endpoint {
remote-endpoint = <&mipi1_sensor_ep>;
};
};
};
};
};
};

0 comments on commit 78d1314

Please sign in to comment.