summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorTom Rini <[email protected]>2018-12-28 22:00:24 -0500
committerTom Rini <[email protected]>2018-12-28 22:00:24 -0500
commit9735326fff8488663e27350917ccf01f2e71730a (patch)
treeb9ddf50bc81aec6f8223e244f9ccb22d4639cf6e /include
parentbea3d826203f90507ff32ed24bd0a3c53479e55c (diff)
parent2001a81cba9554ee8b7f6d2ecd53510640ce4f35 (diff)
Merge branch 'master' of git://git.denx.de/u-boot-uniphier
Please pull UniPhier updates v2019.01 - import DIV_ROUND_CLOSEST_ULL macro from Linux - import improvement and fix of Denali NAND driver from Linux - add NAND 200MHz clock to clk driver - allow CONFIG_BOOTCOMMAND to run custom boot command/script - sync DT with Linux 4.20
Diffstat (limited to 'include')
-rw-r--r--include/configs/uniphier.h26
-rw-r--r--include/linux/kernel.h12
2 files changed, 38 insertions, 0 deletions
diff --git a/include/configs/uniphier.h b/include/configs/uniphier.h
index 70f8712b60c..95d64525535 100644
--- a/include/configs/uniphier.h
+++ b/include/configs/uniphier.h
@@ -124,6 +124,8 @@
"third_image=u-boot.bin\0"
#endif
+#define CONFIG_PREBOOT "env exist ${bootdev}preboot && run ${bootdev}preboot"
+
#define CONFIG_ROOTPATH "/nfs/root/path"
#define CONFIG_NFSBOOTCOMMAND \
"setenv bootargs $bootargs root=/dev/nfs rw " \
@@ -169,8 +171,32 @@
#define CONFIG_EXTRA_ENV_SETTINGS \
"netdev=eth0\0" \
"initrd_high=0xffffffffffffffff\0" \
+ "script=boot.scr\0" \
"scriptaddr=0x85000000\0" \
"nor_base=0x42000000\0" \
+ "emmcboot=mmcsetn && run bootcmd_mmc${mmc_first_dev}\0" \
+ "nandboot=run bootcmd_ubifs0\0" \
+ "norboot=run tftpboot\0" \
+ "usbboot=run bootcmd_usb0\0" \
+ "emmcscript=setenv devtype mmc && " \
+ "mmcsetn && " \
+ "setenv devnum ${mmc_first_dev} && " \
+ "run loadscript_fat\0" \
+ "nandscript=echo Running ${script} from ubi ... && " \
+ "ubi part UBI && " \
+ "ubifsmount ubi0:boot && " \
+ "ubifsload ${loadaddr} ${script} && " \
+ "source\0" \
+ "norscript=echo Running ${script} from tftp ... && " \
+ "tftpboot ${script} &&" \
+ "source\0" \
+ "usbscript=usb start && " \
+ "setenv devtype usb && " \
+ "setenv devnum 0 && " \
+ "run loadscript_fat\0" \
+ "loadscript_fat=echo Running ${script} from ${devtype}${devnum} ... && " \
+ "load ${devtype} ${devnum}:1 ${loadaddr} ${script} && " \
+ "source\0" \
"sramupdate=setexpr tmp_addr $nor_base + 0x50000 &&" \
"tftpboot $tmp_addr $second_image && " \
"setexpr tmp_addr $nor_base + 0x70000 && " \
diff --git a/include/linux/kernel.h b/include/linux/kernel.h
index bd88483b9f6..a85c15d8dc2 100644
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
@@ -102,6 +102,18 @@
(((__x) - ((__d) / 2)) / (__d)); \
} \
)
+/*
+ * Same as above but for u64 dividends. divisor must be a 32-bit
+ * number.
+ */
+#define DIV_ROUND_CLOSEST_ULL(x, divisor)( \
+{ \
+ typeof(divisor) __d = divisor; \
+ unsigned long long _tmp = (x) + (__d) / 2; \
+ do_div(_tmp, __d); \
+ _tmp; \
+} \
+)
/*
* Multiplies an integer by a fraction, while avoiding unnecessary