3a85467427
There is no point in hard-coding the UBI volume numbers as we are dynamically looking up the volume by volume name in all cases by now. Remove this relict as it causes problems without being useful for anything. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
329 lines
10 KiB
Diff
329 lines
10 KiB
Diff
+++ b/configs/mt7986_xiaomi_redmi-ax6000_defconfig
|
||
@@ -0,0 +1,104 @@
|
||
+CONFIG_ARM=y
|
||
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
|
||
+CONFIG_POSITION_INDEPENDENT=y
|
||
+CONFIG_ARCH_MEDIATEK=y
|
||
+CONFIG_TEXT_BASE=0x41e00000
|
||
+CONFIG_SYS_MALLOC_F_LEN=0x4000
|
||
+CONFIG_NR_DRAM_BANKS=1
|
||
+CONFIG_DEFAULT_DEVICE_TREE="mt7986a-xiaomi_redmi-ax6000"
|
||
+CONFIG_OF_LIBFDT_OVERLAY=y
|
||
+CONFIG_TARGET_MT7986=y
|
||
+CONFIG_PRE_CON_BUF_ADDR=0x4007EF00
|
||
+CONFIG_DEBUG_UART_BASE=0x11002000
|
||
+CONFIG_DEBUG_UART_CLOCK=40000000
|
||
+CONFIG_SYS_LOAD_ADDR=0x46000000
|
||
+CONFIG_DEBUG_UART=y
|
||
+CONFIG_FIT=y
|
||
+CONFIG_BOOTDELAY=30
|
||
+CONFIG_AUTOBOOT_KEYED=y
|
||
+CONFIG_AUTOBOOT_MENU_SHOW=y
|
||
+CONFIG_DEFAULT_FDT_FILE="mediatek/mt7986a-xiaomi_redmi-ax6000.dtb"
|
||
+CONFIG_LOGLEVEL=7
|
||
+CONFIG_PRE_CONSOLE_BUFFER=y
|
||
+CONFIG_LOG=y
|
||
+CONFIG_BOARD_LATE_INIT=y
|
||
+CONFIG_HUSH_PARSER=y
|
||
+CONFIG_SYS_PROMPT="MT7986> "
|
||
+CONFIG_CMD_CPU=y
|
||
+CONFIG_CMD_LICENSE=y
|
||
+CONFIG_CMD_BOOTMENU=y
|
||
+CONFIG_CMD_ASKENV=y
|
||
+CONFIG_CMD_ERASEENV=y
|
||
+CONFIG_CMD_ENV_FLAGS=y
|
||
+CONFIG_CMD_STRINGS=y
|
||
+CONFIG_CMD_DM=y
|
||
+CONFIG_CMD_GPIO=y
|
||
+CONFIG_CMD_MTD=y
|
||
+CONFIG_CMD_DHCP=y
|
||
+CONFIG_CMD_TFTPSRV=y
|
||
+CONFIG_CMD_RARP=y
|
||
+CONFIG_CMD_PING=y
|
||
+CONFIG_CMD_CDP=y
|
||
+CONFIG_CMD_SNTP=y
|
||
+CONFIG_CMD_DNS=y
|
||
+CONFIG_CMD_LINK_LOCAL=y
|
||
+CONFIG_CMD_PXE=y
|
||
+CONFIG_CMD_CACHE=y
|
||
+CONFIG_CMD_PSTORE=y
|
||
+CONFIG_CMD_PSTORE_MEM_ADDR=0x42ff0000
|
||
+CONFIG_CMD_UUID=y
|
||
+CONFIG_CMD_HASH=y
|
||
+CONFIG_CMD_SMC=y
|
||
+CONFIG_CMD_UBI=y
|
||
+CONFIG_CMD_UBI_RENAME=y
|
||
+CONFIG_OF_EMBED=y
|
||
+CONFIG_ENV_OVERWRITE=y
|
||
+CONFIG_ENV_IS_IN_UBI=y
|
||
+CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
|
||
+CONFIG_ENV_UBI_PART="ubi"
|
||
+CONFIG_ENV_UBI_VOLUME="ubootenv"
|
||
+CONFIG_ENV_UBI_VOLUME_REDUND="ubootenv2"
|
||
+CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||
+CONFIG_USE_DEFAULT_ENV_FILE=y
|
||
+CONFIG_DEFAULT_ENV_FILE="xiaomi_redmi-ax6000_env"
|
||
+CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||
+CONFIG_VERSION_VARIABLE=y
|
||
+CONFIG_NET_RANDOM_ETHADDR=y
|
||
+CONFIG_NETCONSOLE=y
|
||
+CONFIG_USE_IPADDR=y
|
||
+CONFIG_IPADDR="192.168.1.1"
|
||
+CONFIG_USE_SERVERIP=y
|
||
+CONFIG_SERVERIP="192.168.1.254"
|
||
+CONFIG_REGMAP=y
|
||
+CONFIG_SYSCON=y
|
||
+CONFIG_BUTTON=y
|
||
+CONFIG_BUTTON_GPIO=y
|
||
+CONFIG_CLK=y
|
||
+CONFIG_GPIO_HOG=y
|
||
+# CONFIG_I2C is not set
|
||
+# CONFIG_MMC is not set
|
||
+CONFIG_MTD=y
|
||
+CONFIG_DM_MTD=y
|
||
+CONFIG_MTD_SPI_NAND=y
|
||
+CONFIG_MTD_UBI_FASTMAP=y
|
||
+CONFIG_PHY_FIXED=y
|
||
+CONFIG_MEDIATEK_ETH=y
|
||
+CONFIG_PHY=y
|
||
+CONFIG_PINCTRL=y
|
||
+CONFIG_PINCONF=y
|
||
+CONFIG_PINCTRL_MT7986=y
|
||
+CONFIG_POWER_DOMAIN=y
|
||
+CONFIG_MTK_POWER_DOMAIN=y
|
||
+CONFIG_DM_REGULATOR=y
|
||
+CONFIG_DM_REGULATOR_FIXED=y
|
||
+CONFIG_DM_REGULATOR_GPIO=y
|
||
+CONFIG_RAM=y
|
||
+CONFIG_DM_SERIAL=y
|
||
+CONFIG_MTK_SERIAL=y
|
||
+CONFIG_SPI=y
|
||
+CONFIG_DM_SPI=y
|
||
+CONFIG_MTK_SPIM=y
|
||
+CONFIG_RANDOM_UUID=y
|
||
+CONFIG_ZSTD=y
|
||
+CONFIG_HEXDUMP=y
|
||
+CONFIG_LMB_MAX_REGIONS=64
|
||
--- /dev/null
|
||
+++ b/arch/arm/dts/mt7986a-xiaomi_redmi-ax6000.dts
|
||
@@ -0,0 +1,161 @@
|
||
+// SPDX-License-Identifier: GPL-2.0
|
||
+/*
|
||
+ * Copyright (c) 2021 MediaTek Inc.
|
||
+ * Author: Sam Shih <sam.shih@mediatek.com>
|
||
+ */
|
||
+
|
||
+/dts-v1/;
|
||
+#include <dt-bindings/input/linux-event-codes.h>
|
||
+#include "mt7986.dtsi"
|
||
+#include <dt-bindings/gpio/gpio.h>
|
||
+
|
||
+/ {
|
||
+ #address-cells = <1>;
|
||
+ #size-cells = <1>;
|
||
+ model = "Xiaomi Redmi AX6000";
|
||
+ compatible = "mediatek,mt7986", "mediatek,mt7986-sd-rfb";
|
||
+
|
||
+ chosen {
|
||
+ stdout-path = &uart0;
|
||
+ tick-timer = &timer0;
|
||
+ };
|
||
+
|
||
+ memory@40000000 {
|
||
+ device_type = "memory";
|
||
+ reg = <0x40000000 0x20000000>;
|
||
+ };
|
||
+
|
||
+ keys {
|
||
+ compatible = "gpio-keys";
|
||
+ factory {
|
||
+ label = "reset";
|
||
+ gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
|
||
+ linux,code = <KEY_RESTART>;
|
||
+ };
|
||
+ mesh {
|
||
+ label = "mesh";
|
||
+ gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
|
||
+ linux,code = <KEY_WPS_BUTTON>;
|
||
+ };
|
||
+ };
|
||
+};
|
||
+
|
||
+&uart0 {
|
||
+ mediatek,force-highspeed;
|
||
+ status = "okay";
|
||
+};
|
||
+
|
||
+&uart1 {
|
||
+ pinctrl-names = "default";
|
||
+ pinctrl-0 = <&uart1_pins>;
|
||
+ status = "disabled";
|
||
+};
|
||
+
|
||
+ð {
|
||
+ status = "okay";
|
||
+ mediatek,gmac-id = <0>;
|
||
+ phy-mode = "2500base-x";
|
||
+ mediatek,switch = "mt7531";
|
||
+ reset-gpios = <&gpio 5 GPIO_ACTIVE_HIGH>;
|
||
+
|
||
+ fixed-link {
|
||
+ speed = <2500>;
|
||
+ full-duplex;
|
||
+ };
|
||
+};
|
||
+
|
||
+&pinctrl {
|
||
+ spic_pins: spi1-pins-func-1 {
|
||
+ mux {
|
||
+ function = "spi";
|
||
+ groups = "spi1_2";
|
||
+ };
|
||
+ };
|
||
+
|
||
+ uart1_pins: spi1-pins-func-3 {
|
||
+ mux {
|
||
+ function = "uart";
|
||
+ groups = "uart1_2";
|
||
+ };
|
||
+ };
|
||
+
|
||
+ spi_flash_pins: spi0-pins-func-1 {
|
||
+ mux {
|
||
+ function = "flash";
|
||
+ groups = "spi0", "spi0_wp_hold";
|
||
+ };
|
||
+
|
||
+ conf-pu {
|
||
+ pins = "SPI2_CS", "SPI2_HOLD", "SPI2_WP";
|
||
+ drive-strength = <MTK_DRIVE_8mA>;
|
||
+ bias-pull-up = <MTK_PUPD_SET_R1R0_00>;
|
||
+ };
|
||
+
|
||
+ conf-pd {
|
||
+ pins = "SPI2_CLK", "SPI2_MOSI", "SPI2_MISO";
|
||
+ drive-strength = <MTK_DRIVE_8mA>;
|
||
+ bias-pull-down = <MTK_PUPD_SET_R1R0_00>;
|
||
+ };
|
||
+ };
|
||
+};
|
||
+
|
||
+&spi0 {
|
||
+ #address-cells = <1>;
|
||
+ #size-cells = <0>;
|
||
+ pinctrl-names = "default";
|
||
+ pinctrl-0 = <&spi_flash_pins>;
|
||
+ status = "okay";
|
||
+ must_tx;
|
||
+ enhance_timing;
|
||
+ dma_ext;
|
||
+ ipm_design;
|
||
+ support_quad;
|
||
+ tick_dly = <1>;
|
||
+ sample_sel = <0>;
|
||
+
|
||
+ spi_nand@0 {
|
||
+ compatible = "spi-nand";
|
||
+ reg = <0>;
|
||
+ spi-max-frequency = <52000000>;
|
||
+
|
||
+ partitions {
|
||
+ compatible = "fixed-partitions";
|
||
+ #address-cells = <1>;
|
||
+ #size-cells = <1>;
|
||
+
|
||
+ partition@0 {
|
||
+ label = "bl2";
|
||
+ reg = <0x0 0x80000>;
|
||
+ };
|
||
+
|
||
+ partition@100000 {
|
||
+ label = "nvram";
|
||
+ reg = <0x100000 0x40000>;
|
||
+ };
|
||
+
|
||
+ partition@140000 {
|
||
+ label = "bdata";
|
||
+ reg = <0x140000 0x40000>;
|
||
+ };
|
||
+
|
||
+ partition@180000 {
|
||
+ label = "factory";
|
||
+ reg = <0x180000 0x200000>;
|
||
+ };
|
||
+
|
||
+ partition@380000 {
|
||
+ label = "fip";
|
||
+ reg = <0x380000 0x200000>;
|
||
+ };
|
||
+
|
||
+ partition@600000 {
|
||
+ label = "ubi";
|
||
+ reg = <0x580000 0x7a80000>;
|
||
+ };
|
||
+ };
|
||
+ };
|
||
+};
|
||
+
|
||
+&watchdog {
|
||
+ status = "disabled";
|
||
+};
|
||
--- /dev/null
|
||
+++ b/xiaomi_redmi-ax6000_env
|
||
@@ -0,0 +1,55 @@
|
||
+ethaddr_factory=mtd read factory 0x40080000 0x0 0x20000 && env readmem -b ethaddr 0x40080004 0x6 ; setenv ethaddr_factory
|
||
+ipaddr=192.168.1.1
|
||
+serverip=192.168.1.254
|
||
+loadaddr=0x46000000
|
||
+console=earlycon=uart8250,mmio32,0x11002000 console=ttyS0
|
||
+bootargs=console=ttyS0,115200n8 console_msg_format=syslog
|
||
+bootcmd=if pstore check ; then run boot_recovery ; else run boot_ubi ; fi
|
||
+bootconf=config-1
|
||
+bootdelay=0
|
||
+bootfile=openwrt-mediatek-filogic-xiaomi_redmi-router-ax6000-ubootmod-initramfs-recovery.itb
|
||
+bootfile_bl2=openwrt-mediatek-filogic-xiaomi_redmi-router-ax6000-ubootmod-preloader.bin
|
||
+bootfile_fip=openwrt-mediatek-filogic-xiaomi_redmi-router-ax6000-ubootmod-bl31-uboot.fip
|
||
+bootfile_upg=openwrt-mediatek-filogic-xiaomi_redmi-router-ax6000-ubootmod-squashfs-sysupgrade.itb
|
||
+bootmenu_confirm_return=askenv - Press ENTER to return to menu ; bootmenu 60
|
||
+bootmenu_default=0
|
||
+bootmenu_delay=0
|
||
+bootmenu_title= [0;34m( ( ( [1;39mOpenWrt[0;34m ) ) )
|
||
+bootmenu_0=Initialize environment.=run _firstboot
|
||
+bootmenu_0d=Run default boot command.=run boot_default
|
||
+bootmenu_1=Boot system via TFTP.=run boot_tftp ; run bootmenu_confirm_return
|
||
+bootmenu_2=Boot production system from NAND.=run boot_production ; run bootmenu_confirm_return
|
||
+bootmenu_3=Boot recovery system from NAND.=run boot_recovery ; run bootmenu_confirm_return
|
||
+bootmenu_4=Load production system via TFTP then write to NAND.=setenv noboot 1 ; setenv replacevol 1 ; run boot_tftp_production ; setenv noboot ; setenv replacevol ; run bootmenu_confirm_return
|
||
+bootmenu_5=Load recovery system via TFTP then write to NAND.=setenv noboot 1 ; setenv replacevol 1 ; run boot_tftp_recovery ; setenv noboot ; setenv replacevol ; run bootmenu_confirm_return
|
||
+bootmenu_6=[31mLoad BL31+U-Boot FIP via TFTP then write to NAND.[0m=run boot_tftp_write_fip ; run bootmenu_confirm_return
|
||
+bootmenu_7=[31mLoad BL2 preloader via TFTP then write to NAND.[0m=run boot_tftp_write_bl2 ; run bootmenu_confirm_return
|
||
+bootmenu_8=Reboot.=reset
|
||
+bootmenu_9=Reset all settings to factory defaults.=run reset_factory ; reset
|
||
+boot_first=if button reset ; then run boot_tftp_recovery ; setenv flag_recover 1 ; run boot_default ; fi ; bootmenu
|
||
+boot_default=if env exists flag_recover ; then else run bootcmd ; fi ; run boot_recovery ; setenv replacevol 1 ; run boot_tftp_forever
|
||
+boot_production=run ubi_read_production && bootm $loadaddr#$bootconf
|
||
+boot_recovery=run ubi_read_recovery && bootm $loadaddr#$bootconf
|
||
+boot_ubi=run boot_production ; run boot_recovery ; run boot_tftp_forever
|
||
+boot_tftp_forever=while true ; do run boot_tftp_recovery ; sleep 1 ; done
|
||
+boot_tftp_recovery=tftpboot $loadaddr $bootfile && env exists replacevol && iminfo $loadaddr && run ubi_write_recovery ; if env exists noboot ; then else bootm $loadaddr#$bootconf ; fi
|
||
+boot_tftp_production=tftpboot $loadaddr $bootfile_upg && env exists replacevol && iminfo $loadaddr && run ubi_write_production ; if env exists noboot ; then else bootm $loadaddr#$bootconf ; fi
|
||
+boot_tftp=tftpboot $loadaddr $bootfile && bootm $loadaddr#$bootconf
|
||
+boot_tftp_write_fip=tftpboot $loadaddr $bootfile_fip && run mtd_write_fip && run reset_factory
|
||
+boot_tftp_write_bl2=tftpboot $loadaddr $bootfile_bl2 && run mtd_write_bl2
|
||
+part_fit=fit
|
||
+reset_factory=ubi part ubi ; mw $loadaddr 0x0 0x800 ; ubi write $loadaddr ubootenv 0x800 ; ubi write $loadaddr ubootenv2 0x800
|
||
+mtd_write_fip=mtd erase fip && mtd write fip $loadaddr
|
||
+mtd_write_bl2=mtd erase bl2 && mtd write bl2 $loadaddr
|
||
+ubi_create_env=ubi check ubootenv || ubi create ubootenv 0x100000 dynamic ; ubi check ubootenv2 || ubi create ubootenv2 0x100000 dynamic
|
||
+ubi_format=ubi detach ; mtd erase ubi && ubi part ubi ; reset
|
||
+ubi_prepare_rootfs=if ubi check rootfs_data ; then else if env exists rootfs_data_max ; then ubi create rootfs_data $rootfs_data_max dynamic || ubi create rootfs_data - dynamic ; else ubi create rootfs_data - dynamic ; fi ; fi
|
||
+ubi_read_production=ubi read $loadaddr $part_fit && iminfo $loadaddr && run ubi_prepare_rootfs
|
||
+ubi_read_recovery=ubi check recovery && ubi read $loadaddr recovery
|
||
+ubi_remove_rootfs=ubi check rootfs_data && ubi remove rootfs_data
|
||
+ubi_write_production=ubi check fit && ubi remove fit ; run ubi_remove_rootfs ; ubi create fit $filesize dynamic && ubi write $loadaddr fit $filesize
|
||
+ubi_write_recovery=ubi check recovery && ubi remove recovery ; run ubi_remove_rootfs ; ubi create recovery $filesize dynamic && ubi write $loadaddr recovery $filesize
|
||
+_init_env=setenv _init_env ; run ubi_create_env ; saveenv ; saveenv
|
||
+_firstboot=setenv _firstboot ; run ethaddr_factory ; run _switch_to_menu ; run _init_env ; run boot_first
|
||
+_switch_to_menu=setenv _switch_to_menu ; setenv bootdelay 3 ; setenv bootmenu_delay 3 ; setenv bootmenu_0 $bootmenu_0d ; setenv bootmenu_0d ; run _bootmenu_update_title
|
||
+_bootmenu_update_title=setenv _bootmenu_update_title ; setenv bootmenu_title "$bootmenu_title [33m$ver[0m"
|