iyer25
-
Posts
69 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Gallery
Posts posted by iyer25
-
-
hello all.
I have been using zedboard for long now, my question might seem silly but wanted to confirm about it
https://reference.digilentinc.com/_media/reference/add-ons/fmc-pcam-adapter/fmc_pcam_adapter_sch.pdf
what is the eeprom address here ? If i convert 1010GA0GA1 -> its 0x28 but when I check on the petalinux boot image for i2c and eeprom address it is 70 and 50. should the i2c address here be 10100GA0GA1 in the schematic?Also, I have another question for using pcam module. I created the pipeline mipi -> demosaic -> frame_write -> frame_read -> video_out
on the the pl.dtsi file, we get string name in the mipi ip as
Quotexlnx,exdes-board = "ZCU102";
xlnx,exdes-config = "MIPI_Video_Pipe_Camera_to_Display";
xlnx,exdes-fmc = "LI-IMX274MIPI-FMC V1.0 Single Sensor";
As, I use zedboard, fmc and pcam module in the system-user.dtsi file I am overwriting as below
Quotexlnx,exdes-board = "zedboard";
xlnx,exdes-config = "MIPI_Video_Pipe_Camera_to_Display";
xlnx,exdes-fmc = "ovti,ov5640";
I just want to confirm if this is good practice. as I have got some trouble in initialising mipi ip. Please any suggestion would be considered.
-
Hello folks, Software v2020.1 Hardware: Zedboard + FMC + PCAM for Port A
I am trying to get an example setup running with the MIPI CSI 2 RX subsystem connected to the Video Frame Buffer to read it.
See the following diagram
As I export the hardware to Vitis to create the device tree files, the pl.dtsi is generated as shown below. It can be seen that in mipi_csi2_rx_subsystem_0 the ports entry is not created.
What I would expect are entries like:
Quotecsiss_ports: ports {
#address-cells = <1>;
#size-cells = <0>;
csiss_port0: port@0 {
/* Fill cfa-pattern=rggb for raw data types, other fields video-format and video-width user needs to fill */
reg = <0>;
xlnx,cfa-pattern = "rggb";
xlnx,video-format = <12>;
xlnx,video-width = <8>;
csiss_out: endpoint {
remote-endpoint = <&demosaic_in>;
};
};
csiss_port1: port@1 {
/* Fill cfa-pattern=rggb for raw data types, other fields video-format,video-width user needs to fill */
/* User need to add something like remote-endpoint=<&out> under the node csiss_in:endpoint */
reg = <1>;
xlnx,cfa-pattern = "rggb";;
xlnx,video-format = <12>;
xlnx,video-width = <8>;
csiss_in: endpoint {
};
};
};
};
demosaic_ports: ports {
#address-cells = <1>;
#size-cells = <0>;
demosaic_port0: port@0 {
/* For cfa-pattern=rggb user needs to fill as per BAYER format */
reg = <0>;
xlnx,cfa-pattern = "rggb";
xlnx,video-width = <8>;
demosaic_in: endpoint {
remote-endpoint = <&csiss_out>;};
};
};
};
What I have is
Quotemipi_csi2_rx_subsyst_0: mipi_csi2_rx_subsystem@43c40000 {
clock-names = "lite_aclk", "dphy_clk_200M", "video_aclk";
clocks = <&misc_clk_0>, <&misc_clk_1>, <&misc_clk_0>;
compatible = "xlnx,mipi-csi2-rx-subsystem-5.0";
interrupt-names = "csirxss_csi_irq";
interrupt-parent = <&intc>;
interrupts = <0 29 4>;
reg = <0x43c40000 0x1000>;
xlnx,axis-tdata-width = <32>;
xlnx,cal-mode = "NONE";
xlnx,clk-io-swap = "false";
xlnx,clk-lane-io-position = <0x0>;
xlnx,clk-lp-io-swap = "false";
xlnx,csi-en-activelanes = "true";
xlnx,csi-en-crc = "true";
xlnx,csi-filter-userdatatype = "false";
xlnx,csi-opt1-regs = "false";
xlnx,csi-pxl-format = "RAW10";
xlnx,csi2rx-dbg = <0x0>;
xlnx,data-lane0-io-position = <0x2>;
xlnx,data-lane1-io-position = <0x4>;
xlnx,data-lane2-io-position = <0x6>;
xlnx,data-lane3-io-position = <0x8>;
xlnx,dl0-io-swap = "false";
xlnx,dl0-lp-io-swap = "false";
xlnx,dl1-io-swap = "false";
xlnx,dl1-lp-io-swap = "false";
xlnx,dl2-io-swap = "false";
xlnx,dl2-lp-io-swap = "false";
xlnx,dl3-io-swap = "false";
xlnx,dl3-lp-io-swap = "false";
xlnx,dphy-lanes = <0x2>;
xlnx,dphy-mode = "SLAVE";
xlnx,en-active-lanes ;
xlnx,en-bg0-pin0 = "false";
xlnx,en-bg0-pin6 = "false";
xlnx,en-bg1-pin0 = "false";
xlnx,en-bg1-pin6 = "false";
xlnx,en-bg2-pin0 = "false";
xlnx,en-bg2-pin6 = "false";
xlnx,en-bg3-pin0 = "false";
xlnx,en-bg3-pin6 = "false";
xlnx,en-clk300m = "false";
xlnx,en-cnts-byte-clk = "false";
xlnx,en-csi-v2-0 = "false";
xlnx,en-exdesigns = "false";
xlnx,en-timeout-regs = "false";
xlnx,en-vcx = "false";
xlnx,esc-timeout = <0x6400>;
xlnx,exdes-board = "ZCU102";
xlnx,exdes-config = "MIPI_Video_Pipe_Camera_to_Display";
xlnx,exdes-fmc = "LI-IMX274MIPI-FMC V1.0 Single Sensor";
xlnx,fifo-rd-en-control = "true";
xlnx,hs-line-rate = <0x118>;
xlnx,hs-settle-ns = <0xaa>;
xlnx,hs-timeout = <0x10005>;
xlnx,idly-tap = <0x1>;
xlnx,init = <0x186a0>;
xlnx,is-7series = "true";
xlnx,is-versal = "false";
xlnx,lprx-disable-extport = <0x0>;
xlnx,max-lanes = <2>;
xlnx,mipi-slv-int = <0x0>;
xlnx,ooc-vid-clk = "6.666";
xlnx,ppc = <1>;
xlnx,rcve-alt-deskew-seq = "false";
xlnx,rcve-deskew-seq = "false";
xlnx,share-idlyctrl = "false";
xlnx,stretch-line-rate = <0xdac>;
xlnx,vc = <4>;
xlnx,vfb ;
};
misc_clk_1: misc_clk_1 {
#clock-cells = <0>;
clock-frequency = <200000000>;
compatible = "fixed-clock";
};
v_demosaic_0: v_demosaic@43c00000 {
clock-names = "ap_clk";
clocks = <&misc_clk_0>;
compatible = "xlnx,v-demosaic-1.0", "xlnx,v-demosaic";
interrupt-names = "interrupt";
interrupt-parent = <&intc>;
interrupts = <0 30 4>;
reg = <0x43c00000 0x10000>;
xlnx,s-axi-ctrl-addr-width = <0x6>;
xlnx,s-axi-ctrl-data-width = <0x20>;
};What went wrong? however as it is autogenerated and the hardware design will be used later for PetaLinux.
does anyone has worked with new version mipi core to help me on understanding the issue?
Thank you in advance!
-
hello
Hardware used : zedboard, FMC Pcam5c camera
version: v2019.1
Vivado design and device is below
Quote/include/ "system-conf.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/media/xilinx-vip.h>/{
xlnk {
compatible = "xlnx,xlnk-1.0";
};
};/{
model = "Zynq Zed Development Board";
compatible = "xlnx,zynq-zed", "xlnx,zynq-7000";
usb_phy0: phy0@e0002000 {
compatible = "ulpi-phy";
#phy-cells = <0>;
reg = <0xe0002000 0x1000>;
view-port = <0x0170>;
drv-vbus;
};
};
&v_tc_0 {
compatible = "xlnx,bridge-v-tc-6.1";
xlnx,pixels-per-clock = <1>;
};
&usb0 {
dr_mode = "host";
usb-phy = <&usb_phy0>;
};&sdhci0 {
u-boot,dm-pre-reloc;
};&uart1 {
u-boot,dm-pre-reloc;
};&qspi {
u-boot,dm-pre-reloc;
};
&flash0 {
compatible = "micron,m25p80", "s25fl128s", "spi-flash";
};&mipi_csi2_rx_subsyst_0 {
compatible = "xlnx,mipi-csi2-rx-subsystem-4.0", "xlnx,mipi-csi2-rx-subsystem-4.0";
reg = <0x43c00000 0x10000>;
xlnx,max-lanes = <0x02>;
xlnx,csi-en-activelanes = "true";
xlnx,vc = <0x4>;
xlnx,csi-pxl-format = "RAW8";
xlnx,vfb ;
xlnx,ppc = <1>;
xlnx,axis-tdata-width = <32>;clock-names = "lite_aclk", "dphy_clk_200M", "video_aclk";
clocks = <&misc_clk_0>, <&misc_clk_1>, <&misc_clk_0>;
csiss_ports: ports {
#address-cells = <1>;
#size-cells = <0>;
csiss_port0: port@0 {
reg = <0>;
xlnx,cfa-pattern = "rggb";
xlnx,video-format = <12>;
xlnx,video-width = <8>;
mipi_csi2_rx_0_to_demosaic_0: endpoint {
remote-endpoint = <&demosaic_0_from_mipi_csi2_rx_0>;
};
};
csiss_port1: port@1 {
reg = <1>;
xlnx,cfa-pattern = "rggb";
xlnx,video-format = <12>;
xlnx,video-width = <8>;
csiss_in: endpoint {
data-lanes = <1 2>;
remote-endpoint = <&ov5640_to_mipi_csi2>;
};
};
};
};&v_demosaic_0 {
reset-gpios = <&gpio0 57 GPIO_ACTIVE_LOW>;
compatible = "xlnx,v-demosaic";
reg = <0x43c10000 0x10000>;
clocks = <&misc_clk_0>;
xlnx,max-height = <800>;
xlnx,max-width = <800>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
xlnx,cfa-pattern = "rggb";
xlnx,video-width = <8>;
demosaic_0_from_mipi_csi2_rx_0: endpoint {
remote-endpoint = <&mipi_csi2_rx_0_to_demosaic_0>;
};
};
port@1 {
reg = <1>;
xlnx,cfa-pattern = "rggb";
xlnx,video-width = <8>;demosaic_0_to_fb: endpoint {
remote-endpoint = <&vcap_in>;
};
};
};
};/ {
misc_clk_a:misc_clk_a {
#clock-cells = <0>;
compatible = "fixed-clock";
clock-frequency = <15000000>;
};
cam_reg_1v8: regulator-1v8 {
compatible = "regulator-fixed";
regulator-name = "1v8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
startup-delay-us = <50000>;
enable-active-high;
};
cam_reg_2v8: regulator-1v8 {
compatible = "regulator-fixed";
regulator-name = "2v8";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
cam_reg_1v5: regulator-1v8 {
compatible = "regulator-fixed";
regulator-name = "1v5";
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1500000>;
};
};&i2c0 {
clock-frequency = <100000>;
status = "okay";
i2c-switch@70{ /* U3 on FMC */
compatible = "nxp,pca9546";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x70>;
i2csw_0: i2c@0 { /* cam 1 */
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
/* I2C0 */
};
i2csw_1: i2c@1 { /* cam 2 */
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
/* I2C1 */
};
i2csw_2: i2c@2 { /* cam 3*/
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
/* I2C2 */
};
i2csw_3: i2c@3 { /* cam 4 */
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
/* I2C3 */
};
};
};&i2csw_0 {
ov5640: camera@3c {
compatible = "ovti,ov5640";
reg = <0x3c>;
clocks = <&misc_clk_a >;
clock-names = "xclk";
vdddo-supply = <&cam_reg_1v8>;
vdda-supply = <&cam_reg_2v8>;
vddd-supply = <&cam_reg_1v5>;
port {
ov5640_to_mipi_csi2: endpoint {
remote-endpoint = <&csiss_in>;
clock-lanes = <0>;
data-lanes = <1 2>;
};
};
};
};&v_frmbuf_wr_0 {
compatible = "xlnx,axi-frmbuf-wr-v2.1";
reset-gpios = <&gpio0 54 GPIO_ACTIVE_LOW>;
};&v_frmbuf_rd_0 {
compatible = "xlnx,axi-frmbuf-rd-v2.1";
reset-gpios = <&gpio0 56 GPIO_ACTIVE_LOW>;
};&csiss_in {
data-lanes = <1 2>;
remote-endpoint = <&ov5640_to_mipi_csi2>;
};&csiss_port0 {
xlnx,video-format = <XVIP_VF_YUV_422>;
};&csiss_port1 {
xlnx,video-format = <XVIP_VF_YUV_422>;
};&amba_pl {
video_in: video_cap {
compatible = "xlnx,video";
dmas = <&v_frmbuf_wr_0 0>;
dma-names = "port0";ports {
#address-cells = <1>;
#size-cells = <0>;port@0 {
reg = <0>;
direction = "input";
vcap_in: endpoint {
remote-endpoint = <&demosaic_0_to_fb>;
};
};
};
};
};error while saving the images
Does anyone know way forward to solve dma failing ?
-
5 hours ago, Ionel said:
@iyer25
When you install petalinux make sure you install in a directory owned by your user (not root) also run the installer as normal user (not as su)If you want to have only one version of petalinux and install in the same directory it be best to remove the previous version and start with a clean directory
If you have installed multiple versions source only one version per terminal.
Also you can remove|rename /home/meghuiyer/.PetaLinux/ and let petalinux to recreate the folderthank you, I got solution and was solved before.
-
hello all.
question is related to petalinux. I recently changed my version to 2020.2 from 2019.1.
I have message like when I try to create project.environment: line 57: /home/meghuiyer/.PetaLinux/.PetaLinux_data: Permission denied
what does this mean? I checked on the user manual as well. Its related to permission 755 and ownership. I have given all the permision.
does anyone know how to solve it.
Thanks
-
Hi
1) I present you the schematic of the FMC Pcam Adapter, here I had a question : why the HS-A-P and HS-A-N are inversed ?
Actually the Pin 23 of the « MC20901 » is shown as a positive signal but as an output we can see that they provide a negative signal.
The same for pin 22, normally it will be a negative signals and they put it as a positive signal.
2) Why the signals of LP[A-D]_LANE1_[PN]_LS, and LP[A-D]_CLK_[PN]_LS are unidirectional ? And why the DIR and OE# of the level translators (IC10 : SN74AVC4T245) are hard-wired like that ? In other word Why the DIR and OE are linked to the ground so the direction of the signals will be from FMC to the Camera like shown in the bleu arrow ? , is that direction is correct ? And what the purpose of having direction of the low power signals from the FMC to the cameras ?
How to setup Xilinx MIPI D-PHY to decode Pcam 5C camera signals
in FPGA
Posted
hey @joerg_sdid you find the settings for the xilinx d phy IP ?
Please let me know as I am also looking forward for this solution.
Thanks in advance