diff --git a/arch/arm64/boot/dts/hi6220-hikey.dts b/arch/arm64/boot/dts/hi6220-hikey.dts
index 99919fa..8c9d6de 100644
--- a/arch/arm64/boot/dts/hi6220-hikey.dts
+++ b/arch/arm64/boot/dts/hi6220-hikey.dts
@@ -28,6 +28,7 @@
 		mshc0 = &dwmmc_0;
 		mshc1 = &dwmmc_1;
 		mshc2 = &dwmmc_2;
+		spi0 = &spi_0;
 	};
 
 	chosen {
diff --git a/arch/arm64/boot/dts/hi6220.dtsi b/arch/arm64/boot/dts/hi6220.dtsi
index 1ac7df2..6712f08 100644
--- a/arch/arm64/boot/dts/hi6220.dtsi
+++ b/arch/arm64/boot/dts/hi6220.dtsi
@@ -713,6 +713,34 @@
 			};
 		 };
 
+		 spi_0: spi@f7106000 {
+		 	compatible = "arm,pl022", "arm,primecell";
+			reg = <0x0 0xf7106000 0x0 0x1000>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			interrupts = <0 50 4>;
+			reset-controller-reg = <0x330 0x334 0x338 9>;
+			clocks = <&clock_sys HI6220_SPI_CLK>;
+			clock-names = "apb_pclk";
+			pinctrl-names = "default";
+			pinctrl-0 = <&spi0_pmx_func &spi0_cfg_func>;
+			cs-gpios = <&gpio2 0 0>,
+				   <&gpio2 1 0>;
+			status = "ok";
+
+			spidev@0 {
+				compatible = "linux,spidev";
+				spi-max-frequency = <500000>;
+				reg = <0>;
+			};
+
+			spidev@1 {
+				compatible = "linux,spidev";
+				spi-max-frequency = <500000>;
+				reg = <1>;
+			};
+		};
+
 		display-subsystem {
 			compatible = "hisilicon,hi6220-drm";
 			#address-cells = <2>;
