diff --git a/arch/arm/boot/dts/rk322x.dtsi b/arch/arm/boot/dts/rk322x.dtsi
index 48e6e8d44..1dfd27f9f 100644
--- a/arch/arm/boot/dts/rk322x.dtsi
+++ b/arch/arm/boot/dts/rk322x.dtsi
@@ -712,6 +712,22 @@ emmc: mmc@30020000 {
 		status = "disabled";
 	};
 
+	nfc: nand-controller@30030000 {
+                compatible = "rockchip,rk3228-nfc", "rockchip,rk2928-nfc";
+                reg = <0x30030000 0x4000>;
+                interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
+                clocks = <&cru SCLK_NANDC>, <&cru HCLK_NANDC>;
+                clock-names = "nfc", "ahb";
+                assigned-clocks = <&cru SCLK_NANDC>;
+                assigned-clock-rates = <150000000>;
+
+                pinctrl-names = "default";
+                pinctrl-0 = <&flash_cs0 &flash_rdy &flash_ale &flash_cle
+                        &flash_wrn &flash_rdn &flash_bus8>;
+                status = "disabled";
+
+        };
+
 	usb_otg: usb@30040000 {
 		compatible = "rockchip,rk3228-usb", "rockchip,rk3066-usb",
 			     "snps,dwc2";
@@ -950,6 +966,65 @@ emmc_bus8: emmc-bus8 {
 			};
 		};
 
+		flash {
+
+                        flash_cs0: flash-cs0 {
+                                rockchip,pins = <2 RK_PA6 1 &pcfg_pull_up>;
+                        };
+
+                        flash_cs1: flash-cs1 {
+                                rockchip,pins = <0 RK_PC7 1 &pcfg_pull_up>;
+                        };
+
+                        flash_cs2: flash-cs2 {
+                                rockchip,pins = <1 RK_PC6 1 &pcfg_pull_up>;
+                        };
+
+                        flash_cs3: flash-cs3 {
+                                rockchip,pins = <1 RK_PC7 1 &pcfg_pull_up>;
+                        };
+
+                        flash_rdy: flash-rdy {
+                                rockchip,pins = <2 RK_PA4 1 &pcfg_pull_up>;
+                        };
+
+                        flash_ale: flash-ale {
+                                rockchip,pins = <2 RK_PA0 1 &pcfg_pull_down>;
+                        };
+
+                        flash_cle: flash-cle {
+                                rockchip,pins = <2 RK_PA1 1 &pcfg_pull_down>;
+                        };
+
+                        flash_wrn: flash-wrn {
+	                        rockchip,pins = <2 RK_PA2 1 &pcfg_pull_up>;
+                        };
+
+                        flash_rdn: flash-rdn {
+                                rockchip,pins = <2 RK_PA3 1 &pcfg_pull_up>;
+                        };
+
+			flash_bus8: flash-bus8 {
+                                rockchip,pins = <1 RK_PD0 1 &pcfg_pull_up>,
+                                                <1 RK_PD1 1 &pcfg_pull_up>,
+                                                <1 RK_PD2 1 &pcfg_pull_up>,
+                                                <1 RK_PD3 1 &pcfg_pull_up>,
+                                                <1 RK_PD4 1 &pcfg_pull_up>,
+                                                <1 RK_PD5 1 &pcfg_pull_up>,
+                                                <1 RK_PD6 1 &pcfg_pull_up>,
+                                                <1 RK_PD7 1 &pcfg_pull_up>;
+                        };
+
+                        flash_dqs: flash-dqs {
+                                rockchip,pins = <2 RK_PA7 1 &pcfg_pull_up>;
+                        };
+
+                        flash_wp: flash-wp {
+                                rockchip,pins = <2 RK_PA5 1 &pcfg_pull_down>;
+                        };
+
+                };
+
 		gmac {
 			rgmii_pins: rgmii-pins {
 				rockchip,pins = <2 RK_PB6 1 &pcfg_pull_none>,
