Hello
I am working on OV5640 with Allwinner A64  chip. I followed the steps at 
https://linux-sunxi.org/CSI. I used kernel 5.10-rc6 and I compiled buildroot. I 
tried to explain what I do step by step.

1- I activated this packages on kernel configuration;
VIDEO_DEV = y
MEDIA_CONTROLLER = y
VIDEO_V4L2_SUBDEV_API = y
V4L_PLATFORM_DRIVERS = y
VIDEO_SUN6I_CSI = m
VIDEO_OV5640 = m

Also I enabled media-ctl and v4l2-ctl package on busybox.

2- I added i2c-csi and &csi node. Nodes are same as those used in pinetab.

i2c-csi {
                compatible = "i2c-gpio";
                sda-gpios = <&pio 4 13 GPIO_ACTIVE_HIGH>; /* PE13 */
                scl-gpios = <&pio 4 12 GPIO_ACTIVE_HIGH>; /* PE12 */
                i2c-gpio,delay-us = <5>;
                #address-cells = <1>;
                #size-cells = <0>;

                /* Rear camera */
                ov5640: camera@3c {
                        compatible = "ovti,ov5640";
                        reg = <0x3c>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&csi_mclk_pin>;
                        clocks = <&ccu CLK_CSI_MCLK>;
                        clock-names = "xclk";

                        AVDD-supply = <&reg_dldo3>;
                        DOVDD-supply = <&reg_aldo1>;
                        DVDD-supply = <&reg_eldo3>;
                        reset-gpios = <&pio 4 14 GPIO_ACTIVE_LOW>; /* PE14 */
                        powerdown-gpios = <&pio 4 15 GPIO_ACTIVE_HIGH>; /* PE15 
*/

                        port {
                                ov5640_ep: endpoint {
                                        remote-endpoint = <&csi_ep>;
                                        bus-width = <8>;
                                        hsync-active = <1>; /* Active high */
                                        vsync-active = <0>; /* Active low */
                                        data-active = <1>;  /* Active high */
                                        pclk-sample = <1>;  /* Rising */
                                };
                        };
                };
        };

and

&csi {

        status = "okay";

        port {
                csi_ep: endpoint {
                        remote-endpoint = <&ov5640_ep>;
                        bus-width = <8>;
                        hsync-active = <1>; /* Active high */
                        vsync-active = <0>; /* Active low */
                        data-active = <1>;  /* Active high */
                        pclk-sample = <1>;  /* Rising */
                };
        };
};


3- lsmod results:

Module                  Size  Used by    Not tainted
sr9700                 20480  0
dm9601                 20480  0
usbnet                 40960  2 sr9700,dm9601
snd_soc_simple_card    24576  0
sun50i_codec_analog    32768  0
snd_soc_simple_card_utils    24576  1 snd_soc_simple_card
sun8i_codec            32768  0
sun8i_adda_pr_regmap    16384  1 sun50i_codec_analog
sun4i_i2s              24576  0
snd_soc_core          159744  5 
snd_soc_simple_card,sun50i_codec_analog,snd_soc_simple_card_utils,sun8i_codec,sun4i_i2s
axp20x_adc             20480  0
snd_pcm_dmaengine      20480  1 snd_soc_core
axp20x_usb_power       16384  0
axp20x_ac_power        16384  0
axp20x_battery         16384  0
pinctrl_axp209         16384  2
industrialio           65536  4 
axp20x_adc,axp20x_usb_power,axp20x_ac_power,axp20x_battery
snd_pcm               106496  4 
sun8i_codec,sun4i_i2s,snd_soc_core,snd_pcm_dmaengine
i2c_mv64xxx            24576  0
sun6i_csi              36864  0
snd_timer              40960  1 snd_pcm
lima                   57344  0
snd                    65536  3 snd_soc_core,snd_pcm,snd_timer
gpu_sched              28672  1 lima
soundcore              16384  1 snd
pwm_sun4i              20480  1
sun8i_ce               28672  0
crypto_engine          20480  1 sun8i_ce
sun4i_drm              20480  1
sun8i_mixer            40960  0
ov5640                 28672  0
v4l2_fwnode            24576  2 sun6i_csi,ov5640
panel_lvds             16384  0
sun4i_frontend         16384  1 sun4i_drm
pwm_bl                 20480  0
sun4i_tcon             36864  1 sun4i_drm
sun8i_tcon_top         20480  2 sun4i_drm,sun4i_tcon
cpufreq_dt             20480  0


4- media-ctl --print-topology result:

Media controller API version 5.10.0

Media device information
------------------------
driver          cedrus
model           cedrus
serial
bus info        platform:cedrus
hw revision     0x0
driver version  5.10.0

Device topology
- entity 1: cedrus-source (1 pad, 1 link)
            type Node subtype V4L flags 0
            device node name /dev/video0
    pad0: Source
        -> "cedrus-proc":0 [ENABLED,IMMUTABLE]

- entity 3: cedrus-proc (2 pads, 2 links)
            type Node subtype Unknown flags 0
    pad0: Sink
        <- "cedrus-source":0 [ENABLED,IMMUTABLE]
    pad1: Source
        -> "cedrus-sink":0 [ENABLED,IMMUTABLE]

- entity 6: cedrus-sink (1 pad, 1 link)
            type Node subtype V4L flags 0
            device node name /dev/video0
    pad0: Sink
        <- "cedrus-proc":1 [ENABLED,IMMUTABLE]


But according to linux-sunxi.com/CSI page, driver name should be sun6i_csi. 
Even if I disable the cedrus package on kernel and recompile, the result is 
always the same.

As a result I did not get any images with the camera. How can I operate the 
camera. Do you have any suggestions on this matter?

Thanks your timing.
Best Regards

Faruk KILAVUZ

-- 
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
To view this discussion on the web, visit 
https://groups.google.com/d/msgid/linux-sunxi/790dc22995e94feaac39004f5adc6ac1%40genemek.com.

Reply via email to