/*
  * dts file for Xilinx ZynqMP ZC1232
  *
- * (C) Copyright 2017 - 2019, Xilinx, Inc.
+ * (C) Copyright 2017 - 2021, Xilinx, Inc.
  *
  * Michal Simek <michal.simek@xilinx.com>
  */
        aliases {
                serial0 = &uart0;
                serial1 = &dcc;
+               spi0 = &qspi;
        };
 
        chosen {
        status = "okay";
 };
 
+&qspi {
+       status = "okay";
+       flash@0 {
+               compatible = "m25p80", "jedec,spi-nor"; /* 32MB */
+               #address-cells = <1>;
+               #size-cells = <1>;
+               reg = <0x0>;
+               spi-tx-bus-width = <1>;
+               spi-rx-bus-width = <4>;
+               spi-max-frequency = <108000000>; /* Based on DC1 spec */
+       };
+};
+
 &sata {
        status = "okay";
        /* SATA OOB timing settings */
 
 /*
  * dts file for Xilinx ZynqMP ZC1254
  *
- * (C) Copyright 2015 - 2019, Xilinx, Inc.
+ * (C) Copyright 2015 - 2021, Xilinx, Inc.
  *
  * Michal Simek <michal.simek@xilinx.com>
  * Siva Durga Prasad Paladugu <sivadur@xilinx.com>
        aliases {
                serial0 = &uart0;
                serial1 = &dcc;
+               spi0 = &qspi;
        };
 
        chosen {
        status = "okay";
 };
 
+&qspi {
+       status = "okay";
+       flash@0 {
+               compatible = "m25p80", "jedec,spi-nor"; /* 32MB */
+               #address-cells = <1>;
+               #size-cells = <1>;
+               reg = <0x0>;
+               spi-tx-bus-width = <1>;
+               spi-rx-bus-width = <4>; /* FIXME also DUAL configuration possible */
+               spi-max-frequency = <108000000>; /* Based on DC1 spec */
+       };
+};
+
 &uart0 {
        status = "okay";
 };
 
                mmc1 = &sdhci1;
                rtc0 = &rtc;
                serial0 = &uart0;
+               spi0 = &qspi;
        };
 
        chosen {
        };
 };
 
+&qspi {
+       status = "okay";
+       flash@0 {
+               compatible = "m25p80", "jedec,spi-nor"; /* Micron MT25QU512ABB8ESF */
+               #address-cells = <1>;
+               #size-cells = <1>;
+               reg = <0x0>;
+               spi-tx-bus-width = <1>;
+               spi-rx-bus-width = <4>;
+               spi-max-frequency = <108000000>; /* Based on DC1 spec */
+       };
+};
+
 &rtc {
        status = "okay";
 };
 
                rtc0 = &rtc;
                serial0 = &uart0;
                serial1 = &uart1;
+               spi0 = &qspi;
        };
 
        chosen {
        status = "okay";
 };
 
+&qspi {
+       status = "okay";
+       flash@0 {
+               compatible = "m25p80", "jedec,spi-nor"; /* 32MB */
+               #address-cells = <1>;
+               #size-cells = <1>;
+               reg = <0x0>;
+               spi-tx-bus-width = <1>;
+               spi-rx-bus-width = <4>; /* also DUAL configuration possible */
+               spi-max-frequency = <108000000>; /* Based on DC1 spec */
+       };
+};
+
 &rtc {
        status = "okay";
 };
 
                serial0 = &uart0;
                serial1 = &uart1;
                serial2 = &dcc;
+               spi0 = &qspi;
        };
 
        chosen {
        clock-names = "ref0", "ref1", "ref2", "ref3";
 };
 
+&qspi {
+       status = "okay";
+       is-dual = <1>;
+       flash@0 {
+               compatible = "m25p80", "jedec,spi-nor"; /* 32MB */
+               #address-cells = <1>;
+               #size-cells = <1>;
+               reg = <0x0>;
+               spi-tx-bus-width = <1>;
+               spi-rx-bus-width = <4>; /* FIXME also DUAL configuration possible */
+               spi-max-frequency = <108000000>; /* Based on DC1 spec */
+       };
+};
+
 &rtc {
        status = "okay";
 };
 
                serial0 = &uart0;
                serial1 = &uart1;
                serial2 = &dcc;
+               spi0 = &qspi;
        };
 
        chosen {
        clock-names = "ref1", "ref2", "ref3";
 };
 
+&qspi {
+       status = "okay";
+       flash@0 {
+               compatible = "m25p80", "jedec,spi-nor"; /* n25q512a 128MiB */
+               #address-cells = <1>;
+               #size-cells = <1>;
+               reg = <0x0>;
+               spi-tx-bus-width = <1>;
+               spi-rx-bus-width = <4>;
+               spi-max-frequency = <108000000>; /* Based on DC1 spec */
+       };
+};
+
 &sata {
        status = "okay";
        /* SATA OOB timing settings */
 
                serial0 = &uart0;
                serial1 = &uart1;
                serial2 = &dcc;
+               spi0 = &qspi;
        };
 
        chosen {
                #address-cells = <1>;
                #size-cells = <1>;
                reg = <0x0>;
+               spi-tx-bus-width = <1>;
+               spi-rx-bus-width = <4>;
+               spi-max-frequency = <108000000>; /* Based on DC1 spec */
        };
 };
 
 
                serial0 = &uart0;
                serial1 = &uart1;
                serial2 = &dcc;
+               spi0 = &qspi;
        };
 
        chosen {
        clock-names = "ref1", "ref2", "ref3";
 };
 
+&qspi {
+       status = "okay";
+       is-dual = <1>;
+       flash@0 {
+               compatible = "m25p80", "jedec,spi-nor"; /* 32MB */
+               #address-cells = <1>;
+               #size-cells = <1>;
+               reg = <0x0>;
+               spi-tx-bus-width = <1>;
+               spi-rx-bus-width = <4>; /* FIXME also DUAL configuration possible */
+               spi-max-frequency = <108000000>; /* Based on DC1 spec */
+       };
+};
+
 &rtc {
        status = "okay";
 };
 
                rtc0 = &rtc;
                serial0 = &uart0;
                serial1 = &dcc;
+               spi0 = &qspi;
        };
 
        chosen {
        clock-names = "ref1", "ref2", "ref3";
 };
 
+&qspi {
+       status = "okay";
+       is-dual = <1>;
+       flash@0 {
+               compatible = "m25p80", "jedec,spi-nor"; /* 32MB */
+               #address-cells = <1>;
+               #size-cells = <1>;
+               reg = <0x0>;
+               spi-tx-bus-width = <1>;
+               spi-rx-bus-width = <4>; /* FIXME also DUAL configuration possible */
+               spi-max-frequency = <108000000>; /* Based on DC1 spec */
+       };
+};
+
 &rtc {
        status = "okay";
 };