Dts overlay structure for enabling spi

Hi, I want to use PS SPI controller as regular device (like /dev/spidev0.0). I did enable SPI0 EMIO and routed to pins defined in XDC file in Vivado.
Now configuring Linux side, I read that need to use spi-petra device name, but not so sure about my device tree file structure:

&spi0 {
  //compatible = "cisco,spi-petra";  // <==== is this block necessary?
  status = "okay";
  spidev@0 { // <==== is this block necessary?

                      compatible = "spidev";
                      reg = <0>;  /* CS */
                      spi-max-frequency = <25000000>;
                      /*spi-cpha; Possible property */
                      /*spi-cpol; Possible property */
                      /*spi-cs-high; Possible property */
                      /*spi-3wire; Possible property */
                      /*no interrupts */
            };
};

it compiles without errors, loads, and then dtc -I fs /sys/firmware/devicetree/base shows status="okay":

...
spi@e0006000 {
			compatible = "xlnx,zynq-spi-r1p6";
			status = "okay";
...

/proc/iomem shows reserved address space ... 00000000-00000000 : e0006000.spi spi@e0006000...

ls /sys/bus/platform/devices/e0006000.spi: gives driver driver_override modalias of_node power spi_master subsystem uevent

Problem: dmesg | grep spi shows no messages about spidev after modprobe spidev, also no spidev in lsmod and no /dev/spidev0.0 device appears.

Where could be problem? Is dts file structure correct?