mirror of
git://git.openwrt.org/openwrt/openwrt.git
synced 2025-12-15 00:52:10 -05:00
Build the (upstream) configuration for the MT7987 reference board, and enable support for DT-overlay application which will be necessary to use the image for the MT7987 RFB generated in OpenWrt. Adapt our downstream patches (generic reset button, rootdisk selection) for MT7987 to prepare for real-world boards. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
41 lines
993 B
Diff
41 lines
993 B
Diff
--- a/board/mediatek/mt7987/mt7987_rfb.c
|
|
+++ b/board/mediatek/mt7987/mt7987_rfb.c
|
|
@@ -4,3 +4,37 @@
|
|
* Author: Sam Shih <sam.shih@mediatek.com>
|
|
*/
|
|
|
|
+#include <config.h>
|
|
+#include <dm.h>
|
|
+#include <button.h>
|
|
+#include <env.h>
|
|
+#include <init.h>
|
|
+#include <asm/global_data.h>
|
|
+#include <linux/delay.h>
|
|
+
|
|
+#ifndef CONFIG_RESET_BUTTON_LABEL
|
|
+#define CONFIG_RESET_BUTTON_LABEL "reset"
|
|
+#endif
|
|
+
|
|
+int board_late_init(void)
|
|
+{
|
|
+ gd->env_valid = 1; //to load environment variable from persistent store
|
|
+ struct udevice *dev;
|
|
+
|
|
+ gd->env_valid = ENV_VALID;
|
|
+ if (!button_get_by_label(CONFIG_RESET_BUTTON_LABEL, &dev)) {
|
|
+ puts("reset button found\n");
|
|
+#ifdef CONFIG_RESET_BUTTON_SETTLE_DELAY
|
|
+ if (CONFIG_RESET_BUTTON_SETTLE_DELAY > 0) {
|
|
+ button_get_state(dev);
|
|
+ mdelay(CONFIG_RESET_BUTTON_SETTLE_DELAY);
|
|
+ }
|
|
+#endif
|
|
+ if (button_get_state(dev) == BUTTON_ON) {
|
|
+ puts("button pushed, resetting environment\n");
|
|
+ gd->env_valid = ENV_INVALID;
|
|
+ }
|
|
+ }
|
|
+ env_relocate();
|
|
+ return 0;
|
|
+}
|