mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-25 08:21:14 +00:00
dfa0a38d1f
**What's new** * Bring support for the Bananapi BPi-R64 to the level desirable for a nice hackable routerboard. * Use ARM Trusted Firmware A from source. (goodbye binary preloader) * Use Das U-Boot from source. (see previous commit) * Assemble SD-card image using OpenWrt image-commands. (no gen_sd_cruz_foo.sh added, this is not Raspbian) * Updated kernel options to support root filesystem. * Updated DTS to match OpenWrt LAN ports, known LEDs, buttons, ... * Detect root device, handle sysupgrade, config restore, ... * Wire up (known) LEDs and buttons in OpenWrt-fashion. * Build one set of images from SD-card and eMMC. * Hopefully provide a good example of how things can be done right from scratch. **Installation and images** * Have an empty SD-card at hand * Write stuff to the card, as root (card device is /dev/mmcblkX) - write header, gpt, bl2, atf, u-boot and recovery kernel: `cat *bpi-r64-boot-sdcard.img *bpi-r64-initramfs-recovery.fit > /dev/mmcblkX` - rescan partitions: `blockdev --rereadpt /dev/mmcblkX` - write main system to production partition: `cat *bpi-r64-squashfs-sysupgrade.fit > /dev/mmcblkXp5` * Installation to eMMC works using SD-card bootloader via TFTP When running OpenWrt of SD-card, issue this to trigger installation to eMMC: `fw_setenv bootcmd run emmc_init` Be prepared to serve the content of bin/targets/mediatek/mt7622 on TFTP server address 192.168.1.254. **What's missing** * The red LED is always on, probably a hardware bug. * AHCI (probably needs DTS changes) * Ship SD-card image ready with every needed for eMMC install. * The eMMC has a second, currently unused boot partition. This would be ideal to store the WiFi EEPROM and Ethernet MAC address(es). @sinovoip ideas? Thanks to Thomas Hühn @thuehn for providing the hardware! Signed-off-by: Daniel Golle <daniel@makrotopia.org>
57 lines
1.2 KiB
Diff
57 lines
1.2 KiB
Diff
--- a/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
|
|
+++ b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
|
|
@@ -18,6 +18,10 @@
|
|
|
|
aliases {
|
|
serial0 = &uart0;
|
|
+ led-boot = &led_system_green;
|
|
+ led-failsafe = &led_system_blue;
|
|
+ led-running = &led_system_green;
|
|
+ led-upgrade = &led_system_blue;
|
|
};
|
|
|
|
chosen {
|
|
@@ -41,8 +45,8 @@
|
|
compatible = "gpio-keys";
|
|
|
|
factory {
|
|
- label = "factory";
|
|
- linux,code = <BTN_0>;
|
|
+ label = "reset";
|
|
+ linux,code = <KEY_RESTART>;
|
|
gpios = <&pio 0 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
@@ -56,17 +60,25 @@
|
|
leds {
|
|
compatible = "gpio-leds";
|
|
|
|
- green {
|
|
- label = "bpi-r64:pio:green";
|
|
- gpios = <&pio 89 GPIO_ACTIVE_HIGH>;
|
|
+ led_system_blue: blue {
|
|
+ label = "bpi-r64:pio:blue";
|
|
+ gpios = <&pio 85 GPIO_ACTIVE_LOW>;
|
|
default-state = "off";
|
|
};
|
|
|
|
- red {
|
|
- label = "bpi-r64:pio:red";
|
|
- gpios = <&pio 88 GPIO_ACTIVE_HIGH>;
|
|
+ led_system_green: green {
|
|
+ label = "bpi-r64:pio:green";
|
|
+ gpios = <&pio 89 GPIO_ACTIVE_HIGH>;
|
|
default-state = "off";
|
|
};
|
|
+
|
|
+/*
|
|
+ * red {
|
|
+ * label = "bpi-r64:pio:red";
|
|
+ * gpios = <&pio 88 GPIO_ACTIVE_HIGH>;
|
|
+ * default-state = "off";
|
|
+ * };
|
|
+ */
|
|
};
|
|
|
|
memory {
|