--- a/include/configs/bitmain_antminer_s9.h
+++ b/include/configs/bitmain_antminer_s9.h
@@ -20,6 +20,34 @@
 	"initrd_high=0xefff000\0" \
 	"devnum=0\0" \
 	"wdstop=mw f8005000 ABC000\0" \
+	"scriptaddr=0x3000000\0"        \
+	"loadbootenv_addr=0x2000000\0" \
+	"fit_image=fit.itb\0"           \
+	"load_addr=0x2000000\0"         \
+	"bootenv=uEnv.txt\0" \
+	"bootenv_dev=mmc\0" \
+	"loadbootenv=load ${bootenv_dev} 0 ${loadbootenv_addr} ${bootenv}\0" \
+	"importbootenv=echo Importing environment from ${bootenv_dev} ...; " \
+	"env import -t ${loadbootenv_addr} $filesize\0" \
+	"bootenv_existence_test=test -e ${bootenv_dev} 0 /${bootenv}\0" \
+	"setbootenv=if env run bootenv_existence_test; then " \
+		"if env run loadbootenv; then " \
+			"env run importbootenv; " \
+		"fi; " \
+	"fi; \0" \
+	"sd_loadbootenv=setenv bootenv_dev mmc && " \
+		"run setbootenv \0" \
+		"preboot=if test $modeboot = sdboot; then " \
+			"run sd_loadbootenv; " \
+			"echo Checking if uenvcmd is set ...; " \
+			"if test -n $uenvcmd; then " \
+				"echo Running uenvcmd ...; " \
+				"run uenvcmd; " \
+			"fi; " \
+		"fi; \0" \
+	"sdboot=echo Copying FIT from SD to RAM... && " \
+		"load mmc 0 ${load_addr} ${fit_image} && " \
+		"bootm ${load_addr}\0" \
 	BOOTENV
 
 #include <configs/zynq-common.h>
