diff options
5 files changed, 196 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile index dceddc316be6..801e09da70d6 100644 --- a/arch/arm64/boot/dts/freescale/Makefile +++ b/arch/arm64/boot/dts/freescale/Makefile @@ -366,8 +366,16 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mp-skov-revc-bd500.dtb dtb-$(CONFIG_ARCH_MXC) += imx8mp-skov-revc-tian-g07017.dtb dtb-$(CONFIG_ARCH_MXC) += imx8mp-toradex-smarc-adapter-panel-cap-touch-10inch-dsi.dtbo dtb-$(CONFIG_ARCH_MXC) += imx8mp-toradex-smarc-adapter-panel-cap-touch-7inch-dsi.dtbo +dtb-$(CONFIG_ARCH_MXC) += imx8mp-toradex-smarc-csi0-ov5640-24mhz.dtbo +dtb-$(CONFIG_ARCH_MXC) += imx8mp-toradex-smarc-csi0-ov5640.dtbo +dtb-$(CONFIG_ARCH_MXC) += imx8mp-toradex-smarc-csi1-ov5640-24mhz.dtbo +dtb-$(CONFIG_ARCH_MXC) += imx8mp-toradex-smarc-csi1-ov5640.dtbo dtb-$(CONFIG_ARCH_MXC) += imx8mp-toradex-smarc-dev-adapter-panel-cap-touch-10inch-dsi.dtb dtb-$(CONFIG_ARCH_MXC) += imx8mp-toradex-smarc-dev-adapter-panel-cap-touch-7inch-dsi.dtb +dtb-$(CONFIG_ARCH_MXC) += imx8mp-toradex-smarc-dev-csi0-ov5640-24mhz.dtb +dtb-$(CONFIG_ARCH_MXC) += imx8mp-toradex-smarc-dev-csi0-ov5640.dtb +dtb-$(CONFIG_ARCH_MXC) += imx8mp-toradex-smarc-dev-csi1-ov5640-24mhz.dtb +dtb-$(CONFIG_ARCH_MXC) += imx8mp-toradex-smarc-dev-csi1-ov5640.dtb dtb-$(CONFIG_ARCH_MXC) += imx8mp-toradex-smarc-dev-dsi-to-hdmi.dtb dtb-$(CONFIG_ARCH_MXC) += imx8mp-toradex-smarc-dev-panel-cap-touch-10inch-lvds.dtb dtb-$(CONFIG_ARCH_MXC) += imx8mp-toradex-smarc-dev.dtb @@ -380,6 +388,14 @@ imx8mp-toradex-smarc-dev-adapter-panel-cap-touch-10inch-dsi-dtbs := imx8mp-torad imx8mp-toradex-smarc-adapter-panel-cap-touch-10inch-dsi.dtbo imx8mp-toradex-smarc-dev-adapter-panel-cap-touch-7inch-dsi-dtbs := imx8mp-toradex-smarc-dev.dtb \ imx8mp-toradex-smarc-adapter-panel-cap-touch-7inch-dsi.dtbo +imx8mp-toradex-smarc-dev-csi0-ov5640-24mhz-dtbs := imx8mp-toradex-smarc-dev.dtb \ + imx8mp-toradex-smarc-csi0-ov5640-24mhz.dtbo +imx8mp-toradex-smarc-dev-csi0-ov5640-dtbs := imx8mp-toradex-smarc-dev.dtb \ + imx8mp-toradex-smarc-csi0-ov5640.dtbo +imx8mp-toradex-smarc-dev-csi1-ov5640-24mhz-dtbs := imx8mp-toradex-smarc-dev.dtb \ + imx8mp-toradex-smarc-csi1-ov5640-24mhz.dtbo +imx8mp-toradex-smarc-dev-csi1-ov5640-dtbs := imx8mp-toradex-smarc-dev.dtb \ + imx8mp-toradex-smarc-csi1-ov5640.dtbo imx8mp-toradex-smarc-dev-dsi-to-hdmi-dtbs := imx8mp-toradex-smarc-dev.dtb imx8mp-toradex-smarc-dsi-to-hdmi.dtbo imx8mp-toradex-smarc-dev-panel-cap-touch-10inch-lvds-dtbs := imx8mp-toradex-smarc-dev.dtb \ imx8mp-toradex-smarc-panel-cap-touch-10inch-lvds.dtbo diff --git a/arch/arm64/boot/dts/freescale/imx8mp-toradex-smarc-csi0-ov5640-24mhz.dtso b/arch/arm64/boot/dts/freescale/imx8mp-toradex-smarc-csi0-ov5640-24mhz.dtso new file mode 100644 index 000000000000..7e6991b95dec --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8mp-toradex-smarc-csi0-ov5640-24mhz.dtso @@ -0,0 +1,15 @@ +// SPDX-License-Identifier: GPL-2.0-only OR MIT +/* + * Copyright (c) Toradex + * + * Toradex CSI Camera Module 5MP OV5640 with 24 MHz oscillator connected + * via Toradex SMARC Development Board CSI0 connector J45. + * + * https://developer.toradex.com/hardware/legacy-products/other/csi-camera-module-5mp-ov5640/ + */ + +#include "imx8mp-toradex-smarc-csi0-ov5640.dtso" + +&clk_csi0_ov5640_osc { + clock-frequency = <24000000>; +}; diff --git a/arch/arm64/boot/dts/freescale/imx8mp-toradex-smarc-csi0-ov5640.dtso b/arch/arm64/boot/dts/freescale/imx8mp-toradex-smarc-csi0-ov5640.dtso new file mode 100644 index 000000000000..23b155beec2a --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8mp-toradex-smarc-csi0-ov5640.dtso @@ -0,0 +1,75 @@ +// SPDX-License-Identifier: GPL-2.0-only OR MIT +/* + * Copyright (c) Toradex + * + * Toradex CSI Camera Set 5MP OV5640 connected via Toradex SMARC + * Development Board CSI0 connector J45. + * + * https://developer.toradex.com/hardware/accessories/cameras/csi-camera-module-5mp-ov5640-arducam + * https://www.toradex.com/accessories/csi-camera-ov5640 + */ + +/dts-v1/; +/plugin/; + +#include <dt-bindings/gpio/gpio.h> + +&{/} { + clk_csi0_ov5640_osc: ov5640-csi0-xclk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <27000000>; + }; +}; + +&isi_0 { + status = "okay"; +}; + +/* SMARC I2C_CAM0 */ +&smarc_csi0_i2c { + #address-cells = <1>; + #size-cells = <0>; + + status = "okay"; + + camera@3c { + compatible = "ovti,ov5640"; + reg = <0x3c>; + clocks = <&clk_csi0_ov5640_osc>; + clock-names = "xclk"; + AVDD-supply = <®_carrier_3p3v>; + DOVDD-supply = <®_carrier_3p3v>; + DVDD-supply = <®_carrier_3p3v>; + /* CAM_0_CON_PWRCTRL, pin 24 */ + powerdown-gpios = <&smarc_csi0 3 GPIO_ACTIVE_LOW>; + /* CAM_0_CON_RST, pin 11 */ + reset-gpios = <&smarc_csi0 0 GPIO_ACTIVE_LOW>; + + port { + ov5640_csi0_to_smarc_csi_rx: endpoint { + clock-lanes = <0>; + data-lanes = <1 2>; + remote-endpoint = <&smarc_csi0_rx_in>; + }; + }; + }; +}; + +&smarc_csi0_rx { + status = "okay"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + smarc_csi0_rx_in: endpoint { + data-lanes = <1 2>; + remote-endpoint = <&ov5640_csi0_to_smarc_csi_rx>; + }; + }; + }; +}; diff --git a/arch/arm64/boot/dts/freescale/imx8mp-toradex-smarc-csi1-ov5640-24mhz.dtso b/arch/arm64/boot/dts/freescale/imx8mp-toradex-smarc-csi1-ov5640-24mhz.dtso new file mode 100644 index 000000000000..f6bfc3d49f5e --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8mp-toradex-smarc-csi1-ov5640-24mhz.dtso @@ -0,0 +1,15 @@ +// SPDX-License-Identifier: GPL-2.0-only OR MIT +/* + * Copyright (c) Toradex + * + * Toradex CSI Camera Module 5MP OV5640 with 24 MHz oscillator connected + * via Toradex SMARC Development Board CSI1 connector J46. + * + * https://developer.toradex.com/hardware/legacy-products/other/csi-camera-module-5mp-ov5640/ + */ + +#include "imx8mp-toradex-smarc-csi1-ov5640.dtso" + +&clk_csi1_ov5640_osc { + clock-frequency = <24000000>; +}; diff --git a/arch/arm64/boot/dts/freescale/imx8mp-toradex-smarc-csi1-ov5640.dtso b/arch/arm64/boot/dts/freescale/imx8mp-toradex-smarc-csi1-ov5640.dtso new file mode 100644 index 000000000000..d78f46a764f8 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8mp-toradex-smarc-csi1-ov5640.dtso @@ -0,0 +1,75 @@ +// SPDX-License-Identifier: GPL-2.0-only OR MIT +/* + * Copyright (c) Toradex + * + * Toradex CSI Camera Set 5MP OV5640 connected via Toradex SMARC + * Development Board CSI1 connector J46. + * + * https://developer.toradex.com/hardware/accessories/cameras/csi-camera-module-5mp-ov5640-arducam + * https://www.toradex.com/accessories/csi-camera-ov5640 + */ + +/dts-v1/; +/plugin/; + +#include <dt-bindings/gpio/gpio.h> + +&{/} { + clk_csi1_ov5640_osc: ov5640-csi1-xclk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <27000000>; + }; +}; + +&isi_0 { + status = "okay"; +}; + +/* SMARC I2C_CAM1 */ +&smarc_csi1_i2c { + #address-cells = <1>; + #size-cells = <0>; + + status = "okay"; + + camera@3c { + compatible = "ovti,ov5640"; + reg = <0x3c>; + clocks = <&clk_csi1_ov5640_osc>; + clock-names = "xclk"; + AVDD-supply = <®_carrier_3p3v>; + DOVDD-supply = <®_carrier_3p3v>; + DVDD-supply = <®_carrier_3p3v>; + /* CAM_1_CON_PWRCTRL, pin 24 */ + powerdown-gpios = <&smarc_csi1 3 GPIO_ACTIVE_LOW>; + /* CAM_1_CON_RST, pin 11 */ + reset-gpios = <&smarc_csi1 0 GPIO_ACTIVE_LOW>; + + port { + ov5640_csi1_to_smarc_csi_rx: endpoint { + clock-lanes = <0>; + data-lanes = <1 2>; + remote-endpoint = <&smarc_csi1_rx_in>; + }; + }; + }; +}; + +&smarc_csi1_rx { + status = "okay"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + smarc_csi1_rx_in: endpoint { + data-lanes = <1 2>; + remote-endpoint = <&ov5640_csi1_to_smarc_csi_rx>; + }; + }; + }; +}; |
