From 875643021c3664a0f3577dd8716e61d22c208be7 Mon Sep 17 00:00:00 2001 From: Michel-FK Date: Sun, 1 Nov 2020 00:40:46 +0100 Subject: [PATCH] boot on Recovery partition when Fn + Start keys are pressed when booting Signed-off-by: Michel-FK --- FunKey/board/funkey/rootfs-overlay/etc/u-boot.env | 9 +++++++-- Recovery/board/funkey/rootfs-overlay/etc/u-boot.env | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/FunKey/board/funkey/rootfs-overlay/etc/u-boot.env b/FunKey/board/funkey/rootfs-overlay/etc/u-boot.env index 82fb056..3b9fa4f 100644 --- a/FunKey/board/funkey/rootfs-overlay/etc/u-boot.env +++ b/FunKey/board/funkey/rootfs-overlay/etc/u-boot.env @@ -1,14 +1,19 @@ -args_mmc=setenv bootargs console=ttyS0,115200 panic=5 rootwait fbcon=map:10 fbcon=font:VGA8x8 vt.global_cursor_default=0 root=/dev/mmcblk0p${bootpart} rootfstype=ext4 rootflags=commit=120,data=writeback,barrier=0,journal_async_commit rw quiet +args_mmc=setenv bootargs console=ttyS0,115200 panic=5 rootwait fbcon=map:10 fbcon=font:VGA8x8 vt.global_cursor_default=0 root=/dev/mmcblk0p${bootpart} rootfstype=ext4 rootflags=commit=120,data=writeback,barrier=0,journal_async_commit ${rw} quiet baudrate=115200 -bootcmd=run getbootpart; run args_mmc; run loadfdt; run loadimage; bootz ${loadaddr} - ${fdtaddr} +bootcmd=run getbootpart; run check_keys; if test ${found} = 1; then setenv bootpart 1; fi; run args_mmc; run loadfdt; run loadimage; bootz ${loadaddr} - ${fdtaddr} bootdelay=0 +check_keys=run set_pullups; setenv found 0; setenv timeout ${delay}; while test ${timeout} > 0; do run read_keys; if test ${keys} = f83f; then setenv found 1; setenv timeout 0; setenv rw ro; else setexpr timeout ${timeout} - 1; fi; done console=ttyS0,115200 +delay=1 fdt_high=0xffffffff fdtaddr=0x41800000 getbootpart=part list mmc 0 -bootable bootpart loadaddr=0x41000000 loadfdt=load mmc 0:${bootpart} ${fdtaddr} /boot/sun8i-v3s-funkey.dtb loadimage=load mmc 0:${bootpart} ${loadaddr} /boot/zImage +read_keys=i2c read 20 0 2 1c20500; setexpr.w keys *1c20500 +rw=rw +set_pullups=i2c mw 20 46 df; i2c mw 20 47 f8 stderr=serial@01c28000 stdin=serial@01c28000 stdout=serial@01c28000 diff --git a/Recovery/board/funkey/rootfs-overlay/etc/u-boot.env b/Recovery/board/funkey/rootfs-overlay/etc/u-boot.env index 82fb056..3b9fa4f 100644 --- a/Recovery/board/funkey/rootfs-overlay/etc/u-boot.env +++ b/Recovery/board/funkey/rootfs-overlay/etc/u-boot.env @@ -1,14 +1,19 @@ -args_mmc=setenv bootargs console=ttyS0,115200 panic=5 rootwait fbcon=map:10 fbcon=font:VGA8x8 vt.global_cursor_default=0 root=/dev/mmcblk0p${bootpart} rootfstype=ext4 rootflags=commit=120,data=writeback,barrier=0,journal_async_commit rw quiet +args_mmc=setenv bootargs console=ttyS0,115200 panic=5 rootwait fbcon=map:10 fbcon=font:VGA8x8 vt.global_cursor_default=0 root=/dev/mmcblk0p${bootpart} rootfstype=ext4 rootflags=commit=120,data=writeback,barrier=0,journal_async_commit ${rw} quiet baudrate=115200 -bootcmd=run getbootpart; run args_mmc; run loadfdt; run loadimage; bootz ${loadaddr} - ${fdtaddr} +bootcmd=run getbootpart; run check_keys; if test ${found} = 1; then setenv bootpart 1; fi; run args_mmc; run loadfdt; run loadimage; bootz ${loadaddr} - ${fdtaddr} bootdelay=0 +check_keys=run set_pullups; setenv found 0; setenv timeout ${delay}; while test ${timeout} > 0; do run read_keys; if test ${keys} = f83f; then setenv found 1; setenv timeout 0; setenv rw ro; else setexpr timeout ${timeout} - 1; fi; done console=ttyS0,115200 +delay=1 fdt_high=0xffffffff fdtaddr=0x41800000 getbootpart=part list mmc 0 -bootable bootpart loadaddr=0x41000000 loadfdt=load mmc 0:${bootpart} ${fdtaddr} /boot/sun8i-v3s-funkey.dtb loadimage=load mmc 0:${bootpart} ${loadaddr} /boot/zImage +read_keys=i2c read 20 0 2 1c20500; setexpr.w keys *1c20500 +rw=rw +set_pullups=i2c mw 20 46 df; i2c mw 20 47 f8 stderr=serial@01c28000 stdin=serial@01c28000 stdout=serial@01c28000