diff --git a/package/boot/arm-trusted-firmware-mediatek/Makefile b/package/boot/arm-trusted-firmware-mediatek/Makefile index f0b7ba548e..259a987e6b 100644 --- a/package/boot/arm-trusted-firmware-mediatek/Makefile +++ b/package/boot/arm-trusted-firmware-mediatek/Makefile @@ -191,6 +191,15 @@ define Trusted-Firmware-A/mt7986-spim-nand-ddr4 NAND_TYPE:=spim:2k+64 endef +define Trusted-Firmware-A/mt7986-spim-nand-4k-ddr4 + NAME:=MediaTek MT7986 (SPI-NAND via SPIM, DDR4) + BOOT_DEVICE:=spim-nand + BUILD_SUBTARGET:=filogic + PLAT:=mt7986 + DDR_TYPE:=ddr4 + NAND_TYPE:=spim:4k+256 +endef + define Trusted-Firmware-A/mt7986-nor-ddr3 NAME:=MediaTek MT7986 (SPI-NOR, DDR3) BOOT_DEVICE:=nor @@ -377,6 +386,7 @@ TFA_TARGETS:= \ mt7986-sdmmc-ddr4 \ mt7986-snand-ddr4 \ mt7986-spim-nand-ddr4 \ + mt7986-spim-nand-4k-ddr4 \ mt7988-emmc-ddr3 \ mt7988-nor-ddr3 \ mt7988-sdmmc-ddr3 \ diff --git a/package/boot/uboot-envtools/files/mediatek_filogic b/package/boot/uboot-envtools/files/mediatek_filogic index 03813d1950..2e74361f8e 100644 --- a/package/boot/uboot-envtools/files/mediatek_filogic +++ b/package/boot/uboot-envtools/files/mediatek_filogic @@ -38,6 +38,13 @@ bananapi,bpi-r3-mini) ;; esac ;; +cetron,ct3003-stock|\ +cetron,ct3003-ubootmod|\ +cmcc,rax3000m-nand-ubootmod|\ +netgear,wax220|\ +zbtlink,zbt-z8102ax) + ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000" + ;; cmcc,rax3000m) case "$(cmdline_get_var root)" in /dev/mmc*) @@ -65,6 +72,23 @@ glinet,gl-mt6000) local envdev=$(find_mmc_part "u-boot-env") ubootenv_add_uci_config "$envdev" "0x0" "0x80000" ;; +h3c,magic-nx30-pro|\ +h3c,magic-nx30-pro-nmbm|\ +jcg,q30|\ +qihoo,360t7|\ +tplink,tl-xdr4288|\ +tplink,tl-xdr6086|\ +tplink,tl-xdr6088|\ +xiaomi,mi-router-wr30u-ubootmod|\ +xiaomi,redmi-router-ax6000-ubootmod|\ +zyxel,ex5601-t0-ubootmod) + . /lib/upgrade/nand.sh + local envubi=$(nand_find_ubi ubi) + local envdev=/dev/$(nand_find_volume $envubi ubootenv) + local envdev2=/dev/$(nand_find_volume $envubi ubootenv2) + ubootenv_add_uci_config "$envdev" "0x0" "0x1f000" "0x20000" "1" + ubootenv_add_uci_config "$envdev2" "0x0" "0x1f000" "0x20000" "1" + ;; imou,lc-hx3001-ubootmod) ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x80000" "0x80000" "1" ;; @@ -77,13 +101,6 @@ mercusys,mr90x-v1) local envdev=/dev/mtd$(find_mtd_index "u-boot-env") ubootenv_add_uci_config "$envdev" "0x0" "0x20000" "0x20000" "1" ;; -cetron,ct3003-stock|\ -cetron,ct3003-ubootmod|\ -cmcc,rax3000m-nand-ubootmod|\ -netgear,wax220|\ -zbtlink,zbt-z8102ax) - ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000" - ;; ubnt,unifi-6-plus) ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x80000" "0x10000" ;; @@ -94,22 +111,6 @@ xiaomi,redmi-router-ax6000-stock) ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x10000" "0x20000" ubootenv_add_uci_sys_config "/dev/mtd2" "0x0" "0x10000" "0x20000" ;; -h3c,magic-nx30-pro|\ -h3c,magic-nx30-pro-nmbm|\ -jcg,q30|\ -qihoo,360t7|\ -tplink,tl-xdr4288|\ -tplink,tl-xdr6086|\ -tplink,tl-xdr6088|\ -xiaomi,mi-router-wr30u-ubootmod|\ -xiaomi,redmi-router-ax6000-ubootmod) - . /lib/upgrade/nand.sh - local envubi=$(nand_find_ubi ubi) - local envdev=/dev/$(nand_find_volume $envubi ubootenv) - local envdev2=/dev/$(nand_find_volume $envubi ubootenv2) - ubootenv_add_uci_config "$envdev" "0x0" "0x1f000" "0x20000" "1" - ubootenv_add_uci_config "$envdev2" "0x0" "0x1f000" "0x20000" "1" - ;; zyxel,ex5601-t0) local envdev=/dev/mtd$(find_mtd_index "u-boot-env") ubootenv_add_uci_config "$envdev" "0x0" "0x20000" "0x40000" "2" diff --git a/package/boot/uboot-mediatek/Makefile b/package/boot/uboot-mediatek/Makefile index db403611be..ab7ba3bb9a 100644 --- a/package/boot/uboot-mediatek/Makefile +++ b/package/boot/uboot-mediatek/Makefile @@ -477,6 +477,18 @@ define U-Boot/mt7986_xiaomi_redmi-router-ax6000 DEPENDS:=+trusted-firmware-a-mt7986-spim-nand-ddr4 endef +define U-Boot/mt7986_zyxel_ex5601-t0 + NAME:=Zyxel EX5601-T0 + BUILD_SUBTARGET:=filogic + BUILD_DEVICES:=zyxel_ex5601-t0-ubootmod + UBOOT_CONFIG:=mt7986_zyxel_ex5601-t0 + UBOOT_IMAGE:=u-boot.fip + BL2_BOOTDEV:=spim-nand-4k + BL2_SOC:=mt7986 + BL2_DDRTYPE:=ddr4 + DEPENDS:=+trusted-firmware-a-mt7986-spim-nand-4k-ddr4 +endef + define U-Boot/mt7988_rfb-spim-nand NAME:=MT7988 Reference Board BUILD_SUBTARGET:=filogic @@ -578,6 +590,7 @@ UBOOT_TARGETS := \ mt7986_tplink_tl-xdr6086 \ mt7986_tplink_tl-xdr6088 \ mt7986_xiaomi_redmi-router-ax6000 \ + mt7986_zyxel_ex5601-t0 \ mt7986_rfb \ mt7988_rfb-spim-nand \ mt7988_rfb-snand \ diff --git a/package/boot/uboot-mediatek/patches/439-add-zyxel_ex5601-t0.patch b/package/boot/uboot-mediatek/patches/439-add-zyxel_ex5601-t0.patch new file mode 100644 index 0000000000..7f0564fd49 --- /dev/null +++ b/package/boot/uboot-mediatek/patches/439-add-zyxel_ex5601-t0.patch @@ -0,0 +1,431 @@ +--- /dev/null ++++ b/configs/mt7986_zyxel_ex5601-t0_defconfig +@@ -0,0 +1,186 @@ ++CONFIG_ARM=y ++CONFIG_POSITION_INDEPENDENT=y ++CONFIG_ARCH_MEDIATEK=y ++CONFIG_TARGET_MT7986=y ++CONFIG_TEXT_BASE=0x41e00000 ++CONFIG_SYS_MALLOC_F_LEN=0x4000 ++CONFIG_SYS_HAS_NONCACHED_MEMORY=y ++CONFIG_NR_DRAM_BANKS=1 ++CONFIG_DEFAULT_DEVICE_TREE="mt7986a-zyxel_ex5601-t0" ++CONFIG_DEFAULT_ENV_FILE="zyxel_ex5601-t0_env" ++CONFIG_DEFAULT_FDT_FILE="mediatek/mt7986a-zyxel_ex5601-t0.dtb" ++CONFIG_OF_LIBFDT_OVERLAY=y ++CONFIG_DEBUG_UART_BASE=0x11002000 ++CONFIG_DEBUG_UART_CLOCK=40000000 ++CONFIG_DEBUG_UART=y ++CONFIG_SYS_LOAD_ADDR=0x46000000 ++CONFIG_SMBIOS_PRODUCT_NAME="" ++CONFIG_AUTOBOOT_KEYED=y ++CONFIG_BOOTDELAY=30 ++CONFIG_AUTOBOOT_MENU_SHOW=y ++CONFIG_CFB_CONSOLE_ANSI=y ++CONFIG_BOARD_LATE_INIT=y ++CONFIG_BUTTON=y ++CONFIG_BUTTON_GPIO=y ++CONFIG_GPIO_HOG=y ++CONFIG_CMD_ENV_FLAGS=y ++CONFIG_FIT=y ++CONFIG_FIT_ENABLE_SHA256_SUPPORT=y ++CONFIG_LED=y ++CONFIG_LED_BLINK=y ++CONFIG_LED_GPIO=y ++CONFIG_LOGLEVEL=7 ++CONFIG_LOG=y ++CONFIG_SYS_PROMPT="EX5601> " ++CONFIG_CMD_BOOTMENU=y ++CONFIG_CMD_BOOTP=y ++CONFIG_CMD_BUTTON=y ++CONFIG_CMD_CACHE=y ++CONFIG_CMD_CDP=y ++CONFIG_CMD_CPU=y ++CONFIG_CMD_DHCP=y ++CONFIG_CMD_DM=y ++CONFIG_CMD_DNS=y ++CONFIG_CMD_ECHO=y ++CONFIG_CMD_ENV_READMEM=y ++CONFIG_CMD_ERASEENV=y ++CONFIG_CMD_EXT4=y ++CONFIG_CMD_FAT=y ++CONFIG_CMD_FDT=y ++CONFIG_CMD_FS_GENERIC=y ++CONFIG_CMD_FS_UUID=y ++CONFIG_CMD_GPIO=y ++CONFIG_CMD_GPT=y ++CONFIG_CMD_HASH=y ++CONFIG_CMD_ITEST=y ++CONFIG_CMD_LED=y ++CONFIG_CMD_LICENSE=y ++CONFIG_CMD_LINK_LOCAL=y ++# CONFIG_CMD_MBR is not set ++CONFIG_CMD_MTD=y ++CONFIG_CMD_PCI=y ++CONFIG_CMD_PSTORE=y ++CONFIG_CMD_PSTORE_MEM_ADDR=0x42ff0000 ++CONFIG_CMD_SF_TEST=y ++CONFIG_CMD_PING=y ++CONFIG_CMD_PXE=y ++CONFIG_CMD_PWM=y ++CONFIG_CMD_SMC=y ++CONFIG_CMD_TFTPBOOT=y ++CONFIG_CMD_TFTPSRV=y ++CONFIG_CMD_UBI=y ++CONFIG_CMD_UBI_RENAME=y ++CONFIG_CMD_UBIFS=y ++CONFIG_CMD_ASKENV=y ++CONFIG_CMD_PART=y ++CONFIG_CMD_RARP=y ++CONFIG_CMD_SETEXPR=y ++CONFIG_CMD_SLEEP=y ++CONFIG_CMD_SNTP=y ++CONFIG_CMD_SOURCE=y ++CONFIG_CMD_STRINGS=y ++CONFIG_CMD_USB=y ++# CONFIG_CMD_FLASH is not set ++CONFIG_CMD_UUID=y ++CONFIG_DISPLAY_CPUINFO=y ++CONFIG_DM_MTD=y ++CONFIG_DM_REGULATOR=y ++CONFIG_DM_REGULATOR_FIXED=y ++CONFIG_DM_REGULATOR_GPIO=y ++CONFIG_DM_USB=y ++CONFIG_DM_PWM=y ++CONFIG_PWM_MTK=y ++CONFIG_HUSH_PARSER=y ++CONFIG_SYS_REDUNDAND_ENVIRONMENT=y ++CONFIG_SYS_RELOC_GD_ENV_ADDR=y ++CONFIG_VERSION_VARIABLE=y ++CONFIG_PARTITION_UUIDS=y ++CONFIG_NETCONSOLE=y ++CONFIG_REGMAP=y ++CONFIG_SYSCON=y ++CONFIG_CLK=y ++CONFIG_DM_GPIO=y ++CONFIG_DM_SCSI=y ++CONFIG_AHCI=y ++CONFIG_AHCI_PCI=y ++CONFIG_SCSI_AHCI=y ++CONFIG_SCSI=y ++CONFIG_CMD_SCSI=y ++CONFIG_PHY=y ++CONFIG_PHY_MTK_TPHY=y ++CONFIG_PHY_FIXED=y ++CONFIG_MTK_AHCI=y ++CONFIG_DM_ETH=y ++CONFIG_MEDIATEK_ETH=y ++CONFIG_PCI=y ++CONFIG_DM_PCI=y ++CONFIG_PCIE_MEDIATEK=y ++# CONFIG_MMC is not set ++# CONFIG_DM_MMC is not set ++CONFIG_MTD=y ++CONFIG_MTD_UBI_FASTMAP=y ++# CONFIG_DM_PCI is not set ++# CONFIG_PCIE_MEDIATEK is not set ++CONFIG_PINCTRL=y ++CONFIG_PINCONF=y ++CONFIG_PINCTRL_MT7622=y ++CONFIG_POWER_DOMAIN=y ++CONFIG_PRE_CONSOLE_BUFFER=y ++CONFIG_PRE_CON_BUF_ADDR=0x4007EF00 ++CONFIG_MTK_POWER_DOMAIN=y ++CONFIG_RAM=y ++CONFIG_DM_SERIAL=y ++CONFIG_MTK_SERIAL=y ++CONFIG_SPI=y ++# CONFIG_I2C is not set ++CONFIG_DM_SPI=y ++CONFIG_MTK_SPI_NAND=y ++CONFIG_MTK_SPI_NAND_MTD=y ++CONFIG_SYSRESET_WATCHDOG=y ++CONFIG_WDT_MTK=y ++CONFIG_LZO=y ++CONFIG_ZSTD=y ++CONFIG_HEXDUMP=y ++CONFIG_RANDOM_UUID=y ++CONFIG_REGEX=y ++CONFIG_USB=y ++CONFIG_USB_HOST=y ++CONFIG_USB_XHCI_HCD=y ++CONFIG_USB_XHCI_MTK=y ++CONFIG_USB_STORAGE=y ++CONFIG_OF_EMBED=y ++CONFIG_ENV_OVERWRITE=y ++CONFIG_ENV_IS_IN_UBI=y ++CONFIG_ENV_UBI_PART="ubi" ++CONFIG_ENV_SIZE=0x1f000 ++CONFIG_ENV_SIZE_REDUND=0x1f000 ++CONFIG_ENV_UBI_VOLUME="ubootenv" ++CONFIG_ENV_UBI_VOLUME_REDUND="ubootenv2" ++CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y ++CONFIG_NET_RANDOM_ETHADDR=y ++CONFIG_REGMAP=y ++CONFIG_SYSCON=y ++CONFIG_CLK=y ++CONFIG_PHY_FIXED=y ++CONFIG_DM_ETH=y ++CONFIG_MEDIATEK_ETH=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_SERIAL=y ++CONFIG_MTK_SERIAL=y ++CONFIG_HEXDUMP=y ++CONFIG_USE_DEFAULT_ENV_FILE=y ++CONFIG_MTD_SPI_NAND=y ++CONFIG_MTK_SPIM=y ++CONFIG_CMD_NAND=y ++CONFIG_CMD_NAND_TRIMFFS=y ++CONFIG_LMB_MAX_REGIONS=64 ++CONFIG_USE_IPADDR=y ++CONFIG_IPADDR="192.168.1.1" ++CONFIG_USE_SERVERIP=y ++CONFIG_SERVERIP="192.168.1.254" +--- /dev/null ++++ b/arch/arm/dts/mt7986a-zyxel_ex5601-t0.dts +@@ -0,0 +1,181 @@ ++// SPDX-License-Identifier: GPL-2.0 ++/* ++ * Author: Valerio 'ftp21' Mancini ++ * Author: Nicolò Veronese ++ */ ++ ++/dts-v1/; ++#include ++#include "mt7986.dtsi" ++#include ++ ++/ { ++ #address-cells = <1>; ++ #size-cells = <1>; ++ model = "Zyxel EX5601-T0 ubootmod"; ++ 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 21 GPIO_ACTIVE_LOW>; ++ linux,code = ; ++ }; ++ ++ wps { ++ label = "wps"; ++ gpios = <&gpio 56 GPIO_ACTIVE_LOW>; ++ linux,code = ; ++ }; ++ }; ++ ++ leds { ++ compatible = "gpio-leds"; ++ ++ led_status_green: pwr { ++ label = "green:status"; ++ gpios = <&gpio 13 GPIO_ACTIVE_HIGH>; ++ default-state = "off"; ++ }; ++ ++ led_sfp_green: sfp { ++ label = "green:sfp"; ++ gpios = <&gpio 24 GPIO_ACTIVE_HIGH>; ++ default-state = "off"; ++ }; ++ }; ++}; ++ ++&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 = ; ++ bias-pull-up = ; ++ }; ++ ++ conf-pd { ++ pins = "SPI2_CLK", "SPI2_MOSI", "SPI2_MISO"; ++ drive-strength = ; ++ bias-pull-down = ; ++ }; ++ }; ++}; ++ ++&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 = <20000000>; ++ spi-tx-buswidth = <4>; ++ spi-rx-buswidth = <4>; ++ ++ partitions { ++ compatible = "fixed-partitions"; ++ #address-cells = <1>; ++ #size-cells = <1>; ++ ++ partition@0 { ++ label = "bl2"; ++ reg = <0x0 0x100000>; ++ }; ++ ++ partition@100000 { ++ label = "u-boot-env"; ++ reg = <0x0100000 0x0080000>; ++ }; ++ ++ partition@180000 { ++ label = "Factory"; ++ reg = <0x180000 0x0200000>; ++ }; ++ ++ partition@380000 { ++ label = "fip"; ++ reg = <0x380000 0x0200000>; ++ }; ++ ++ partition@540000 { ++ label = "zloader"; ++ reg = <0x540000 0x0040000>; ++ read-only; ++ }; ++ partition@580000 { ++ label = "ubi"; ++ reg = <0x580000 0x1da80000>; ++ }; ++ }; ++ }; ++}; ++ ++&watchdog { ++ status = "disabled"; ++}; ++ +--- /dev/null ++++ b/zyxel_ex5601-t0_env +@@ -0,0 +1,55 @@ ++ethaddr_factory=mtd read Factory 0x40080000 0x0 0x20000 && env readmem -b ethaddr 0x4008002A 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-zyxel_ex5601-t0-ubootmod-initramfs-recovery.itb ++bootfile_bl2=openwrt-mediatek-filogic-zyxel_ex5601-t0-ubootmod-preloader.bin ++bootfile_fip=openwrt-mediatek-filogic-zyxel_ex5601-t0-ubootmod-bl31-uboot.fip ++bootfile_upg=openwrt-mediatek-filogic-zyxel_ex5601-t0-ubootmod-squashfs-sysupgrade.itb ++bootmenu_confirm_return=askenv - Press ENTER to return to menu ; bootmenu 60 ++bootmenu_default=0 ++bootmenu_delay=0 ++bootmenu_title= ( ( ( OpenWrt ) ) ) ++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=Load BL31+U-Boot FIP via TFTP then write to NAND.=run boot_tftp_write_fip ; run bootmenu_confirm_return ++bootmenu_7=Load BL2 preloader via TFTP then write to NAND.=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 0 ; ubi check ubootenv2 || ubi create ubootenv2 0x100000 dynamic 1 ++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 $ver" diff --git a/package/kernel/mwlwifi/Makefile b/package/kernel/mwlwifi/Makefile index cd1a1b2387..9244f656c8 100644 --- a/package/kernel/mwlwifi/Makefile +++ b/package/kernel/mwlwifi/Makefile @@ -8,16 +8,16 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mwlwifi -PKG_RELEASE=2 +PKG_RELEASE=1 PKG_LICENSE:=ISC PKG_LICENSE_FILES:= PKG_SOURCE_URL:=https://github.com/kaloz/mwlwifi PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2023-04-29 -PKG_SOURCE_VERSION:=6a436714d2ea0d0adf39fc4d7d45e6a17fcc9371 -PKG_MIRROR_HASH:=dcc320a8f859b732ff65c7ded0b5199a625bfba05a775a6bed15ed3c10cb2748 +PKG_SOURCE_DATE:=2023-11-20 +PKG_SOURCE_VERSION:=2a5a4ae31a2ad1b432a1dcb6ef6c3298e3330b2c +PKG_MIRROR_HASH:=b1151051ed6eba063c05916d8dbc4f03f804772d217e8c65b7baa263ded7a961 PKG_MAINTAINER:=Imre Kaloz PKG_BUILD_PARALLEL:=1 diff --git a/package/kernel/mwlwifi/patches/001-Fix-compilation-warning-with-64-bit-system.patch b/package/kernel/mwlwifi/patches/001-Fix-compilation-warning-with-64-bit-system.patch index 8e71918cf3..80e708a5e1 100644 --- a/package/kernel/mwlwifi/patches/001-Fix-compilation-warning-with-64-bit-system.patch +++ b/package/kernel/mwlwifi/patches/001-Fix-compilation-warning-with-64-bit-system.patch @@ -117,11 +117,9 @@ Signed-off-by: Christian Marangi hif/pcie/tx_ndp.c | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) -diff --git a/debugfs.c b/debugfs.c -index 39b09fd..42efd28 100644 --- a/debugfs.c +++ b/debugfs.c -@@ -1332,7 +1332,7 @@ done: +@@ -1342,7 +1342,7 @@ done: priv->reg_value); else len += scnprintf(p + len, size - len, @@ -130,11 +128,9 @@ index 39b09fd..42efd28 100644 ret, priv->reg_type, priv->reg_offset, priv->reg_value); -diff --git a/hif/fwcmd.c b/hif/fwcmd.c -index 376b58f..582c8d2 100644 --- a/hif/fwcmd.c +++ b/hif/fwcmd.c -@@ -3604,7 +3604,7 @@ int mwl_fwcmd_get_fw_core_dump(struct ieee80211_hw *hw, +@@ -3623,7 +3623,7 @@ int mwl_fwcmd_get_fw_core_dump(struct ie core_dump->size_kb = pcmd->cmd_data.coredump.size_kb; core_dump->flags = pcmd->cmd_data.coredump.flags; memcpy(buff, @@ -143,11 +139,20 @@ index 376b58f..582c8d2 100644 sizeof(struct hostcmd_cmd_get_fw_core_dump) - sizeof(struct hostcmd_cmd_get_fw_core_dump_)), MAX_CORE_DUMP_BUFFER); -diff --git a/hif/pcie/pcie.c b/hif/pcie/pcie.c -index 24453b6..5b6c633 100644 +--- a/hif/pcie/8964/tx_ndp.c ++++ b/hif/pcie/8964/tx_ndp.c +@@ -336,7 +336,7 @@ int pcie_tx_init_ndp(struct ieee80211_hw + + if (sizeof(struct pcie_tx_ctrl_ndp) > + sizeof(tx_info->driver_data)) { +- wiphy_err(hw->wiphy, "driver data is not enough: %d (%d)\n", ++ wiphy_err(hw->wiphy, "driver data is not enough: %zu (%zu)\n", + sizeof(struct pcie_tx_ctrl_ndp), + sizeof(tx_info->driver_data)); + return -ENOMEM; --- a/hif/pcie/pcie.c +++ b/hif/pcie/pcie.c -@@ -1320,8 +1320,8 @@ static void pcie_bf_mimo_ctrl_decode(struct mwl_priv *priv, +@@ -1464,8 +1464,8 @@ static void pcie_bf_mimo_ctrl_decode(str &fp_data->f_pos); filp_close(fp_data, current->files); } else { @@ -158,19 +163,3 @@ index 24453b6..5b6c633 100644 } #if LINUX_VERSION_CODE < KERNEL_VERSION(5,10,0) -diff --git a/hif/pcie/tx_ndp.c b/hif/pcie/tx_ndp.c -index 6758cde..3140a2e 100644 ---- a/hif/pcie/tx_ndp.c -+++ b/hif/pcie/tx_ndp.c -@@ -335,7 +335,7 @@ int pcie_tx_init_ndp(struct ieee80211_hw *hw) - - if (sizeof(struct pcie_tx_ctrl_ndp) > - sizeof(tx_info->status.status_driver_data)) { -- wiphy_err(hw->wiphy, "driver data is not enough: %d (%d)\n", -+ wiphy_err(hw->wiphy, "driver data is not enough: %zu (%zu)\n", - sizeof(struct pcie_tx_ctrl_ndp), - sizeof(tx_info->status.status_driver_data)); - return -ENOMEM; --- -2.39.2 - diff --git a/package/kernel/mwlwifi/patches/004-mwlwifi-fix-PCIe-DT-node-null-pointer-dereference.patch b/package/kernel/mwlwifi/patches/004-mwlwifi-fix-PCIe-DT-node-null-pointer-dereference.patch index 3d9ec4dcfb..f37d2f8171 100644 --- a/package/kernel/mwlwifi/patches/004-mwlwifi-fix-PCIe-DT-node-null-pointer-dereference.patch +++ b/package/kernel/mwlwifi/patches/004-mwlwifi-fix-PCIe-DT-node-null-pointer-dereference.patch @@ -19,7 +19,7 @@ Signed-off-by: Robert Marko --- a/hif/pcie/pcie.c +++ b/hif/pcie/pcie.c -@@ -573,7 +573,8 @@ static struct device_node *pcie_get_devi +@@ -685,7 +685,8 @@ static struct device_node *pcie_get_devi struct device_node *dev_node; dev_node = pci_bus_to_OF_node(pcie_priv->pdev->bus); diff --git a/package/kernel/mwlwifi/patches/005-mac80211_update.patch b/package/kernel/mwlwifi/patches/005-mac80211_update.patch index c11cf8c946..92a8f2f70f 100644 --- a/package/kernel/mwlwifi/patches/005-mac80211_update.patch +++ b/package/kernel/mwlwifi/patches/005-mac80211_update.patch @@ -1,6 +1,6 @@ --- a/core.c +++ b/core.c -@@ -706,7 +706,7 @@ static void mwl_chnl_switch_event(struct +@@ -718,7 +718,7 @@ static void mwl_chnl_switch_event(struct vif = container_of((void *)mwl_vif, struct ieee80211_vif, drv_priv); @@ -11,7 +11,7 @@ spin_unlock_bh(&priv->vif_lock); --- a/debugfs.c +++ b/debugfs.c -@@ -455,9 +455,9 @@ static ssize_t mwl_debugfs_vif_read(stru +@@ -498,9 +498,9 @@ static ssize_t mwl_debugfs_vif_read(stru switch (vif->type) { case NL80211_IFTYPE_AP: len += scnprintf(p + len, size - len, "type: ap\n"); @@ -24,7 +24,7 @@ len += scnprintf(p + len, size - len, "ssid: %s\n", ssid); len += scnprintf(p + len, size - len, -@@ -479,8 +479,8 @@ static ssize_t mwl_debugfs_vif_read(stru +@@ -522,8 +522,8 @@ static ssize_t mwl_debugfs_vif_read(stru "type: unknown\n"); break; } @@ -35,62 +35,58 @@ len += scnprintf(p + len, size - len, "channel: %d: width: %d\n", chan_def->chan->hw_value, -@@ -564,28 +564,28 @@ static ssize_t mwl_debugfs_sta_read(stru - "amsdu cap: 0x%02x\n", - sta_info->amsdu_ctrl.cap); - } -- if (sta->ht_cap.ht_supported) { -+ if (sta->deflink.ht_cap.ht_supported) { - len += scnprintf(p + len, size - len, - "ht_cap: 0x%04x, ampdu: %02x, %02x\n", -- sta->ht_cap.cap, -- sta->ht_cap.ampdu_factor, -- sta->ht_cap.ampdu_density); -+ sta->deflink.ht_cap.cap, -+ sta->deflink.ht_cap.ampdu_factor, -+ sta->deflink.ht_cap.ampdu_density); - len += scnprintf(p + len, size - len, - "rx_mask: 0x%02x, %02x, %02x, %02x\n", -- sta->ht_cap.mcs.rx_mask[0], -- sta->ht_cap.mcs.rx_mask[1], -- sta->ht_cap.mcs.rx_mask[2], -- sta->ht_cap.mcs.rx_mask[3]); -+ sta->deflink.ht_cap.mcs.rx_mask[0], -+ sta->deflink.ht_cap.mcs.rx_mask[1], -+ sta->deflink.ht_cap.mcs.rx_mask[2], -+ sta->deflink.ht_cap.mcs.rx_mask[3]); - } -- if (sta->vht_cap.vht_supported) { -+ if (sta->deflink.vht_cap.vht_supported) { - len += scnprintf(p + len, size - len, - "vht_cap: 0x%08x, mcs: %02x, %02x\n", -- sta->vht_cap.cap, -- sta->vht_cap.vht_mcs.rx_mcs_map, -- sta->vht_cap.vht_mcs.tx_mcs_map); -+ sta->deflink.vht_cap.cap, -+ sta->deflink.vht_cap.vht_mcs.rx_mcs_map, -+ sta->deflink.vht_cap.vht_mcs.tx_mcs_map); - } - len += scnprintf(p + len, size - len, "rx_bw: %d, rx_nss: %d\n", -- sta->bandwidth, sta->rx_nss); -+ sta->deflink.bandwidth, sta->deflink.rx_nss); - len += scnprintf(p + len, size - len, - "tdls: %d, tdls_init: %d\n", - sta->tdls, sta->tdls_initiator); +@@ -596,18 +596,18 @@ static ssize_t mwl_debugfs_sta_read(stru + sta_info->wds ? "true" : "false", + sta_info->ba_hist.enable ? "enable" : "disable", + sta_info->is_amsdu_allowed ? sta_info->amsdu_ctrl.cap : 0 , +- sta->ht_cap.ht_supported ? sta->ht_cap.cap : 0, +- sta->ht_cap.ht_supported ? sta->ht_cap.ampdu_factor : 0, +- sta->ht_cap.ht_supported ? sta->ht_cap.ampdu_density : 0, +- sta->ht_cap.ht_supported ? sta->ht_cap.mcs.rx_mask[0] : 0, +- sta->ht_cap.ht_supported ? sta->ht_cap.mcs.rx_mask[1] : 0, +- sta->ht_cap.ht_supported ? sta->ht_cap.mcs.rx_mask[2] : 0, +- sta->ht_cap.ht_supported ? sta->ht_cap.mcs.rx_mask[3] : 0, +- sta->vht_cap.vht_supported ? sta->vht_cap.cap : 0, +- sta->vht_cap.vht_supported ? sta->vht_cap.vht_mcs.rx_mcs_map : 0, +- sta->vht_cap.vht_supported ? sta->vht_cap.vht_mcs.tx_mcs_map : 0, +- sta->bandwidth, +- sta->rx_nss, ++ sta->deflink.ht_cap.ht_supported ? sta->deflink.ht_cap.cap : 0, ++ sta->deflink.ht_cap.ht_supported ? sta->deflink.ht_cap.ampdu_factor : 0, ++ sta->deflink.ht_cap.ht_supported ? sta->deflink.ht_cap.ampdu_density : 0, ++ sta->deflink.ht_cap.ht_supported ? sta->deflink.ht_cap.mcs.rx_mask[0] : 0, ++ sta->deflink.ht_cap.ht_supported ? sta->deflink.ht_cap.mcs.rx_mask[1] : 0, ++ sta->deflink.ht_cap.ht_supported ? sta->deflink.ht_cap.mcs.rx_mask[2] : 0, ++ sta->deflink.ht_cap.ht_supported ? sta->deflink.ht_cap.mcs.rx_mask[3] : 0, ++ sta->deflink.vht_cap.vht_supported ? sta->deflink.vht_cap.cap : 0, ++ sta->deflink.vht_cap.vht_supported ? sta->deflink.vht_cap.vht_mcs.rx_mcs_map : 0, ++ sta->deflink.vht_cap.vht_supported ? sta->deflink.vht_cap.vht_mcs.tx_mcs_map : 0, ++ sta->deflink.bandwidth, ++ sta->deflink.rx_nss, + sta->tdls, + sta->tdls_initiator, + sta->wme, --- a/hif/fwcmd.c +++ b/hif/fwcmd.c -@@ -634,8 +634,9 @@ einval: +@@ -633,11 +633,15 @@ einval: + } static int mwl_fwcmd_set_ap_beacon(struct mwl_priv *priv, - struct mwl_vif *mwl_vif, +- struct mwl_vif *mwl_vif, - struct ieee80211_bss_conf *bss_conf) + struct ieee80211_vif *vif) { -+ struct ieee80211_bss_conf *bss_conf = &vif->bss_conf; struct hostcmd_cmd_ap_beacon *pcmd; struct ds_params *phy_ds_param_set; ++ struct mwl_vif *mwl_vif; ++ struct ieee80211_bss_conf *bss_conf; ++ ++ mwl_vif = mwl_dev_get_vif(vif); ++ bss_conf = &vif->bss_conf; -@@ -664,7 +665,7 @@ static int mwl_fwcmd_set_ap_beacon(struc + /* wmm structure of start command is defined less one byte, + * due to following field country is not used, add byte one +@@ -664,7 +668,7 @@ static int mwl_fwcmd_set_ap_beacon(struc pcmd->cmd_hdr.macid = mwl_vif->macid; ether_addr_copy(pcmd->start_cmd.sta_mac_addr, mwl_vif->bssid); @@ -99,16 +95,16 @@ if (priv->chip_type == MWL8997) ether_addr_copy(pcmd->start_cmd.bssid, mwl_vif->bssid); pcmd->start_cmd.bss_type = 1; -@@ -2091,7 +2092,7 @@ int mwl_fwcmd_set_beacon(struct ieee8021 +@@ -2090,7 +2094,7 @@ int mwl_fwcmd_set_beacon(struct ieee8021 if (mwl_fwcmd_set_wsc_ie(hw, b_inf->ie_wsc_len, b_inf->ie_wsc_ptr)) goto err; - if (mwl_fwcmd_set_ap_beacon(priv, mwl_vif, &vif->bss_conf)) -+ if (mwl_fwcmd_set_ap_beacon(priv, mwl_vif, vif)) ++ if (mwl_fwcmd_set_ap_beacon(priv, vif)) goto err; if (b_inf->cap_info & WLAN_CAPABILITY_SPECTRUM_MGMT) -@@ -2153,38 +2154,38 @@ int mwl_fwcmd_set_new_stn_add(struct iee +@@ -2152,38 +2156,38 @@ int mwl_fwcmd_set_new_stn_add(struct iee ether_addr_copy(pcmd->mac_addr, sta->addr); if (hw->conf.chandef.chan->band == NL80211_BAND_2GHZ) @@ -161,7 +157,7 @@ } pcmd->is_qos_sta = sta->wme; -@@ -2240,38 +2241,38 @@ int mwl_fwcmd_set_new_stn_add_sc4(struct +@@ -2239,38 +2243,38 @@ int mwl_fwcmd_set_new_stn_add_sc4(struct ether_addr_copy(pcmd->mac_addr, sta->addr); if (hw->conf.chandef.chan->band == NL80211_BAND_2GHZ) @@ -214,7 +210,7 @@ } pcmd->is_qos_sta = sta->wme; -@@ -2788,9 +2789,9 @@ int mwl_fwcmd_create_ba(struct ieee80211 +@@ -2787,9 +2791,9 @@ int mwl_fwcmd_create_ba(struct ieee80211 pcmd->ba_info.create_params.flags = cpu_to_le32(ba_flags); pcmd->ba_info.create_params.queue_id = stream->idx; pcmd->ba_info.create_params.param_info = @@ -226,7 +222,7 @@ IEEE80211_HT_AMPDU_PARM_DENSITY); if (direction == BA_FLAG_DIRECTION_UP) { pcmd->ba_info.create_params.reset_seq_no = 0; -@@ -2800,9 +2801,9 @@ int mwl_fwcmd_create_ba(struct ieee80211 +@@ -2799,9 +2803,9 @@ int mwl_fwcmd_create_ba(struct ieee80211 pcmd->ba_info.create_params.current_seq = cpu_to_le16(0); } if (priv->chip_type == MWL8964 && @@ -238,9 +234,51 @@ IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK) >> IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_SHIFT); } +--- a/hif/pcie/8864/tx.c ++++ b/hif/pcie/8864/tx.c +@@ -743,7 +743,7 @@ void pcie_8864_tx_xmit(struct ieee80211_ + index = SYSADPT_TX_WMM_QUEUES - index - 1; + txpriority = index; + +- if (sta && sta->ht_cap.ht_supported && ++ if (sta && sta->deflink.ht_cap.ht_supported && + !(xmitcontrol & EAGLE_TXD_XMITCTRL_USE_MC_RATE) && + ieee80211_is_data_qos(wh->frame_control)) { + tid = qos & 0xf; +--- a/hif/pcie/8964/tx_ndp.c ++++ b/hif/pcie/8964/tx_ndp.c +@@ -607,7 +607,7 @@ void pcie_tx_xmit_ndp(struct ieee80211_h + pcie_tx_encapsulate_frame(priv, skb, k_conf); + } else { + tid = qos & 0x7; +- if (sta && sta->ht_cap.ht_supported && !eapol_frame && ++ if (sta && sta->deflink.ht_cap.ht_supported && !eapol_frame && + qos != 0xFFFF) { + pcie_tx_count_packet(sta, tid); + spin_lock_bh(&priv->stream_lock); +--- a/hif/pcie/8997/tx.c ++++ b/hif/pcie/8997/tx.c +@@ -81,7 +81,7 @@ static int pcie_txbd_ring_create(struct + wiphy_info(priv->hw->wiphy, + "TX ring: - base: %p, pbase: 0x%x, len: %d\n", + pcie_priv->txbd_ring_vbase, +- pcie_priv->txbd_ring_pbase, ++ (u32)pcie_priv->txbd_ring_pbase, + pcie_priv->txbd_ring_size); + + for (num = 0; num < PCIE_MAX_TXRX_BD; num++) { +@@ -694,7 +694,7 @@ void pcie_8997_tx_xmit(struct ieee80211_ + index = SYSADPT_TX_WMM_QUEUES - index - 1; + txpriority = index; + +- if (sta && sta->ht_cap.ht_supported && ++ if (sta && sta->deflink.ht_cap.ht_supported && + !(xmitcontrol & EAGLE_TXD_XMITCTRL_USE_MC_RATE) && + ieee80211_is_data_qos(wh->frame_control)) { + tid = qos & 0xf; --- a/mac80211.c +++ b/mac80211.c -@@ -371,15 +371,15 @@ static void mwl_mac80211_bss_info_change +@@ -368,15 +368,15 @@ static void mwl_mac80211_bss_info_change } } @@ -259,7 +297,7 @@ { struct mwl_priv *priv = hw->priv; struct mwl_vif *mwl_vif; -@@ -429,8 +429,8 @@ static void mwl_mac80211_bss_info_change +@@ -426,8 +426,8 @@ static void mwl_mac80211_bss_info_change if (changed & (BSS_CHANGED_BEACON_INT | BSS_CHANGED_BEACON)) { struct sk_buff *skb; @@ -270,7 +308,7 @@ (!info->hidden_ssid)) { if (mwl_vif->broadcast_ssid != true) { mwl_fwcmd_broadcast_ssid_enable(hw, vif, true); -@@ -444,7 +444,7 @@ static void mwl_mac80211_bss_info_change +@@ -441,7 +441,7 @@ static void mwl_mac80211_bss_info_change } if (!mwl_vif->set_beacon) { @@ -279,7 +317,7 @@ if (skb) { mwl_fwcmd_set_beacon(hw, vif, skb->data, skb->len); -@@ -461,7 +461,7 @@ static void mwl_mac80211_bss_info_change +@@ -458,7 +458,7 @@ static void mwl_mac80211_bss_info_change static void mwl_mac80211_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_bss_conf *info, @@ -288,7 +326,7 @@ { switch (vif->type) { case NL80211_IFTYPE_AP: -@@ -584,10 +584,10 @@ static int mwl_mac80211_sta_add(struct i +@@ -583,10 +583,10 @@ static int mwl_mac80211_sta_add(struct i if (vif->type == NL80211_IFTYPE_MESH_POINT) sta_info->is_mesh_node = true; @@ -296,12 +334,12 @@ + if (sta->deflink.ht_cap.ht_supported) { sta_info->is_ampdu_allowed = true; sta_info->is_amsdu_allowed = false; -- if (sta->ht_cap.cap & IEEE80211_HT_CAP_MAX_AMSDU) -+ if (sta->deflink.ht_cap.cap & IEEE80211_HT_CAP_MAX_AMSDU) +- if (sta->ht_cap.cap & IEEE80211_HT_CAP_MAX_AMSDU) { ++ if (sta->deflink.ht_cap.cap & IEEE80211_HT_CAP_MAX_AMSDU) { sta_info->amsdu_ctrl.cap = MWL_AMSDU_SIZE_8K; - else - sta_info->amsdu_ctrl.cap = MWL_AMSDU_SIZE_4K; -@@ -669,7 +669,7 @@ static int mwl_mac80211_sta_remove(struc + sta_info->amsdu_ctrl.amsdu_allow_size = SYSADPT_AMSDU_8K_MAX_SIZE; + } +@@ -670,7 +670,7 @@ static int mwl_mac80211_sta_remove(struc static int mwl_mac80211_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, @@ -310,7 +348,7 @@ const struct ieee80211_tx_queue_params *params) { struct mwl_priv *priv = hw->priv; -@@ -928,4 +928,5 @@ const struct ieee80211_ops mwl_mac80211_ +@@ -934,4 +934,5 @@ const struct ieee80211_ops mwl_mac80211_ .pre_channel_switch = mwl_mac80211_chnl_switch, .sw_scan_start = mwl_mac80211_sw_scan_start, .sw_scan_complete = mwl_mac80211_sw_scan_complete, @@ -360,34 +398,3 @@ switch (format) { case TX_RATE_FORMAT_LEGACY: ---- a/hif/pcie/tx.c -+++ b/hif/pcie/tx.c -@@ -153,7 +153,7 @@ static int pcie_txbd_ring_create(struct - wiphy_info(priv->hw->wiphy, - "TX ring: - base: %p, pbase: 0x%x, len: %d\n", - pcie_priv->txbd_ring_vbase, -- pcie_priv->txbd_ring_pbase, -+ (u32)pcie_priv->txbd_ring_pbase, - pcie_priv->txbd_ring_size); - - for (num = 0; num < PCIE_MAX_TXRX_BD; num++) { -@@ -1091,7 +1091,7 @@ void pcie_tx_xmit(struct ieee80211_hw *h - index = SYSADPT_TX_WMM_QUEUES - index - 1; - txpriority = index; - -- if (sta && sta->ht_cap.ht_supported && !eapol_frame && -+ if (sta && sta->deflink.ht_cap.ht_supported && !eapol_frame && - ieee80211_is_data_qos(wh->frame_control)) { - tid = qos & 0xf; - pcie_tx_count_packet(sta, tid); ---- a/hif/pcie/tx_ndp.c -+++ b/hif/pcie/tx_ndp.c -@@ -602,7 +602,7 @@ void pcie_tx_xmit_ndp(struct ieee80211_h - pcie_tx_encapsulate_frame(priv, skb, k_conf, NULL); - } else { - tid = qos & 0x7; -- if (sta && sta->ht_cap.ht_supported && !eapol_frame && -+ if (sta && sta->deflink.ht_cap.ht_supported && !eapol_frame && - qos != 0xFFFF) { - pcie_tx_count_packet(sta, tid); - spin_lock_bh(&priv->stream_lock); diff --git a/package/kernel/mwlwifi/patches/006-remove-uaccess-and-get_fs-calls-from-PCIe-for-Kenel-.patch b/package/kernel/mwlwifi/patches/006-remove-uaccess-and-get_fs-calls-from-PCIe-for-Kenel-.patch index c81561a149..2a49daa943 100644 --- a/package/kernel/mwlwifi/patches/006-remove-uaccess-and-get_fs-calls-from-PCIe-for-Kenel-.patch +++ b/package/kernel/mwlwifi/patches/006-remove-uaccess-and-get_fs-calls-from-PCIe-for-Kenel-.patch @@ -19,11 +19,9 @@ Signed-off-by: Stefan Kalscheuer hif/pcie/pcie.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) -diff --git a/hif/pcie/pcie.c b/hif/pcie/pcie.c -index 24453b6..bee1cc5 100644 --- a/hif/pcie/pcie.c +++ b/hif/pcie/pcie.c -@@ -1294,7 +1294,9 @@ static void pcie_bf_mimo_ctrl_decode(struct mwl_priv *priv, +@@ -1439,7 +1439,9 @@ static void pcie_bf_mimo_ctrl_decode(str const char filename[] = "/tmp/BF_MIMO_Ctrl_Field_Output.txt"; char str_buf[256]; char *buf = &str_buf[0]; @@ -33,7 +31,7 @@ index 24453b6..bee1cc5 100644 #if LINUX_VERSION_CODE < KERNEL_VERSION(5,0,0) oldfs = get_fs(); -@@ -1302,7 +1304,7 @@ static void pcie_bf_mimo_ctrl_decode(struct mwl_priv *priv, +@@ -1447,7 +1449,7 @@ static void pcie_bf_mimo_ctrl_decode(str #elif LINUX_VERSION_CODE < KERNEL_VERSION(5,10,0) oldfs = get_fs(); set_fs(KERNEL_DS); @@ -42,7 +40,7 @@ index 24453b6..bee1cc5 100644 oldfs = force_uaccess_begin(); #endif -@@ -1326,7 +1328,7 @@ static void pcie_bf_mimo_ctrl_decode(struct mwl_priv *priv, +@@ -1471,7 +1473,7 @@ static void pcie_bf_mimo_ctrl_decode(str #if LINUX_VERSION_CODE < KERNEL_VERSION(5,10,0) set_fs(oldfs); diff --git a/package/kernel/mwlwifi/patches/007-replace-usage-of-the-deprecated-pci-dma-compat.h-API.patch b/package/kernel/mwlwifi/patches/007-replace-usage-of-the-deprecated-pci-dma-compat.h-API.patch index 1faff18c84..b752d72f78 100644 --- a/package/kernel/mwlwifi/patches/007-replace-usage-of-the-deprecated-pci-dma-compat.h-API.patch +++ b/package/kernel/mwlwifi/patches/007-replace-usage-of-the-deprecated-pci-dma-compat.h-API.patch @@ -24,11 +24,9 @@ Signed-off-by: Stefan Kalscheuer hif/pcie/tx_ndp.c | 14 +++++++------- 5 files changed, 39 insertions(+), 39 deletions(-) -diff --git a/hif/pcie/pcie.c b/hif/pcie/pcie.c -index bee1cc5..d85c29e 100644 --- a/hif/pcie/pcie.c +++ b/hif/pcie/pcie.c -@@ -1556,7 +1556,7 @@ static int pcie_probe(struct pci_dev *pdev, const struct pci_device_id *id) +@@ -1701,7 +1701,7 @@ static int pcie_probe(struct pci_dev *pd return rc; } @@ -37,11 +35,9 @@ index bee1cc5..d85c29e 100644 if (rc) { pr_err("%s: 32-bit PCI DMA not supported\n", PCIE_DRV_NAME); -diff --git a/hif/pcie/rx.c b/hif/pcie/rx.c -index 91eb984..2857c0f 100644 ---- a/hif/pcie/rx.c -+++ b/hif/pcie/rx.c -@@ -107,11 +107,11 @@ static int pcie_rx_ring_init(struct mwl_priv *priv) +--- a/hif/pcie/8864/rx.c ++++ b/hif/pcie/8864/rx.c +@@ -107,11 +107,11 @@ static int pcie_rx_ring_init(struct mwl_ desc->prx_ring[i].rssi = 0x00; desc->prx_ring[i].pkt_len = cpu_to_le16(SYSADPT_MAX_AGGR_SIZE); @@ -56,7 +52,7 @@ index 91eb984..2857c0f 100644 wiphy_err(priv->hw->wiphy, "failed to map pci memory!\n"); return -ENOMEM; -@@ -153,11 +153,11 @@ static void pcie_rx_ring_cleanup(struct mwl_priv *priv) +@@ -153,11 +153,11 @@ static void pcie_rx_ring_cleanup(struct if (!rx_hndl->psk_buff) continue; @@ -70,12 +66,12 @@ index 91eb984..2857c0f 100644 dev_kfree_skb_any(rx_hndl->psk_buff); -@@ -335,11 +335,11 @@ static inline int pcie_rx_refill(struct mwl_priv *priv, +@@ -332,11 +332,11 @@ static inline int pcie_rx_refill(struct rx_hndl->pdesc->rssi = 0x00; rx_hndl->pdesc->pkt_len = cpu_to_le16(desc->rx_buf_size); - dma = pci_map_single(pcie_priv->pdev, -+ dma = dma_map_single(&(pcie_priv->pdev)->dev, ++ dma = dma_map_single(&pcie_priv->pdev->dev, rx_hndl->psk_buff->data, desc->rx_buf_size, - PCI_DMA_FROMDEVICE); @@ -85,7 +81,7 @@ index 91eb984..2857c0f 100644 dev_kfree_skb_any(rx_hndl->psk_buff); wiphy_err(priv->hw->wiphy, "failed to map pci memory!\n"); -@@ -413,10 +413,10 @@ void pcie_rx_recv(unsigned long data) +@@ -410,10 +410,10 @@ void pcie_8864_rx_recv(unsigned long dat prx_skb = curr_hndl->psk_buff; if (!prx_skb) goto out; @@ -98,11 +94,58 @@ index 91eb984..2857c0f 100644 pkt_len = le16_to_cpu(curr_hndl->pdesc->pkt_len); if (skb_tailroom(prx_skb) < pkt_len) { -diff --git a/hif/pcie/rx_ndp.c b/hif/pcie/rx_ndp.c -index 228075d..106d559 100644 ---- a/hif/pcie/rx_ndp.c -+++ b/hif/pcie/rx_ndp.c -@@ -86,11 +86,11 @@ static int pcie_rx_ring_init_ndp(struct mwl_priv *priv) +--- a/hif/pcie/8864/tx.c ++++ b/hif/pcie/8864/tx.c +@@ -171,11 +171,11 @@ static void pcie_tx_ring_cleanup(struct + desc->tx_hndl[i].psk_buff->data, + le32_to_cpu( + desc->ptx_ring[i].pkt_ptr)); +- pci_unmap_single(pcie_priv->pdev, ++ dma_unmap_single(&(pcie_priv->pdev)->dev, + le32_to_cpu( + desc->ptx_ring[i].pkt_ptr), + desc->tx_hndl[i].psk_buff->len, +- PCI_DMA_TODEVICE); ++ DMA_TO_DEVICE); + dev_kfree_skb_any(desc->tx_hndl[i].psk_buff); + desc->ptx_ring[i].status = + cpu_to_le32(EAGLE_TXD_STATUS_IDLE); +@@ -291,9 +291,9 @@ static inline void pcie_tx_skb(struct mw + tx_desc->type = tx_ctrl->type; + tx_desc->xmit_control = tx_ctrl->xmit_control; + tx_desc->sap_pkt_info = 0; +- dma = pci_map_single(pcie_priv->pdev, tx_skb->data, +- tx_skb->len, PCI_DMA_TODEVICE); +- if (pci_dma_mapping_error(pcie_priv->pdev, dma)) { ++ dma = dma_map_single(&(pcie_priv->pdev)->dev, tx_skb->data, ++ tx_skb->len, DMA_TO_DEVICE); ++ if (dma_mapping_error(&(pcie_priv->pdev)->dev, dma)) { + dev_kfree_skb_any(tx_skb); + wiphy_err(priv->hw->wiphy, + "failed to map pci memory!\n"); +@@ -447,10 +447,10 @@ static void pcie_non_pfu_tx_done(struct + (tx_desc->status & cpu_to_le32(EAGLE_TXD_STATUS_OK)) && + (!(tx_desc->status & + cpu_to_le32(EAGLE_TXD_STATUS_FW_OWNED)))) { +- pci_unmap_single(pcie_priv->pdev, ++ dma_unmap_single(&(pcie_priv->pdev)->dev, + le32_to_cpu(tx_desc->pkt_ptr), + le16_to_cpu(tx_desc->pkt_len), +- PCI_DMA_TODEVICE); ++ DMA_TO_DEVICE); + done_skb = tx_hndl->psk_buff; + rate = le32_to_cpu(tx_desc->rate_info); + tx_desc->pkt_ptr = 0; +@@ -925,4 +925,4 @@ void pcie_8864_tx_del_sta_amsdu_pkts(str + } + } + spin_unlock_bh(&sta_info->amsdu_lock); +-} +\ No newline at end of file ++} +--- a/hif/pcie/8964/rx_ndp.c ++++ b/hif/pcie/8964/rx_ndp.c +@@ -86,11 +86,11 @@ static int pcie_rx_ring_init_ndp(struct } skb_reserve(psk_buff, MIN_BYTES_RX_HEADROOM); @@ -117,7 +160,7 @@ index 228075d..106d559 100644 wiphy_err(priv->hw->wiphy, "failed to map pci memory!\n"); return -ENOMEM; -@@ -120,11 +120,11 @@ static void pcie_rx_ring_cleanup_ndp(struct mwl_priv *priv) +@@ -120,11 +120,11 @@ static void pcie_rx_ring_cleanup_ndp(str if (desc->prx_ring) { for (i = 0; i < MAX_NUM_RX_DESC; i++) { if (desc->rx_vbuflist[i]) { @@ -131,7 +174,7 @@ index 228075d..106d559 100644 desc->rx_vbuflist[i] = NULL; } } -@@ -400,11 +400,11 @@ static inline int pcie_rx_refill_ndp(struct mwl_priv *priv, u32 buf_idx) +@@ -411,11 +411,11 @@ static inline int pcie_rx_refill_ndp(str return -ENOMEM; skb_reserve(psk_buff, MIN_BYTES_RX_HEADROOM); @@ -146,7 +189,7 @@ index 228075d..106d559 100644 wiphy_err(priv->hw->wiphy, "refill: failed to map pci memory!\n"); return -ENOMEM; -@@ -509,10 +509,10 @@ recheck: +@@ -520,10 +520,10 @@ recheck: break; } @@ -159,81 +202,9 @@ index 228075d..106d559 100644 bad_mic = false; ctrl = le32_to_cpu(prx_ring_done->ctrl); -diff --git a/hif/pcie/tx.c b/hif/pcie/tx.c -index 62a34a8..8f3c828 100644 ---- a/hif/pcie/tx.c -+++ b/hif/pcie/tx.c -@@ -243,11 +243,11 @@ static void pcie_tx_ring_cleanup(struct mwl_priv *priv) - desc->tx_hndl[i].psk_buff->data, - le32_to_cpu( - desc->ptx_ring[i].pkt_ptr)); -- pci_unmap_single(pcie_priv->pdev, -+ dma_unmap_single(&(pcie_priv->pdev)->dev, - le32_to_cpu( - desc->ptx_ring[i].pkt_ptr), - desc->tx_hndl[i].psk_buff->len, -- PCI_DMA_TODEVICE); -+ DMA_TO_DEVICE); - dev_kfree_skb_any(desc->tx_hndl[i].psk_buff); - desc->ptx_ring[i].status = - cpu_to_le32(EAGLE_TXD_STATUS_IDLE); -@@ -305,10 +305,10 @@ static void pcie_txbd_ring_delete(struct mwl_priv *priv) - skb = pcie_priv->tx_buf_list[num]; - tx_desc = (struct pcie_tx_desc *)skb->data; - -- pci_unmap_single(pcie_priv->pdev, -+ dma_unmap_single(&(pcie_priv->pdev)->dev, - le32_to_cpu(tx_desc->pkt_ptr), - skb->len, -- PCI_DMA_TODEVICE); -+ DMA_TO_DEVICE); - dev_kfree_skb_any(skb); - } - pcie_priv->tx_buf_list[num] = NULL; -@@ -453,9 +453,9 @@ static inline void pcie_tx_skb(struct mwl_priv *priv, int desc_num, - tx_desc->type = tx_ctrl->type; - tx_desc->xmit_control = tx_ctrl->xmit_control; - tx_desc->sap_pkt_info = 0; -- dma = pci_map_single(pcie_priv->pdev, tx_skb->data, -- tx_skb->len, PCI_DMA_TODEVICE); -- if (pci_dma_mapping_error(pcie_priv->pdev, dma)) { -+ dma = dma_map_single(&(pcie_priv->pdev)->dev, tx_skb->data, -+ tx_skb->len, DMA_TO_DEVICE); -+ if (dma_mapping_error(&(pcie_priv->pdev)->dev, dma)) { - dev_kfree_skb_any(tx_skb); - wiphy_err(priv->hw->wiphy, - "failed to map pci memory!\n"); -@@ -676,10 +676,10 @@ static void pcie_pfu_tx_done(struct mwl_priv *priv) - pfu_dma = (struct pcie_pfu_dma_data *)done_skb->data; - tx_desc = &pfu_dma->tx_desc; - dma_data = &pfu_dma->dma_data; -- pci_unmap_single(pcie_priv->pdev, -+ dma_unmap_single(&(pcie_priv->pdev)->dev, - le32_to_cpu(data_buf->paddr), - le16_to_cpu(data_buf->len), -- PCI_DMA_TODEVICE); -+ DMA_TO_DEVICE); - tx_desc->pkt_ptr = 0; - tx_desc->pkt_len = 0; - tx_desc->status = cpu_to_le32(EAGLE_TXD_STATUS_IDLE); -@@ -768,10 +768,10 @@ static void pcie_non_pfu_tx_done(struct mwl_priv *priv) - (tx_desc->status & cpu_to_le32(EAGLE_TXD_STATUS_OK)) && - (!(tx_desc->status & - cpu_to_le32(EAGLE_TXD_STATUS_FW_OWNED)))) { -- pci_unmap_single(pcie_priv->pdev, -+ dma_unmap_single(&(pcie_priv->pdev)->dev, - le32_to_cpu(tx_desc->pkt_ptr), - le16_to_cpu(tx_desc->pkt_len), -- PCI_DMA_TODEVICE); -+ DMA_TO_DEVICE); - done_skb = tx_hndl->psk_buff; - rate = le32_to_cpu(tx_desc->rate_info); - tx_desc->pkt_ptr = 0; -diff --git a/hif/pcie/tx_ndp.c b/hif/pcie/tx_ndp.c -index 6758cde..f4256c2 100644 ---- a/hif/pcie/tx_ndp.c -+++ b/hif/pcie/tx_ndp.c -@@ -131,10 +131,10 @@ static void pcie_tx_ring_cleanup_ndp(struct mwl_priv *priv) +--- a/hif/pcie/8964/tx_ndp.c ++++ b/hif/pcie/8964/tx_ndp.c +@@ -132,10 +132,10 @@ static void pcie_tx_ring_cleanup_ndp(str for (i = 0; i < MAX_TX_RING_SEND_SIZE; i++) { tx_skb = desc->tx_vbuflist[i]; if (tx_skb) { @@ -246,7 +217,7 @@ index 6758cde..f4256c2 100644 dev_kfree_skb_any(tx_skb); desc->pphys_tx_buflist[i] = 0; desc->tx_vbuflist[i] = NULL; -@@ -266,9 +266,9 @@ static inline int pcie_tx_skb_ndp(struct mwl_priv *priv, +@@ -267,9 +267,9 @@ static inline int pcie_tx_skb_ndp(struct (TXRING_CTRL_TAG_MGMT << TXRING_CTRL_TAG_SHIFT)); } @@ -259,7 +230,7 @@ index 6758cde..f4256c2 100644 dev_kfree_skb_any(tx_skb); wiphy_err(priv->hw->wiphy, "failed to map pci memory!\n"); -@@ -450,10 +450,10 @@ void pcie_tx_done_ndp(struct ieee80211_hw *hw) +@@ -451,10 +451,10 @@ void pcie_tx_done_ndp(struct ieee80211_h "buffer is NULL for tx done ring\n"); break; } @@ -272,4 +243,110 @@ index 6758cde..f4256c2 100644 desc->pphys_tx_buflist[index] = 0; desc->tx_vbuflist[index] = NULL; - +--- a/hif/pcie/8997/rx.c ++++ b/hif/pcie/8997/rx.c +@@ -107,11 +107,11 @@ static int pcie_rx_ring_init(struct mwl_ + desc->prx_ring[i].rssi = 0x00; + desc->prx_ring[i].pkt_len = + cpu_to_le16(SYSADPT_MAX_AGGR_SIZE); +- dma = pci_map_single(pcie_priv->pdev, ++ dma = dma_map_single(&(pcie_priv->pdev)->dev, + rx_hndl->psk_buff->data, + desc->rx_buf_size, +- PCI_DMA_FROMDEVICE); +- if (pci_dma_mapping_error(pcie_priv->pdev, dma)) { ++ DMA_FROM_DEVICE); ++ if (dma_mapping_error(&(pcie_priv->pdev)->dev, dma)) { + wiphy_err(priv->hw->wiphy, + "failed to map pci memory!\n"); + return -ENOMEM; +@@ -153,11 +153,11 @@ static void pcie_rx_ring_cleanup(struct + if (!rx_hndl->psk_buff) + continue; + +- pci_unmap_single(pcie_priv->pdev, ++ dma_unmap_single(&(pcie_priv->pdev)->dev, + le32_to_cpu + (rx_hndl->pdesc->pphys_buff_data), + desc->rx_buf_size, +- PCI_DMA_FROMDEVICE); ++ DMA_FROM_DEVICE); + + dev_kfree_skb_any(rx_hndl->psk_buff); + +@@ -332,11 +332,11 @@ static inline int pcie_rx_refill(struct + rx_hndl->pdesc->rssi = 0x00; + rx_hndl->pdesc->pkt_len = cpu_to_le16(desc->rx_buf_size); + +- dma = pci_map_single(pcie_priv->pdev, ++ dma = dma_map_single(&pcie_priv->pdev->dev, + rx_hndl->psk_buff->data, + desc->rx_buf_size, +- PCI_DMA_FROMDEVICE); +- if (pci_dma_mapping_error(pcie_priv->pdev, dma)) { ++ DMA_FROM_DEVICE); ++ if (dma_mapping_error(&(pcie_priv->pdev)->dev, dma)) { + dev_kfree_skb_any(rx_hndl->psk_buff); + wiphy_err(priv->hw->wiphy, + "failed to map pci memory!\n"); +@@ -410,10 +410,10 @@ void pcie_8997_rx_recv(unsigned long dat + prx_skb = curr_hndl->psk_buff; + if (!prx_skb) + goto out; +- pci_unmap_single(pcie_priv->pdev, ++ dma_unmap_single(&(pcie_priv->pdev)->dev, + le32_to_cpu(curr_hndl->pdesc->pphys_buff_data), + desc->rx_buf_size, +- PCI_DMA_FROMDEVICE); ++ DMA_FROM_DEVICE); + pkt_len = le16_to_cpu(curr_hndl->pdesc->pkt_len); + + if (skb_tailroom(prx_skb) < pkt_len) { +--- a/hif/pcie/8997/tx.c ++++ b/hif/pcie/8997/tx.c +@@ -139,10 +139,10 @@ static void pcie_txbd_ring_delete(struct + skb = pcie_priv->tx_buf_list[num]; + tx_desc = (struct pcie_tx_desc *)skb->data; + +- pci_unmap_single(pcie_priv->pdev, ++ dma_unmap_single(&(pcie_priv->pdev)->dev, + le32_to_cpu(tx_desc->pkt_ptr), + skb->len, +- PCI_DMA_TODEVICE); ++ DMA_TO_DEVICE); + dev_kfree_skb_any(skb); + } + pcie_priv->tx_buf_list[num] = NULL; +@@ -222,9 +222,9 @@ static inline void pcie_tx_skb(struct mw + tx_desc->type = tx_ctrl->type; + tx_desc->xmit_control = tx_ctrl->xmit_control; + tx_desc->sap_pkt_info = 0; +- dma = pci_map_single(pcie_priv->pdev, tx_skb->data, +- tx_skb->len, PCI_DMA_TODEVICE); +- if (pci_dma_mapping_error(pcie_priv->pdev, dma)) { ++ dma = dma_map_single(&(pcie_priv->pdev)->dev, tx_skb->data, ++ tx_skb->len, DMA_TO_DEVICE); ++ if (dma_mapping_error(&(pcie_priv->pdev)->dev, dma)) { + dev_kfree_skb_any(tx_skb); + wiphy_err(priv->hw->wiphy, + "failed to map pci memory!\n"); +@@ -401,10 +401,10 @@ static void pcie_pfu_tx_done(struct mwl_ + pfu_dma = (struct pcie_pfu_dma_data *)done_skb->data; + tx_desc = &pfu_dma->tx_desc; + dma_data = &pfu_dma->dma_data; +- pci_unmap_single(pcie_priv->pdev, ++ dma_unmap_single(&(pcie_priv->pdev)->dev, + le32_to_cpu(data_buf->paddr), + le16_to_cpu(data_buf->len), +- PCI_DMA_TODEVICE); ++ DMA_TO_DEVICE); + tx_desc->pkt_ptr = 0; + tx_desc->pkt_len = 0; + tx_desc->status = cpu_to_le32(EAGLE_TXD_STATUS_IDLE); +@@ -875,4 +875,4 @@ void pcie_8997_tx_del_sta_amsdu_pkts(str + } + } + spin_unlock_bh(&sta_info->amsdu_lock); +-} +\ No newline at end of file ++} diff --git a/package/utils/f2fs-tools/Makefile b/package/utils/f2fs-tools/Makefile index 27a6fd2248..d5dc1a6d78 100644 --- a/package/utils/f2fs-tools/Makefile +++ b/package/utils/f2fs-tools/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=f2fs-tools PKG_VERSION:=1.16.0 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git/snapshot/ @@ -133,10 +133,10 @@ Package/mkf2fs-selinux/install = $(Package/mkf2fs/install) define Package/f2fsck/install $(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/fsck.f2fs $(1)/usr/sbin - ln -s /usr/sbin/fsck.f2fs $(1)/usr/sbin/defrag.f2fs - ln -s /usr/sbin/fsck.f2fs $(1)/usr/sbin/dump.f2fs - ln -s /usr/sbin/fsck.f2fs $(1)/usr/sbin/sload.f2fs - ln -s /usr/sbin/fsck.f2fs $(1)/usr/sbin/resize.f2fs + $(LN) ../sbin/fsck.f2fs $(1)/usr/sbin/defrag.f2fs + $(LN) ../sbin/fsck.f2fs $(1)/usr/sbin/dump.f2fs + $(LN) ../sbin/fsck.f2fs $(1)/usr/sbin/sload.f2fs + $(LN) ../sbin/fsck.f2fs $(1)/usr/sbin/resize.f2fs endef Package/f2fsck-selinux/install = $(Package/f2fsck/install) diff --git a/target/linux/apm821xx/dts/netgear-wndr4700.dts b/target/linux/apm821xx/dts/netgear-wndr4700.dts index cbfe1235e9..0788037981 100644 --- a/target/linux/apm821xx/dts/netgear-wndr4700.dts +++ b/target/linux/apm821xx/dts/netgear-wndr4700.dts @@ -267,23 +267,25 @@ reg = <0x07fc0000 0x00040000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_wifi_0: macaddr@0 { - reg = <0x0 0x6>; - }; - macaddr_wifi_c: macaddr@c { - reg = <0xc 0x6>; - }; + macaddr_wifi_0: macaddr@0 { + reg = <0x0 0x6>; + }; + macaddr_wifi_c: macaddr@c { + reg = <0xc 0x6>; + }; - calibration_wifi_1000: calibration@1000 { - reg = <0x1000 0x440>; - }; + calibration_wifi_1000: calibration@1000 { + reg = <0x1000 0x440>; + }; - calibration_wifi_5000: calibration@5000 { - reg = <0x5000 0x440>; + calibration_wifi_5000: calibration@5000 { + reg = <0x5000 0x440>; + }; }; }; }; diff --git a/target/linux/ath79/dts/ar9342_mikrotik_routerboard-912uag-2hpnd.dts b/target/linux/ath79/dts/ar9342_mikrotik_routerboard-912uag-2hpnd.dts index cda96494e7..f14e138026 100644 --- a/target/linux/ath79/dts/ar9342_mikrotik_routerboard-912uag-2hpnd.dts +++ b/target/linux/ath79/dts/ar9342_mikrotik_routerboard-912uag-2hpnd.dts @@ -52,6 +52,7 @@ partitions { compatible = "fixed-partitions"; + #address-cells = <1>; #size-cells = <1>; partition@0 { diff --git a/target/linux/ath79/dts/qca9531_8dev_lima.dts b/target/linux/ath79/dts/qca9531_8dev_lima.dts index 5a21251d6d..19097d7183 100644 --- a/target/linux/ath79/dts/qca9531_8dev_lima.dts +++ b/target/linux/ath79/dts/qca9531_8dev_lima.dts @@ -67,6 +67,20 @@ label = "art"; reg = <0x080000 0x040000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; + + macaddr_art_6: macaddr@6 { + reg = <0x6 0x6>; + }; + }; }; partition@c0000 { @@ -108,17 +122,3 @@ mtd-cal-data = <&art 0x1000>; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; - - macaddr_art_6: macaddr@6 { - reg = <0x6 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9531_alcatel_hh40v.dts b/target/linux/ath79/dts/qca9531_alcatel_hh40v.dts index 7873f75528..072a0fa27c 100644 --- a/target/linux/ath79/dts/qca9531_alcatel_hh40v.dts +++ b/target/linux/ath79/dts/qca9531_alcatel_hh40v.dts @@ -119,24 +119,26 @@ reg = <0xff0000 0x010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - cal_art_1000: cal@1000 { - reg = <0x1000 0x440>; - }; + cal_art_1000: cal@1000 { + reg = <0x1000 0x440>; + }; - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; - macaddr_art_6: macaddr@6 { - reg = <0x6 0x6>; - }; + macaddr_art_6: macaddr@6 { + reg = <0x6 0x6>; + }; - macaddr_art_1002: macaddr@1002 { - reg = <0x1002 0x6>; + macaddr_art_1002: macaddr@1002 { + reg = <0x1002 0x6>; + }; }; }; }; diff --git a/target/linux/ath79/dts/qca9531_alfa-network_n2q.dts b/target/linux/ath79/dts/qca9531_alfa-network_n2q.dts index 8759198f53..c9cd7038a5 100644 --- a/target/linux/ath79/dts/qca9531_alfa-network_n2q.dts +++ b/target/linux/ath79/dts/qca9531_alfa-network_n2q.dts @@ -106,15 +106,13 @@ }; ð0 { - nvmem-cells = <&macaddr_art_1002>; + nvmem-cells = <&macaddr_art_1002 (-2)>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(-2)>; }; ð1 { - nvmem-cells = <&macaddr_art_1002>; + nvmem-cells = <&macaddr_art_1002 (-1)>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(-1)>; }; &pcie0 { diff --git a/target/linux/ath79/dts/qca9531_alfa-network_pi-wifi4.dts b/target/linux/ath79/dts/qca9531_alfa-network_pi-wifi4.dts index e9e19f9d32..52a6b5431f 100644 --- a/target/linux/ath79/dts/qca9531_alfa-network_pi-wifi4.dts +++ b/target/linux/ath79/dts/qca9531_alfa-network_pi-wifi4.dts @@ -45,9 +45,8 @@ }; ð0 { - nvmem-cells = <&macaddr_art_1002>; + nvmem-cells = <&macaddr_art_1002 (-1)>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(-1)>; }; ð1 { diff --git a/target/linux/ath79/dts/qca9531_alfa-network_r36a.dts b/target/linux/ath79/dts/qca9531_alfa-network_r36a.dts index 6af8d3b8b5..943731e69e 100644 --- a/target/linux/ath79/dts/qca9531_alfa-network_r36a.dts +++ b/target/linux/ath79/dts/qca9531_alfa-network_r36a.dts @@ -50,9 +50,8 @@ }; ð0 { - nvmem-cells = <&macaddr_art_1002>; + nvmem-cells = <&macaddr_art_1002 (-2)>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(-2)>; }; ð1 { @@ -60,9 +59,8 @@ * (GMAC0 -> eth0, GMAC1 -> eth1, same as in old ar71xx target) */ compatible = "qca,qca9530-eth", "syscon", "simple-mfd"; - nvmem-cells = <&macaddr_art_1002>; + nvmem-cells = <&macaddr_art_1002 (-1)>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(-1)>; }; &gpio_export { diff --git a/target/linux/ath79/dts/qca9531_alfa-network_r36a.dtsi b/target/linux/ath79/dts/qca9531_alfa-network_r36a.dtsi index 406985d576..13a2e28619 100644 --- a/target/linux/ath79/dts/qca9531_alfa-network_r36a.dtsi +++ b/target/linux/ath79/dts/qca9531_alfa-network_r36a.dtsi @@ -87,16 +87,20 @@ reg = <0x070000 0x010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - cal_art_1000: cal@1000 { - reg = <0x1000 0x440>; - }; + cal_art_1000: cal@1000 { + reg = <0x1000 0x440>; + }; - macaddr_art_1002: macaddr@1002 { - reg = <0x1002 0x6>; + macaddr_art_1002: macaddr@1002 { + compatible = "mac-base"; + reg = <0x1002 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -120,6 +124,6 @@ &wmac { status = "okay"; - nvmem-cells = <&cal_art_1000>, <&macaddr_art_1002>; + nvmem-cells = <&cal_art_1000>, <&macaddr_art_1002 0>; nvmem-cell-names = "calibration", "mac-address"; }; diff --git a/target/linux/ath79/dts/qca9531_alfa-network_tube-2hq.dts b/target/linux/ath79/dts/qca9531_alfa-network_tube-2hq.dts index f81fe287df..9b35e471e5 100644 --- a/target/linux/ath79/dts/qca9531_alfa-network_tube-2hq.dts +++ b/target/linux/ath79/dts/qca9531_alfa-network_tube-2hq.dts @@ -46,10 +46,8 @@ }; ð0 { - nvmem-cells = <&macaddr_art_1002>; + nvmem-cells = <&macaddr_art_1002 (-1)>; nvmem-cell-names = "mac-address"; - - mac-address-increment = <(-1)>; }; ð1 { diff --git a/target/linux/ath79/dts/qca9531_asus_rp-ac51.dts b/target/linux/ath79/dts/qca9531_asus_rp-ac51.dts index ec8b825ef2..b2777f6cc6 100644 --- a/target/linux/ath79/dts/qca9531_asus_rp-ac51.dts +++ b/target/linux/ath79/dts/qca9531_asus_rp-ac51.dts @@ -97,16 +97,18 @@ reg = <0x050000 0x10000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; - macaddr_art_1002: macaddr@1002 { - reg = <0x1002 0x6>; + macaddr_art_1002: macaddr@1002 { + reg = <0x1002 0x6>; + }; }; }; diff --git a/target/linux/ath79/dts/qca9531_comfast_cf-e130n-v2.dts b/target/linux/ath79/dts/qca9531_comfast_cf-e130n-v2.dts index 4a84e150ae..d0d2a07c2b 100644 --- a/target/linux/ath79/dts/qca9531_comfast_cf-e130n-v2.dts +++ b/target/linux/ath79/dts/qca9531_comfast_cf-e130n-v2.dts @@ -94,6 +94,16 @@ label = "art"; reg = <0x010000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; + }; }; partition@20000 { @@ -134,13 +144,3 @@ nvmem-cell-names = "mac-address"; mtd-cal-data = <&art 0x1000>; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9531_comfast_cf-e313ac.dts b/target/linux/ath79/dts/qca9531_comfast_cf-e313ac.dts index c187521351..d078a9dcce 100644 --- a/target/linux/ath79/dts/qca9531_comfast_cf-e313ac.dts +++ b/target/linux/ath79/dts/qca9531_comfast_cf-e313ac.dts @@ -93,6 +93,20 @@ label = "art"; reg = <0x010000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; + + macaddr_art_1002: macaddr@1002 { + reg = <0x1002 0x6>; + }; + }; }; partition@20000 { @@ -143,17 +157,3 @@ reg = <0 0 0 0 0>; }; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; - - macaddr_art_1002: macaddr@1002 { - reg = <0x1002 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9531_comfast_cf-e314n-v2.dts b/target/linux/ath79/dts/qca9531_comfast_cf-e314n-v2.dts index 9288126788..ff053d628e 100644 --- a/target/linux/ath79/dts/qca9531_comfast_cf-e314n-v2.dts +++ b/target/linux/ath79/dts/qca9531_comfast_cf-e314n-v2.dts @@ -108,6 +108,20 @@ label = "art"; reg = <0x010000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; + + macaddr_art_6: macaddr@6 { + reg = <0x6 0x6>; + }; + }; }; partition@20000 { @@ -149,17 +163,3 @@ status = "okay"; mtd-cal-data = <&art 0x1000>; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; - - macaddr_art_6: macaddr@6 { - reg = <0x6 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9531_comfast_cf-e5.dts b/target/linux/ath79/dts/qca9531_comfast_cf-e5.dts index 17cbe1df14..73d45f9b7c 100644 --- a/target/linux/ath79/dts/qca9531_comfast_cf-e5.dts +++ b/target/linux/ath79/dts/qca9531_comfast_cf-e5.dts @@ -92,6 +92,20 @@ label = "art"; reg = <0x010000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; + + macaddr_art_6: macaddr@6 { + reg = <0x6 0x6>; + }; + }; }; partition@20000 { @@ -134,17 +148,3 @@ pinctrl-single,bits = <0x4 0x0 0xff>; }; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; - - macaddr_art_6: macaddr@6 { - reg = <0x6 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9531_comfast_cf-e560ac.dts b/target/linux/ath79/dts/qca9531_comfast_cf-e560ac.dts index 75e30ff1b7..a316c48c5b 100644 --- a/target/linux/ath79/dts/qca9531_comfast_cf-e560ac.dts +++ b/target/linux/ath79/dts/qca9531_comfast_cf-e560ac.dts @@ -103,6 +103,18 @@ label = "art"; reg = <0x010000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@20000 { @@ -143,13 +155,12 @@ phy-handle = <&swphy4>; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; ð1 { - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 0>; nvmem-cell-names = "mac-address"; }; @@ -157,17 +168,6 @@ status = "okay"; mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 10>; nvmem-cell-names = "mac-address"; - mac-address-increment = <10>; -}; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; }; diff --git a/target/linux/ath79/dts/qca9531_comfast_cf-ew72.dts b/target/linux/ath79/dts/qca9531_comfast_cf-ew72.dts index e5024b39f9..f725ab1faa 100644 --- a/target/linux/ath79/dts/qca9531_comfast_cf-ew72.dts +++ b/target/linux/ath79/dts/qca9531_comfast_cf-ew72.dts @@ -87,6 +87,18 @@ label = "art"; reg = <0x010000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@20000 { @@ -109,13 +121,12 @@ phy-handle = <&swphy4>; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; ð1 { - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 0>; nvmem-cell-names = "mac-address"; }; @@ -123,17 +134,6 @@ status = "okay"; mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 3>; nvmem-cell-names = "mac-address"; - mac-address-increment = <3>; -}; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; }; diff --git a/target/linux/ath79/dts/qca9531_comfast_cf-wr752ac-v1.dts b/target/linux/ath79/dts/qca9531_comfast_cf-wr752ac-v1.dts index fc2f6de111..ba33ee9a92 100644 --- a/target/linux/ath79/dts/qca9531_comfast_cf-wr752ac-v1.dts +++ b/target/linux/ath79/dts/qca9531_comfast_cf-wr752ac-v1.dts @@ -87,6 +87,18 @@ label = "art"; reg = <0x010000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@20000 { @@ -109,7 +121,7 @@ phy-handle = <&swphy4>; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 0>; nvmem-cell-names = "mac-address"; }; @@ -122,17 +134,6 @@ mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 10>; nvmem-cell-names = "mac-address"; - mac-address-increment = <10>; -}; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; }; diff --git a/target/linux/ath79/dts/qca9531_compex_wpj531-16m.dts b/target/linux/ath79/dts/qca9531_compex_wpj531-16m.dts index 16a2794b97..7a8f6edcee 100644 --- a/target/linux/ath79/dts/qca9531_compex_wpj531-16m.dts +++ b/target/linux/ath79/dts/qca9531_compex_wpj531-16m.dts @@ -83,6 +83,20 @@ label = "u-boot"; reg = <0x000000 0x030000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_uboot_2e010: macaddr@2e010 { + reg = <0x2e010 0x6>; + }; + + macaddr_uboot_2e018: macaddr@2e018 { + reg = <0x2e018 0x6>; + }; + }; }; partition@30000 { @@ -136,17 +150,3 @@ &usb0 { status = "okay"; }; - -&uboot { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_uboot_2e010: macaddr@2e010 { - reg = <0x2e010 0x6>; - }; - - macaddr_uboot_2e018: macaddr@2e018 { - reg = <0x2e018 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9531_glinet_gl-ar300m.dtsi b/target/linux/ath79/dts/qca9531_glinet_gl-ar300m.dtsi index 667f779b17..652ffb9c69 100644 --- a/target/linux/ath79/dts/qca9531_glinet_gl-ar300m.dtsi +++ b/target/linux/ath79/dts/qca9531_glinet_gl-ar300m.dtsi @@ -114,6 +114,18 @@ label = "art"; reg = <0xff0000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; }; }; @@ -154,14 +166,13 @@ phy-handle = <&swphy4>; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 0>; nvmem-cell-names = "mac-address"; }; ð1 { - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; &wmac { @@ -169,16 +180,6 @@ mtd-cal-data = <&art 0x1000>; }; -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; -}; - &pinmux { pinctrl-names = "default"; pinctrl-0 = <&enable_gpio17>; diff --git a/target/linux/ath79/dts/qca9531_glinet_gl-ar750.dts b/target/linux/ath79/dts/qca9531_glinet_gl-ar750.dts index 60bd2922a2..1c6dcee8bf 100644 --- a/target/linux/ath79/dts/qca9531_glinet_gl-ar750.dts +++ b/target/linux/ath79/dts/qca9531_glinet_gl-ar750.dts @@ -113,6 +113,18 @@ label = "art"; reg = <0x050000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@60000 { @@ -129,14 +141,13 @@ phy-handle = <&swphy4>; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 0>; nvmem-cell-names = "mac-address"; }; ð1 { - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; &wmac { @@ -144,13 +155,3 @@ mtd-cal-data = <&art 0x1000>; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9531_glinet_gl-e750.dts b/target/linux/ath79/dts/qca9531_glinet_gl-e750.dts index ca0784e6bf..e0c65b7f1b 100644 --- a/target/linux/ath79/dts/qca9531_glinet_gl-e750.dts +++ b/target/linux/ath79/dts/qca9531_glinet_gl-e750.dts @@ -83,6 +83,16 @@ label = "art"; reg = <0x50000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; + }; }; partition@60000 { @@ -133,13 +143,3 @@ mtd-cal-data = <&art 0x1000>; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9531_glinet_gl-s200.dtsi b/target/linux/ath79/dts/qca9531_glinet_gl-s200.dtsi index 44bb83af64..114ad46135 100644 --- a/target/linux/ath79/dts/qca9531_glinet_gl-s200.dtsi +++ b/target/linux/ath79/dts/qca9531_glinet_gl-s200.dtsi @@ -136,8 +136,6 @@ reg = <0x050000 0x010000>; read-only; - compatible = "nvmem-cells"; - nvmem-layout { compatible = "fixed-layout"; #address-cells = <1>; diff --git a/target/linux/ath79/dts/qca9531_glinet_gl-x300b.dts b/target/linux/ath79/dts/qca9531_glinet_gl-x300b.dts index 5f5646b3e0..104ed3c72d 100644 --- a/target/linux/ath79/dts/qca9531_glinet_gl-x300b.dts +++ b/target/linux/ath79/dts/qca9531_glinet_gl-x300b.dts @@ -108,6 +108,18 @@ label = "art"; reg = <0x050000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@60000 { @@ -123,16 +135,15 @@ ð0 { status = "okay"; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 0>; nvmem-cell-names = "mac-address"; phy-handle = <&swphy4>; }; ð1 { - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; &wmac { @@ -140,13 +151,3 @@ mtd-cal-data = <&art 0x1000>; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9531_glinet_gl-x750.dts b/target/linux/ath79/dts/qca9531_glinet_gl-x750.dts index 0b2030bb49..3f1ad22a76 100644 --- a/target/linux/ath79/dts/qca9531_glinet_gl-x750.dts +++ b/target/linux/ath79/dts/qca9531_glinet_gl-x750.dts @@ -95,6 +95,18 @@ label = "art"; reg = <0x050000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@60000 { @@ -111,14 +123,13 @@ phy-handle = <&swphy4>; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 0>; nvmem-cell-names = "mac-address"; }; ð1 { - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; &wmac { @@ -126,13 +137,3 @@ mtd-cal-data = <&art 0x1000>; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9531_glinet_gl-xe300.dts b/target/linux/ath79/dts/qca9531_glinet_gl-xe300.dts index 9212c0a754..37830c4f7d 100644 --- a/target/linux/ath79/dts/qca9531_glinet_gl-xe300.dts +++ b/target/linux/ath79/dts/qca9531_glinet_gl-xe300.dts @@ -108,6 +108,18 @@ label = "art"; reg = <0x50000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@60000 { @@ -145,14 +157,13 @@ phy-handle = <&swphy4>; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 0>; nvmem-cell-names = "mac-address"; }; ð1 { - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; &wmac { @@ -160,13 +171,3 @@ mtd-cal-data = <&art 0x1000>; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9531_joyit_jt-or750i.dts b/target/linux/ath79/dts/qca9531_joyit_jt-or750i.dts index 2838b9c82d..3b01fa9e42 100644 --- a/target/linux/ath79/dts/qca9531_joyit_jt-or750i.dts +++ b/target/linux/ath79/dts/qca9531_joyit_jt-or750i.dts @@ -94,6 +94,20 @@ label = "art"; reg = <0xff0000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; + + macaddr_art_6: macaddr@6 { + reg = <0x6 0x6>; + }; + }; }; }; }; @@ -122,17 +136,3 @@ mtd-cal-data = <&art 0x1000>; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; - - macaddr_art_6: macaddr@6 { - reg = <0x6 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9531_letv_lba-047-ch.dts b/target/linux/ath79/dts/qca9531_letv_lba-047-ch.dts index 586facc9e5..414db556ca 100644 --- a/target/linux/ath79/dts/qca9531_letv_lba-047-ch.dts +++ b/target/linux/ath79/dts/qca9531_letv_lba-047-ch.dts @@ -119,20 +119,22 @@ reg = <0xff0000 0x10000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; - macaddr_art_6: macaddr@6 { - reg = <0x6 0x6>; - }; + macaddr_art_6: macaddr@6 { + reg = <0x6 0x6>; + }; - cal_art_1000: calibration@1000 { - reg = <0x1000 0x440>; + cal_art_1000: calibration@1000 { + reg = <0x1000 0x440>; + }; }; }; }; diff --git a/target/linux/ath79/dts/qca9531_qxwlan_e600g.dtsi b/target/linux/ath79/dts/qca9531_qxwlan_e600g.dtsi index ce515159b1..04becd63c1 100644 --- a/target/linux/ath79/dts/qca9531_qxwlan_e600g.dtsi +++ b/target/linux/ath79/dts/qca9531_qxwlan_e600g.dtsi @@ -79,6 +79,18 @@ label = "pri-data"; reg = <0x050000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_pridata_400: macaddr@400 { + compatible = "mac-base"; + reg = <0x400 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; art: partition@60000 { @@ -95,13 +107,12 @@ phy-handle = <&swphy4>; - nvmem-cells = <&macaddr_pridata_400>; + nvmem-cells = <&macaddr_pridata_400 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; ð1 { - nvmem-cells = <&macaddr_pridata_400>; + nvmem-cells = <&macaddr_pridata_400 0>; nvmem-cell-names = "mac-address"; }; @@ -110,13 +121,3 @@ mtd-cal-data = <&art 0x1000>; }; - -&pridata { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_pridata_400: macaddr@400 { - reg = <0x400 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9531_telco_t1.dts b/target/linux/ath79/dts/qca9531_telco_t1.dts index 540de60377..1748d9e1c9 100644 --- a/target/linux/ath79/dts/qca9531_telco_t1.dts +++ b/target/linux/ath79/dts/qca9531_telco_t1.dts @@ -96,6 +96,20 @@ label = "art"; reg = <0x010000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; + + macaddr_art_6: macaddr@6 { + reg = <0x6 0x6>; + }; + }; }; partition@20000 { @@ -138,17 +152,3 @@ pinctrl-single,bits = <0x4 0x0 0xff>; }; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; - - macaddr_art_6: macaddr@6 { - reg = <0x6 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9531_teltonika_rut300.dts b/target/linux/ath79/dts/qca9531_teltonika_rut300.dts index f79be8dca5..f01bcafbad 100644 --- a/target/linux/ath79/dts/qca9531_teltonika_rut300.dts +++ b/target/linux/ath79/dts/qca9531_teltonika_rut300.dts @@ -84,6 +84,18 @@ label = "config"; reg = <0x020000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_config_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@30000 { @@ -118,28 +130,17 @@ status = "okay"; }; -&config { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_config_0: macaddr@0 { - reg = <0x0 0x6>; - }; -}; - ð0 { status = "okay"; phy-handle = <&swphy0>; - nvmem-cells = <&macaddr_config_0>; + nvmem-cells = <&macaddr_config_0 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; ð1 { phy-handle = <&swphy4>; - nvmem-cells = <&macaddr_config_0>; + nvmem-cells = <&macaddr_config_0 0>; nvmem-cell-names = "mac-address"; gmac-config { diff --git a/target/linux/ath79/dts/qca9531_tplink_archer-d50-v1.dts b/target/linux/ath79/dts/qca9531_tplink_archer-d50-v1.dts index 0fc2bd3df8..fb594f78c0 100644 --- a/target/linux/ath79/dts/qca9531_tplink_archer-d50-v1.dts +++ b/target/linux/ath79/dts/qca9531_tplink_archer-d50-v1.dts @@ -124,6 +124,18 @@ label = "romfile"; reg = <0x7d0000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_romfile_f100: macaddr@f100 { + compatible = "mac-base"; + reg = <0xf100 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@7e0000 { @@ -146,13 +158,12 @@ phy-handle = <&swphy4>; - nvmem-cells = <&macaddr_romfile_f100>; + nvmem-cells = <&macaddr_romfile_f100 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; ð1 { - nvmem-cells = <&macaddr_romfile_f100>; + nvmem-cells = <&macaddr_romfile_f100 0>; nvmem-cell-names = "mac-address"; }; @@ -160,7 +171,7 @@ status = "okay"; mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_romfile_f100>; + nvmem-cells = <&macaddr_romfile_f100 0>; nvmem-cell-names = "mac-address"; }; @@ -180,13 +191,3 @@ &usb0 { status = "okay"; }; - -&romfile { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_romfile_f100: macaddr@f100 { - reg = <0xf100 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9531_tplink_tl-mr3420-v3.dts b/target/linux/ath79/dts/qca9531_tplink_tl-mr3420-v3.dts index e6fb852596..f288317c2c 100644 --- a/target/linux/ath79/dts/qca9531_tplink_tl-mr3420-v3.dts +++ b/target/linux/ath79/dts/qca9531_tplink_tl-mr3420-v3.dts @@ -149,6 +149,18 @@ label = "u-boot"; reg = <0x000000 0x020000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_uboot_1fc00: macaddr@1fc00 { + compatible = "mac-base"; + reg = <0x1fc00 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@20000 { @@ -171,13 +183,12 @@ phy-handle = <&swphy4>; - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; ð1 { - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 0>; nvmem-cell-names = "mac-address"; }; @@ -185,7 +196,7 @@ status = "okay"; mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 0>; nvmem-cell-names = "mac-address"; }; @@ -196,13 +207,3 @@ &usb_phy { status = "okay"; }; - -&uboot { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_uboot_1fc00: macaddr@1fc00 { - reg = <0x1fc00 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9531_tplink_tl-mr6400-v1.dts b/target/linux/ath79/dts/qca9531_tplink_tl-mr6400-v1.dts index 5a990fff02..76f1288738 100644 --- a/target/linux/ath79/dts/qca9531_tplink_tl-mr6400-v1.dts +++ b/target/linux/ath79/dts/qca9531_tplink_tl-mr6400-v1.dts @@ -106,6 +106,18 @@ label = "u-boot"; reg = <0x000000 0x020000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_uboot_1fc00: macaddr@1fc00 { + compatible = "mac-base"; + reg = <0x1fc00 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@20000 { @@ -128,22 +140,20 @@ phy-handle = <&swphy0>; - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; ð1 { - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 (-1)>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(-1)>; }; &wmac { status = "okay"; mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 0>; nvmem-cell-names = "mac-address"; }; @@ -154,13 +164,3 @@ &usb_phy { status = "okay"; }; - -&uboot { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_uboot_1fc00: macaddr@1fc00 { - reg = <0x1fc00 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9531_tplink_tl-wr902ac-v1.dts b/target/linux/ath79/dts/qca9531_tplink_tl-wr902ac-v1.dts index 09f086b90d..048099e260 100644 --- a/target/linux/ath79/dts/qca9531_tplink_tl-wr902ac-v1.dts +++ b/target/linux/ath79/dts/qca9531_tplink_tl-wr902ac-v1.dts @@ -125,6 +125,18 @@ label = "info"; reg = <0x750000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + compatible = "mac-base"; + reg = <0x8 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@760000 { @@ -147,9 +159,8 @@ phy-handle = <&swphy4>; - nvmem-cells = <&macaddr_info_8>; + nvmem-cells = <&macaddr_info_8 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; ð1 { @@ -160,7 +171,7 @@ status = "okay"; mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_info_8>; + nvmem-cells = <&macaddr_info_8 0>; nvmem-cell-names = "mac-address"; }; @@ -180,13 +191,3 @@ &usb0 { status = "okay"; }; - -&info { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_info_8: macaddr@8 { - reg = <0x8 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9531_wallys_dr531.dts b/target/linux/ath79/dts/qca9531_wallys_dr531.dts index 9982914442..59f86170c9 100644 --- a/target/linux/ath79/dts/qca9531_wallys_dr531.dts +++ b/target/linux/ath79/dts/qca9531_wallys_dr531.dts @@ -116,6 +116,20 @@ env: partition@30000 { label = "u-boot-env"; reg = <0x030000 0x010000>; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_env_f810: macaddr@f810 { + reg = <0xf810 0x6>; + }; + + macaddr_env_f818: macaddr@f818 { + reg = <0xf818 0x6>; + }; + }; }; partition@40000 { @@ -152,17 +166,3 @@ mtd-cal-data = <&art 0x1000>; }; - -&env { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_env_f810: macaddr@f810 { - reg = <0xf810 0x6>; - }; - - macaddr_env_f818: macaddr@f818 { - reg = <0xf818 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9531_yuncore_a770.dts b/target/linux/ath79/dts/qca9531_yuncore_a770.dts index a255342015..fa1f7dc5fc 100644 --- a/target/linux/ath79/dts/qca9531_yuncore_a770.dts +++ b/target/linux/ath79/dts/qca9531_yuncore_a770.dts @@ -88,6 +88,20 @@ label = "art"; reg = <0xff0000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; + + macaddr_art_6: macaddr@6 { + reg = <0x6 0x6>; + }; + }; }; }; }; @@ -116,17 +130,3 @@ mtd-cal-data = <&art 0x1000>; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; - - macaddr_art_6: macaddr@6 { - reg = <0x6 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9533_comfast_cf-e110n-v2.dts b/target/linux/ath79/dts/qca9533_comfast_cf-e110n-v2.dts index 64df0cff7c..f4422e2242 100644 --- a/target/linux/ath79/dts/qca9533_comfast_cf-e110n-v2.dts +++ b/target/linux/ath79/dts/qca9533_comfast_cf-e110n-v2.dts @@ -112,6 +112,24 @@ label = "art"; reg = <0x010000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; + + macaddr_art_6: macaddr@6 { + reg = <0x6 0x6>; + }; + + macaddr_art_1002: macaddr@1002 { + reg = <0x1002 0x6>; + }; + }; }; partition@20000 { @@ -154,21 +172,3 @@ nvmem-cells = <&macaddr_art_6>; nvmem-cell-names = "mac-address"; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; - - macaddr_art_6: macaddr@6 { - reg = <0x6 0x6>; - }; - - macaddr_art_1002: macaddr@1002 { - reg = <0x1002 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9533_kuwfi_c910.dts b/target/linux/ath79/dts/qca9533_kuwfi_c910.dts index a705aa8686..487bbf9d4c 100644 --- a/target/linux/ath79/dts/qca9533_kuwfi_c910.dts +++ b/target/linux/ath79/dts/qca9533_kuwfi_c910.dts @@ -140,16 +140,20 @@ reg = <0xff0000 0x010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - calibration_art_1000: macaddr@1000 { - reg = <0x1000 0x440>; - }; + calibration_art_1000: macaddr@1000 { + reg = <0x1000 0x440>; + }; - macaddr_art_1002: macaddr@1002 { - reg = <0x1002 0x6>; + macaddr_art_1002: macaddr@1002 { + compatible = "mac-base"; + reg = <0x1002 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; }; @@ -169,15 +173,14 @@ phy-handle = <&swphy0>; - nvmem-cells = <&macaddr_art_1002>; + nvmem-cells = <&macaddr_art_1002 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; ð1 { phy-handle = <&swphy4>; - nvmem-cells = <&macaddr_art_1002>; + nvmem-cells = <&macaddr_art_1002 0>; nvmem-cell-names = "mac-address"; gmac-config { diff --git a/target/linux/ath79/dts/qca9533_openmesh_om2p-v4.dtsi b/target/linux/ath79/dts/qca9533_openmesh_om2p-v4.dtsi index 8a51d6b6d6..1f3bf68f69 100644 --- a/target/linux/ath79/dts/qca9533_openmesh_om2p-v4.dtsi +++ b/target/linux/ath79/dts/qca9533_openmesh_om2p-v4.dtsi @@ -122,6 +122,22 @@ label = "ART"; reg = <0xfc0000 0x040000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; + + macaddr_art_6: macaddr@6 { + reg = <0x6 0x6>; + }; + }; }; }; }; @@ -132,7 +148,7 @@ phy-handle = <&swphy4>; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 0>; nvmem-cell-names = "mac-address"; }; @@ -150,21 +166,6 @@ status = "okay"; mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 2>; nvmem-cell-names = "mac-address"; - mac-address-increment = <2>; -}; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; - - macaddr_art_6: macaddr@6 { - reg = <0x6 0x6>; - }; }; diff --git a/target/linux/ath79/dts/qca9533_plasmacloud_pa300.dtsi b/target/linux/ath79/dts/qca9533_plasmacloud_pa300.dtsi index 602365f45d..66ede5554d 100644 --- a/target/linux/ath79/dts/qca9533_plasmacloud_pa300.dtsi +++ b/target/linux/ath79/dts/qca9533_plasmacloud_pa300.dtsi @@ -104,6 +104,18 @@ label = "ART"; reg = <0xfc0000 0x040000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; }; }; @@ -114,7 +126,7 @@ phy-handle = <&swphy4>; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 0>; nvmem-cell-names = "mac-address"; }; @@ -124,26 +136,14 @@ */ compatible = "qca,qca9530-eth", "syscon", "simple-mfd"; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; &wmac { status = "okay"; mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 2>; nvmem-cell-names = "mac-address"; - mac-address-increment = <2>; -}; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; }; diff --git a/target/linux/ath79/dts/qca9533_qca_ap143-16m.dts b/target/linux/ath79/dts/qca9533_qca_ap143-16m.dts index 05d87e3995..ce59e8a54b 100644 --- a/target/linux/ath79/dts/qca9533_qca_ap143-16m.dts +++ b/target/linux/ath79/dts/qca9533_qca_ap143-16m.dts @@ -45,6 +45,20 @@ label = "art"; reg = <0xff0000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; + + macaddr_art_6: macaddr@6 { + reg = <0x6 0x6>; + }; + }; }; }; @@ -61,17 +75,3 @@ &wmac { mtd-cal-data = <&art 0x1000>; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; - - macaddr_art_6: macaddr@6 { - reg = <0x6 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9533_qca_ap143-8m.dts b/target/linux/ath79/dts/qca9533_qca_ap143-8m.dts index db6a92720b..f04885e47d 100644 --- a/target/linux/ath79/dts/qca9533_qca_ap143-8m.dts +++ b/target/linux/ath79/dts/qca9533_qca_ap143-8m.dts @@ -45,6 +45,20 @@ label = "art"; reg = <0x7f0000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; + + macaddr_art_6: macaddr@6 { + reg = <0x6 0x6>; + }; + }; }; }; @@ -61,17 +75,3 @@ &wmac { mtd-cal-data = <&art 0x1000>; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; - - macaddr_art_6: macaddr@6 { - reg = <0x6 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9533_tplink_cpexxx.dtsi b/target/linux/ath79/dts/qca9533_tplink_cpexxx.dtsi index 3f3fae1dfd..e7044b60a4 100644 --- a/target/linux/ath79/dts/qca9533_tplink_cpexxx.dtsi +++ b/target/linux/ath79/dts/qca9533_tplink_cpexxx.dtsi @@ -80,6 +80,16 @@ label = "info"; reg = <0x030000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + reg = <0x8 0x6>; + }; + }; }; partition@40000 { @@ -119,13 +129,3 @@ nvmem-cells = <&macaddr_info_8>; nvmem-cell-names = "mac-address"; }; - -&info { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_info_8: macaddr@8 { - reg = <0x8 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9533_tplink_tl-wa801nd.dtsi b/target/linux/ath79/dts/qca9533_tplink_tl-wa801nd.dtsi index 43db72ec65..5a05869a1c 100644 --- a/target/linux/ath79/dts/qca9533_tplink_tl-wa801nd.dtsi +++ b/target/linux/ath79/dts/qca9533_tplink_tl-wa801nd.dtsi @@ -80,6 +80,16 @@ label = "u-boot"; reg = <0x000000 0x020000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_uboot_1fc00: macaddr@1fc00 { + reg = <0x1fc00 0x6>; + }; + }; }; partition@20000 { @@ -117,13 +127,3 @@ nvmem-cells = <&macaddr_uboot_1fc00>; nvmem-cell-names = "mac-address"; }; - -&uboot { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_uboot_1fc00: macaddr@1fc00 { - reg = <0x1fc00 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9533_tplink_tl-wa850re-v2.dts b/target/linux/ath79/dts/qca9533_tplink_tl-wa850re-v2.dts index e7d837a574..762197f255 100644 --- a/target/linux/ath79/dts/qca9533_tplink_tl-wa850re-v2.dts +++ b/target/linux/ath79/dts/qca9533_tplink_tl-wa850re-v2.dts @@ -128,6 +128,16 @@ label = "info"; reg = <0x3c0000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + reg = <0x8 0x6>; + }; + }; }; partition@3d0000 { @@ -165,13 +175,3 @@ nvmem-cells = <&macaddr_info_8>; nvmem-cell-names = "mac-address"; }; - -&info { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_info_8: macaddr@8 { - reg = <0x8 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9533_tplink_tl-wr802n.dtsi b/target/linux/ath79/dts/qca9533_tplink_tl-wr802n.dtsi index 4be1ced4b2..b2d525acb7 100644 --- a/target/linux/ath79/dts/qca9533_tplink_tl-wr802n.dtsi +++ b/target/linux/ath79/dts/qca9533_tplink_tl-wr802n.dtsi @@ -51,6 +51,18 @@ label = "u-boot"; reg = <0x000000 0x020000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_uboot_1fc00: macaddr@1fc00 { + compatible = "mac-base"; + reg = <0x1fc00 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@20000 { @@ -73,9 +85,8 @@ phy-handle = <&swphy4>; - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; ð1 { @@ -86,16 +97,6 @@ status = "okay"; mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 0>; nvmem-cell-names = "mac-address"; }; - -&uboot { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_uboot_1fc00: macaddr@1fc00 { - reg = <0x1fc00 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9533_tplink_tl-wr841.dtsi b/target/linux/ath79/dts/qca9533_tplink_tl-wr841.dtsi index c9c109ee39..c0e23f6d62 100644 --- a/target/linux/ath79/dts/qca9533_tplink_tl-wr841.dtsi +++ b/target/linux/ath79/dts/qca9533_tplink_tl-wr841.dtsi @@ -86,6 +86,18 @@ label = "u-boot"; reg = <0x000000 0x020000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_uboot_1fc00: macaddr@1fc00 { + compatible = "mac-base"; + reg = <0x1fc00 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@20000 { @@ -108,13 +120,12 @@ phy-handle = <&swphy4>; - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; ð1 { - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 0>; nvmem-cell-names = "mac-address"; }; @@ -122,16 +133,6 @@ status = "okay"; mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 0>; nvmem-cell-names = "mac-address"; }; - -&uboot { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_uboot_1fc00: macaddr@1fc00 { - reg = <0x1fc00 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9533_tplink_tl-wr841hp-v3.dts b/target/linux/ath79/dts/qca9533_tplink_tl-wr841hp-v3.dts index 07b706251a..c11f11ae18 100644 --- a/target/linux/ath79/dts/qca9533_tplink_tl-wr841hp-v3.dts +++ b/target/linux/ath79/dts/qca9533_tplink_tl-wr841hp-v3.dts @@ -108,6 +108,18 @@ label = "u-boot"; reg = <0x000000 0x020000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_uboot_1fc00: macaddr@1fc00 { + compatible = "mac-base"; + reg = <0x1fc00 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@20000 { @@ -130,13 +142,12 @@ phy-handle = <&swphy4>; - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; ð1 { - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 0>; nvmem-cell-names = "mac-address"; }; @@ -144,16 +155,6 @@ status = "okay"; mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 0>; nvmem-cell-names = "mac-address"; }; - -&uboot { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_uboot_1fc00: macaddr@1fc00 { - reg = <0x1fc00 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9533_tplink_tl-wr842n-v3.dts b/target/linux/ath79/dts/qca9533_tplink_tl-wr842n-v3.dts index 2d00159909..33234fcb9f 100644 --- a/target/linux/ath79/dts/qca9533_tplink_tl-wr842n-v3.dts +++ b/target/linux/ath79/dts/qca9533_tplink_tl-wr842n-v3.dts @@ -119,6 +119,18 @@ label = "u-boot"; reg = <0x000000 0x020000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_uboot_1fc00: macaddr@1fc00 { + compatible = "mac-base"; + reg = <0x1fc00 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@20000 { @@ -141,13 +153,12 @@ phy-handle = <&swphy4>; - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; ð1 { - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 0>; nvmem-cell-names = "mac-address"; }; @@ -155,16 +166,6 @@ status = "okay"; mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 0>; nvmem-cell-names = "mac-address"; }; - -&uboot { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_uboot_1fc00: macaddr@1fc00 { - reg = <0x1fc00 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9533_ubnt_aircube-isp.dts b/target/linux/ath79/dts/qca9533_ubnt_aircube-isp.dts index e854f3700c..c5d6e66c9a 100644 --- a/target/linux/ath79/dts/qca9533_ubnt_aircube-isp.dts +++ b/target/linux/ath79/dts/qca9533_ubnt_aircube-isp.dts @@ -66,6 +66,20 @@ label = "art"; reg = <0xff0000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; + + macaddr_art_6: macaddr@6 { + reg = <0x6 0x6>; + }; + }; }; }; }; @@ -93,17 +107,3 @@ status = "okay"; mtd-cal-data = <&art 0x1000>; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; - - macaddr_art_6: macaddr@6 { - reg = <0x6 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9533_yuncore_a930.dts b/target/linux/ath79/dts/qca9533_yuncore_a930.dts index 089eebaa9c..30b340768f 100644 --- a/target/linux/ath79/dts/qca9533_yuncore_a930.dts +++ b/target/linux/ath79/dts/qca9533_yuncore_a930.dts @@ -79,6 +79,20 @@ label = "art"; reg = <0xff0000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; + + macaddr_art_6: macaddr@6 { + reg = <0x6 0x6>; + }; + }; }; }; }; @@ -102,17 +116,3 @@ status = "okay"; mtd-cal-data = <&art 0x1000>; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; - - macaddr_art_6: macaddr@6 { - reg = <0x6 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca953x_dlink_dap-2xxx.dtsi b/target/linux/ath79/dts/qca953x_dlink_dap-2xxx.dtsi index 13d41f7bd5..ff08f90106 100644 --- a/target/linux/ath79/dts/qca953x_dlink_dap-2xxx.dtsi +++ b/target/linux/ath79/dts/qca953x_dlink_dap-2xxx.dtsi @@ -47,12 +47,14 @@ reg = <0xff0000 0x10000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - cal_ath9k: calibration@1000 { - reg = <0x1000 0x440>; + cal_ath9k: calibration@1000 { + reg = <0x1000 0x440>; + }; }; }; }; diff --git a/target/linux/ath79/dts/qca953x_tplink_tl-wr810n.dtsi b/target/linux/ath79/dts/qca953x_tplink_tl-wr810n.dtsi index e49b8fc1ca..e3b35b810d 100644 --- a/target/linux/ath79/dts/qca953x_tplink_tl-wr810n.dtsi +++ b/target/linux/ath79/dts/qca953x_tplink_tl-wr810n.dtsi @@ -68,6 +68,18 @@ label = "u-boot"; reg = <0x000000 0x020000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_uboot_1fc00: macaddr@1fc00 { + compatible = "mac-base"; + reg = <0x1fc00 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@20000 { @@ -90,13 +102,12 @@ phy-handle = <&swphy4>; - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; ð1 { - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 0>; nvmem-cell-names = "mac-address"; }; @@ -104,16 +115,6 @@ status = "okay"; mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 0>; nvmem-cell-names = "mac-address"; }; - -&uboot { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_uboot_1fc00: macaddr@1fc00 { - reg = <0x1fc00 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9550_airtight_c-75.dts b/target/linux/ath79/dts/qca9550_airtight_c-75.dts index 8dbf1c8bc4..d4bf64ab40 100644 --- a/target/linux/ath79/dts/qca9550_airtight_c-75.dts +++ b/target/linux/ath79/dts/qca9550_airtight_c-75.dts @@ -156,6 +156,20 @@ label = "art"; reg = <0xff0000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; + + macaddr_art_6: macaddr@6 { + reg = <0x6 0x6>; + }; + }; }; }; }; @@ -191,17 +205,3 @@ mtd-cal-data = <&art 0x1000>; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; - - macaddr_art_6: macaddr@6 { - reg = <0x6 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9557_8dev_rambutan.dts b/target/linux/ath79/dts/qca9557_8dev_rambutan.dts index a816874692..f01ac7fc91 100644 --- a/target/linux/ath79/dts/qca9557_8dev_rambutan.dts +++ b/target/linux/ath79/dts/qca9557_8dev_rambutan.dts @@ -45,6 +45,20 @@ label = "art"; reg = <0x500000 0x100000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; + + macaddr_art_6: macaddr@6 { + reg = <0x6 0x6>; + }; + }; }; partition@600000 { @@ -119,17 +133,3 @@ &usb1 { status = "okay"; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; - - macaddr_art_6: macaddr@6 { - reg = <0x6 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9557_araknis_an-500-ap-i-ac.dts b/target/linux/ath79/dts/qca9557_araknis_an-500-ap-i-ac.dts index bd9f3e8da8..6d402df13f 100644 --- a/target/linux/ath79/dts/qca9557_araknis_an-500-ap-i-ac.dts +++ b/target/linux/ath79/dts/qca9557_araknis_an-500-ap-i-ac.dts @@ -59,6 +59,18 @@ label = "art"; reg = <0xff0000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; }; @@ -75,7 +87,7 @@ ð0 { status = "okay"; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 0>; nvmem-cell-names = "mac-address"; phy-handle = <&phy5>; @@ -89,21 +101,10 @@ mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; &pcie0 { status = "okay"; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9557_buffalo_bhr-4grv2.dts b/target/linux/ath79/dts/qca9557_buffalo_bhr-4grv2.dts index a4e2a615f6..f17af66cdf 100644 --- a/target/linux/ath79/dts/qca9557_buffalo_bhr-4grv2.dts +++ b/target/linux/ath79/dts/qca9557_buffalo_bhr-4grv2.dts @@ -95,6 +95,20 @@ label = "art"; reg = <0xff0000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; + + macaddr_art_6: macaddr@6 { + reg = <0x6 0x6>; + }; + }; }; }; }; @@ -136,17 +150,3 @@ full-duplex; }; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; - - macaddr_art_6: macaddr@6 { - reg = <0x6 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9557_dlink_dap-2660-a1.dts b/target/linux/ath79/dts/qca9557_dlink_dap-2660-a1.dts index 93e2fc0d97..b380fef515 100644 --- a/target/linux/ath79/dts/qca9557_dlink_dap-2660-a1.dts +++ b/target/linux/ath79/dts/qca9557_dlink_dap-2660-a1.dts @@ -90,7 +90,17 @@ }; &art { - cal_ath10k: calibration@5000 { - reg = <0x5000 0x844>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + cal_ath9k: calibration@1000 { + reg = <0x1000 0x440>; + }; + + cal_ath10k: calibration@5000 { + reg = <0x5000 0x844>; + }; }; }; diff --git a/target/linux/ath79/dts/qca9557_dongwon_dw02-412h.dtsi b/target/linux/ath79/dts/qca9557_dongwon_dw02-412h.dtsi index 498499c146..31d86b1cf0 100644 --- a/target/linux/ath79/dts/qca9557_dongwon_dw02-412h.dtsi +++ b/target/linux/ath79/dts/qca9557_dongwon_dw02-412h.dtsi @@ -102,20 +102,24 @@ reg = <0x1f0000 0x010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; + macaddr_art_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; - cal_art_1000: cal@1000 { - reg = <0x1000 0x440>; - }; + cal_art_1000: cal@1000 { + reg = <0x1000 0x440>; + }; - cal_art_5000: cal@5000 { - reg = <0x5000 0x844>; + cal_art_5000: cal@5000 { + reg = <0x5000 0x844>; + }; }; }; }; @@ -154,18 +158,16 @@ compatible = "qcom,ath10k"; reg = <0 0 0 0 0>; - nvmem-cells = <&macaddr_art_0>, <&cal_art_5000>; + nvmem-cells = <&macaddr_art_0 4>, <&cal_art_5000>; nvmem-cell-names = "mac-address", "calibration"; - mac-address-increment = <4>; }; }; &wmac { status = "okay"; - nvmem-cells = <&macaddr_art_0>, <&cal_art_1000>; + nvmem-cells = <&macaddr_art_0 3>, <&cal_art_1000>; nvmem-cell-names = "mac-address", "calibration"; - mac-address-increment = <3>; }; &usb_phy0 { @@ -196,9 +198,8 @@ ð0 { status = "okay"; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; phy-handle = <&phy0>; pll-data = <0xa6000000 0x00000101 0x00001616>; diff --git a/target/linux/ath79/dts/qca9557_engenius_eap1200h.dts b/target/linux/ath79/dts/qca9557_engenius_eap1200h.dts index d20a044475..da159caa20 100644 --- a/target/linux/ath79/dts/qca9557_engenius_eap1200h.dts +++ b/target/linux/ath79/dts/qca9557_engenius_eap1200h.dts @@ -62,20 +62,24 @@ reg = <0xff0000 0x010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; + macaddr_art_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; - calibration_art_1000: calibration@1000 { - reg = <0x1000 0x440>; - }; + calibration_art_1000: calibration@1000 { + reg = <0x1000 0x440>; + }; - calibration_art_5000: calibration@5000 { - reg = <0x5000 0x844>; + calibration_art_5000: calibration@5000 { + reg = <0x5000 0x844>; + }; }; }; }; @@ -93,7 +97,7 @@ ð0 { status = "okay"; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 0>; nvmem-cell-names = "mac-address"; phy-handle = <&phy5>; @@ -105,17 +109,15 @@ &wmac { status = "okay"; - nvmem-cells = <&macaddr_art_0>, <&calibration_art_1000>; + nvmem-cells = <&macaddr_art_0 1>, <&calibration_art_1000>; nvmem-cell-names = "mac-address", "calibration"; - mac-address-increment = <1>; }; &ath10k_0 { status = "okay"; - nvmem-cells = <&macaddr_art_0>, <&calibration_art_5000>; + nvmem-cells = <&macaddr_art_0 2>, <&calibration_art_5000>; nvmem-cell-names = "mac-address", "calibration"; - mac-address-increment = <2>; }; &pcie0 { diff --git a/target/linux/ath79/dts/qca9557_engenius_enstationac-v1.dts b/target/linux/ath79/dts/qca9557_engenius_enstationac-v1.dts index 12740b9bdf..154744afd5 100644 --- a/target/linux/ath79/dts/qca9557_engenius_enstationac-v1.dts +++ b/target/linux/ath79/dts/qca9557_engenius_enstationac-v1.dts @@ -65,6 +65,18 @@ label = "art"; reg = <0xff0000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; }; @@ -88,7 +100,7 @@ ð0 { status = "okay"; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 0>; nvmem-cell-names = "mac-address"; phy-handle = <&phy1>; @@ -100,9 +112,8 @@ ð1 { status = "okay"; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; phy-handle = <&phy2>; @@ -114,13 +125,3 @@ &pcie0 { status = "okay"; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9558_allnet_all-wap02860ac.dts b/target/linux/ath79/dts/qca9558_allnet_all-wap02860ac.dts index c8b1d94c96..a6197fd25a 100644 --- a/target/linux/ath79/dts/qca9558_allnet_all-wap02860ac.dts +++ b/target/linux/ath79/dts/qca9558_allnet_all-wap02860ac.dts @@ -83,6 +83,18 @@ label = "art"; reg = <0xff0000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; }; @@ -90,21 +102,10 @@ status = "okay"; mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; &pcie0 { status = "okay"; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9558_araknis_an-700-ap-i-ac.dts b/target/linux/ath79/dts/qca9558_araknis_an-700-ap-i-ac.dts index 520ca60144..81a9e6ca08 100644 --- a/target/linux/ath79/dts/qca9558_araknis_an-700-ap-i-ac.dts +++ b/target/linux/ath79/dts/qca9558_araknis_an-700-ap-i-ac.dts @@ -75,7 +75,7 @@ ð0 { status = "okay"; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 0>; nvmem-cell-names = "mac-address"; phy-handle = <&phy5>; @@ -88,9 +88,8 @@ status = "okay"; mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; &pcie0 { @@ -98,11 +97,15 @@ }; &art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; + macaddr_art_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; diff --git a/target/linux/ath79/dts/qca9558_aruba_ap-115.dts b/target/linux/ath79/dts/qca9558_aruba_ap-115.dts index b8aed4c283..c15cb677b9 100644 --- a/target/linux/ath79/dts/qca9558_aruba_ap-115.dts +++ b/target/linux/ath79/dts/qca9558_aruba_ap-115.dts @@ -97,10 +97,8 @@ reg = <0x0000 0 0 0 0>; qca,no-eeprom; - nvmem-cells = <&macaddr_oemdata_1d>; + nvmem-cells = <&macaddr_oemdata_1d 1>; nvmem-cell-names = "mac-address"; - - mac-address-increment = <1>; }; }; @@ -164,6 +162,18 @@ label = "oemdata"; reg = <0xfe0000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_oemdata_1d: macaddr@1d { + compatible = "mac-base"; + reg = <0x1d 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@ff0000 { @@ -178,7 +188,7 @@ status = "okay"; qca,no-eeprom; - nvmem-cells = <&macaddr_oemdata_1d>; + nvmem-cells = <&macaddr_oemdata_1d 0>; nvmem-cell-names = "mac-address"; }; @@ -200,7 +210,7 @@ ð0 { status = "okay"; - nvmem-cells = <&macaddr_oemdata_1d>; + nvmem-cells = <&macaddr_oemdata_1d 0>; nvmem-cell-names = "mac-address"; phy-handle = <&phy0>; @@ -219,16 +229,6 @@ }; }; -&oemdata { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_oemdata_1d: macaddr@1d { - reg = <0x1d 0x6>; - }; -}; - &usb_phy0 { status = "okay"; }; diff --git a/target/linux/ath79/dts/qca9558_belkin_f9x-v2.dtsi b/target/linux/ath79/dts/qca9558_belkin_f9x-v2.dtsi index 72e52129a4..b20a36a031 100644 --- a/target/linux/ath79/dts/qca9558_belkin_f9x-v2.dtsi +++ b/target/linux/ath79/dts/qca9558_belkin_f9x-v2.dtsi @@ -151,6 +151,18 @@ art: partition@ff0000 { label = "art"; reg = <0xff0000 0x010000>; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; }; }; @@ -178,7 +190,7 @@ ð0 { status = "okay"; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 0>; nvmem-cell-names = "mac-address"; phy-handle = <&phy0>; pll-data = <0xa6000000 0x00000101 0x00001616>; @@ -192,9 +204,8 @@ ð1 { status = "okay"; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 (-1)>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(-1)>; pll-data = <0x03000101 0x00000101 0x00001616>; fixed-link { @@ -217,13 +228,3 @@ mtd-cal-data = <&art 0x1000>; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9558_comfast_cf-e380ac-v2.dts b/target/linux/ath79/dts/qca9558_comfast_cf-e380ac-v2.dts index b38e2e848f..8ce173f70d 100644 --- a/target/linux/ath79/dts/qca9558_comfast_cf-e380ac-v2.dts +++ b/target/linux/ath79/dts/qca9558_comfast_cf-e380ac-v2.dts @@ -91,6 +91,18 @@ label = "art"; reg = <0x040000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@50000 { @@ -111,7 +123,7 @@ ð0 { status = "okay"; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 0>; nvmem-cell-names = "mac-address"; pll-data = <0xbe000000 0xb0000101 0xb0001313>; @@ -134,17 +146,6 @@ status = "okay"; mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 10>; nvmem-cell-names = "mac-address"; - mac-address-increment = <10>; -}; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; }; diff --git a/target/linux/ath79/dts/qca9558_comfast_cf-wr650ac-v1.dts b/target/linux/ath79/dts/qca9558_comfast_cf-wr650ac-v1.dts index ba145d6fb0..e0471c5348 100644 --- a/target/linux/ath79/dts/qca9558_comfast_cf-wr650ac-v1.dts +++ b/target/linux/ath79/dts/qca9558_comfast_cf-wr650ac-v1.dts @@ -30,6 +30,24 @@ label = "art"; reg = <0x020000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; + + macaddr_art_6: macaddr@6 { + reg = <0x6 0x6>; + }; + + macaddr_art_18: macaddr@18 { + reg = <0x18 0x6>; + }; + }; }; partition@30000 { @@ -63,21 +81,3 @@ nvmem-cells = <&macaddr_art_18>; nvmem-cell-names = "mac-address"; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; - - macaddr_art_6: macaddr@6 { - reg = <0x6 0x6>; - }; - - macaddr_art_18: macaddr@18 { - reg = <0x18 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9558_comfast_cf-wr650ac-v2.dts b/target/linux/ath79/dts/qca9558_comfast_cf-wr650ac-v2.dts index d0929f981c..9bbbf2a9b4 100644 --- a/target/linux/ath79/dts/qca9558_comfast_cf-wr650ac-v2.dts +++ b/target/linux/ath79/dts/qca9558_comfast_cf-wr650ac-v2.dts @@ -30,6 +30,24 @@ label = "art"; reg = <0x040000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; + + macaddr_art_6: macaddr@6 { + reg = <0x6 0x6>; + }; + + macaddr_art_18: macaddr@18 { + reg = <0x18 0x6>; + }; + }; }; partition@50000 { @@ -63,21 +81,3 @@ nvmem-cells = <&macaddr_art_18>; nvmem-cell-names = "mac-address"; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; - - macaddr_art_6: macaddr@6 { - reg = <0x6 0x6>; - }; - - macaddr_art_18: macaddr@18 { - reg = <0x18 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9558_compex_wpj558-16m.dts b/target/linux/ath79/dts/qca9558_compex_wpj558-16m.dts index 61597c8909..d6ecc7728f 100644 --- a/target/linux/ath79/dts/qca9558_compex_wpj558-16m.dts +++ b/target/linux/ath79/dts/qca9558_compex_wpj558-16m.dts @@ -76,6 +76,16 @@ label = "u-boot"; reg = <0x000000 0x030000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_uboot_2e010: macaddr@2e010 { + reg = <0x2e010 0x6>; + }; + }; }; firmware@30000 { @@ -131,13 +141,3 @@ &pcie0 { status = "okay"; }; - -&uboot { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_uboot_2e010: macaddr@2e010 { - reg = <0x2e010 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9558_devolo_dvl1200e.dts b/target/linux/ath79/dts/qca9558_devolo_dvl1200e.dts index af305f8f07..d98600934a 100644 --- a/target/linux/ath79/dts/qca9558_devolo_dvl1200e.dts +++ b/target/linux/ath79/dts/qca9558_devolo_dvl1200e.dts @@ -58,9 +58,8 @@ ð1 { status = "okay"; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; phy-handle = <&phy1>; pll-data = <0x03000101 0x00000101 0x00001313>; diff --git a/target/linux/ath79/dts/qca9558_devolo_dvl1750e.dts b/target/linux/ath79/dts/qca9558_devolo_dvl1750e.dts index 6202ff3799..c520904617 100644 --- a/target/linux/ath79/dts/qca9558_devolo_dvl1750e.dts +++ b/target/linux/ath79/dts/qca9558_devolo_dvl1750e.dts @@ -93,9 +93,8 @@ ð1 { status = "okay"; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; phy-handle = <&phy1>; pll-data = <0x03000101 0x00000101 0x00001313>; diff --git a/target/linux/ath79/dts/qca9558_devolo_dvl1xxx.dtsi b/target/linux/ath79/dts/qca9558_devolo_dvl1xxx.dtsi index b96b314fa5..9a2579dd94 100644 --- a/target/linux/ath79/dts/qca9558_devolo_dvl1xxx.dtsi +++ b/target/linux/ath79/dts/qca9558_devolo_dvl1xxx.dtsi @@ -69,6 +69,18 @@ label = "art"; reg = <0x050000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@60000 { @@ -99,7 +111,7 @@ ð0 { status = "okay"; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 0>; nvmem-cell-names = "mac-address"; phy-handle = <&phy4>; @@ -114,17 +126,6 @@ status = "okay"; mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 (-2)>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(-2)>; -}; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; }; diff --git a/target/linux/ath79/dts/qca9558_dlink_dap-2680-a1.dts b/target/linux/ath79/dts/qca9558_dlink_dap-2680-a1.dts index c398dd637f..d32329b366 100644 --- a/target/linux/ath79/dts/qca9558_dlink_dap-2680-a1.dts +++ b/target/linux/ath79/dts/qca9558_dlink_dap-2680-a1.dts @@ -90,7 +90,17 @@ }; &art { - precal_ath10k: pre-calibration@5000 { - reg = <0x5000 0x2f20>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + cal_ath9k: calibration@1000 { + reg = <0x1000 0x440>; + }; + + precal_ath10k: pre-calibration@5000 { + reg = <0x5000 0x2f20>; + }; }; }; diff --git a/target/linux/ath79/dts/qca9558_dlink_dap-2695-a1.dts b/target/linux/ath79/dts/qca9558_dlink_dap-2695-a1.dts index 1985fa48d8..3ca641a550 100644 --- a/target/linux/ath79/dts/qca9558_dlink_dap-2695-a1.dts +++ b/target/linux/ath79/dts/qca9558_dlink_dap-2695-a1.dts @@ -116,7 +116,17 @@ }; &art { - cal_ath10k: calibration@5000 { - reg = <0x5000 0x844>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + cal_ath9k: calibration@1000 { + reg = <0x1000 0x440>; + }; + + cal_ath10k: calibration@5000 { + reg = <0x5000 0x844>; + }; }; }; diff --git a/target/linux/ath79/dts/qca9558_dlink_dap-3662-a1.dts b/target/linux/ath79/dts/qca9558_dlink_dap-3662-a1.dts index 27883f721c..e72af99da2 100644 --- a/target/linux/ath79/dts/qca9558_dlink_dap-3662-a1.dts +++ b/target/linux/ath79/dts/qca9558_dlink_dap-3662-a1.dts @@ -104,7 +104,17 @@ }; &art { - cal_ath10k: calibration@5000 { - reg = <0x5000 0x844>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + cal_ath9k: calibration@1000 { + reg = <0x1000 0x440>; + }; + + cal_ath10k: calibration@5000 { + reg = <0x5000 0x844>; + }; }; }; diff --git a/target/linux/ath79/dts/qca9558_dlink_dir-629-a1.dts b/target/linux/ath79/dts/qca9558_dlink_dir-629-a1.dts index d012ae4c50..e5c2cbcb72 100644 --- a/target/linux/ath79/dts/qca9558_dlink_dir-629-a1.dts +++ b/target/linux/ath79/dts/qca9558_dlink_dir-629-a1.dts @@ -114,8 +114,6 @@ reg = <0x048000 0x008000>; read-only; - compatible = "nvmem-cells"; - nvmem-layout { compatible = "fixed-layout"; #address-cells = <1>; @@ -152,12 +150,14 @@ reg = <0x080000 0x010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - cal_art_1000: calibration@1000 { - reg = <0x1000 0x440>; + cal_art_1000: calibration@1000 { + reg = <0x1000 0x440>; + }; }; }; diff --git a/target/linux/ath79/dts/qca9558_domywifi_dw33d.dts b/target/linux/ath79/dts/qca9558_domywifi_dw33d.dts index 976ac551f7..73f4ed0d1e 100644 --- a/target/linux/ath79/dts/qca9558_domywifi_dw33d.dts +++ b/target/linux/ath79/dts/qca9558_domywifi_dw33d.dts @@ -120,6 +120,24 @@ label = "art"; reg = <0xff0000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; + + macaddr_art_6: macaddr@6 { + reg = <0x6 0x6>; + }; + + macaddr_art_c: macaddr@c { + reg = <0xc 0x6>; + }; + }; }; }; }; @@ -193,21 +211,3 @@ nvmem-cells = <&macaddr_art_c>; nvmem-cell-names = "mac-address"; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; - - macaddr_art_6: macaddr@6 { - reg = <0x6 0x6>; - }; - - macaddr_art_c: macaddr@c { - reg = <0xc 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9558_engenius_eap1750h.dts b/target/linux/ath79/dts/qca9558_engenius_eap1750h.dts index e17eda3840..56c08621a7 100644 --- a/target/linux/ath79/dts/qca9558_engenius_eap1750h.dts +++ b/target/linux/ath79/dts/qca9558_engenius_eap1750h.dts @@ -62,20 +62,24 @@ reg = <0xff0000 0x010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; + macaddr_art_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; - calibration_art_1000: calibration@1000 { - reg = <0x1000 0x440>; - }; + calibration_art_1000: calibration@1000 { + reg = <0x1000 0x440>; + }; - calibration_art_5000: calibration@5000 { - reg = <0x5000 0x844>; + calibration_art_5000: calibration@5000 { + reg = <0x5000 0x844>; + }; }; }; }; @@ -93,7 +97,7 @@ ð0 { status = "okay"; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 0>; nvmem-cell-names = "mac-address"; phy-handle = <&phy5>; @@ -105,17 +109,15 @@ &wmac { status = "okay"; - nvmem-cells = <&macaddr_art_0>, <&calibration_art_1000>; + nvmem-cells = <&macaddr_art_0 1>, <&calibration_art_1000>; nvmem-cell-names = "mac-address", "calibration"; - mac-address-increment = <1>; }; &ath10k_0 { status = "okay"; - nvmem-cells = <&macaddr_art_0>, <&calibration_art_5000>; + nvmem-cells = <&macaddr_art_0 2>, <&calibration_art_5000>; nvmem-cell-names = "mac-address", "calibration"; - mac-address-increment = <2>; }; &pcie0 { diff --git a/target/linux/ath79/dts/qca9558_engenius_ews660ap.dts b/target/linux/ath79/dts/qca9558_engenius_ews660ap.dts index eca3a6091f..9fa1927c1d 100644 --- a/target/linux/ath79/dts/qca9558_engenius_ews660ap.dts +++ b/target/linux/ath79/dts/qca9558_engenius_ews660ap.dts @@ -50,20 +50,24 @@ reg = <0xff0000 0x010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; + macaddr_art_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; - calibration_art_1000: calibration@1000 { - reg = <0x1000 0x440>; - }; + calibration_art_1000: calibration@1000 { + reg = <0x1000 0x440>; + }; - calibration_art_5000: calibration@5000 { - reg = <0x5000 0x844>; + calibration_art_5000: calibration@5000 { + reg = <0x5000 0x844>; + }; }; }; }; @@ -88,7 +92,7 @@ ð0 { status = "okay"; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 0>; nvmem-cell-names = "mac-address"; phy-handle = <&phy1>; @@ -100,9 +104,8 @@ ð1 { status = "okay"; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; phy-handle = <&phy2>; @@ -114,17 +117,15 @@ &wmac { status = "okay"; - nvmem-cells = <&macaddr_art_0>, <&calibration_art_1000>; + nvmem-cells = <&macaddr_art_0 2>, <&calibration_art_1000>; nvmem-cell-names = "mac-address", "calibration"; - mac-address-increment = <2>; }; &ath10k_1 { status = "okay"; - nvmem-cells = <&macaddr_art_0>, <&calibration_art_5000>; + nvmem-cells = <&macaddr_art_0 3>, <&calibration_art_5000>; nvmem-cell-names = "mac-address", "calibration"; - mac-address-increment = <3>; }; &pcie1 { diff --git a/target/linux/ath79/dts/qca9558_jjplus_jwap230.dts b/target/linux/ath79/dts/qca9558_jjplus_jwap230.dts index 159013066f..6cd93f6b33 100644 --- a/target/linux/ath79/dts/qca9558_jjplus_jwap230.dts +++ b/target/linux/ath79/dts/qca9558_jjplus_jwap230.dts @@ -84,20 +84,22 @@ reg = <0xff0000 0x010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_art_lan: macaddr@0 { - reg = <0x0 0x6>; - }; + macaddr_art_lan: macaddr@0 { + reg = <0x0 0x6>; + }; - macaddr_art_wan: macaddr@6 { - reg = <0x6 0x6>; - }; + macaddr_art_wan: macaddr@6 { + reg = <0x6 0x6>; + }; - calibration_art_wlan: calibration@1000 { - reg = <0x1000 0x440>; + calibration_art_wlan: calibration@1000 { + reg = <0x1000 0x440>; + }; }; }; }; diff --git a/target/linux/ath79/dts/qca9558_librerouter_librerouter-v1.dts b/target/linux/ath79/dts/qca9558_librerouter_librerouter-v1.dts index b3447f8be3..5ee38b2e88 100644 --- a/target/linux/ath79/dts/qca9558_librerouter_librerouter-v1.dts +++ b/target/linux/ath79/dts/qca9558_librerouter_librerouter-v1.dts @@ -139,6 +139,24 @@ label = "art"; reg = <0xff0000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; + + macaddr_art_6: macaddr@6 { + reg = <0x6 0x6>; + }; + + macaddr_art_c: macaddr@c { + reg = <0xc 0x6>; + }; + }; }; }; }; @@ -193,21 +211,3 @@ nvmem-cells = <&macaddr_art_c>; nvmem-cell-names = "mac-address"; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; - - macaddr_art_6: macaddr@6 { - reg = <0x6 0x6>; - }; - - macaddr_art_c: macaddr@c { - reg = <0xc 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9558_linksys_ea4500-v3.dts b/target/linux/ath79/dts/qca9558_linksys_ea4500-v3.dts index 000dbce8e1..6c799efe33 100644 --- a/target/linux/ath79/dts/qca9558_linksys_ea4500-v3.dts +++ b/target/linux/ath79/dts/qca9558_linksys_ea4500-v3.dts @@ -90,20 +90,22 @@ reg = <0x140000 0x40000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - cal_macaddr: macaddr@0 { - reg = <0x6 0x6>; - }; + cal_macaddr: macaddr@0 { + reg = <0x6 0x6>; + }; - cal_ath9k_soc: cal_ath9k@1000 { - reg = <0x1000 0x440>; - }; + cal_ath9k_soc: cal_ath9k@1000 { + reg = <0x1000 0x440>; + }; - cal_ath9k_pci: cal_ath9k@5000 { - reg = <0x5000 0x440>; + cal_ath9k_pci: cal_ath9k@5000 { + reg = <0x5000 0x440>; + }; }; }; diff --git a/target/linux/ath79/dts/qca9558_mikrotik_routerboard-92x.dtsi b/target/linux/ath79/dts/qca9558_mikrotik_routerboard-92x.dtsi index d668259b1b..82b8c2ae56 100644 --- a/target/linux/ath79/dts/qca9558_mikrotik_routerboard-92x.dtsi +++ b/target/linux/ath79/dts/qca9558_mikrotik_routerboard-92x.dtsi @@ -156,6 +156,7 @@ partitions { compatible = "fixed-partitions"; + #address-cells = <1>; #size-cells = <1>; partition@0 { diff --git a/target/linux/ath79/dts/qca9558_netgear_ex7300.dts b/target/linux/ath79/dts/qca9558_netgear_ex7300.dts index b94ccd30b7..81898e972f 100644 --- a/target/linux/ath79/dts/qca9558_netgear_ex7300.dts +++ b/target/linux/ath79/dts/qca9558_netgear_ex7300.dts @@ -159,6 +159,32 @@ label = "caldata"; reg = <0x050000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_caldata_0: macaddr@0 { + reg = <0x0 0x6>; + }; + + macaddr_caldata_6: macaddr@6 { + reg = <0x6 0x6>; + }; + + macaddr_caldata_c: macaddr@c { + reg = <0xc 0x6>; + }; + + cal_caldata_1000: cal@1000 { + reg = <0x1000 0x440>; + }; + + precal_caldata_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; + }; }; partition@60000 { @@ -218,29 +244,3 @@ pll-data = <0x86000000 0x80000101 0x80001313>; }; - -&caldata { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_caldata_0: macaddr@0 { - reg = <0x0 0x6>; - }; - - macaddr_caldata_6: macaddr@6 { - reg = <0x6 0x6>; - }; - - macaddr_caldata_c: macaddr@c { - reg = <0xc 0x6>; - }; - - cal_caldata_1000: cal@1000 { - reg = <0x1000 0x440>; - }; - - precal_caldata_5000: precal@5000 { - reg = <0x5000 0x2f20>; - }; -}; diff --git a/target/linux/ath79/dts/qca9558_ocedo_koala.dts b/target/linux/ath79/dts/qca9558_ocedo_koala.dts index 85fd43699e..76305b2ece 100644 --- a/target/linux/ath79/dts/qca9558_ocedo_koala.dts +++ b/target/linux/ath79/dts/qca9558_ocedo_koala.dts @@ -106,6 +106,20 @@ label = "art"; reg = <0xff0000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; + + macaddr_art_6: macaddr@6 { + reg = <0x6 0x6>; + }; + }; }; }; }; @@ -140,17 +154,3 @@ pll-data = <0x8e000000 0x80000101 0x80001313>; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; - - macaddr_art_6: macaddr@6 { - reg = <0x6 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9558_ocedo_ursus.dts b/target/linux/ath79/dts/qca9558_ocedo_ursus.dts index be958d19a0..d2125c38ba 100644 --- a/target/linux/ath79/dts/qca9558_ocedo_ursus.dts +++ b/target/linux/ath79/dts/qca9558_ocedo_ursus.dts @@ -77,6 +77,24 @@ label = "art"; reg = <0xff0000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; + + macaddr_art_6: macaddr@6 { + reg = <0x6 0x6>; + }; + + macaddr_art_12: macaddr@12 { + reg = <0x12 0x6>; + }; + }; }; }; }; @@ -131,21 +149,3 @@ pll-data = <0x3000101 0x101 0x1313>; qca955x-sgmii-fixup; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; - - macaddr_art_6: macaddr@6 { - reg = <0x6 0x6>; - }; - - macaddr_art_12: macaddr@12 { - reg = <0x12 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9558_openmesh_a60.dtsi b/target/linux/ath79/dts/qca9558_openmesh_a60.dtsi index c2062a800a..32a176b542 100644 --- a/target/linux/ath79/dts/qca9558_openmesh_a60.dtsi +++ b/target/linux/ath79/dts/qca9558_openmesh_a60.dtsi @@ -111,6 +111,22 @@ label = "ART"; reg = <0xff0000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; + + macaddr_art_6: macaddr@6 { + reg = <0x6 0x6>; + }; + }; }; }; }; @@ -138,7 +154,7 @@ pll-data = <0x82000101 0x80000101 0x80001313>; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 0>; nvmem-cell-names = "mac-address"; phy-mode = "rgmii-id"; @@ -171,25 +187,10 @@ status = "okay"; mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 2>; nvmem-cell-names = "mac-address"; - mac-address-increment = <2>; }; &pcie0 { status = "okay"; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; - - macaddr_art_6: macaddr@6 { - reg = <0x6 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9558_openmesh_mr.dtsi b/target/linux/ath79/dts/qca9558_openmesh_mr.dtsi index 8e11760daf..218d5eb944 100644 --- a/target/linux/ath79/dts/qca9558_openmesh_mr.dtsi +++ b/target/linux/ath79/dts/qca9558_openmesh_mr.dtsi @@ -119,6 +119,18 @@ label = "ART"; reg = <0xff0000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; }; }; @@ -139,7 +151,7 @@ pll-data = <0x82000000 0x80000101 0x80001313>; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 0>; nvmem-cell-names = "mac-address"; phy-mode = "rgmii-id"; @@ -155,21 +167,10 @@ status = "okay"; mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; &pcie0 { status = "okay"; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9558_openmesh_mr900-v1.dts b/target/linux/ath79/dts/qca9558_openmesh_mr900-v1.dts index 211255cdde..8ef3241ee0 100644 --- a/target/linux/ath79/dts/qca9558_openmesh_mr900-v1.dts +++ b/target/linux/ath79/dts/qca9558_openmesh_mr900-v1.dts @@ -19,8 +19,7 @@ wifi@0,0 { compatible = "pci168c,0033"; reg = <0x0000 0 0 0 0>; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 16>; nvmem-cell-names = "mac-address"; - mac-address-increment = <16>; }; }; diff --git a/target/linux/ath79/dts/qca9558_openmesh_mr900-v2.dts b/target/linux/ath79/dts/qca9558_openmesh_mr900-v2.dts index 0d29c5cf06..cd3baacd15 100644 --- a/target/linux/ath79/dts/qca9558_openmesh_mr900-v2.dts +++ b/target/linux/ath79/dts/qca9558_openmesh_mr900-v2.dts @@ -19,8 +19,7 @@ wifi@0,0 { compatible = "pci168c,0033"; reg = <0x0000 0 0 0 0>; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 16>; nvmem-cell-names = "mac-address"; - mac-address-increment = <16>; }; }; diff --git a/target/linux/ath79/dts/qca9558_openmesh_om5p-ac-v1.dts b/target/linux/ath79/dts/qca9558_openmesh_om5p-ac-v1.dts index 147b98f925..ee4b82ee8d 100644 --- a/target/linux/ath79/dts/qca9558_openmesh_om5p-ac-v1.dts +++ b/target/linux/ath79/dts/qca9558_openmesh_om5p-ac-v1.dts @@ -130,6 +130,22 @@ label = "ART"; reg = <0xff0000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; + + macaddr_art_6: macaddr@6 { + reg = <0x6 0x6>; + }; + }; }; }; }; @@ -157,7 +173,7 @@ pll-data = <0x82000101 0x80000101 0x80001313>; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 0>; nvmem-cell-names = "mac-address"; phy-mode = "rgmii-id"; @@ -190,25 +206,10 @@ status = "okay"; mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 2>; nvmem-cell-names = "mac-address"; - mac-address-increment = <2>; }; &pcie1 { status = "okay"; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; - - macaddr_art_6: macaddr@6 { - reg = <0x6 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9558_openmesh_om5p-ac-v2.dts b/target/linux/ath79/dts/qca9558_openmesh_om5p-ac-v2.dts index 1ce924b8a0..d448ca4284 100644 --- a/target/linux/ath79/dts/qca9558_openmesh_om5p-ac-v2.dts +++ b/target/linux/ath79/dts/qca9558_openmesh_om5p-ac-v2.dts @@ -160,6 +160,22 @@ label = "ART"; reg = <0xff0000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; + + macaddr_art_6: macaddr@6 { + reg = <0x6 0x6>; + }; + }; }; }; }; @@ -191,7 +207,7 @@ pll-data = <0x82000101 0x80000101 0x80001313>; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 0>; nvmem-cell-names = "mac-address"; phy-mode = "rgmii-id"; @@ -224,21 +240,6 @@ status = "okay"; mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 2>; nvmem-cell-names = "mac-address"; - mac-address-increment = <2>; -}; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; - - macaddr_art_6: macaddr@6 { - reg = <0x6 0x6>; - }; }; diff --git a/target/linux/ath79/dts/qca9558_qxwlan_e558.dtsi b/target/linux/ath79/dts/qca9558_qxwlan_e558.dtsi index 5b28af5ca6..716bc0d77b 100644 --- a/target/linux/ath79/dts/qca9558_qxwlan_e558.dtsi +++ b/target/linux/ath79/dts/qca9558_qxwlan_e558.dtsi @@ -89,6 +89,18 @@ label = "pri-data"; reg = <0x050000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_pridata_400: macaddr@400 { + compatible = "mac-base"; + reg = <0x400 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; art: partition@60000 { @@ -127,9 +139,8 @@ phy-handle = <&phy0>; - nvmem-cells = <&macaddr_pridata_400>; + nvmem-cells = <&macaddr_pridata_400 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; ð1 { @@ -137,7 +148,7 @@ pll-data = <0x03000101 0x00000101 0x00001616>; - nvmem-cells = <&macaddr_pridata_400>; + nvmem-cells = <&macaddr_pridata_400 0>; nvmem-cell-names = "mac-address"; fixed-link { @@ -167,13 +178,3 @@ mtd-cal-data = <&art 0x1000>; }; - -&pridata { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_pridata_400: macaddr@400 { - reg = <0x400 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9558_sophos_ap.dtsi b/target/linux/ath79/dts/qca9558_sophos_ap.dtsi index 3d38ca79fe..8abd3e60b7 100644 --- a/target/linux/ath79/dts/qca9558_sophos_ap.dtsi +++ b/target/linux/ath79/dts/qca9558_sophos_ap.dtsi @@ -107,6 +107,16 @@ label = "config"; reg = <0x060000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_config_201a: macaddr@201a { + reg = <0x201a 0x6>; + }; + }; }; partition@70000 { @@ -157,16 +167,6 @@ mtd-cal-data = <&art 0x1000>; }; -&config { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_config_201a: macaddr@201a { - reg = <0x201a 0x6>; - }; -}; - &usb0 { vbus-supply = <®_usb_vbus>; }; diff --git a/target/linux/ath79/dts/qca9558_sophos_ap15.dts b/target/linux/ath79/dts/qca9558_sophos_ap15.dts index bb4b058a9a..490d3ae227 100644 --- a/target/linux/ath79/dts/qca9558_sophos_ap15.dts +++ b/target/linux/ath79/dts/qca9558_sophos_ap15.dts @@ -75,6 +75,16 @@ label = "config"; reg = <0x060000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_config_201a: macaddr@201a { + reg = <0x201a 0x6>; + }; + }; }; partition@70000 { @@ -126,13 +136,3 @@ mtd-cal-data = <&art 0x1000>; }; - -&config { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_config_201a: macaddr@201a { - reg = <0x201a 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9558_tplink_archer-c5-v1.dts b/target/linux/ath79/dts/qca9558_tplink_archer-c5-v1.dts index 85012d3aac..d41b065c27 100644 --- a/target/linux/ath79/dts/qca9558_tplink_archer-c5-v1.dts +++ b/target/linux/ath79/dts/qca9558_tplink_archer-c5-v1.dts @@ -33,6 +33,18 @@ label = "u-boot"; reg = <0x000000 0x020000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_uboot_1fc00: macaddr@1fc00 { + compatible = "mac-base"; + reg = <0x1fc00 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@20000 { @@ -49,29 +61,18 @@ }; ð0 { - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; ð1 { - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 0>; nvmem-cell-names = "mac-address"; }; &wmac { mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 0>; nvmem-cell-names = "mac-address"; }; - -&uboot { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_uboot_1fc00: macaddr@1fc00 { - reg = <0x1fc00 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9558_tplink_archer-c7-v1.dts b/target/linux/ath79/dts/qca9558_tplink_archer-c7-v1.dts index e520a83d40..83e51b42cc 100644 --- a/target/linux/ath79/dts/qca9558_tplink_archer-c7-v1.dts +++ b/target/linux/ath79/dts/qca9558_tplink_archer-c7-v1.dts @@ -33,6 +33,18 @@ label = "u-boot"; reg = <0x000000 0x020000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_uboot_1fc00: macaddr@1fc00 { + compatible = "mac-base"; + reg = <0x1fc00 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@20000 { @@ -46,38 +58,29 @@ reg = <0x7f0000 0x010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - calibration_art_1000: calibration@1000 { - reg = <0x1000 0x440>; + calibration_art_1000: calibration@1000 { + reg = <0x1000 0x440>; + }; }; }; }; ð0 { - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; ð1 { - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 0>; nvmem-cell-names = "mac-address"; }; &wmac { - nvmem-cells = <&macaddr_uboot_1fc00>, <&calibration_art_1000>; + nvmem-cells = <&macaddr_uboot_1fc00 0>, <&calibration_art_1000>; nvmem-cell-names = "mac-address", "calibration"; }; - -&uboot { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_uboot_1fc00: macaddr@1fc00 { - reg = <0x1fc00 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9558_tplink_archer-c7-v2.dts b/target/linux/ath79/dts/qca9558_tplink_archer-c7-v2.dts index 1b860dbf2d..c722caeb55 100644 --- a/target/linux/ath79/dts/qca9558_tplink_archer-c7-v2.dts +++ b/target/linux/ath79/dts/qca9558_tplink_archer-c7-v2.dts @@ -34,6 +34,18 @@ label = "u-boot"; reg = <0x000000 0x020000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_uboot_1fc00: macaddr@1fc00 { + compatible = "mac-base"; + reg = <0x1fc00 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@20000 { @@ -47,28 +59,29 @@ reg = <0xff0000 0x010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - calibration_art_1000: calibration@1000 { - reg = <0x1000 0x440>; - }; + calibration_art_1000: calibration@1000 { + reg = <0x1000 0x440>; + }; - calibration_art_5000: calibration@5000 { - reg = <0x5000 0x844>; + calibration_art_5000: calibration@5000 { + reg = <0x5000 0x844>; + }; }; }; }; ð0 { - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; ð1 { - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 0>; nvmem-cell-names = "mac-address"; }; @@ -79,23 +92,12 @@ compatible = "qcom,ath10k"; reg = <0 0 0 0 0>; - mac-address-increment = <(-1)>; - nvmem-cells = <&macaddr_uboot_1fc00>, <&calibration_art_5000>; + nvmem-cells = <&macaddr_uboot_1fc00 (-1)>, <&calibration_art_5000>; nvmem-cell-names = "mac-address", "calibration"; }; }; &wmac { - nvmem-cells = <&macaddr_uboot_1fc00>, <&calibration_art_1000>; + nvmem-cells = <&macaddr_uboot_1fc00 0>, <&calibration_art_1000>; nvmem-cell-names = "mac-address", "calibration"; }; - -&uboot { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_uboot_1fc00: macaddr@1fc00 { - reg = <0x1fc00 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9558_tplink_archer-d7-v1.dts b/target/linux/ath79/dts/qca9558_tplink_archer-d7-v1.dts index 4f822fbc7d..5869ee16e3 100644 --- a/target/linux/ath79/dts/qca9558_tplink_archer-d7-v1.dts +++ b/target/linux/ath79/dts/qca9558_tplink_archer-d7-v1.dts @@ -52,6 +52,18 @@ label = "romfs"; reg = <0xfd0000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_romfs_f100: macaddr@f100 { + compatible = "mac-base"; + reg = <0xf100 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@fe0000 { @@ -70,28 +82,17 @@ }; ð0 { - nvmem-cells = <&macaddr_romfs_f100>; + nvmem-cells = <&macaddr_romfs_f100 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; ð1 { - nvmem-cells = <&macaddr_romfs_f100>; + nvmem-cells = <&macaddr_romfs_f100 0>; nvmem-cell-names = "mac-address"; }; &wmac { mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_romfs_f100>; + nvmem-cells = <&macaddr_romfs_f100 0>; nvmem-cell-names = "mac-address"; }; - -&romfs { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_romfs_f100: macaddr@f100 { - reg = <0xf100 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9558_tplink_archer-d7b-v1.dts b/target/linux/ath79/dts/qca9558_tplink_archer-d7b-v1.dts index 9adaa7fa6d..7094077bc6 100644 --- a/target/linux/ath79/dts/qca9558_tplink_archer-d7b-v1.dts +++ b/target/linux/ath79/dts/qca9558_tplink_archer-d7b-v1.dts @@ -46,6 +46,18 @@ label = "romfs"; reg = <0xfd0000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_romfs_f100: macaddr@f100 { + compatible = "mac-base"; + reg = <0xf100 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@fe0000 { @@ -64,28 +76,17 @@ }; ð0 { - nvmem-cells = <&macaddr_romfs_f100>; + nvmem-cells = <&macaddr_romfs_f100 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; ð1 { - nvmem-cells = <&macaddr_romfs_f100>; + nvmem-cells = <&macaddr_romfs_f100 0>; nvmem-cell-names = "mac-address"; }; &wmac { mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_romfs_f100>; + nvmem-cells = <&macaddr_romfs_f100 0>; nvmem-cell-names = "mac-address"; }; - -&romfs { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_romfs_f100: macaddr@f100 { - reg = <0xf100 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9558_tplink_re350k-v1.dts b/target/linux/ath79/dts/qca9558_tplink_re350k-v1.dts index 0966f01908..7c48326d57 100644 --- a/target/linux/ath79/dts/qca9558_tplink_re350k-v1.dts +++ b/target/linux/ath79/dts/qca9558_tplink_re350k-v1.dts @@ -152,6 +152,16 @@ label = "info"; reg = <0xda0000 0x020000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + reg = <0x8 0x6>; + }; + }; }; partition@dc0000 { @@ -176,13 +186,3 @@ nvmem-cells = <&macaddr_info_8>; nvmem-cell-names = "mac-address"; }; - -&info { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_info_8: macaddr@8 { - reg = <0x8 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9558_tplink_rex5x.dtsi b/target/linux/ath79/dts/qca9558_tplink_rex5x.dtsi index 31089f339d..f90ebfea15 100644 --- a/target/linux/ath79/dts/qca9558_tplink_rex5x.dtsi +++ b/target/linux/ath79/dts/qca9558_tplink_rex5x.dtsi @@ -135,6 +135,18 @@ label = "info"; reg = <0x610000 0x020000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + compatible = "mac-base"; + reg = <0x8 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@630000 { @@ -158,7 +170,7 @@ phy-handle = <&phy4>; pll-data = <0xa6000000 0x00000101 0x00001616>; - nvmem-cells = <&macaddr_info_8>; + nvmem-cells = <&macaddr_info_8 0>; nvmem-cell-names = "mac-address"; }; @@ -166,17 +178,6 @@ status = "okay"; mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_info_8>; + nvmem-cells = <&macaddr_info_8 (-1)>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(-1)>; -}; - -&info { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_info_8: macaddr@8 { - reg = <0x8 0x6>; - }; }; diff --git a/target/linux/ath79/dts/qca9558_tplink_tl-wdr4900-v2.dts b/target/linux/ath79/dts/qca9558_tplink_tl-wdr4900-v2.dts index c6b9b077da..0edba24040 100644 --- a/target/linux/ath79/dts/qca9558_tplink_tl-wdr4900-v2.dts +++ b/target/linux/ath79/dts/qca9558_tplink_tl-wdr4900-v2.dts @@ -96,9 +96,8 @@ ath9k: wifi@0,0 { compatible = "pci168c,0033"; reg = <0x0000 0 0 0 0>; - nvmem-cells = <&macaddr_uboot_1fc00>, <&cal_ath9k_pci>; + nvmem-cells = <&macaddr_uboot_1fc00 (-2)>, <&cal_ath9k_pci>; nvmem-cell-names = "mac-address", "calibration"; - mac-address-increment = <(-2)>; #gpio-cells = <2>; gpio-controller; }; @@ -138,12 +137,16 @@ reg = <0x000000 0x020000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_uboot_1fc00: macaddr@1fc00 { - reg = <0x1fc00 0x6>; + macaddr_uboot_1fc00: macaddr@1fc00 { + compatible = "mac-base"; + reg = <0x1fc00 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -158,16 +161,18 @@ reg = <0x7f0000 0x010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - cal_ath9k_soc: cal_ath9k@1000 { - reg = <0x1000 0x440>; - }; + cal_ath9k_soc: cal_ath9k@1000 { + reg = <0x1000 0x440>; + }; - cal_ath9k_pci: cal_ath9k@5000 { - reg = <0x5000 0x440>; + cal_ath9k_pci: cal_ath9k@5000 { + reg = <0x5000 0x440>; + }; }; }; }; @@ -196,9 +201,8 @@ ð0 { status = "okay"; - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; phy-handle = <&phy0>; pll-data = <0x56000000 0x00000101 0x00001616>; @@ -211,7 +215,7 @@ ð1 { status = "okay"; - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 0>; nvmem-cell-names = "mac-address"; pll-data = <0x03000101 0x00000101 0x00001616>; @@ -224,7 +228,6 @@ &wmac { status = "okay"; - nvmem-cells = <&macaddr_uboot_1fc00>, <&cal_ath9k_soc>; + nvmem-cells = <&macaddr_uboot_1fc00 (-1)>, <&cal_ath9k_soc>; nvmem-cell-names = "mac-address", "calibration"; - mac-address-increment = <(-1)>; }; diff --git a/target/linux/ath79/dts/qca9558_tplink_tl-wdr7500-v3.dts b/target/linux/ath79/dts/qca9558_tplink_tl-wdr7500-v3.dts index 998ede85cb..99a4273ad0 100644 --- a/target/linux/ath79/dts/qca9558_tplink_tl-wdr7500-v3.dts +++ b/target/linux/ath79/dts/qca9558_tplink_tl-wdr7500-v3.dts @@ -33,6 +33,18 @@ label = "u-boot"; reg = <0x000000 0x020000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_uboot_1fc00: macaddr@1fc00 { + compatible = "mac-base"; + reg = <0x1fc00 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@20000 { @@ -49,29 +61,18 @@ }; ð0 { - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; ð1 { - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 0>; nvmem-cell-names = "mac-address"; }; &wmac { mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 0>; nvmem-cell-names = "mac-address"; }; - -&uboot { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_uboot_1fc00: macaddr@1fc00 { - reg = <0x1fc00 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9558_tplink_tl-wr1043nd.dtsi b/target/linux/ath79/dts/qca9558_tplink_tl-wr1043nd.dtsi index 52996bba34..f4390f4656 100644 --- a/target/linux/ath79/dts/qca9558_tplink_tl-wr1043nd.dtsi +++ b/target/linux/ath79/dts/qca9558_tplink_tl-wr1043nd.dtsi @@ -97,6 +97,18 @@ label = "u-boot"; reg = <0x000000 0x020000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_uboot_1fc00: macaddr@1fc00 { + compatible = "mac-base"; + reg = <0x1fc00 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@20000 { @@ -138,9 +150,8 @@ pll-data = <0x56000000 0x00000101 0x00001616>; - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; phy-handle = <&phy0>; }; @@ -149,7 +160,7 @@ pll-data = <0x03000101 0x00000101 0x00001616>; - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 0>; nvmem-cell-names = "mac-address"; fixed-link { @@ -161,16 +172,6 @@ &wmac { status = "okay"; mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 0>; nvmem-cell-names = "mac-address"; }; - -&uboot { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_uboot_1fc00: macaddr@1fc00 { - reg = <0x1fc00 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9558_tplink_tl-wr941n-v7-cn.dts b/target/linux/ath79/dts/qca9558_tplink_tl-wr941n-v7-cn.dts index 27bf82d20d..9d329000c9 100644 --- a/target/linux/ath79/dts/qca9558_tplink_tl-wr941n-v7-cn.dts +++ b/target/linux/ath79/dts/qca9558_tplink_tl-wr941n-v7-cn.dts @@ -74,6 +74,16 @@ label = "u-boot"; reg = <0x000000 0x020000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_uboot_1fc00: macaddr@1fc00 { + reg = <0x1fc00 0x6>; + }; + }; }; partition@20000 { @@ -117,13 +127,3 @@ nvmem-cells = <&macaddr_uboot_1fc00>; nvmem-cell-names = "mac-address"; }; - -&uboot { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_uboot_1fc00: macaddr@1fc00 { - reg = <0x1fc00 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9558_ubnt_nanobeam-ac-xc.dts b/target/linux/ath79/dts/qca9558_ubnt_nanobeam-ac-xc.dts index 91675ff615..09e7e1bf8d 100644 --- a/target/linux/ath79/dts/qca9558_ubnt_nanobeam-ac-xc.dts +++ b/target/linux/ath79/dts/qca9558_ubnt_nanobeam-ac-xc.dts @@ -98,13 +98,3 @@ phy-mode = "sgmii"; phy-handle = <&phy4>; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9558_ubnt_powerbeam-5ac-500.dts b/target/linux/ath79/dts/qca9558_ubnt_powerbeam-5ac-500.dts index 3827a94b24..48f06e3dcb 100644 --- a/target/linux/ath79/dts/qca9558_ubnt_powerbeam-5ac-500.dts +++ b/target/linux/ath79/dts/qca9558_ubnt_powerbeam-5ac-500.dts @@ -36,13 +36,3 @@ phy-mode = "sgmii"; phy-handle = <&phy4>; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9558_ubnt_rocket-5ac-lite.dts b/target/linux/ath79/dts/qca9558_ubnt_rocket-5ac-lite.dts index 836211ccd5..7df3759b62 100644 --- a/target/linux/ath79/dts/qca9558_ubnt_rocket-5ac-lite.dts +++ b/target/linux/ath79/dts/qca9558_ubnt_rocket-5ac-lite.dts @@ -36,13 +36,3 @@ phy-mode = "sgmii"; phy-handle = <&phy4>; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9558_watchguard_ap300.dts b/target/linux/ath79/dts/qca9558_watchguard_ap300.dts index 799883c350..5f5ef0f968 100644 --- a/target/linux/ath79/dts/qca9558_watchguard_ap300.dts +++ b/target/linux/ath79/dts/qca9558_watchguard_ap300.dts @@ -104,6 +104,18 @@ label = "art"; reg = <0x1ff0000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; }; @@ -116,21 +128,10 @@ mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; &pcie0 { status = "okay"; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca955x_dlink_dap-2xxx.dtsi b/target/linux/ath79/dts/qca955x_dlink_dap-2xxx.dtsi index 3e254fa494..1e082ffd7f 100644 --- a/target/linux/ath79/dts/qca955x_dlink_dap-2xxx.dtsi +++ b/target/linux/ath79/dts/qca955x_dlink_dap-2xxx.dtsi @@ -46,14 +46,6 @@ label = "art"; reg = <0xff0000 0x10000>; read-only; - - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - cal_ath9k: calibration@1000 { - reg = <0x1000 0x440>; - }; }; }; }; diff --git a/target/linux/ath79/dts/qca955x_senao_router-dual.dtsi b/target/linux/ath79/dts/qca955x_senao_router-dual.dtsi index e1b76bcbd1..61446263c4 100644 --- a/target/linux/ath79/dts/qca955x_senao_router-dual.dtsi +++ b/target/linux/ath79/dts/qca955x_senao_router-dual.dtsi @@ -103,14 +103,18 @@ reg = <0xff0000 0x010000>; read-only; - compatible = "nvmem-cells"; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - calibration_art_1000: calibration@1000 { - reg = <0x1000 0x440>; - }; + calibration_art_1000: calibration@1000 { + reg = <0x1000 0x440>; + }; - calibration_art_5000: calibration@5000 { - reg = <0x5000 0x844>; + calibration_art_5000: calibration@5000 { + reg = <0x5000 0x844>; + }; }; }; }; diff --git a/target/linux/ath79/dts/qca955x_ubnt_xc.dtsi b/target/linux/ath79/dts/qca955x_ubnt_xc.dtsi index 0f803945db..519f831bea 100644 --- a/target/linux/ath79/dts/qca955x_ubnt_xc.dtsi +++ b/target/linux/ath79/dts/qca955x_ubnt_xc.dtsi @@ -50,6 +50,16 @@ label = "art"; reg = <0xff0000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; + }; }; }; }; diff --git a/target/linux/ath79/dts/qca9561_tplink_archer-c25-v1.dts b/target/linux/ath79/dts/qca9561_tplink_archer-c25-v1.dts index 4b371e0e8e..6179e621bf 100644 --- a/target/linux/ath79/dts/qca9561_tplink_archer-c25-v1.dts +++ b/target/linux/ath79/dts/qca9561_tplink_archer-c25-v1.dts @@ -152,6 +152,18 @@ label = "info"; reg = <0x7e0000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + compatible = "mac-base"; + reg = <0x8 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; art: partition@7f0000 { @@ -172,32 +184,21 @@ phy-handle = <&swphy4>; - nvmem-cells = <&macaddr_info_8>; + nvmem-cells = <&macaddr_info_8 0>; nvmem-cell-names = "mac-address"; }; ð1 { status = "okay"; - nvmem-cells = <&macaddr_info_8>; + nvmem-cells = <&macaddr_info_8 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; &wmac { status = "okay"; mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_info_8>; + nvmem-cells = <&macaddr_info_8 0>; nvmem-cell-names = "mac-address"; }; - -&info { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_info_8: macaddr@8 { - reg = <0x8 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9561_tplink_archer-c58-v1.dts b/target/linux/ath79/dts/qca9561_tplink_archer-c58-v1.dts index 180efada12..a09e1fae6f 100644 --- a/target/linux/ath79/dts/qca9561_tplink_archer-c58-v1.dts +++ b/target/linux/ath79/dts/qca9561_tplink_archer-c58-v1.dts @@ -34,6 +34,18 @@ label = "info"; reg = <0x010000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + compatible = "mac-base"; + reg = <0x8 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@20000 { @@ -58,29 +70,18 @@ }; ð0 { - nvmem-cells = <&macaddr_info_8>; + nvmem-cells = <&macaddr_info_8 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; ð1 { - nvmem-cells = <&macaddr_info_8>; + nvmem-cells = <&macaddr_info_8 0>; nvmem-cell-names = "mac-address"; }; &wmac { mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_info_8>; + nvmem-cells = <&macaddr_info_8 0>; nvmem-cell-names = "mac-address"; }; - -&info { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_info_8: macaddr@8 { - reg = <0x8 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9561_tplink_archer-c59-v1.dts b/target/linux/ath79/dts/qca9561_tplink_archer-c59-v1.dts index f05a290d2f..720a2b01a9 100644 --- a/target/linux/ath79/dts/qca9561_tplink_archer-c59-v1.dts +++ b/target/linux/ath79/dts/qca9561_tplink_archer-c59-v1.dts @@ -51,6 +51,18 @@ label = "info"; reg = <0x010000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + compatible = "mac-base"; + reg = <0x8 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@20000 { @@ -75,29 +87,18 @@ }; ð0 { - nvmem-cells = <&macaddr_info_8>; + nvmem-cells = <&macaddr_info_8 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; ð1 { - nvmem-cells = <&macaddr_info_8>; + nvmem-cells = <&macaddr_info_8 0>; nvmem-cell-names = "mac-address"; }; &wmac { mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_info_8>; + nvmem-cells = <&macaddr_info_8 0>; nvmem-cell-names = "mac-address"; }; - -&info { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_info_8: macaddr@8 { - reg = <0x8 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9561_tplink_archer-c59-v2.dts b/target/linux/ath79/dts/qca9561_tplink_archer-c59-v2.dts index 4be23ffbc0..be6e6ade1c 100644 --- a/target/linux/ath79/dts/qca9561_tplink_archer-c59-v2.dts +++ b/target/linux/ath79/dts/qca9561_tplink_archer-c59-v2.dts @@ -57,6 +57,18 @@ label = "info"; reg = <0x030000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + compatible = "mac-base"; + reg = <0x8 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@40000 { @@ -81,29 +93,18 @@ }; ð0 { - nvmem-cells = <&macaddr_info_8>; + nvmem-cells = <&macaddr_info_8 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; ð1 { - nvmem-cells = <&macaddr_info_8>; + nvmem-cells = <&macaddr_info_8 0>; nvmem-cell-names = "mac-address"; }; &wmac { mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_info_8>; + nvmem-cells = <&macaddr_info_8 0>; nvmem-cell-names = "mac-address"; }; - -&info { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_info_8: macaddr@8 { - reg = <0x8 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9561_tplink_archer-c60-v1.dts b/target/linux/ath79/dts/qca9561_tplink_archer-c60-v1.dts index f5ab2e5977..eff85d6a58 100644 --- a/target/linux/ath79/dts/qca9561_tplink_archer-c60-v1.dts +++ b/target/linux/ath79/dts/qca9561_tplink_archer-c60-v1.dts @@ -46,6 +46,18 @@ label = "info"; reg = <0x010000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + compatible = "mac-base"; + reg = <0x8 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@20000 { @@ -70,29 +82,18 @@ }; ð0 { - nvmem-cells = <&macaddr_info_8>; + nvmem-cells = <&macaddr_info_8 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; ð1 { - nvmem-cells = <&macaddr_info_8>; + nvmem-cells = <&macaddr_info_8 0>; nvmem-cell-names = "mac-address"; }; &wmac { mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_info_8>; + nvmem-cells = <&macaddr_info_8 0>; nvmem-cell-names = "mac-address"; }; - -&info { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_info_8: macaddr@8 { - reg = <0x8 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9561_tplink_archer-c60-v2.dts b/target/linux/ath79/dts/qca9561_tplink_archer-c60-v2.dts index 014222770f..18053d691c 100644 --- a/target/linux/ath79/dts/qca9561_tplink_archer-c60-v2.dts +++ b/target/linux/ath79/dts/qca9561_tplink_archer-c60-v2.dts @@ -46,6 +46,18 @@ label = "info"; reg = <0x01fb00 0x000500>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + compatible = "mac-base"; + reg = <0x8 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@20000 { @@ -76,29 +88,18 @@ }; ð0 { - nvmem-cells = <&macaddr_info_8>; + nvmem-cells = <&macaddr_info_8 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; ð1 { - nvmem-cells = <&macaddr_info_8>; + nvmem-cells = <&macaddr_info_8 0>; nvmem-cell-names = "mac-address"; }; &wmac { mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_info_8>; + nvmem-cells = <&macaddr_info_8 0>; nvmem-cell-names = "mac-address"; }; - -&info { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_info_8: macaddr@8 { - reg = <0x8 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9561_tplink_archer-c60-v3.dts b/target/linux/ath79/dts/qca9561_tplink_archer-c60-v3.dts index a2f46ecd60..068f957759 100644 --- a/target/linux/ath79/dts/qca9561_tplink_archer-c60-v3.dts +++ b/target/linux/ath79/dts/qca9561_tplink_archer-c60-v3.dts @@ -41,6 +41,18 @@ label = "info"; reg = <0x01fb00 0x000500>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + compatible = "mac-base"; + reg = <0x8 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@20000 { @@ -71,29 +83,18 @@ }; ð0 { - nvmem-cells = <&macaddr_info_8>; + nvmem-cells = <&macaddr_info_8 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; ð1 { - nvmem-cells = <&macaddr_info_8>; + nvmem-cells = <&macaddr_info_8 0>; nvmem-cell-names = "mac-address"; }; &wmac { mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_info_8>; + nvmem-cells = <&macaddr_info_8 0>; nvmem-cell-names = "mac-address"; }; - -&info { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_info_8: macaddr@8 { - reg = <0x8 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9561_tplink_eap225-wall-v2.dts b/target/linux/ath79/dts/qca9561_tplink_eap225-wall-v2.dts index 439549d142..cf5f3a3a4e 100644 --- a/target/linux/ath79/dts/qca9561_tplink_eap225-wall-v2.dts +++ b/target/linux/ath79/dts/qca9561_tplink_eap225-wall-v2.dts @@ -63,9 +63,7 @@ compatible = "qcom,ath10k"; reg = <0 0 0 0 0>; - mac-address-increment = <1>; - - nvmem-cells = <&macaddr_info_8>, <&precalibration_ath10k>; + nvmem-cells = <&macaddr_info_8 1>, <&precalibration_ath10k>; nvmem-cell-names = "mac-address", "pre-calibration"; }; }; @@ -99,6 +97,18 @@ label = "info"; reg = <0x030000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + compatible = "mac-base"; + reg = <0x8 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@40000 { @@ -132,16 +142,18 @@ reg = <0xff0000 0x010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - calibration_ath9k: calibration@1000 { - reg = <0x1000 0x440>; - }; + calibration_ath9k: calibration@1000 { + reg = <0x1000 0x440>; + }; - precalibration_ath10k: pre-calibration@5000 { - reg = <0x5000 0x2f20>; + precalibration_ath10k: pre-calibration@5000 { + reg = <0x5000 0x2f20>; + }; }; }; }; @@ -151,23 +163,13 @@ ð1 { status = "okay"; - nvmem-cells = <&macaddr_info_8>; + nvmem-cells = <&macaddr_info_8 0>; nvmem-cell-names = "mac-address"; }; &wmac { status = "okay"; - nvmem-cells = <&macaddr_info_8>, <&calibration_ath9k>; + nvmem-cells = <&macaddr_info_8 0>, <&calibration_ath9k>; nvmem-cell-names = "mac-address", "calibration"; }; - -&info { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_info_8: macaddr@8 { - reg = <0x8 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9561_tplink_tl-wdr6500-v2.dts b/target/linux/ath79/dts/qca9561_tplink_tl-wdr6500-v2.dts index 15c5868659..04567e6b88 100644 --- a/target/linux/ath79/dts/qca9561_tplink_tl-wdr6500-v2.dts +++ b/target/linux/ath79/dts/qca9561_tplink_tl-wdr6500-v2.dts @@ -81,12 +81,16 @@ reg = <0x000000 0x010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_uboot_0fc00: macaddr@0fc00 { - reg = <0x0fc00 0x6>; + macaddr_uboot_0fc00: macaddr@0fc00 { + compatible = "mac-base"; + reg = <0x0fc00 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -101,16 +105,18 @@ reg = <0x7f0000 0x010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - calibration_ath9k: calibration@1000 { - reg = <0x1000 0x440>; - }; + calibration_ath9k: calibration@1000 { + reg = <0x1000 0x440>; + }; - calibration_ath10k: calibration@5000 { - reg = <0x5000 0x844>; + calibration_ath10k: calibration@5000 { + reg = <0x5000 0x844>; + }; }; }; }; @@ -128,9 +134,8 @@ compatible = "qcom,ath10k"; reg = <0 0 0 0 0>; - nvmem-cells = <&macaddr_uboot_0fc00>, <&calibration_ath10k>; + nvmem-cells = <&macaddr_uboot_0fc00 (-2)>, <&calibration_ath10k>; nvmem-cell-names = "mac-address", "calibration"; - mac-address-increment = <(-2)>; }; }; @@ -143,24 +148,22 @@ phy-handle = <&swphy4>; - nvmem-cells = <&macaddr_uboot_0fc00>; + nvmem-cells = <&macaddr_uboot_0fc00 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; ð1 { status = "okay"; - nvmem-cells = <&macaddr_uboot_0fc00>; + nvmem-cells = <&macaddr_uboot_0fc00 0>; nvmem-cell-names = "mac-address"; }; &wmac { status = "okay"; - nvmem-cells = <&macaddr_uboot_0fc00>, <&calibration_ath9k>; + nvmem-cells = <&macaddr_uboot_0fc00 (-1)>, <&calibration_ath9k>; nvmem-cell-names = "mac-address", "calibration"; - mac-address-increment = <(-1)>; }; &usb0 { diff --git a/target/linux/ath79/dts/qca9561_xiaomi_mi-router-4q.dts b/target/linux/ath79/dts/qca9561_xiaomi_mi-router-4q.dts index 6e45fbb20f..5f9f575b44 100644 --- a/target/linux/ath79/dts/qca9561_xiaomi_mi-router-4q.dts +++ b/target/linux/ath79/dts/qca9561_xiaomi_mi-router-4q.dts @@ -93,6 +93,22 @@ label = "art"; reg = <0x60000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; + + macaddr_art_6: macaddr@6 { + reg = <0x6 0x6>; + }; + }; }; partition@70000 { @@ -120,7 +136,7 @@ status = "okay"; phy-handle = <&swphy4>; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 0>; nvmem-cell-names = "mac-address"; }; @@ -135,21 +151,6 @@ status = "okay"; mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; -}; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; - - macaddr_art_6: macaddr@6 { - reg = <0x6 0x6>; - }; }; diff --git a/target/linux/ath79/dts/qca9563_asus_pl-ac56.dts b/target/linux/ath79/dts/qca9563_asus_pl-ac56.dts index c597b566aa..a31f188142 100644 --- a/target/linux/ath79/dts/qca9563_asus_pl-ac56.dts +++ b/target/linux/ath79/dts/qca9563_asus_pl-ac56.dts @@ -91,12 +91,14 @@ reg = <0x050000 0x10000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_art_1002: macaddr@1002 { - reg = <0x1002 0x6>; + macaddr_art_1002: macaddr@1002 { + reg = <0x1002 0x6>; + }; }; }; diff --git a/target/linux/ath79/dts/qca9563_asus_rp-ac66.dts b/target/linux/ath79/dts/qca9563_asus_rp-ac66.dts index ac3551d115..c4b9f34713 100644 --- a/target/linux/ath79/dts/qca9563_asus_rp-ac66.dts +++ b/target/linux/ath79/dts/qca9563_asus_rp-ac66.dts @@ -113,12 +113,14 @@ reg = <0x050000 0x10000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_art_1002: macaddr@1002 { - reg = <0x1002 0x6>; + macaddr_art_1002: macaddr@1002 { + reg = <0x1002 0x6>; + }; }; }; diff --git a/target/linux/ath79/dts/qca9563_comfast_cf-e375ac.dts b/target/linux/ath79/dts/qca9563_comfast_cf-e375ac.dts index 20c9700952..2f0a0992a9 100644 --- a/target/linux/ath79/dts/qca9563_comfast_cf-e375ac.dts +++ b/target/linux/ath79/dts/qca9563_comfast_cf-e375ac.dts @@ -84,6 +84,18 @@ label = "art"; reg = <0x040000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@50000 { @@ -122,7 +134,7 @@ pll-data = <0x03000101 0x00000101 0x00001919>; phy-mode = "sgmii"; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 0>; nvmem-cell-names = "mac-address"; phy-handle = <&phy0>; }; @@ -131,17 +143,6 @@ status = "okay"; mtd-cal-data = <&art 0x1000>; - nvmem-cells = <&macaddr_art_0>; + nvmem-cells = <&macaddr_art_0 10>; nvmem-cell-names = "mac-address"; - mac-address-increment = <10>; -}; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; }; diff --git a/target/linux/ath79/dts/qca9563_compex_wpj563.dts b/target/linux/ath79/dts/qca9563_compex_wpj563.dts index 407e912ad2..95ca900398 100644 --- a/target/linux/ath79/dts/qca9563_compex_wpj563.dts +++ b/target/linux/ath79/dts/qca9563_compex_wpj563.dts @@ -79,6 +79,16 @@ label = "u-boot"; reg = <0x000000 0x030000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_uboot_2e010: macaddr@2e010 { + reg = <0x2e010 0x6>; + }; + }; }; partition@30000 { @@ -143,13 +153,3 @@ mtd-cal-data = <&art 0x1000>; }; - -&uboot { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_uboot_2e010: macaddr@2e010 { - reg = <0x2e010 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9563_dlink_dir-8x9-a1.dtsi b/target/linux/ath79/dts/qca9563_dlink_dir-8x9-a1.dtsi index 616c29a4c1..70ec60219d 100644 --- a/target/linux/ath79/dts/qca9563_dlink_dir-8x9-a1.dtsi +++ b/target/linux/ath79/dts/qca9563_dlink_dir-8x9-a1.dtsi @@ -67,8 +67,6 @@ reg = <0x050000 0x010000>; read-only; - compatible = "nvmem-cells"; - nvmem-layout { compatible = "fixed-layout"; #address-cells = <1>; @@ -106,17 +104,19 @@ reg = <0xff0000 0x010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - calibration_ath9k: calibration@1000 { - reg = <0x1000 0x440>; + calibration_ath9k: calibration@1000 { + reg = <0x1000 0x440>; + }; + + calibration_ath10k: calibration@5000 { + reg = <0x5000 0x844>; + }; }; - - calibration_ath10k: calibration@5000 { - reg = <0x5000 0x844>; - }; }; }; }; diff --git a/target/linux/ath79/dts/qca9563_elecom_wrc-1750ghbk2-i.dts b/target/linux/ath79/dts/qca9563_elecom_wrc-1750ghbk2-i.dts index f7358891b0..a69b9d54e8 100644 --- a/target/linux/ath79/dts/qca9563_elecom_wrc-1750ghbk2-i.dts +++ b/target/linux/ath79/dts/qca9563_elecom_wrc-1750ghbk2-i.dts @@ -45,20 +45,24 @@ reg = <0xff0000 0x010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - cal_art_1000: cal@1000 { - reg = <0x1000 0x440>; - }; + cal_art_1000: cal@1000 { + reg = <0x1000 0x440>; + }; - macaddr_art_1002: macaddr@1002 { - reg = <0x1002 0x6>; - }; + macaddr_art_1002: macaddr@1002 { + compatible = "mac-base"; + reg = <0x1002 0x6>; + #nvmem-cell-cells = <1>; + }; - cal_art_5000: cal@5000 { - reg = <0x5000 0x844>; + cal_art_5000: cal@5000 { + reg = <0x5000 0x844>; + }; }; }; }; @@ -75,9 +79,8 @@ }; ð0 { - nvmem-cells = <&macaddr_art_1002>; + nvmem-cells = <&macaddr_art_1002 (-1)>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(-1)>; }; &wmac { diff --git a/target/linux/ath79/dts/qca9563_elecom_wrc-300ghbk2-i.dts b/target/linux/ath79/dts/qca9563_elecom_wrc-300ghbk2-i.dts index 5ffff57b48..5180082054 100644 --- a/target/linux/ath79/dts/qca9563_elecom_wrc-300ghbk2-i.dts +++ b/target/linux/ath79/dts/qca9563_elecom_wrc-300ghbk2-i.dts @@ -39,24 +39,27 @@ reg = <0x7f0000 0x010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - cal_art_1000: cal@1000 { - reg = <0x1000 0x440>; - }; + cal_art_1000: cal@1000 { + reg = <0x1000 0x440>; + }; - macaddr_art_1002: macaddr@1002 { - reg = <0x1002 0x6>; + macaddr_art_1002: macaddr@1002 { + compatible = "mac-base"; + reg = <0x1002 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; }; ð0 { - nvmem-cells = <&macaddr_art_1002>; + nvmem-cells = <&macaddr_art_1002 (-1)>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(-1)>; }; &wmac { diff --git a/target/linux/ath79/dts/qca9563_glinet_gl-ar750s.dtsi b/target/linux/ath79/dts/qca9563_glinet_gl-ar750s.dtsi index d3562398bc..09d2f48c2a 100644 --- a/target/linux/ath79/dts/qca9563_glinet_gl-ar750s.dtsi +++ b/target/linux/ath79/dts/qca9563_glinet_gl-ar750s.dtsi @@ -95,6 +95,16 @@ label = "art"; reg = <0x050000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; + }; }; /* Firmware / Kernel flash type specific */ @@ -174,13 +184,3 @@ mtd-cal-data = <&art 0x1000>; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9563_glinet_gl-x1200.dtsi b/target/linux/ath79/dts/qca9563_glinet_gl-x1200.dtsi index 8980f772e7..ab1f8902b1 100644 --- a/target/linux/ath79/dts/qca9563_glinet_gl-x1200.dtsi +++ b/target/linux/ath79/dts/qca9563_glinet_gl-x1200.dtsi @@ -95,28 +95,30 @@ reg = <0x050000 0x010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - calibration_ath9k: calibration@1000 { - reg = <0x1000 0x440>; - }; + calibration_ath9k: calibration@1000 { + reg = <0x1000 0x440>; + }; - calibration_ath10k: calibration@5000 { - reg = <0x5000 0x2f20>; - }; + calibration_ath10k: calibration@5000 { + reg = <0x5000 0x2f20>; + }; - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; - macaddr_art_1002: macaddr@1002 { - reg = <0x1002 0x6>; - }; + macaddr_art_1002: macaddr@1002 { + reg = <0x1002 0x6>; + }; - macaddr_art_5006: macaddr@5006 { - reg = <0x5006 0x6>; + macaddr_art_5006: macaddr@5006 { + reg = <0x5006 0x6>; + }; }; }; diff --git a/target/linux/ath79/dts/qca9563_netgear_wndr.dtsi b/target/linux/ath79/dts/qca9563_netgear_wndr.dtsi index 799297f4e1..c4faec8ef1 100644 --- a/target/linux/ath79/dts/qca9563_netgear_wndr.dtsi +++ b/target/linux/ath79/dts/qca9563_netgear_wndr.dtsi @@ -162,6 +162,28 @@ label = "caldata"; reg = <0x1f0000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_caldata_0: macaddr@0 { + reg = <0x0 0x6>; + }; + + macaddr_caldata_c: macaddr@c { + reg = <0xc 0x6>; + }; + + cal_art_1000: cal@1000 { + reg = <0x1000 0x440>; + }; + + cal_art_5000: cal@5000 { + reg = <0x5000 0x440>; + }; + }; }; }; }; @@ -261,25 +283,3 @@ &usb0 { status = "okay"; }; - -&caldata { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_caldata_0: macaddr@0 { - reg = <0x0 0x6>; - }; - - macaddr_caldata_c: macaddr@c { - reg = <0xc 0x6>; - }; - - cal_art_1000: cal@1000 { - reg = <0x1000 0x440>; - }; - - cal_art_5000: cal@5000 { - reg = <0x5000 0x440>; - }; -}; diff --git a/target/linux/ath79/dts/qca9563_qxwlan_e1700ac.dtsi b/target/linux/ath79/dts/qca9563_qxwlan_e1700ac.dtsi index c6c610dbee..a4f7be3e1c 100644 --- a/target/linux/ath79/dts/qca9563_qxwlan_e1700ac.dtsi +++ b/target/linux/ath79/dts/qca9563_qxwlan_e1700ac.dtsi @@ -82,6 +82,16 @@ label = "pri-data"; reg = <0x050000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_pridata_400: macaddr@400 { + reg = <0x400 0x6>; + }; + }; }; art: partition@60000 { @@ -141,13 +151,3 @@ mtd-cal-data = <&art 0x1000>; }; - -&pridata { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_pridata_400: macaddr@400 { - reg = <0x400 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9563_rosinson_wr818.dts b/target/linux/ath79/dts/qca9563_rosinson_wr818.dts index c73d5a6e58..6e45a20aae 100644 --- a/target/linux/ath79/dts/qca9563_rosinson_wr818.dts +++ b/target/linux/ath79/dts/qca9563_rosinson_wr818.dts @@ -72,6 +72,16 @@ label = "factory"; reg = <0x050000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_0: macaddr@0 { + reg = <0x0 0x6>; + }; + }; }; partition@60000 { @@ -133,13 +143,3 @@ &usb1 { status = "okay"; }; - -&info { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_info_0: macaddr@0 { - reg = <0x0 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9563_tplink_archer-a7-v5.dts b/target/linux/ath79/dts/qca9563_tplink_archer-a7-v5.dts index 3bb6d685cc..339891f6da 100644 --- a/target/linux/ath79/dts/qca9563_tplink_archer-a7-v5.dts +++ b/target/linux/ath79/dts/qca9563_tplink_archer-a7-v5.dts @@ -43,6 +43,16 @@ label = "info"; reg = <0xf40000 0x020000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + reg = <0x8 0x6>; + }; + }; }; config: partition@f60000 { @@ -75,13 +85,3 @@ nvmem-cells = <&macaddr_info_8>; nvmem-cell-names = "mac-address"; }; - -&info { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_info_8: macaddr@8 { - reg = <0x8 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9563_tplink_archer-c2-v3.dts b/target/linux/ath79/dts/qca9563_tplink_archer-c2-v3.dts index 6d5a21c138..9925666f82 100644 --- a/target/linux/ath79/dts/qca9563_tplink_archer-c2-v3.dts +++ b/target/linux/ath79/dts/qca9563_tplink_archer-c2-v3.dts @@ -127,6 +127,16 @@ label = "info"; reg = <0x7e0000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + reg = <0x8 0x6>; + }; + }; }; art: partition@7f0000 { @@ -173,13 +183,3 @@ nvmem-cells = <&macaddr_info_8>; nvmem-cell-names = "mac-address"; }; - -&info { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_info_8: macaddr@8 { - reg = <0x8 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9563_tplink_archer-c6-v2-us.dts b/target/linux/ath79/dts/qca9563_tplink_archer-c6-v2-us.dts index e6fd689c99..6857054f1c 100644 --- a/target/linux/ath79/dts/qca9563_tplink_archer-c6-v2-us.dts +++ b/target/linux/ath79/dts/qca9563_tplink_archer-c6-v2-us.dts @@ -99,6 +99,16 @@ label = "info"; reg = <0x020000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + reg = <0x8 0x6>; + }; + }; }; partition@30000 { @@ -139,13 +149,3 @@ nvmem-cells = <&macaddr_info_8>; nvmem-cell-names = "mac-address"; }; - -&info { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_info_8: macaddr@8 { - reg = <0x8 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9563_tplink_archer-c6-v2.dts b/target/linux/ath79/dts/qca9563_tplink_archer-c6-v2.dts index c40fe0f292..e7d19c9fbd 100644 --- a/target/linux/ath79/dts/qca9563_tplink_archer-c6-v2.dts +++ b/target/linux/ath79/dts/qca9563_tplink_archer-c6-v2.dts @@ -99,6 +99,16 @@ label = "info"; reg = <0x020000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + reg = <0x8 0x6>; + }; + }; }; partition@30000 { @@ -133,13 +143,3 @@ nvmem-cells = <&macaddr_info_8>; nvmem-cell-names = "mac-address"; }; - -&info { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_info_8: macaddr@8 { - reg = <0x8 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9563_tplink_archer-c7-v4.dts b/target/linux/ath79/dts/qca9563_tplink_archer-c7-v4.dts index 3c6b8c4fb9..ae6061c4ce 100644 --- a/target/linux/ath79/dts/qca9563_tplink_archer-c7-v4.dts +++ b/target/linux/ath79/dts/qca9563_tplink_archer-c7-v4.dts @@ -198,6 +198,16 @@ label = "info"; reg = <0xf00000 0x0f0000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + reg = <0x8 0x6>; + }; + }; }; art: partition@ff0000 { @@ -243,13 +253,3 @@ nvmem-cells = <&macaddr_info_8>; nvmem-cell-names = "mac-address"; }; - -&info { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_info_8: macaddr@8 { - reg = <0x8 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9563_tplink_archer-c7-v5.dts b/target/linux/ath79/dts/qca9563_tplink_archer-c7-v5.dts index d2631e227c..32b75cad7b 100644 --- a/target/linux/ath79/dts/qca9563_tplink_archer-c7-v5.dts +++ b/target/linux/ath79/dts/qca9563_tplink_archer-c7-v5.dts @@ -49,6 +49,16 @@ label = "info"; reg = <0x060000 0x020000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + reg = <0x8 0x6>; + }; + }; }; partition@80000 { @@ -81,13 +91,3 @@ nvmem-cells = <&macaddr_info_8>; nvmem-cell-names = "mac-address"; }; - -&info { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_info_8: macaddr@8 { - reg = <0x8 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9563_tplink_cpe710-v1.dts b/target/linux/ath79/dts/qca9563_tplink_cpe710-v1.dts index 9421ea225a..491ffac132 100644 --- a/target/linux/ath79/dts/qca9563_tplink_cpe710-v1.dts +++ b/target/linux/ath79/dts/qca9563_tplink_cpe710-v1.dts @@ -81,6 +81,16 @@ label = "info"; reg = <0x060000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + reg = <0x8 0x6>; + }; + }; }; partition@70000 { @@ -138,13 +148,3 @@ device = <&gmac>; }; }; - -&info { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_info_8: macaddr@8 { - reg = <0x8 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9563_tplink_deco-m4r-v1.dts b/target/linux/ath79/dts/qca9563_tplink_deco-m4r-v1.dts index 8cd9004bd3..63f42eba76 100644 --- a/target/linux/ath79/dts/qca9563_tplink_deco-m4r-v1.dts +++ b/target/linux/ath79/dts/qca9563_tplink_deco-m4r-v1.dts @@ -106,6 +106,16 @@ label = "config"; reg = <0xe85000 0x16b000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_config_8: macaddr@8 { + reg = <0x8 0x6>; + }; + }; }; art: partition@ff0000 { @@ -134,13 +144,3 @@ nvmem-cells = <&macaddr_config_8>; nvmem-cell-names = "mac-address"; }; - -&config { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_config_8: macaddr@8 { - reg = <0x8 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9563_tplink_eap225-outdoor-v1.dts b/target/linux/ath79/dts/qca9563_tplink_eap225-outdoor-v1.dts index 79c45f1ea8..9c1e82bf98 100644 --- a/target/linux/ath79/dts/qca9563_tplink_eap225-outdoor-v1.dts +++ b/target/linux/ath79/dts/qca9563_tplink_eap225-outdoor-v1.dts @@ -30,8 +30,20 @@ }; &art { - precalibration_ath10k: pre-calibration@5000 { - reg = <0x5000 0x2f20>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + compatible = "mac-base"; + reg = <0x8 0x6>; + #nvmem-cell-cells = <1>; + }; + + precalibration_ath10k: pre-calibration@5000 { + reg = <0x5000 0x2f20>; + }; }; }; @@ -52,9 +64,7 @@ compatible = "qcom,ath10k"; reg = <0 0 0 0 0>; - mac-address-increment = <1>; - - nvmem-cells = <&macaddr_info_8>, <&precalibration_ath10k>; + nvmem-cells = <&macaddr_info_8 1>, <&precalibration_ath10k>; nvmem-cell-names = "mac-address", "pre-calibration"; }; }; diff --git a/target/linux/ath79/dts/qca9563_tplink_eap225-outdoor-v3.dts b/target/linux/ath79/dts/qca9563_tplink_eap225-outdoor-v3.dts index e5914c9a55..73700b626f 100644 --- a/target/linux/ath79/dts/qca9563_tplink_eap225-outdoor-v3.dts +++ b/target/linux/ath79/dts/qca9563_tplink_eap225-outdoor-v3.dts @@ -30,8 +30,20 @@ }; &art { - precalibration_ath10k: pre-calibration@5000 { - reg = <0x5000 0x2f20>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + compatible = "mac-base"; + reg = <0x8 0x6>; + #nvmem-cell-cells = <1>; + }; + + precalibration_ath10k: pre-calibration@5000 { + reg = <0x5000 0x2f20>; + }; }; }; @@ -51,9 +63,7 @@ compatible = "qcom,ath10k"; reg = <0 0 0 0 0>; - mac-address-increment = <1>; - - nvmem-cells = <&macaddr_info_8>, <&precalibration_ath10k>; + nvmem-cells = <&macaddr_info_8 1>, <&precalibration_ath10k>; nvmem-cell-names = "mac-address", "pre-calibration"; }; }; diff --git a/target/linux/ath79/dts/qca9563_tplink_eap225-v1.dts b/target/linux/ath79/dts/qca9563_tplink_eap225-v1.dts index 8423daf602..1e100b31a7 100644 --- a/target/linux/ath79/dts/qca9563_tplink_eap225-v1.dts +++ b/target/linux/ath79/dts/qca9563_tplink_eap225-v1.dts @@ -51,8 +51,20 @@ }; &art { - calibration_ath10k: calibration@5000 { - reg = <0x5000 0x844>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + compatible = "mac-base"; + reg = <0x8 0x6>; + #nvmem-cell-cells = <1>; + }; + + calibration_ath10k: calibration@5000 { + reg = <0x5000 0x844>; + }; }; }; @@ -73,9 +85,7 @@ compatible = "qcom,ath10k"; reg = <0 0 0 0 0>; - mac-address-increment = <1>; - - nvmem-cells = <&macaddr_info_8>, <&calibration_ath10k>; + nvmem-cells = <&macaddr_info_8 1>, <&calibration_ath10k>; nvmem-cell-names = "mac-address", "calibration"; }; }; diff --git a/target/linux/ath79/dts/qca9563_tplink_eap225-v3.dts b/target/linux/ath79/dts/qca9563_tplink_eap225-v3.dts index 290172b0cc..32fba98051 100644 --- a/target/linux/ath79/dts/qca9563_tplink_eap225-v3.dts +++ b/target/linux/ath79/dts/qca9563_tplink_eap225-v3.dts @@ -30,8 +30,20 @@ }; &art { - precalibration_ath10k: pre-calibration@5000 { - reg = <0x5000 0x2f20>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + compatible = "mac-base"; + reg = <0x8 0x6>; + #nvmem-cell-cells = <1>; + }; + + precalibration_ath10k: pre-calibration@5000 { + reg = <0x5000 0x2f20>; + }; }; }; @@ -52,9 +64,7 @@ compatible = "qcom,ath10k"; reg = <0 0 0 0 0>; - mac-address-increment = <1>; - - nvmem-cells = <&macaddr_info_8>, <&precalibration_ath10k>; + nvmem-cells = <&macaddr_info_8 1>, <&precalibration_ath10k>; nvmem-cell-names = "mac-address", "pre-calibration"; }; }; diff --git a/target/linux/ath79/dts/qca9563_tplink_eap225-v4.dts b/target/linux/ath79/dts/qca9563_tplink_eap225-v4.dts index ae27ff7068..1c48775cdf 100644 --- a/target/linux/ath79/dts/qca9563_tplink_eap225-v4.dts +++ b/target/linux/ath79/dts/qca9563_tplink_eap225-v4.dts @@ -30,8 +30,20 @@ }; &art { - precalibration_ath10k: pre-calibration@5000 { - reg = <0x5000 0x2f20>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + compatible = "mac-base"; + reg = <0x8 0x6>; + #nvmem-cell-cells = <1>; + }; + + precalibration_ath10k: pre-calibration@5000 { + reg = <0x5000 0x2f20>; + }; }; }; @@ -51,9 +63,7 @@ compatible = "qcom,ath10k"; reg = <0 0 0 0 0>; - mac-address-increment = <1>; - - nvmem-cells = <&macaddr_info_8>, <&precalibration_ath10k>; + nvmem-cells = <&macaddr_info_8 1>, <&precalibration_ath10k>; nvmem-cell-names = "mac-address", "pre-calibration"; }; }; diff --git a/target/linux/ath79/dts/qca9563_tplink_eap245-v1.dts b/target/linux/ath79/dts/qca9563_tplink_eap245-v1.dts index 236c9e7457..e7f21fafa5 100644 --- a/target/linux/ath79/dts/qca9563_tplink_eap245-v1.dts +++ b/target/linux/ath79/dts/qca9563_tplink_eap245-v1.dts @@ -44,8 +44,20 @@ }; &art { - calibration_ath10k: calibration@5000 { - reg = <0x5000 0x844>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + compatible = "mac-base"; + reg = <0x8 0x6>; + #nvmem-cell-cells = <1>; + }; + + calibration_ath10k: calibration@5000 { + reg = <0x5000 0x844>; + }; }; }; @@ -66,9 +78,7 @@ compatible = "qcom,ath10k"; reg = <0 0 0 0 0>; - mac-address-increment = <1>; - - nvmem-cells = <&macaddr_info_8>, <&calibration_ath10k>; + nvmem-cells = <&macaddr_info_8 1>, <&calibration_ath10k>; nvmem-cell-names = "mac-address", "calibration"; }; }; diff --git a/target/linux/ath79/dts/qca9563_tplink_eap245-v3.dts b/target/linux/ath79/dts/qca9563_tplink_eap245-v3.dts index ab5bc7b1a9..1e37db82bc 100644 --- a/target/linux/ath79/dts/qca9563_tplink_eap245-v3.dts +++ b/target/linux/ath79/dts/qca9563_tplink_eap245-v3.dts @@ -51,9 +51,7 @@ compatible = "qcom,ath10k"; reg = <0 0 0 0 0>; - mac-address-increment = <1>; - - nvmem-cells = <&macaddr_info_8>, <&calibration_ath10k>; + nvmem-cells = <&macaddr_info_8 1>, <&calibration_ath10k>; nvmem-cell-names = "mac-address", "pre-calibration"; }; }; @@ -93,6 +91,18 @@ label = "info"; reg = <0x090000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + compatible = "mac-base"; + reg = <0x8 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@a0000 { @@ -100,16 +110,18 @@ reg = <0x0a0000 0x010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - calibration_ath9k: calibration@1000 { - reg = <0x1000 0x440>; - }; + calibration_ath9k: calibration@1000 { + reg = <0x1000 0x440>; + }; - calibration_ath10k: calibration@5000 { - reg = <0x5000 0x2f20>; + calibration_ath10k: calibration@5000 { + reg = <0x5000 0x2f20>; + }; }; }; @@ -166,23 +178,13 @@ phy-handle = <&phy0>; phy-mode = "sgmii"; - nvmem-cells = <&macaddr_info_8>; + nvmem-cells = <&macaddr_info_8 0>; nvmem-cell-names = "mac-address"; }; &wmac { status = "okay"; - nvmem-cells = <&macaddr_info_8>, <&calibration_ath9k>; + nvmem-cells = <&macaddr_info_8 0>, <&calibration_ath9k>; nvmem-cell-names = "mac-address", "calibration"; }; - -&info { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_info_8: macaddr@8 { - reg = <0x8 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9563_tplink_eap2x5-1port.dtsi b/target/linux/ath79/dts/qca9563_tplink_eap2x5-1port.dtsi index f384031335..9e0b97fcbf 100644 --- a/target/linux/ath79/dts/qca9563_tplink_eap2x5-1port.dtsi +++ b/target/linux/ath79/dts/qca9563_tplink_eap2x5-1port.dtsi @@ -82,12 +82,14 @@ reg = <0xff0000 0x010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - calibration_ath9k: calibration@1000 { - reg = <0x1000 0x440>; + calibration_ath9k: calibration@1000 { + reg = <0x1000 0x440>; + }; }; }; }; @@ -113,7 +115,7 @@ pll-data = <0x03000000 0x00000101 0x00001313>; - nvmem-cells = <&macaddr_info_8>; + nvmem-cells = <&macaddr_info_8 0>; nvmem-cell-names = "mac-address"; qca956x-serdes-fixup; @@ -126,16 +128,6 @@ &wmac { status = "okay"; - nvmem-cells = <&macaddr_info_8>, <&calibration_ath9k>; + nvmem-cells = <&macaddr_info_8 0>, <&calibration_ath9k>; nvmem-cell-names = "mac-address", "calibration"; }; - -&info { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_info_8: macaddr@8 { - reg = <0x8 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9563_tplink_re450-v2.dts b/target/linux/ath79/dts/qca9563_tplink_re450-v2.dts index 73cf5323ee..5eb1eafaf4 100644 --- a/target/linux/ath79/dts/qca9563_tplink_re450-v2.dts +++ b/target/linux/ath79/dts/qca9563_tplink_re450-v2.dts @@ -34,6 +34,16 @@ label = "info"; reg = <0x610000 0x020000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + reg = <0x8 0x6>; + }; + }; }; partition@630000 { @@ -60,13 +70,3 @@ nvmem-cells = <&macaddr_info_8>; nvmem-cell-names = "mac-address"; }; - -&info { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_info_8: macaddr@8 { - reg = <0x8 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9563_tplink_re450-v3.dts b/target/linux/ath79/dts/qca9563_tplink_re450-v3.dts index ffebcb9bae..fdd982ae2e 100644 --- a/target/linux/ath79/dts/qca9563_tplink_re450-v3.dts +++ b/target/linux/ath79/dts/qca9563_tplink_re450-v3.dts @@ -22,6 +22,16 @@ label = "info"; reg = <0x020000 0x002000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + reg = <0x8 0x6>; + }; + }; }; partition@22000 { @@ -66,13 +76,3 @@ nvmem-cells = <&macaddr_info_8>; nvmem-cell-names = "mac-address"; }; - -&info { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_info_8: macaddr@8 { - reg = <0x8 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9563_tplink_re455-v1.dts b/target/linux/ath79/dts/qca9563_tplink_re455-v1.dts index bf4e5848af..a976f4fa5a 100644 --- a/target/linux/ath79/dts/qca9563_tplink_re455-v1.dts +++ b/target/linux/ath79/dts/qca9563_tplink_re455-v1.dts @@ -22,6 +22,16 @@ label = "info"; reg = <0x020000 0x002000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + reg = <0x8 0x6>; + }; + }; }; partition@22000 { @@ -66,13 +76,3 @@ nvmem-cells = <&macaddr_info_8>; nvmem-cell-names = "mac-address"; }; - -&info { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_info_8: macaddr@8 { - reg = <0x8 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9563_tplink_tl-wa1201-v2.dts b/target/linux/ath79/dts/qca9563_tplink_tl-wa1201-v2.dts index 71ab4f8aad..cf13fcd6b7 100644 --- a/target/linux/ath79/dts/qca9563_tplink_tl-wa1201-v2.dts +++ b/target/linux/ath79/dts/qca9563_tplink_tl-wa1201-v2.dts @@ -127,6 +127,16 @@ label = "info"; reg = <0x020000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + reg = <0x8 0x6>; + }; + }; }; partition@30000 { @@ -149,13 +159,3 @@ }; }; }; - -&info { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_info_8: macaddr@8 { - reg = <0x8 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9563_tplink_tl-wpa8630-v1.dts b/target/linux/ath79/dts/qca9563_tplink_tl-wpa8630-v1.dts index 0ccfb42d9a..8c6c91f107 100644 --- a/target/linux/ath79/dts/qca9563_tplink_tl-wpa8630-v1.dts +++ b/target/linux/ath79/dts/qca9563_tplink_tl-wpa8630-v1.dts @@ -16,6 +16,16 @@ label = "u-boot"; reg = <0x000000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_uboot_fc00: macaddr@fc00 { + reg = <0xfc00 0x6>; + }; + }; }; partition@10000 { @@ -48,13 +58,3 @@ nvmem-cells = <&macaddr_uboot_fc00>; nvmem-cell-names = "mac-address"; }; - -&uboot { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_uboot_fc00: macaddr@fc00 { - reg = <0xfc00 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9563_tplink_tl-wpa8630p-v2-int.dts b/target/linux/ath79/dts/qca9563_tplink_tl-wpa8630p-v2-int.dts index 95ff6b0363..8786e30965 100644 --- a/target/linux/ath79/dts/qca9563_tplink_tl-wpa8630p-v2-int.dts +++ b/target/linux/ath79/dts/qca9563_tplink_tl-wpa8630p-v2-int.dts @@ -46,6 +46,16 @@ label = "info"; reg = <0x7e0000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + reg = <0x8 0x6>; + }; + }; }; art: partition@7f0000 { @@ -66,13 +76,3 @@ nvmem-cells = <&macaddr_info_8>; nvmem-cell-names = "mac-address"; }; - -&info { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_info_8: macaddr@8 { - reg = <0x8 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9563_tplink_tl-wpa8630p-v2.0-eu.dts b/target/linux/ath79/dts/qca9563_tplink_tl-wpa8630p-v2.0-eu.dts index 34efeb9450..3c688d67d6 100644 --- a/target/linux/ath79/dts/qca9563_tplink_tl-wpa8630p-v2.0-eu.dts +++ b/target/linux/ath79/dts/qca9563_tplink_tl-wpa8630p-v2.0-eu.dts @@ -40,6 +40,16 @@ label = "info"; reg = <0x630000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + reg = <0x8 0x6>; + }; + }; }; partition@640000 { @@ -66,13 +76,3 @@ nvmem-cells = <&macaddr_info_8>; nvmem-cell-names = "mac-address"; }; - -&info { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_info_8: macaddr@8 { - reg = <0x8 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9563_tplink_tl-wpa8630p-v2.1-eu.dts b/target/linux/ath79/dts/qca9563_tplink_tl-wpa8630p-v2.1-eu.dts index a477b50417..786cd3cc03 100644 --- a/target/linux/ath79/dts/qca9563_tplink_tl-wpa8630p-v2.1-eu.dts +++ b/target/linux/ath79/dts/qca9563_tplink_tl-wpa8630p-v2.1-eu.dts @@ -42,6 +42,16 @@ label = "info"; reg = <0x7e0000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + reg = <0x8 0x6>; + }; + }; }; art: partition@7f0000 { @@ -62,13 +72,3 @@ nvmem-cells = <&macaddr_info_8>; nvmem-cell-names = "mac-address"; }; - -&info { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_info_8: macaddr@8 { - reg = <0x8 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9563_tplink_tl-wr1043n-v5.dts b/target/linux/ath79/dts/qca9563_tplink_tl-wr1043n-v5.dts index 6d75824515..dac0da9fdc 100644 --- a/target/linux/ath79/dts/qca9563_tplink_tl-wr1043n-v5.dts +++ b/target/linux/ath79/dts/qca9563_tplink_tl-wr1043n-v5.dts @@ -46,6 +46,16 @@ label = "info"; reg = <0xf00000 0x020000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + reg = <0x8 0x6>; + }; + }; }; partition@f20000 { @@ -86,13 +96,3 @@ nvmem-cells = <&macaddr_info_8>; nvmem-cell-names = "mac-address"; }; - -&info { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_info_8: macaddr@8 { - reg = <0x8 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9563_tplink_tl-wr1043nd-v4.dts b/target/linux/ath79/dts/qca9563_tplink_tl-wr1043nd-v4.dts index 80a63f6efc..4aa0ef572f 100644 --- a/target/linux/ath79/dts/qca9563_tplink_tl-wr1043nd-v4.dts +++ b/target/linux/ath79/dts/qca9563_tplink_tl-wr1043nd-v4.dts @@ -51,6 +51,16 @@ label = "info"; reg = <0xf50000 0x020000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + reg = <0x8 0x6>; + }; + }; }; partition@f70000 { @@ -108,13 +118,3 @@ nvmem-cells = <&macaddr_info_8>; nvmem-cell-names = "mac-address"; }; - -&info { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_info_8: macaddr@8 { - reg = <0x8 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9563_ubnt_unifiac.dtsi b/target/linux/ath79/dts/qca9563_ubnt_unifiac.dtsi index 6704ec983b..da01251f3b 100644 --- a/target/linux/ath79/dts/qca9563_ubnt_unifiac.dtsi +++ b/target/linux/ath79/dts/qca9563_ubnt_unifiac.dtsi @@ -90,6 +90,16 @@ label = "art"; reg = <0xff0000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; + }; }; }; }; @@ -100,13 +110,3 @@ mtd-cal-data = <&art 0x1000>; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9563_xiaomi_aiot-ac2350.dts b/target/linux/ath79/dts/qca9563_xiaomi_aiot-ac2350.dts index b6206b046d..2085644f76 100644 --- a/target/linux/ath79/dts/qca9563_xiaomi_aiot-ac2350.dts +++ b/target/linux/ath79/dts/qca9563_xiaomi_aiot-ac2350.dts @@ -109,6 +109,16 @@ label = "art"; reg = <0x60000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; + }; }; partition@70000 { @@ -174,13 +184,3 @@ &pcie { status = "okay"; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9563_yuncore_xd4200.dtsi b/target/linux/ath79/dts/qca9563_yuncore_xd4200.dtsi index 6f729a21fe..dff9428295 100644 --- a/target/linux/ath79/dts/qca9563_yuncore_xd4200.dtsi +++ b/target/linux/ath79/dts/qca9563_yuncore_xd4200.dtsi @@ -94,6 +94,16 @@ label = "art"; reg = <0xff0000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; + }; }; }; }; @@ -104,13 +114,3 @@ mtd-cal-data = <&art 0x1000>; }; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; -}; diff --git a/target/linux/ath79/dts/qca9563_zte_mf281.dts b/target/linux/ath79/dts/qca9563_zte_mf281.dts index 9205061e24..8fcd093d66 100644 --- a/target/linux/ath79/dts/qca9563_zte_mf281.dts +++ b/target/linux/ath79/dts/qca9563_zte_mf281.dts @@ -49,16 +49,18 @@ reg = <0xa0000 0x80000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - cal_caldata_1000: cal@1000 { - reg = <0x1000 0x440>; - }; + cal_caldata_1000: cal@1000 { + reg = <0x1000 0x440>; + }; - cal_caldata_5000: cal@5000 { - reg = <0x5000 0x2f20>; + cal_caldata_5000: cal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; @@ -67,12 +69,16 @@ reg = <0x120000 0x80000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_mac_0: macaddr@0 { - reg = <0x0 0x6>; + macaddr_mac_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -146,14 +152,13 @@ }; ð0 { - nvmem-cells = <&macaddr_mac_0>; + nvmem-cells = <&macaddr_mac_0 0>; nvmem-cell-names = "mac-address"; }; &wifi_ath10k { - nvmem-cells = <&macaddr_mac_0>, <&cal_caldata_5000>; + nvmem-cells = <&macaddr_mac_0 1>, <&cal_caldata_5000>; nvmem-cell-names = "mac-address", "pre-calibration"; - mac-address-increment = <1>; }; &pinmux { @@ -163,6 +168,6 @@ }; &wmac { - nvmem-cells = <&macaddr_mac_0>, <&cal_caldata_1000>; + nvmem-cells = <&macaddr_mac_0 0>, <&cal_caldata_1000>; nvmem-cell-names = "mac-address", "calibration"; }; diff --git a/target/linux/ath79/dts/qca9563_zte_mf282.dts b/target/linux/ath79/dts/qca9563_zte_mf282.dts index 1f3038dace..439cc1af4a 100644 --- a/target/linux/ath79/dts/qca9563_zte_mf282.dts +++ b/target/linux/ath79/dts/qca9563_zte_mf282.dts @@ -61,16 +61,18 @@ reg = <0x140000 0x140000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - cal_caldata_1000: cal@1000 { - reg = <0x1000 0x440>; - }; + cal_caldata_1000: cal@1000 { + reg = <0x1000 0x440>; + }; - cal_caldata_5000: cal@5000 { - reg = <0x5000 0x844>; + cal_caldata_5000: cal@5000 { + reg = <0x5000 0x844>; + }; }; }; @@ -79,12 +81,16 @@ reg = <0x280000 0x140000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_mac_0: macaddr@0 { - reg = <0x0 0x6>; + macaddr_mac_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -113,17 +119,16 @@ }; ð0 { - nvmem-cells = <&macaddr_mac_0>; + nvmem-cells = <&macaddr_mac_0 0>; nvmem-cell-names = "mac-address"; }; &wifi_ath10k { - nvmem-cells = <&macaddr_mac_0>, <&cal_caldata_5000>; + nvmem-cells = <&macaddr_mac_0 1>, <&cal_caldata_5000>; nvmem-cell-names = "mac-address", "calibration"; - mac-address-increment = <1>; }; &wmac { - nvmem-cells = <&macaddr_mac_0>, <&cal_caldata_1000>; + nvmem-cells = <&macaddr_mac_0 0>, <&cal_caldata_1000>; nvmem-cell-names = "mac-address", "calibration"; }; diff --git a/target/linux/ath79/dts/qca9563_zte_mf286.dts b/target/linux/ath79/dts/qca9563_zte_mf286.dts index 877075c769..e64680e112 100644 --- a/target/linux/ath79/dts/qca9563_zte_mf286.dts +++ b/target/linux/ath79/dts/qca9563_zte_mf286.dts @@ -62,16 +62,18 @@ reg = <0x140000 0x140000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - cal_caldata_1000: cal@1000 { - reg = <0x1000 0x440>; - }; + cal_caldata_1000: cal@1000 { + reg = <0x1000 0x440>; + }; - cal_caldata_5000: cal@5000 { - reg = <0x5000 0x844>; + cal_caldata_5000: cal@5000 { + reg = <0x5000 0x844>; + }; }; }; @@ -80,12 +82,16 @@ reg = <0x280000 0x140000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_mac_0: macaddr@0 { - reg = <0x0 0x6>; + macaddr_mac_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -114,17 +120,16 @@ }; ð0 { - nvmem-cells = <&macaddr_mac_0>; + nvmem-cells = <&macaddr_mac_0 0>; nvmem-cell-names = "mac-address"; }; &wifi_ath10k { - nvmem-cells = <&macaddr_mac_0>, <&cal_caldata_5000>, <&cal_caldata_5000>; + nvmem-cells = <&macaddr_mac_0 1>, <&cal_caldata_5000>, <&cal_caldata_5000>; nvmem-cell-names = "mac-address", "calibration", "pre-calibration"; - mac-address-increment = <1>; }; &wmac { - nvmem-cells = <&macaddr_mac_0>, <&cal_caldata_1000>; + nvmem-cells = <&macaddr_mac_0 0>, <&cal_caldata_1000>; nvmem-cell-names = "mac-address", "calibration"; }; diff --git a/target/linux/ath79/dts/qca9563_zte_mf286ar.dtsi b/target/linux/ath79/dts/qca9563_zte_mf286ar.dtsi index 45ac3bc7ea..89177ef2d3 100644 --- a/target/linux/ath79/dts/qca9563_zte_mf286ar.dtsi +++ b/target/linux/ath79/dts/qca9563_zte_mf286ar.dtsi @@ -65,16 +65,18 @@ reg = <0xa0000 0x80000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - cal_art_1000: cal@1000 { - reg = <0x1000 0x440>; - }; + cal_art_1000: cal@1000 { + reg = <0x1000 0x440>; + }; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; @@ -83,12 +85,16 @@ reg = <0x120000 0x80000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_mac_0: mac-address@0 { - reg = <0x0 0x6>; + macaddr_mac_0: mac-address@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -118,17 +124,16 @@ }; ð0 { - nvmem-cells = <&macaddr_mac_0>; + nvmem-cells = <&macaddr_mac_0 0>; nvmem-cell-names = "mac-address"; }; &wifi_ath10k { - nvmem-cells = <&macaddr_mac_0>, <&precal_art_5000>; + nvmem-cells = <&macaddr_mac_0 0x20000>, <&precal_art_5000>; nvmem-cell-names = "mac-address", "pre-calibration"; - mac-address-increment = <0x20000>; }; &wmac { - nvmem-cells = <&macaddr_mac_0>, <&cal_art_1000>; + nvmem-cells = <&macaddr_mac_0 0>, <&cal_art_1000>; nvmem-cell-names = "mac-address", "calibration"; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-a42.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-a42.dts index b6ff09a042..4cf5d45ff9 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-a42.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-a42.dts @@ -149,25 +149,28 @@ /* partitions are passed via bootloader */ partitions { partition-art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; label = "0:ART"; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; - }; + macaddr_gmac0: macaddr@0 { + reg = <0x0 0x6>; + }; - macaddr_gmac0: macaddr@0 { - reg = <0x0 0x6>; - }; + macaddr_gmac1: macaddr@6 { + reg = <0x6 0x6>; + }; - macaddr_gmac1: macaddr@6 { - reg = <0x6 0x6>; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ap120c-ac.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ap120c-ac.dts index def0401ac5..17b67c2378 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ap120c-ac.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ap120c-ac.dts @@ -197,16 +197,19 @@ label = "ART"; reg = <0x00170000 0x00010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-cs-w3-wd1200g-eup.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-cs-w3-wd1200g-eup.dts index 22a48c12c4..ea00dd83f5 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-cs-w3-wd1200g-eup.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-cs-w3-wd1200g-eup.dts @@ -199,24 +199,26 @@ reg = <0x00170000 0x00010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; - macaddr_art_6: macaddr@6 { - reg = <0x6 0x6>; - }; + macaddr_art_6: macaddr@6 { + reg = <0x6 0x6>; + }; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ea6350v3.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ea6350v3.dts index cd5b4c6ccc..d890e83c89 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ea6350v3.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ea6350v3.dts @@ -226,16 +226,19 @@ label = "ART"; reg = <0x00160000 0x00010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; u_env@170000 { diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-eap1300.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-eap1300.dts index a8f24aa00e..778394a965 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-eap1300.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-eap1300.dts @@ -176,16 +176,19 @@ label = "0:ART"; reg = <0x00180000 0x00010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; partition8@190000 { diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ecw5211.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ecw5211.dts index 3060b7bd1c..c5804b4896 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ecw5211.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ecw5211.dts @@ -226,16 +226,19 @@ label = "0:ART"; reg = <0x00170000 0x00010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi index dc5c25c84a..0e1527ad4f 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi @@ -240,17 +240,20 @@ partition7@170000 { label = "ART"; reg = <0x00170000 0x00010000>; - compatible = "nvmem-cells"; read-only; - #address-cells = <1>; - #size-cells = <1>; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; @@ -267,20 +270,22 @@ }; partition10@1a0000 { - compatible = "nvmem-cells"; label = "dnidata"; reg = <0x001a0000 0x00010000>; read-only; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_dnidata_0: macaddr@0 { - reg = <0x0 0x6>; - }; + macaddr_dnidata_0: macaddr@0 { + reg = <0x0 0x6>; + }; - macaddr_dnidata_c: macaddr@c { - reg = <0xc 0x6>; + macaddr_dnidata_c: macaddr@c { + reg = <0xc 0x6>; + }; }; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-gl-a1300.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-gl-a1300.dts index ad3d1ac120..a646ec3358 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-gl-a1300.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-gl-a1300.dts @@ -176,22 +176,29 @@ label = "ART"; reg = <0x00170000 0x00010000>; read-only; - compatible = "nvmem-cells"; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; - }; + macaddr_gmac0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; - macaddr_gmac0: macaddr@0 { - reg = <0x0 0x6>; - }; + macaddr_gmac1: macaddr@6 { + reg = <0x6 0x6>; + }; - macaddr_gmac1: macaddr@6 { - reg = <0x6 0x6>; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; @@ -300,8 +307,7 @@ label = "lan2"; nvmem-cell-names = "mac-address"; - nvmem-cells = <&macaddr_gmac0>; - mac-address-increment = <2>; + nvmem-cells = <&macaddr_gmac0 2>; }; &swport4 { @@ -309,7 +315,7 @@ label = "lan1"; nvmem-cell-names = "mac-address"; - nvmem-cells = <&macaddr_gmac0>; + nvmem-cells = <&macaddr_gmac0 0>; }; &swport5 { diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-gl-ap1300.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-gl-ap1300.dts index 6f5d4d8a57..3f3e7cf683 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-gl-ap1300.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-gl-ap1300.dts @@ -175,24 +175,27 @@ label = "ART"; reg = <0x00170000 0x00010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - macaddr_art_0: mac-address@0 { - reg = <0x0 0x6>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_art_6: mac-address@6 { - reg = <0x6 0x6>; - }; + macaddr_art_0: mac-address@0 { + reg = <0x0 0x6>; + }; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + macaddr_art_6: mac-address@6 { + reg = <0x6 0x6>; + }; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-jalapeno.dtsi b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-jalapeno.dtsi index 4d09e86dd6..bb293bb57e 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-jalapeno.dtsi +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-jalapeno.dtsi @@ -185,16 +185,19 @@ label = "ART"; reg = <0x00170000 0x00010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-mf287.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-mf287.dts index 43e39bdf96..fc4bae6937 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-mf287.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-mf287.dts @@ -116,16 +116,19 @@ label = "ART"; reg = <0x140000 0x140000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; @@ -133,12 +136,17 @@ label = "mac"; reg = <0x280000 0x140000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - macaddr_mac_0: macaddr@0 { - reg = <0x0 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_mac_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-mf287_common.dtsi b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-mf287_common.dtsi index 5227243467..a688a8aa58 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-mf287_common.dtsi +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-mf287_common.dtsi @@ -129,8 +129,7 @@ &gmac { status = "okay"; nvmem-cell-names = "mac-address"; - nvmem-cells = <&macaddr_mac_0>; - mac-address-increment = <2>; + nvmem-cells = <&macaddr_mac_0 2>; }; &switch { @@ -180,12 +179,11 @@ &wifi0 { status = "okay"; nvmem-cell-names = "pre-calibration", "mac-address"; - nvmem-cells = <&precal_art_1000>, <&macaddr_mac_0>; + nvmem-cells = <&precal_art_1000>, <&macaddr_mac_0 0>; }; &wifi1 { status = "okay"; nvmem-cell-names = "pre-calibration", "mac-address"; - nvmem-cells = <&precal_art_5000>, <&macaddr_mac_0>; - mac-address-increment = <1>; + nvmem-cells = <&precal_art_5000>, <&macaddr_mac_0 1>; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-mf287plus.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-mf287plus.dts index f09a77ff59..8eb8ce8503 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-mf287plus.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-mf287plus.dts @@ -116,16 +116,19 @@ label = "ART"; reg = <0x140000 0x140000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; @@ -133,12 +136,17 @@ label = "mac"; reg = <0x280000 0x140000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - macaddr_mac_0: macaddr@0 { - reg = <0x0 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_mac_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-mf287pro.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-mf287pro.dts index 4fd44989c5..b4b9451cb2 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-mf287pro.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-mf287pro.dts @@ -133,16 +133,19 @@ label = "ART"; reg = <0xa0000 0x80000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; @@ -150,12 +153,17 @@ label = "mac"; reg = <0x120000 0x80000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - macaddr_mac_0: macaddr@0 { - reg = <0x0 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_mac_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-pa1200.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-pa1200.dts index af4a7b196b..30511e3886 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-pa1200.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-pa1200.dts @@ -141,25 +141,28 @@ /* partitions are passed via bootloader */ partitions { partition-art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; label = "0:ART"; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; - }; + macaddr_gmac0: macaddr@0 { + reg = <0x0 0x6>; + }; - macaddr_gmac0: macaddr@0 { - reg = <0x0 0x6>; - }; + macaddr_gmac1: macaddr@6 { + reg = <0x6 0x6>; + }; - macaddr_gmac1: macaddr@6 { - reg = <0x6 0x6>; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-wac510.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-wac510.dts index 2dbfaa086e..ae0d8524e5 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-wac510.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-wac510.dts @@ -263,12 +263,17 @@ label = "0:MANUDATA"; reg = <0x001e0000 0x00010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - macaddr_manudata_6: macaddr@6 { - reg = <0x6 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_manudata_6: macaddr@6 { + compatible = "mac-base"; + reg = <0x6 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -276,16 +281,19 @@ label = "0:ART"; reg = <0x001f0000 0x00010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; }; @@ -367,14 +375,13 @@ &wifi0 { status = "okay"; nvmem-cell-names = "pre-calibration", "mac-address"; - nvmem-cells = <&precal_art_1000>, <&macaddr_manudata_6>; + nvmem-cells = <&precal_art_1000>, <&macaddr_manudata_6 0>; qcom,ath10k-calibration-variant = "Netgear-WAC510"; }; &wifi1 { status = "okay"; nvmem-cell-names = "pre-calibration", "mac-address"; - nvmem-cells = <&precal_art_5000>, <&macaddr_manudata_6>; - mac-address-increment = <16>; + nvmem-cells = <&precal_art_5000>, <&macaddr_manudata_6 16>; qcom,ath10k-calibration-variant = "Netgear-WAC510"; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-whw01.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-whw01.dts index 5859548254..1f26db5869 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-whw01.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-whw01.dts @@ -126,16 +126,18 @@ reg = <0x170000 0x10000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-wrtq-329acn.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-wrtq-329acn.dts index 4694c56819..f3c6f34bf4 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-wrtq-329acn.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-wrtq-329acn.dts @@ -155,24 +155,27 @@ label = "0:ART"; reg = <0x170000 0x010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - macaddr_art_0: macaddr@0{ - reg = <0x0000 0x0006>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_art_6: macaddr@6{ - reg = <0x0006 0x0006>; - }; + macaddr_art_0: macaddr@0{ + reg = <0x0000 0x0006>; + }; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + macaddr_art_6: macaddr@6{ + reg = <0x0006 0x0006>; + }; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-a62.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-a62.dts index d348101110..369b5475d0 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-a62.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-a62.dts @@ -156,29 +156,32 @@ /* partitions are passed via bootloader */ partitions { partition-art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; label = "0:ART"; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; - }; + macaddr_gmac0: macaddr@0 { + reg = <0x0 0x6>; + }; - precal_art_9000: precal@9000 { - reg = <0x9000 0x2f20>; - }; + macaddr_gmac1: macaddr@6 { + reg = <0x6 0x6>; + }; - macaddr_gmac0: macaddr@0 { - reg = <0x0 0x6>; - }; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; - macaddr_gmac1: macaddr@6 { - reg = <0x6 0x6>; + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; + + precal_art_9000: precal@9000 { + reg = <0x9000 0x2f20>; + }; }; }; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-cm520-79f.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-cm520-79f.dts index 5be88fcb31..c629c38c29 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-cm520-79f.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-cm520-79f.dts @@ -208,24 +208,27 @@ label = "ART"; reg = <0xb00000 0x80000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_art_1006: macaddr@1006 { - reg = <0x1006 0x6>; - }; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; - }; + macaddr_art_1006: macaddr@1006 { + reg = <0x1006 0x6>; + }; - macaddr_art_5006: macaddr@5006 { - reg = <0x5006 0x6>; + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; + + macaddr_art_5006: macaddr@5006 { + reg = <0x5006 0x6>; + }; }; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c1.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c1.dts index 70e05c7eef..243d19fb03 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c1.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c1.dts @@ -68,24 +68,27 @@ label = "0:ART"; reg = <0x170000 0x10000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; - }; + macaddr_gmac0: macaddr@0 { + reg = <0x0 0x6>; + }; - macaddr_gmac0: macaddr@0 { - reg = <0x0 0x6>; - }; + macaddr_gmac1: macaddr@6 { + reg = <0x6 0x6>; + }; - macaddr_gmac1: macaddr@6 { - reg = <0x6 0x6>; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; partition@180000 { diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c2.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c2.dts index 2ad794e8ec..9300568986 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c2.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c2.dts @@ -68,24 +68,27 @@ label = "0:ART"; reg = <0x170000 0x10000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; - }; + macaddr_gmac0: macaddr@0 { + reg = <0x0 0x6>; + }; - macaddr_gmac0: macaddr@0 { - reg = <0x0 0x6>; - }; + macaddr_gmac1: macaddr@6 { + reg = <0x6 0x6>; + }; - macaddr_gmac1: macaddr@6 { - reg = <0x6 0x6>; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-eap2200.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-eap2200.dts index dc144a1584..63fd66901d 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-eap2200.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-eap2200.dts @@ -146,20 +146,23 @@ label = "0:ART"; reg = <0x00170000 0x00010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; - }; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; - precal_art_9000: precal@9000 { - reg = <0x9000 0x2f20>; + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; + + precal_art_9000: precal@9000 { + reg = <0x9000 0x2f20>; + }; }; }; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-gl-b2200.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-gl-b2200.dts index 96ab73962e..5cb5f7ca08 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-gl-b2200.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-gl-b2200.dts @@ -185,20 +185,23 @@ label = "ART"; reg = <0x170000 0x10000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; - }; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; - precal_art_9000: precal@9000 { - reg = <0x9000 0x2f20>; + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; + + precal_art_9000: precal@9000 { + reg = <0x9000 0x2f20>; + }; }; }; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-habanero-dvk.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-habanero-dvk.dts index 23a654dcff..d5d00b2eef 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-habanero-dvk.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-habanero-dvk.dts @@ -273,16 +273,19 @@ label = "ART"; reg = <0x00170000 0x00010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; partition@180000 { diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-le1.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-le1.dts index 282a0eaaa6..677b4baa0f 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-le1.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-le1.dts @@ -148,16 +148,18 @@ reg = <0x170000 0x10000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-mf18a.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-mf18a.dts index 80d71ac0cc..1b1a697f13 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-mf18a.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-mf18a.dts @@ -238,7 +238,7 @@ &gmac { status = "okay"; nvmem-cell-names = "mac-address"; - nvmem-cells = <&macaddr_config_0>; + nvmem-cells = <&macaddr_config_0 0>; }; &switch { @@ -251,8 +251,7 @@ label = "wan"; nvmem-cell-names = "mac-address"; - nvmem-cells = <&macaddr_config_0>; - mac-address-increment = <1>; + nvmem-cells = <&macaddr_config_0 1>; }; &swport3 { @@ -282,16 +281,19 @@ label = "ART"; reg = <0xa0000 0x80000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_9000: precal@9000 { - reg = <0x9000 0x2f20>; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_9000: precal@9000 { + reg = <0x9000 0x2f20>; + }; }; }; @@ -299,12 +301,17 @@ label = "mac"; reg = <0x120000 0x80000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - macaddr_config_0: macaddr@0 { - reg = <0x0 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_config_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -451,8 +458,7 @@ &wifi0 { status = "okay"; nvmem-cell-names = "pre-calibration", "mac-address"; - nvmem-cells = <&precal_art_1000>, <&macaddr_config_0>; - mac-address-increment = <2>; + nvmem-cells = <&precal_art_1000>, <&macaddr_config_0 2>; qcom,ath10k-calibration-variant = "ZTE-MF18A"; }; @@ -472,8 +478,7 @@ wifi2: wifi@1,0 { compatible = "pci168c,0040"; nvmem-cell-names = "pre-calibration", "mac-address"; - nvmem-cells = <&precal_art_9000>, <&macaddr_config_0>; - mac-address-increment = <3>; + nvmem-cells = <&precal_art_9000>, <&macaddr_config_0 3>; qcom,ath10k-calibration-variant = "ZTE-MF18A"; reg = <0x00010000 0 0 0 0>; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-mf282plus.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-mf282plus.dts index 6688577c07..54353cac58 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-mf282plus.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-mf282plus.dts @@ -223,7 +223,7 @@ &gmac { status = "okay"; nvmem-cell-names = "mac-address"; - nvmem-cells = <&macaddr_config_0>; + nvmem-cells = <&macaddr_config_0 0>; }; &nand { @@ -247,16 +247,19 @@ label = "ART"; reg = <0xa0000 0x80000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; @@ -264,12 +267,17 @@ label = "mac"; reg = <0x120000 0x80000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - macaddr_config_0: macaddr@0 { - reg = <0x0 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_config_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -430,8 +438,7 @@ &wifi0 { status = "okay"; nvmem-cell-names = "pre-calibration", "mac-address"; - nvmem-cells = <&precal_art_1000>, <&macaddr_config_0>; - mac-address-increment = <1>; + nvmem-cells = <&precal_art_1000>, <&macaddr_config_0 1>; qcom,ath10k-calibration-variant = "zte,mf286d"; }; @@ -442,7 +449,6 @@ &wifi1 { status = "okay"; nvmem-cell-names = "pre-calibration", "mac-address"; - nvmem-cells = <&precal_art_5000>, <&macaddr_config_0>; - mac-address-increment = <1>; + nvmem-cells = <&precal_art_5000>, <&macaddr_config_0 1>; qcom,ath10k-calibration-variant = "zte,mf286d"; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-mf286d.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-mf286d.dts index ff04279a60..61cbdba0d1 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-mf286d.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-mf286d.dts @@ -216,7 +216,7 @@ &gmac { status = "okay"; nvmem-cell-names = "mac-address"; - nvmem-cells = <&macaddr_config_0>; + nvmem-cells = <&macaddr_config_0 0>; }; &nand { @@ -240,16 +240,19 @@ label = "ART"; reg = <0xa0000 0x80000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; @@ -257,12 +260,17 @@ label = "mac"; reg = <0x120000 0x80000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - macaddr_config_0: macaddr@0 { - reg = <0x0 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_config_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -347,8 +355,7 @@ status = "okay"; nvmem-cell-names = "mac-address"; - nvmem-cells = <&macaddr_config_0>; - mac-address-increment = <1>; + nvmem-cells = <&macaddr_config_0 1>; }; &tlmm { @@ -434,15 +441,13 @@ &wifi0 { status = "okay"; nvmem-cell-names = "pre-calibration", "mac-address"; - nvmem-cells = <&precal_art_1000>, <&macaddr_config_0>; - mac-address-increment = <2>; + nvmem-cells = <&precal_art_1000>, <&macaddr_config_0 2>; qcom,ath10k-calibration-variant = "zte,mf286d"; }; &wifi1 { status = "okay"; nvmem-cell-names = "pre-calibration", "mac-address"; - nvmem-cells = <&precal_art_5000>, <&macaddr_config_0>; - mac-address-increment = <3>; + nvmem-cells = <&precal_art_5000>, <&macaddr_config_0 3>; qcom,ath10k-calibration-variant = "zte,mf286d"; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-mf289f.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-mf289f.dts index 0d9f24ad70..bbb2cb902a 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-mf289f.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-mf289f.dts @@ -216,16 +216,19 @@ label = "ART"; reg = <0xa0000 0x80000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; @@ -233,12 +236,17 @@ label = "mac"; reg = <0x120000 0x80000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - macaddr_mac_0: macaddr@0 { - reg = <0x0 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_mac_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -310,7 +318,7 @@ &gmac { status = "okay"; nvmem-cell-names = "mac-address"; - nvmem-cells = <&macaddr_mac_0>; + nvmem-cells = <&macaddr_mac_0 0>; }; &switch { @@ -323,8 +331,7 @@ label = "wan"; nvmem-cell-names = "mac-address"; - nvmem-cells = <&macaddr_mac_0>; - mac-address-increment = <1>; + nvmem-cells = <&macaddr_mac_0 1>; }; &swport5 { @@ -401,8 +408,7 @@ &wifi0 { status = "okay"; nvmem-cell-names = "pre-calibration", "mac-address"; - nvmem-cells = <&precal_art_1000>, <&macaddr_mac_0>; - mac-address-increment = <2>; + nvmem-cells = <&precal_art_1000>, <&macaddr_mac_0 2>; qcom,ath10k-calibration-variant = "zte,mf289f"; }; @@ -410,8 +416,7 @@ &wifi1 { status = "okay"; nvmem-cell-names = "pre-calibration", "mac-address"; - nvmem-cells = <&precal_art_5000>, <&macaddr_mac_0>; - mac-address-increment = <3>; + nvmem-cells = <&precal_art_5000>, <&macaddr_mac_0 3>; qcom,ath10k-calibration-variant = "zte,mf289f"; }; @@ -430,8 +435,7 @@ wifi2: wifi@1,0 { nvmem-cell-names = "mac-address"; - nvmem-cells = <&macaddr_mac_0>; - mac-address-increment = <4>; + nvmem-cells = <&macaddr_mac_0 4>; compatible = "qcom,ath10k"; reg = <0x00010000 0 0 0 0>; qcom,ath10k-calibration-variant = "zte,mf289f"; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-oap100.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-oap100.dts index beb168eb49..2080a34e2f 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-oap100.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-oap100.dts @@ -263,16 +263,19 @@ label = "0:ART"; reg = <0x00170000 0x00010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-pa2200.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-pa2200.dts index 259ea7bb47..49d399ed1f 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-pa2200.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-pa2200.dts @@ -141,29 +141,32 @@ /* partitions are passed via bootloader */ partitions { partition-art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; label = "0:ART"; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; - }; + macaddr_gmac0: macaddr@0 { + reg = <0x0 0x6>; + }; - precal_art_9000: precal@9000 { - reg = <0x9000 0x2f20>; - }; + macaddr_gmac1: macaddr@6 { + reg = <0x6 0x6>; + }; - macaddr_gmac0: macaddr@0 { - reg = <0x0 0x6>; - }; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; - macaddr_gmac1: macaddr@6 { - reg = <0x6 0x6>; + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; + + precal_art_9000: precal@9000 { + reg = <0x9000 0x2f20>; + }; }; }; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-r619ac.dtsi b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-r619ac.dtsi index d7a987f98d..1566dc39a9 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-r619ac.dtsi +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-r619ac.dtsi @@ -173,16 +173,19 @@ label = "ART"; reg = <0x170000 0x10000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-u4019-32m.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-u4019-32m.dts index 4efcdaf394..08c55d0c27 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-u4019-32m.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-u4019-32m.dts @@ -65,16 +65,19 @@ label = "0:ART"; reg = <0x170000 0x10000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; partition@180000 { diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-whw03v2.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-whw03v2.dts index 1f0572b879..963c0915bb 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-whw03v2.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-whw03v2.dts @@ -267,7 +267,7 @@ status = "okay"; // RGB LEDs - pca9633: led-controller { + pca9633: led-controller@62 { compatible = "nxp,pca9633"; nxp,hw-blink; reg = <0x62>; @@ -354,29 +354,34 @@ partition@580000 { label = "ART"; reg = <0x580000 0x80000>; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; read-only; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; - }; + macaddr_gmac0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; - precal_art_9000: precal@9000 { - reg = <0x9000 0x2f20>; - }; + macaddr_gmac1: macaddr@6 { + reg = <0x6 0x6>; + }; - macaddr_gmac0: macaddr@0 { - reg = <0x0 0x6>; - }; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; - macaddr_gmac1: macaddr@6 { - reg = <0x6 0x6>; + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; + + precal_art_9000: precal@9000 { + reg = <0x9000 0x2f20>; + }; }; }; @@ -476,7 +481,7 @@ label = "wan"; nvmem-cell-names = "mac-address"; - nvmem-cells = <&macaddr_gmac0>; + nvmem-cells = <&macaddr_gmac0 0>; }; &wifi0 { @@ -492,8 +497,7 @@ qcom,ath10k-calibration-variant = "linksys-whw03v2"; nvmem-cell-names = "pre-calibration", "mac-address"; - nvmem-cells = <&precal_art_1000>, <&macaddr_gmac0>; - mac-address-increment = <1>; + nvmem-cells = <&precal_art_1000>, <&macaddr_gmac0 1>; }; &wifi1 { @@ -503,8 +507,7 @@ qcom,ath10k-calibration-variant = "linksys-whw03v2"; nvmem-cell-names = "pre-calibration", "mac-address"; - nvmem-cells = <&precal_art_5000>, <&macaddr_gmac0>; - mac-address-increment = <2>; + nvmem-cells = <&precal_art_5000>, <&macaddr_gmac0 2>; }; &wifi2 { @@ -514,6 +517,5 @@ qcom,ath10k-calibration-variant = "linksys-whw03v2"; nvmem-cell-names = "pre-calibration", "mac-address"; - nvmem-cells = <&precal_art_9000>, <&macaddr_gmac0>; - mac-address-increment = <3>; + nvmem-cells = <&precal_art_9000>, <&macaddr_gmac0 3>; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-wpj419.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-wpj419.dts index ca37884db2..2dc4544433 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-wpj419.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-wpj419.dts @@ -206,16 +206,19 @@ label = "0:ART"; reg = <0x170000 0x010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-wtr-m2133hp.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-wtr-m2133hp.dts index 3260de23bd..7d030c489d 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-wtr-m2133hp.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-wtr-m2133hp.dts @@ -331,20 +331,23 @@ label = "ART"; reg = <0x0b00000 0x0080000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; - }; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; - precal_art_9000: precal@9000 { - reg = <0x5000 0x2f20>; + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; + + precal_art_9000: precal@9000 { + reg = <0x5000 0x2f20>; + }; }; }; @@ -358,21 +361,24 @@ label = "ORGDATA"; reg = <0x0c00000 0x0080000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - macaddr_orgdata_20: macaddr@20 { - reg = <0x20 0x6>; - }; - macaddr_orgdata_26: macaddr@26 { - reg = <0x26 0x6>; - }; - macaddr_orgdata_2c: macaddr@2c { - reg = <0x2c 0x6>; - }; - macaddr_orgdata_32: macaddr@32 { - reg = <0x32 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_orgdata_20: macaddr@20 { + reg = <0x20 0x6>; + }; + macaddr_orgdata_26: macaddr@26 { + reg = <0x26 0x6>; + }; + macaddr_orgdata_2c: macaddr@2c { + reg = <0x2c 0x6>; + }; + macaddr_orgdata_32: macaddr@32 { + reg = <0x32 0x6>; + }; }; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-x1pro.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-x1pro.dts index 681300c502..3d71593e86 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-x1pro.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-x1pro.dts @@ -67,16 +67,19 @@ label = "0:ART"; reg = <0x170000 0x10000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; partition@180000 { diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts index d84d54e39b..4b61bbb5ac 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts @@ -225,24 +225,27 @@ label = "0:ART"; reg = <0x00170000 0x00010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; - }; + macaddr_art_e010: mac-address@e010 { + reg = <0xe010 0x6>; + }; - macaddr_art_e010: mac-address@e010 { - reg = <0xe010 0x6>; - }; + macaddr_art_e018: mac-address@e018 { + reg = <0xe018 0x6>; + }; - macaddr_art_e018: mac-address@e018 { - reg = <0xe018 0x6>; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; partition6@180000 { diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-ap-303.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-ap-303.dts index 6cbfa8f37d..7e484db1b5 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-ap-303.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-ap-303.dts @@ -118,16 +118,19 @@ label = "ART"; reg = <0xe0000 0x10000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; @@ -141,12 +144,17 @@ label = "mfginfo"; reg = <0x1e0000 0x10000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - macaddr_mfginfo_1d: macaddr@1d { - reg = <0x1d 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_mfginfo_1d: macaddr@1d { + compatible = "mac-base"; + reg = <0x1d 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-ap-303h.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-ap-303h.dts index 23abb3537c..41b42e8f58 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-ap-303h.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-ap-303h.dts @@ -317,16 +317,19 @@ label = "ART"; reg = <0x1f0000 0x10000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; @@ -352,16 +355,21 @@ label = "mfginfo"; reg = <0x390000 0x10000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - macaddr_mfginfo_1d: macaddr@1d { - reg = <0x1d 0x6>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_mfginfo_45: macaddr@45 { - reg = <0x45 0x6>; + macaddr_mfginfo_1d: macaddr@1d { + reg = <0x1d 0x6>; + }; + + macaddr_mfginfo_45: macaddr@45 { + compatible = "mac-base"; + reg = <0x45 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -459,14 +467,13 @@ &wifi0 { status = "okay"; nvmem-cell-names = "pre-calibration", "mac-address"; - nvmem-cells = <&precal_art_1000>, <&macaddr_mfginfo_45>; + nvmem-cells = <&precal_art_1000>, <&macaddr_mfginfo_45 0>; qcom,ath10k-calibration-variant = "Aruba-AP-303"; }; &wifi1 { status = "okay"; nvmem-cell-names = "pre-calibration", "mac-address"; - nvmem-cells = <&precal_art_5000>, <&macaddr_mfginfo_45>; - mac-address-increment = <1>; + nvmem-cells = <&precal_art_5000>, <&macaddr_mfginfo_45 1>; qcom,ath10k-calibration-variant = "Aruba-AP-303"; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-ap-365.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-ap-365.dts index 1f7b37d56d..3477dace72 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-ap-365.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-ap-365.dts @@ -150,16 +150,19 @@ label = "ART"; reg = <0x1f0000 0x10000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; @@ -185,12 +188,17 @@ label = "mfginfo"; reg = <0x390000 0x10000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - macaddr_mfginfo_1d: macaddr@1d { - reg = <0x1d 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_mfginfo_1d: macaddr@1d { + compatible = "mac-base"; + reg = <0x1d 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-aruba-glenmorangie.dtsi b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-aruba-glenmorangie.dtsi index 41de6bb218..4b3b682260 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-aruba-glenmorangie.dtsi +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-aruba-glenmorangie.dtsi @@ -259,14 +259,13 @@ &wifi0 { status = "okay"; nvmem-cell-names = "pre-calibration", "mac-address"; - nvmem-cells = <&precal_art_1000>, <&macaddr_mfginfo_1d>; + nvmem-cells = <&precal_art_1000>, <&macaddr_mfginfo_1d 0>; qcom,ath10k-calibration-variant = "Aruba-AP-303"; }; &wifi1 { status = "okay"; nvmem-cell-names = "pre-calibration", "mac-address"; - nvmem-cells = <&precal_art_5000>, <&macaddr_mfginfo_1d>; - mac-address-increment = <1>; + nvmem-cells = <&precal_art_5000>, <&macaddr_mfginfo_1d 1>; qcom,ath10k-calibration-variant = "Aruba-AP-303"; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts index 7e4519a746..9694973132 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts @@ -195,24 +195,29 @@ label = "ART"; reg = <0x170000 0x10000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; - }; + macaddr_gmac0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; - macaddr_gmac0: macaddr@0 { - reg = <0x0 0x6>; - }; + macaddr_gmac1: macaddr@6 { + reg = <0x6 0x6>; + }; - macaddr_gmac1: macaddr@6 { - reg = <0x6 0x6>; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; @@ -288,8 +293,7 @@ label = "lan2"; nvmem-cell-names = "mac-address"; - nvmem-cells = <&macaddr_gmac0>; - mac-address-increment = <2>; + nvmem-cells = <&macaddr_gmac0 2>; }; &swport4 { @@ -297,7 +301,7 @@ label = "lan1"; nvmem-cell-names = "mac-address"; - nvmem-cells = <&macaddr_gmac0>; + nvmem-cells = <&macaddr_gmac0 0>; }; &swport5 { diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-gl-s1300.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-gl-s1300.dts index 0e7f4c970f..1a61b8161d 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-gl-s1300.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-gl-s1300.dts @@ -193,16 +193,19 @@ label = "ART"; reg = <0x170000 0x10000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-insect-common.dtsi b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-insect-common.dtsi index ebfab171f5..dbf6c14b72 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-insect-common.dtsi +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-insect-common.dtsi @@ -137,7 +137,9 @@ #size-cells = <1>; mac_address: mac-address@66 { + compatible = "mac-base"; reg = <0x66 0x6>; + #nvmem-cell-cells = <1>; }; }; }; @@ -284,9 +286,8 @@ compatible = "qcom,ath10k"; status = "okay"; reg = <0x00010000 0 0 0 0>; - nvmem-cells = <&mac_address>; + nvmem-cells = <&mac_address 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; }; }; @@ -390,22 +391,20 @@ &wifi0 { status = "okay"; qcom,ath10k-calibration-variant = "Meraki-MR33"; - nvmem-cells = <&mac_address>; + nvmem-cells = <&mac_address 2>; nvmem-cell-names = "mac-address"; - mac-address-increment = <2>; }; &wifi1 { status = "okay"; qcom,ath10k-calibration-variant = "Meraki-MR33"; - nvmem-cells = <&mac_address>; + nvmem-cells = <&mac_address 3>; nvmem-cell-names = "mac-address"; - mac-address-increment = <3>; }; &gmac { status = "okay"; - nvmem-cells = <&mac_address>; + nvmem-cells = <&mac_address 0>; nvmem-cell-names = "mac-address"; }; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq40x9-dr40x9.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq40x9-dr40x9.dts index b90b6b28c3..271a972092 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq40x9-dr40x9.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq40x9-dr40x9.dts @@ -236,34 +236,36 @@ label = "0:ART"; reg = <0x00170000 0x00010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - precal_art_1000: precal@1000 { - reg = <0x1000 0x2f20>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: mac-address@0 { + reg = <0x0 0x6>; + }; + + macaddr_art_6: mac-address@6 { + reg = <0x6 0x6>; + }; + + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + macaddr_art_1006: mac-address@1006 { + reg = <0x1006 0x6>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; + + macaddr_art_5006: mac-address@5006 { + reg = <0x5006 0x6>; + }; }; - - precal_art_5000: precal@5000 { - reg = <0x5000 0x2f20>; - }; - - macaddr_art_0: mac-address@0 { - reg = <0x0 0x6>; - }; - - macaddr_art_6: mac-address@6 { - reg = <0x6 0x6>; - }; - - macaddr_art_1006: mac-address@1006 { - reg = <0x1006 0x6>; - }; - - macaddr_art_5006: mac-address@5006 { - reg = <0x5006 0x6>; - }; - }; partition8@180000 { diff --git a/target/linux/mediatek/dts/mt7622-buffalo-wsr-2533dhp2.dts b/target/linux/mediatek/dts/mt7622-buffalo-wsr-2533dhp2.dts index a9f2959191..b8fac373a0 100644 --- a/target/linux/mediatek/dts/mt7622-buffalo-wsr-2533dhp2.dts +++ b/target/linux/mediatek/dts/mt7622-buffalo-wsr-2533dhp2.dts @@ -87,7 +87,6 @@ }; factory: partition@1c0000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x1c0000 0x40000>; read-only; diff --git a/target/linux/mediatek/dts/mt7622-dlink-eagle-pro-ai-m32-a1.dts b/target/linux/mediatek/dts/mt7622-dlink-eagle-pro-ai-m32-a1.dts index ca680e4c29..9c90cee516 100644 --- a/target/linux/mediatek/dts/mt7622-dlink-eagle-pro-ai-m32-a1.dts +++ b/target/linux/mediatek/dts/mt7622-dlink-eagle-pro-ai-m32-a1.dts @@ -300,22 +300,24 @@ }; odm: partition@180000 { - compatible = "nvmem-cells"; label = "Odm"; reg = <0x00180000 0x00040000>; read-only; - macaddr_odm_83: macaddr@83 { - reg = <0x83 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_odm_83: macaddr@83 { + reg = <0x83 0x6>; + }; }; }; config1: partition@1C0000 { - compatible = "nvmem-cells"; label = "Config1"; reg = <0x001C0000 0x00080000>; - #address-cells = <1>; - #size-cells = <1>; read-only; }; diff --git a/target/linux/mediatek/dts/mt7622-elecom-wrc-x3200gst3.dts b/target/linux/mediatek/dts/mt7622-elecom-wrc-x3200gst3.dts index c7e11c80b0..c775d99818 100644 --- a/target/linux/mediatek/dts/mt7622-elecom-wrc-x3200gst3.dts +++ b/target/linux/mediatek/dts/mt7622-elecom-wrc-x3200gst3.dts @@ -326,20 +326,24 @@ reg = <0x1c0000 0x100000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; - }; + macaddr_factory_4: macaddr@4 { + compatible = "mac-base"; + reg = <0x4 0x6>; + #nvmem-cell-cells = <1>; + }; - macaddr_factory_7fff4: macaddr@7fff4 { - reg = <0x7fff4 0x6>; - }; + macaddr_factory_7fff4: macaddr@7fff4 { + reg = <0x7fff4 0x6>; + }; - macaddr_factory_7fffa: macaddr@7fffa { - reg = <0x7fffa 0x6>; + macaddr_factory_7fffa: macaddr@7fffa { + reg = <0x7fffa 0x6>; + }; }; }; @@ -394,9 +398,8 @@ reg = <0x0000 0 0 0 0>; mediatek,mtd-eeprom = <&factory 0x5000>; ieee80211-freq-limit = <5000000 6000000>; - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; }; diff --git a/target/linux/mediatek/dts/mt7622-linksys-e8450-ubi.dts b/target/linux/mediatek/dts/mt7622-linksys-e8450-ubi.dts index 9df736eb01..e78db1de6c 100644 --- a/target/linux/mediatek/dts/mt7622-linksys-e8450-ubi.dts +++ b/target/linux/mediatek/dts/mt7622-linksys-e8450-ubi.dts @@ -34,6 +34,20 @@ label = "factory"; reg = <0x1c0000 0x100000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_7fff4: macaddr@7fff4 { + reg = <0x7fff4 0x6>; + }; + + macaddr_factory_7fffa: macaddr@7fffa { + reg = <0x7fffa 0x6>; + }; + }; }; partition@300000 { @@ -61,17 +75,3 @@ nvmem-cells = <&macaddr_factory_7fffa>; nvmem-cell-names = "mac-address"; }; - -&factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_factory_7fff4: macaddr@7fff4 { - reg = <0x7fff4 0x6>; - }; - - macaddr_factory_7fffa: macaddr@7fffa { - reg = <0x7fffa 0x6>; - }; -}; diff --git a/target/linux/mediatek/dts/mt7622-linksys-e8450.dts b/target/linux/mediatek/dts/mt7622-linksys-e8450.dts index 8552dbf1a9..dedcc057f4 100644 --- a/target/linux/mediatek/dts/mt7622-linksys-e8450.dts +++ b/target/linux/mediatek/dts/mt7622-linksys-e8450.dts @@ -45,6 +45,20 @@ factory: partition@1c0000 { label = "factory"; reg = <0x1c0000 0x0100000>; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_7fff4: macaddr@7fff4 { + reg = <0x7fff4 0x6>; + }; + + macaddr_factory_7fffa: macaddr@7fffa { + reg = <0x7fffa 0x6>; + }; + }; }; partition@300000 { @@ -106,17 +120,3 @@ nvmem-cells = <&macaddr_factory_7fffa>; nvmem-cell-names = "mac-address"; }; - -&factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_factory_7fff4: macaddr@7fff4 { - reg = <0x7fff4 0x6>; - }; - - macaddr_factory_7fffa: macaddr@7fffa { - reg = <0x7fffa 0x6>; - }; -}; diff --git a/target/linux/mediatek/dts/mt7622-netgear-wax206.dts b/target/linux/mediatek/dts/mt7622-netgear-wax206.dts index 9e877b85f1..737ac35f3d 100644 --- a/target/linux/mediatek/dts/mt7622-netgear-wax206.dts +++ b/target/linux/mediatek/dts/mt7622-netgear-wax206.dts @@ -405,19 +405,22 @@ }; factory: partition@1c0000 { - compatible = "nvmem-cells"; label = "Factory"; reg = <0x1c0000 0x0100000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - macaddr_factory_7fff4: macaddr@7fff4 { - reg = <0x7fff4 0x6>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_7fffa: macaddr@7fffa { - reg = <0x7fffa 0x6>; + macaddr_factory_7fff4: macaddr@7fff4 { + reg = <0x7fff4 0x6>; + }; + + macaddr_factory_7fffa: macaddr@7fffa { + reg = <0x7fffa 0x6>; + }; }; }; diff --git a/target/linux/mediatek/dts/mt7622-totolink-a8000ru.dts b/target/linux/mediatek/dts/mt7622-totolink-a8000ru.dts index b634e28783..776d38d1e3 100644 --- a/target/linux/mediatek/dts/mt7622-totolink-a8000ru.dts +++ b/target/linux/mediatek/dts/mt7622-totolink-a8000ru.dts @@ -284,6 +284,20 @@ label = "factory"; reg = <0x1c0000 0x40000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_24: macaddr@24 { + reg = <0x24 0x6>; + }; + + macaddr_factory_2a: macaddr@2a { + reg = <0x2a 0x6>; + }; + }; }; partition@200000 { @@ -305,20 +319,6 @@ }; }; -&factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_factory_24: macaddr@24 { - reg = <0x24 0x6>; - }; - - macaddr_factory_2a: macaddr@2a { - reg = <0x2a 0x6>; - }; -}; - &ssusb { vusb33-supply = <®_3p3v>; vbus-supply = <®_5v>; diff --git a/target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr-v1-ubootmod.dts b/target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr-v1-ubootmod.dts index 5b1fd1d9ba..7a7a8a8159 100644 --- a/target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr-v1-ubootmod.dts +++ b/target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr-v1-ubootmod.dts @@ -33,6 +33,20 @@ label = "eeprom"; reg = <0x110000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_eeprom_0: macaddr@0 { + reg = <0x0 0x6>; + }; + + macaddr_eeprom_6: macaddr@6 { + reg = <0x6 0x6>; + }; + }; }; partition@120000 { @@ -68,17 +82,3 @@ nvmem-cells = <&macaddr_eeprom_0>; nvmem-cell-names = "mac-address"; }; - -&eeprom { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_eeprom_0: macaddr@0 { - reg = <0x0 0x6>; - }; - - macaddr_eeprom_6: macaddr@6 { - reg = <0x6 0x6>; - }; -}; diff --git a/target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr-v1.dts b/target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr-v1.dts index 95f19af4cd..7e07e1ba6b 100644 --- a/target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr-v1.dts +++ b/target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr-v1.dts @@ -38,6 +38,20 @@ label = "eeprom"; reg = <0x110000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_eeprom_0: macaddr@0 { + reg = <0x0 0x6>; + }; + + macaddr_eeprom_6: macaddr@6 { + reg = <0x6 0x6>; + }; + }; }; partition@120000 { @@ -84,17 +98,3 @@ nvmem-cells = <&macaddr_eeprom_0>; nvmem-cell-names = "mac-address"; }; - -&eeprom { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_eeprom_0: macaddr@0 { - reg = <0x0 0x6>; - }; - - macaddr_eeprom_6: macaddr@6 { - reg = <0x6 0x6>; - }; -}; diff --git a/target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr-v2-ubootmod.dts b/target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr-v2-ubootmod.dts index 6a7b6868ce..3a37d1d500 100644 --- a/target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr-v2-ubootmod.dts +++ b/target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr-v2-ubootmod.dts @@ -33,6 +33,20 @@ label = "eeprom"; reg = <0x110000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_eeprom_0: macaddr@0 { + reg = <0x0 0x6>; + }; + + macaddr_eeprom_6: macaddr@6 { + reg = <0x6 0x6>; + }; + }; }; partition@120000 { @@ -68,17 +82,3 @@ nvmem-cells = <&macaddr_eeprom_0>; nvmem-cell-names = "mac-address"; }; - -&eeprom { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_eeprom_0: macaddr@0 { - reg = <0x0 0x6>; - }; - - macaddr_eeprom_6: macaddr@6 { - reg = <0x6 0x6>; - }; -}; diff --git a/target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr-v2.dts b/target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr-v2.dts index f40e8e632b..9fef3d6721 100644 --- a/target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr-v2.dts +++ b/target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr-v2.dts @@ -38,6 +38,20 @@ label = "eeprom"; reg = <0x110000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_eeprom_0: macaddr@0 { + reg = <0x0 0x6>; + }; + + macaddr_eeprom_6: macaddr@6 { + reg = <0x6 0x6>; + }; + }; }; partition@120000 { @@ -84,17 +98,3 @@ nvmem-cells = <&macaddr_eeprom_0>; nvmem-cell-names = "mac-address"; }; - -&eeprom { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_eeprom_0: macaddr@0 { - reg = <0x0 0x6>; - }; - - macaddr_eeprom_6: macaddr@6 { - reg = <0x6 0x6>; - }; -}; diff --git a/target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr-v3-ubootmod.dts b/target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr-v3-ubootmod.dts index 46faf8da30..e91aaa63f5 100644 --- a/target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr-v3-ubootmod.dts +++ b/target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr-v3-ubootmod.dts @@ -33,6 +33,20 @@ label = "eeprom"; reg = <0x110000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_eeprom_0: macaddr@0 { + reg = <0x0 0x6>; + }; + + macaddr_eeprom_6: macaddr@6 { + reg = <0x6 0x6>; + }; + }; }; partition@120000 { @@ -68,17 +82,3 @@ nvmem-cells = <&macaddr_eeprom_0>; nvmem-cell-names = "mac-address"; }; - -&eeprom { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_eeprom_0: macaddr@0 { - reg = <0x0 0x6>; - }; - - macaddr_eeprom_6: macaddr@6 { - reg = <0x6 0x6>; - }; -}; diff --git a/target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr-v3.dts b/target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr-v3.dts index 34bdaa6254..71ee9f0cec 100644 --- a/target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr-v3.dts +++ b/target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr-v3.dts @@ -38,6 +38,20 @@ label = "eeprom"; reg = <0x110000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_eeprom_0: macaddr@0 { + reg = <0x0 0x6>; + }; + + macaddr_eeprom_6: macaddr@6 { + reg = <0x6 0x6>; + }; + }; }; partition@120000 { @@ -84,17 +98,3 @@ nvmem-cells = <&macaddr_eeprom_0>; nvmem-cell-names = "mac-address"; }; - -&eeprom { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_eeprom_0: macaddr@0 { - reg = <0x0 0x6>; - }; - - macaddr_eeprom_6: macaddr@6 { - reg = <0x6 0x6>; - }; -}; diff --git a/target/linux/mediatek/dts/mt7622-xiaomi-redmi-router-ax6s.dts b/target/linux/mediatek/dts/mt7622-xiaomi-redmi-router-ax6s.dts index ecc25fd328..dcf851b274 100644 --- a/target/linux/mediatek/dts/mt7622-xiaomi-redmi-router-ax6s.dts +++ b/target/linux/mediatek/dts/mt7622-xiaomi-redmi-router-ax6s.dts @@ -146,9 +146,8 @@ phy-connection-type = "2500base-x"; - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 (-1)>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(-1)>; fixed-link { speed = <2500>; @@ -268,12 +267,16 @@ reg = <0x1c0000 0x80000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + macaddr_factory_4: macaddr@4 { + compatible = "mac-base"; + reg = <0x4 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; diff --git a/target/linux/mediatek/dts/mt7629-iptime-a6004mx.dts b/target/linux/mediatek/dts/mt7629-iptime-a6004mx.dts index dc1868a066..5b1b3083a0 100644 --- a/target/linux/mediatek/dts/mt7629-iptime-a6004mx.dts +++ b/target/linux/mediatek/dts/mt7629-iptime-a6004mx.dts @@ -97,9 +97,8 @@ compatible = "mediatek,eth-mac"; reg = <0>; phy-mode = "2500base-x"; - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 3>; nvmem-cell-names = "mac-address"; - mac-address-increment = <3>; fixed-link { speed = <2500>; @@ -113,9 +112,8 @@ reg = <1>; phy-mode = "gmii"; phy-handle = <&phy0>; - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; mdio: mdio-bus { @@ -212,12 +210,16 @@ reg = <0x140000 0x80000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + macaddr_factory_4: macaddr@4 { + compatible = "mac-base"; + reg = <0x4 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; diff --git a/target/linux/mediatek/dts/mt7629-tplink_eap225-v5.dts b/target/linux/mediatek/dts/mt7629-tplink_eap225-v5.dts index 52e22541fa..5eab714fda 100644 --- a/target/linux/mediatek/dts/mt7629-tplink_eap225-v5.dts +++ b/target/linux/mediatek/dts/mt7629-tplink_eap225-v5.dts @@ -102,11 +102,16 @@ partition@90000 { label = "Factory"; reg = <0x00090000 0x00010000>; - compatible = "nvmem-cells"; read-only; - macaddr_factory_8: macaddr@8 { - reg = <0x8 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_8: macaddr@8 { + reg = <0x8 0x6>; + }; }; }; diff --git a/target/linux/mediatek/dts/mt7981a-ubnt-unifi-6-plus.dts b/target/linux/mediatek/dts/mt7981a-ubnt-unifi-6-plus.dts index ece78ee50e..48fe2f2fc0 100644 --- a/target/linux/mediatek/dts/mt7981a-ubnt-unifi-6-plus.dts +++ b/target/linux/mediatek/dts/mt7981a-ubnt-unifi-6-plus.dts @@ -115,16 +115,18 @@ reg = <0x00000 0x10000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_eeprom_0: macaddr@0 { - reg = <0x0 0x6>; - }; + macaddr_eeprom_0: macaddr@0 { + reg = <0x0 0x6>; + }; - macaddr_eeprom_6: macaddr@6 { - reg = <0x6 0x6>; + macaddr_eeprom_6: macaddr@6 { + reg = <0x6 0x6>; + }; }; }; diff --git a/target/linux/mediatek/dts/mt7981b-abt-asr3000-ubootmod.dts b/target/linux/mediatek/dts/mt7981b-abt-asr3000-ubootmod.dts index 0dee4f42e5..80c77df895 100644 --- a/target/linux/mediatek/dts/mt7981b-abt-asr3000-ubootmod.dts +++ b/target/linux/mediatek/dts/mt7981b-abt-asr3000-ubootmod.dts @@ -77,9 +77,6 @@ }; ð { - pinctrl-names = "default"; - pinctrl-0 = <&mdio_pins>; - status = "okay"; gmac0: mac@0 { diff --git a/target/linux/mediatek/dts/mt7981b-cetron-ct3003.dtsi b/target/linux/mediatek/dts/mt7981b-cetron-ct3003.dtsi index 4102fc933f..1190d00bcd 100644 --- a/target/linux/mediatek/dts/mt7981b-cetron-ct3003.dtsi +++ b/target/linux/mediatek/dts/mt7981b-cetron-ct3003.dtsi @@ -58,9 +58,6 @@ }; ð { - pinctrl-names = "default"; - pinctrl-0 = <&mdio_pins>; - status = "okay"; gmac0: mac@0 { diff --git a/target/linux/mediatek/dts/mt7981b-cmcc-rax3000m-nand.dtso b/target/linux/mediatek/dts/mt7981b-cmcc-rax3000m-nand.dtso index ff94a550fd..4d2b01cb63 100644 --- a/target/linux/mediatek/dts/mt7981b-cmcc-rax3000m-nand.dtso +++ b/target/linux/mediatek/dts/mt7981b-cmcc-rax3000m-nand.dtso @@ -84,7 +84,6 @@ reg = <0x180000 0x200000>; read-only; - compatible = "nvmem-cells"; nvmem-layout { compatible = "fixed-layout"; #address-cells = <1>; diff --git a/target/linux/mediatek/dts/mt7981b-cudy-wr3000-v1.dts b/target/linux/mediatek/dts/mt7981b-cudy-wr3000-v1.dts index 56e90b1722..e2fa8bf5d3 100644 --- a/target/linux/mediatek/dts/mt7981b-cudy-wr3000-v1.dts +++ b/target/linux/mediatek/dts/mt7981b-cudy-wr3000-v1.dts @@ -95,7 +95,7 @@ phy-mode = "2500base-x"; nvmem-cell-names = "mac-address"; - nvmem-cells = <&macaddr_bdinfo_de00>; + nvmem-cells = <&macaddr_bdinfo_de00 0>; fixed-link { speed = <2500>; @@ -168,6 +168,18 @@ label = "bdinfo"; reg = <0x60000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_bdinfo_de00: macaddr@de00 { + compatible = "mac-base"; + reg = <0xde00 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@70000 { @@ -223,8 +235,7 @@ label = "wan"; nvmem-cell-names = "mac-address"; - nvmem-cells = <&macaddr_bdinfo_de00>; - mac-address-increment = <1>; + nvmem-cells = <&macaddr_bdinfo_de00 1>; }; lan1: port@1 { @@ -232,7 +243,7 @@ label = "lan1"; nvmem-cell-names = "mac-address"; - nvmem-cells = <&macaddr_bdinfo_de00>; + nvmem-cells = <&macaddr_bdinfo_de00 0>; }; port@2 { @@ -240,7 +251,7 @@ label = "lan2"; nvmem-cell-names = "mac-address"; - nvmem-cells = <&macaddr_bdinfo_de00>; + nvmem-cells = <&macaddr_bdinfo_de00 0>; }; port@3 { @@ -248,7 +259,7 @@ label = "lan3"; nvmem-cell-names = "mac-address"; - nvmem-cells = <&macaddr_bdinfo_de00>; + nvmem-cells = <&macaddr_bdinfo_de00 0>; }; port@6 { @@ -270,13 +281,3 @@ status = "okay"; mediatek,mtd-eeprom = <&factory 0x0>; }; - -&bdinfo { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_bdinfo_de00: macaddr@de00 { - reg = <0xde00 0x6>; - }; -}; diff --git a/target/linux/mediatek/dts/mt7981b-glinet-gl-mt3000.dts b/target/linux/mediatek/dts/mt7981b-glinet-gl-mt3000.dts index f9b8c16652..b1ebaf4312 100644 --- a/target/linux/mediatek/dts/mt7981b-glinet-gl-mt3000.dts +++ b/target/linux/mediatek/dts/mt7981b-glinet-gl-mt3000.dts @@ -91,7 +91,7 @@ reg = <0>; phy-mode = "2500base-x"; phy-handle = <&phy0>; - nvmem-cells = <&macaddr>; + nvmem-cells = <&macaddr 0>; nvmem-cell-names = "mac-address"; }; @@ -100,9 +100,8 @@ reg = <1>; phy-mode = "gmii"; phy-handle = <&int_gbe_phy>; - nvmem-cells = <&macaddr>; + nvmem-cells = <&macaddr 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; }; @@ -179,12 +178,16 @@ reg = <0x180000 0x0200000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr: macaddr@a { - reg = <0xa 0x6>; + macaddr: macaddr@a { + compatible = "mac-base"; + reg = <0xa 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; diff --git a/target/linux/mediatek/dts/mt7981b-jcg-q30.dts b/target/linux/mediatek/dts/mt7981b-jcg-q30.dts index ff58686247..d91b7959d4 100644 --- a/target/linux/mediatek/dts/mt7981b-jcg-q30.dts +++ b/target/linux/mediatek/dts/mt7981b-jcg-q30.dts @@ -59,9 +59,6 @@ }; ð { - pinctrl-names = "default"; - pinctrl-0 = <&mdio_pins>; - status = "okay"; gmac0: mac@0 { diff --git a/target/linux/mediatek/dts/mt7981b-xiaomi-mi-router-wr30u.dtsi b/target/linux/mediatek/dts/mt7981b-xiaomi-mi-router-wr30u.dtsi index d09ae2a3e7..1e738a4474 100644 --- a/target/linux/mediatek/dts/mt7981b-xiaomi-mi-router-wr30u.dtsi +++ b/target/linux/mediatek/dts/mt7981b-xiaomi-mi-router-wr30u.dtsi @@ -73,9 +73,8 @@ reg = <0>; phy-mode = "2500base-x"; - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 (-1)>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(-1)>; fixed-link { speed = <2500>; @@ -177,12 +176,16 @@ reg = <0x180000 0x200000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + macaddr_factory_4: macaddr@4 { + compatible = "mac-base"; + reg = <0x4 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; diff --git a/target/linux/mediatek/dts/mt7981b-zyxel-nwa50ax-pro.dts b/target/linux/mediatek/dts/mt7981b-zyxel-nwa50ax-pro.dts index d222cebb4f..54df8c054a 100644 --- a/target/linux/mediatek/dts/mt7981b-zyxel-nwa50ax-pro.dts +++ b/target/linux/mediatek/dts/mt7981b-zyxel-nwa50ax-pro.dts @@ -136,12 +136,14 @@ reg = <0x180000 0x0200000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr: macaddr@a { - reg = <0xa 0x6>; + macaddr: macaddr@a { + reg = <0xa 0x6>; + }; }; }; @@ -190,12 +192,14 @@ reg = <0xef80000 0x80000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_mrd_1fff8: macaddr@1fff8 { - reg = <0x1fff8 0x6>; + macaddr_mrd_1fff8: macaddr@1fff8 { + reg = <0x1fff8 0x6>; + }; }; }; }; diff --git a/target/linux/mediatek/dts/mt7986a-tplink-tl-xdr-common.dtsi b/target/linux/mediatek/dts/mt7986a-tplink-tl-xdr-common.dtsi index 717acfec16..220b2c641a 100644 --- a/target/linux/mediatek/dts/mt7986a-tplink-tl-xdr-common.dtsi +++ b/target/linux/mediatek/dts/mt7986a-tplink-tl-xdr-common.dtsi @@ -95,7 +95,7 @@ reg = <0>; phy-mode = "2500base-x"; - nvmem-cells = <&macaddr_config_1c>; + nvmem-cells = <&macaddr_config_1c 0>; nvmem-cell-names = "mac-address"; fixed-link { @@ -111,9 +111,8 @@ phy-handle = <&phy7>; phy-mode = "2500base-x"; - nvmem-cells = <&macaddr_config_1c>; + nvmem-cells = <&macaddr_config_1c 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; mdio: mdio-bus { @@ -184,6 +183,18 @@ label = "config"; reg = <0x100000 0x0060000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_config_1c: macaddr@1c { + compatible = "mac-base"; + reg = <0x1c 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; factory: partition@160000 { @@ -255,18 +266,7 @@ &wifi { mediatek,mtd-eeprom = <&factory 0x0>; - nvmem-cells = <&macaddr_config_1c>; + nvmem-cells = <&macaddr_config_1c 2>; nvmem-cell-names = "mac-address"; - mac-address-increment = <2>; status = "okay"; }; - -&config { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_config_1c: macaddr@1c { - reg = <0x1c 0x6>; - }; -}; diff --git a/target/linux/mediatek/dts/mt7986a-xiaomi-redmi-router-ax6000.dtsi b/target/linux/mediatek/dts/mt7986a-xiaomi-redmi-router-ax6000.dtsi index 573d7ac23c..26f1cc5b80 100644 --- a/target/linux/mediatek/dts/mt7986a-xiaomi-redmi-router-ax6000.dtsi +++ b/target/linux/mediatek/dts/mt7986a-xiaomi-redmi-router-ax6000.dtsi @@ -54,9 +54,8 @@ reg = <0>; phy-mode = "2500base-x"; - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 (-1)>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(-1)>; fixed-link { speed = <2500>; @@ -167,12 +166,16 @@ reg = <0x180000 0x200000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + macaddr_factory_4: macaddr@4 { + compatible = "mac-base"; + reg = <0x4 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; diff --git a/target/linux/mediatek/dts/mt7986a-zyxel-ex5601-t0-common.dtsi b/target/linux/mediatek/dts/mt7986a-zyxel-ex5601-t0-common.dtsi new file mode 100644 index 0000000000..04e86a737d --- /dev/null +++ b/target/linux/mediatek/dts/mt7986a-zyxel-ex5601-t0-common.dtsi @@ -0,0 +1,433 @@ +// SPDX-License-Identifier: (GPL-2.0 OR MIT) +/* + * Copyright (C) 2021 MediaTek Inc. + * Author: Sam.Shih + */ + +#include "mt7986a.dtsi" +#include +#include + +/ { + aliases { + serial0 = &uart0; + label-mac-device = &gmac0; + led-boot = &led_status_green; + led-failsafe = &led_status_red; + led-running = &led_status_green; + led-upgrade = &led_status_red; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + memory { + reg = <0 0x40000000 0 0x40000000>; + }; + + reg_1p8v: regulator-1p8v { + compatible = "regulator-fixed"; + regulator-name = "fixed-1.8V"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-boot-on; + regulator-always-on; + }; + + reg_3p3v: regulator-3p3v { + compatible = "regulator-fixed"; + regulator-name = "fixed-3.3V"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-boot-on; + regulator-always-on; + }; + + reg_5v: regulator-5v { + compatible = "regulator-fixed"; + regulator-name = "fixed-5V"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-boot-on; + regulator-always-on; + }; + + gpio-keys { + compatible = "gpio-keys"; + poll-interval = <20>; + + reset-button { + label = "reset"; + gpios = <&pio 21 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + + wlan-button { + label = "wlan"; + gpios = <&pio 11 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + wps-button { + label = "wps"; + gpios = <&pio 56 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; + + leds { + compatible = "gpio-leds"; + + led_green_wifi24g { + label = "green:wifi24g"; + gpios = <&pio 1 GPIO_ACTIVE_LOW>; + default-state = "off"; + }; + + led_green_wifi5g { + label = "green:wifi5g"; + gpios = <&pio 2 GPIO_ACTIVE_LOW>; + default-state = "off"; + }; + + led_green_inet { + label = "green:inet"; + gpios = <&pio 14 GPIO_ACTIVE_LOW>; + default-state = "off"; + }; + + led_red_inet { + label = "red:inet"; + gpios = <&pio 15 GPIO_ACTIVE_LOW>; + default-state = "off"; + }; + + led_status_green: led_green_pwr { + label = "green:pwr"; + gpios = <&pio 13 GPIO_ACTIVE_LOW>; + linux,default-trigger = "timer"; /* Default blinking */ + led-pattern = <125 125>; /* Fast blink is 4 HZ */ + }; + + led_status_red: led_red_pwr { + label = "red:pwr"; + gpios = <&pio 12 GPIO_ACTIVE_LOW>; + default-state = "off"; + }; + + led_green_fxs { + label = "green:fxs"; + gpios = <&pio 16 GPIO_ACTIVE_HIGH>; + default-state = "off"; + }; + + led_amber_fxs { + label = "amber:fxs"; + gpios = <&pio 17 GPIO_ACTIVE_HIGH>; + default-state = "off"; + }; + + led_amber_wps24g { + label = "amber:wps24g"; + gpios = <&pio 18 GPIO_ACTIVE_HIGH>; + default-state = "off"; + }; + + led_amber_wps5g { + label = "amber:wps5g"; + gpios = <&pio 19 GPIO_ACTIVE_HIGH>; + default-state = "off"; + }; + + led_green_lan { + label = "green:lan"; + gpios = <&pio 20 GPIO_ACTIVE_HIGH>; + default-state = "off"; + }; + + led_green_sfp { + label = "green:sfp"; + gpios = <&pio 24 GPIO_ACTIVE_HIGH>; + default-state = "off"; + }; + }; +}; + +&spi0 { + pinctrl-names = "default"; + pinctrl-0 = <&spi_flash_pins>; + cs-gpios = <0>, <0>; + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + spi_nand: spi_nand@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "spi-nand"; + reg = <1>; + spi-max-frequency = <10000000>; + spi-tx-bus-width = <4>; + spi-rx-bus-width = <4>; + + nand_partitions: partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + }; + }; +}; + +ð { + pinctrl-names = "default"; + pinctrl-0 = <ð_pins>; + status = "okay"; + + gmac0: mac@0 { + compatible = "mediatek,eth-mac"; + reg = <0>; + phy-mode = "2500base-x"; + + fixed-link { + speed = <2500>; + full-duplex; + pause; + }; + }; + + gmac1: mac@1 { + compatible = "mediatek,eth-mac"; + reg = <1>; + phy-mode = "2500base-x"; + phy = <&phy6>; + }; + + mdio: mdio-bus { + #address-cells = <1>; + #size-cells = <0>; + reset-gpios = <&pio 6 GPIO_ACTIVE_LOW>; + reset-delay-us = <1500000>; + reset-post-delay-us = <1000000>; + + phy5: phy@5 { + compatible = "ethernet-phy-ieee802.3-c45"; + reg = <5>; + mxl,led-config = <0x03f0 0x0 0x0 0x0>; + }; + + phy6: phy@6 { + compatible = "ethernet-phy-ieee802.3-c45"; + reg = <6>; + mxl,led-config = <0x00f0 0x0 0x0 0x0>; + }; + + switch@1f { + compatible = "mediatek,mt7531"; + reg = <31>; + reset-gpios = <&pio 5 GPIO_ACTIVE_HIGH>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@1 { + reg = <1>; + label = "lan2"; + }; + + port@2 { + reg = <2>; + label = "lan3"; + }; + + port@3 { + reg = <3>; + label = "lan4"; + }; + + port@5 { + reg = <5>; + label = "lan1"; + phy-mode = "2500base-x"; + phy = <&phy5>; + }; + + port@6 { + reg = <6>; + ethernet = <&gmac0>; + phy-mode = "2500base-x"; + + fixed-link { + speed = <2500>; + full-duplex; + pause; + }; + }; + }; + }; + }; +}; + +&watchdog { + status = "okay"; +}; + +&wifi { + status = "okay"; + pinctrl-names = "default", "dbdc"; + pinctrl-0 = <&wf_2g_5g_pins>; + pinctrl-1 = <&wf_dbdc_pins>; +}; + +&crypto { + status = "okay"; +}; + +&pio { + eth_pins: eth-pins { + mux { + function = "eth"; + groups = "switch_int", "mdc_mdio"; + }; + }; + + spic_pins_g2: spic-pins-29-to-32 { + mux { + function = "spi"; + groups = "spi1_2"; + }; + }; + + spi_flash_pins: spi-flash-pins-33-to-38 { + mux { + function = "spi"; + groups = "spi0", "spi0_wp_hold"; + }; + conf-pu { + pins = "SPI2_CS", "SPI2_HOLD", "SPI2_WP"; + drive-strength = <8>; + mediatek,pull-up-adv = <0>; /* bias-disable */ + }; + conf-pd { + pins = "SPI2_CLK", "SPI2_MOSI", "SPI2_MISO"; + drive-strength = <8>; + mediatek,pull-down-adv = <0>; /* bias-disable */ + }; + }; + + uart0_pins: uart0-pins { + mux { + function = "uart"; + groups = "uart0"; + }; + }; + + uart1_pins: uart1-pins { + mux { + function = "uart"; + groups = "uart1"; + }; + }; + + uart2_pins: uart2-pins { + mux { + function = "uart"; + groups = "uart2"; + }; + }; + + wf_2g_5g_pins: wf_2g_5g-pins { + mux { + function = "wifi"; + groups = "wf_2g", "wf_5g"; + }; + conf { + pins = "WF0_HB1", "WF0_HB2", "WF0_HB3", "WF0_HB4", + "WF0_HB0", "WF0_HB0_B", "WF0_HB5", "WF0_HB6", + "WF0_HB7", "WF0_HB8", "WF0_HB9", "WF0_HB10", + "WF0_TOP_CLK", "WF0_TOP_DATA", "WF1_HB1", + "WF1_HB2", "WF1_HB3", "WF1_HB4", "WF1_HB0", + "WF1_HB5", "WF1_HB6", "WF1_HB7", "WF1_HB8", + "WF1_TOP_CLK", "WF1_TOP_DATA"; + drive-strength = <4>; + }; + }; + + wf_dbdc_pins: wf_dbdc-pins { + mux { + function = "wifi"; + groups = "wf_dbdc"; + }; + conf { + pins = "WF0_HB1", "WF0_HB2", "WF0_HB3", "WF0_HB4", + "WF0_HB0", "WF0_HB0_B", "WF0_HB5", "WF0_HB6", + "WF0_HB7", "WF0_HB8", "WF0_HB9", "WF0_HB10", + "WF0_TOP_CLK", "WF0_TOP_DATA", "WF1_HB1", + "WF1_HB2", "WF1_HB3", "WF1_HB4", "WF1_HB0", + "WF1_HB5", "WF1_HB6", "WF1_HB7", "WF1_HB8", + "WF1_TOP_CLK", "WF1_TOP_DATA"; + drive-strength = <4>; + }; + }; + + usb-oc-hog { + gpio-hog; + gpios = <7 GPIO_ACTIVE_LOW>; + input; + line-name = "usb-oc"; + }; +}; + +&spi1 { + pinctrl-names = "default"; + pinctrl-0 = <&spic_pins_g2>; + status = "okay"; + + proslic_spi: proslic_spi@0 { + compatible = "silabs,proslic_spi"; + reg = <0>; + spi-max-frequency = <10000000>; + spi-cpha = <1>; + spi-cpol = <1>; + channel_count = <1>; + debug_level = <4>; /* 1 = TRC, 2 = DBG, 4 = ERR */ + reset_gpio = <&pio 25 GPIO_ACTIVE_HIGH>; + ig,enable-spi = <1>; /* 1: Enable, 0: Disable */ + }; +}; + +&ssusb { + vusb33-supply = <®_3p3v>; + vbus-supply = <®_5v>; + status = "okay"; +}; + +&trng { + status = "okay"; +}; + +&uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_pins>; + status = "okay"; +}; + +&uart1 { + pinctrl-names = "default"; + pinctrl-0 = <&uart1_pins>; + status = "disabled"; + + /* EFR32MG21 Zigbee (BOOT)*/ +}; + +&uart2 { + pinctrl-names = "default"; + pinctrl-0 = <&uart2_pins>; + status = "disabled"; + + /* EFR32MG21 Zigbee */ +}; + +&usb_phy { + status = "okay"; +}; diff --git a/target/linux/mediatek/dts/mt7986a-zyxel-ex5601-t0-stock.dts b/target/linux/mediatek/dts/mt7986a-zyxel-ex5601-t0-stock.dts index 331150d85d..4dbbd13677 100644 --- a/target/linux/mediatek/dts/mt7986a-zyxel-ex5601-t0-stock.dts +++ b/target/linux/mediatek/dts/mt7986a-zyxel-ex5601-t0-stock.dts @@ -6,6 +6,7 @@ /dts-v1/; #include "mt7986a.dtsi" +#include "mt7986a-zyxel-ex5601-t0-common.dtsi" #include #include @@ -13,556 +14,106 @@ model = "Zyxel EX5601-T0"; compatible = "zyxel,ex5601-t0", "mediatek,mt7986a-rfb-snand"; - aliases { - serial0 = &uart0; - }; - - chosen { - stdout-path = "serial0:115200n8"; - }; - - memory { - reg = <0 0x40000000 0 0x40000000>; - }; - - reg_1p8v: regulator-1p8v { - compatible = "regulator-fixed"; - regulator-name = "fixed-1.8V"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - regulator-boot-on; - regulator-always-on; - }; - - reg_3p3v: regulator-3p3v { - compatible = "regulator-fixed"; - regulator-name = "fixed-3.3V"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - regulator-boot-on; - regulator-always-on; - }; - - reg_5v: regulator-5v { - compatible = "regulator-fixed"; - regulator-name = "fixed-5V"; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - regulator-boot-on; - regulator-always-on; - }; - - gpio-keys { - compatible = "gpio-keys"; - poll-interval = <20>; - - reset-button { - label = "reset"; - gpios = <&pio 21 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - - wlan-button { - label = "wlan"; - gpios = <&pio 11 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - wps-button { - label = "wps"; - gpios = <&pio 56 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; - - zyleds { - compatible = "gpio-leds"; - - led_green_wifi24g { - label = "zyled-green-wifi24g"; - gpios = <&pio 1 GPIO_ACTIVE_LOW>; - default-state = "off"; - }; - - led_green_wifi5g { - label = "zyled-green-wifi5g"; - gpios = <&pio 2 GPIO_ACTIVE_LOW>; - default-state = "off"; - }; - - led_green_inet { - label = "zyled-green-inet"; - gpios = <&pio 14 GPIO_ACTIVE_LOW>; - default-state = "off"; - }; - - led_red_inet { - label = "zyled-red-inet"; - gpios = <&pio 15 GPIO_ACTIVE_LOW>; - default-state = "off"; - }; - - led_green_pwr { - label = "zyled-green-pwr"; - gpios = <&pio 13 GPIO_ACTIVE_LOW>; - linux,default-trigger = "timer"; /* Default blinking */ - led-pattern = <125 125>; /* Fast blink is 4 HZ */ - }; - - led_red_pwr { - label = "zyled-red-pwr"; - gpios = <&pio 12 GPIO_ACTIVE_LOW>; - default-state = "off"; - }; - - led_green_fxs { - label = "zyled-green-fxs"; - gpios = <&pio 16 GPIO_ACTIVE_HIGH>; - default-state = "off"; - }; - - led_amber_fxs { - label = "zyled-amber-fxs"; - gpios = <&pio 17 GPIO_ACTIVE_HIGH>; - default-state = "off"; - }; - - led_amber_wps24g { - label = "zyled-amber-wps24g"; - gpios = <&pio 18 GPIO_ACTIVE_HIGH>; - default-state = "off"; - }; - - led_amber_wps5g { - label = "zyled-amber-wps5g"; - gpios = <&pio 19 GPIO_ACTIVE_HIGH>; - default-state = "off"; - }; - - led_green_lan { - label = "zyled-green-lan"; - gpios = <&pio 20 GPIO_ACTIVE_HIGH>; - default-state = "off"; - }; - - led_green_sfp { - label = "zyled-green-sfp"; - gpios = <&pio 24 GPIO_ACTIVE_HIGH>; - default-state = "off"; - }; - - }; - -}; - -ð { - status = "okay"; - - gmac0: mac@0 { - compatible = "mediatek,eth-mac"; - reg = <0>; - phy-mode = "2500base-x"; - - nvmem-cells = <&macaddr_factory_002a>; - nvmem-cell-names = "mac-address"; - - fixed-link { - speed = <2500>; - full-duplex; - pause; - }; - }; - - gmac1: mac@1 { - compatible = "mediatek,eth-mac"; - reg = <1>; - phy-mode = "2500base-x"; - phy = <&phy6>; - - nvmem-cells = <&macaddr_factory_0024>; - nvmem-cell-names = "mac-address"; - }; - - mdio: mdio-bus { - #address-cells = <1>; - #size-cells = <0>; - reset-gpios = <&pio 6 GPIO_ACTIVE_LOW>; - reset-delay-us = <1500000>; - reset-post-delay-us = <1000000>; - - phy5: phy@5 { - compatible = "ethernet-phy-ieee802.3-c45"; - reg = <5>; - }; - - phy6: phy@6 { - compatible = "ethernet-phy-ieee802.3-c45"; - reg = <6>; - }; - - switch@1f { - compatible = "mediatek,mt7531"; - reg = <31>; - reset-gpios = <&pio 5 GPIO_ACTIVE_HIGH>; - - ports { - #address-cells = <1>; - #size-cells = <0>; - - port@1 { - reg = <1>; - label = "lan1"; - }; - - port@2 { - reg = <2>; - label = "lan2"; - }; - - port@3 { - reg = <3>; - label = "lan3"; - }; - - port@5 { - reg = <5>; - label = "lan4"; - phy-mode = "2500base-x"; - phy = <&phy5>; - }; - - port@6 { - reg = <6>; - ethernet = <&gmac0>; - phy-mode = "2500base-x"; - - fixed-link { - speed = <2500>; - full-duplex; - pause; - }; - }; - }; - }; + memory@40000000 { + device_type = "memory"; + reg = <0x40000000 0x20000000>; }; }; -&watchdog { - status = "okay"; +&spi_nand { + mediatek,nmbm; + mediatek,bmt-max-ratio = <1>; + mediatek,bmt-max-reserved-blocks = <64>; }; -&wifi { - status = "okay"; - pinctrl-names = "default", "dbdc"; - pinctrl-0 = <&wf_2g_5g_pins>; - pinctrl-1 = <&wf_dbdc_pins>; - mediatek,mtd-eeprom = <&factory 0x0>; - nvmem-cells = <&macaddr_factory_0004>; - nvmem-cell-names = "mac-address"; -}; +&nand_partitions { -&crypto { - status = "okay"; -}; - -&mmc0 { - pinctrl-names = "default", "state_uhs"; - pinctrl-0 = <&mmc0_pins_default>; - pinctrl-1 = <&mmc0_pins_uhs>; - bus-width = <8>; - max-frequency = <200000000>; - cap-mmc-highspeed; - mmc-hs200-1_8v; - mmc-hs400-1_8v; - hs400-ds-delay = <0x14014>; - vmmc-supply = <®_3p3v>; - vqmmc-supply = <®_1p8v>; - non-removable; - no-sd; - no-sdio; - status = "disabled"; -}; - -&pcie { - pinctrl-names = "default"; - pinctrl-0 = <&pcie_pins>; - status = "okay"; -}; - -&pcie_phy { - status = "okay"; -}; - -&pio { - mmc0_pins_default: mmc0-pins { - mux { - function = "emmc"; - groups = "emmc_51"; - }; - conf-cmd-dat { - pins = "EMMC_DATA_0", "EMMC_DATA_1", "EMMC_DATA_2", - "EMMC_DATA_3", "EMMC_DATA_4", "EMMC_DATA_5", - "EMMC_DATA_6", "EMMC_DATA_7", "EMMC_CMD"; - input-enable; - drive-strength = <4>; - mediatek,pull-up-adv = <1>; /* pull-up 10K */ - }; - conf-clk { - pins = "EMMC_CK"; - drive-strength = <6>; - mediatek,pull-down-adv = <2>; /* pull-down 50K */ - }; - conf-ds { - pins = "EMMC_DSL"; - mediatek,pull-down-adv = <2>; /* pull-down 50K */ - }; - conf-rst { - pins = "EMMC_RSTB"; - drive-strength = <4>; - mediatek,pull-up-adv = <1>; /* pull-up 10K */ - }; + partition@0 { + label = "BL2"; + reg = <0x00000 0x0100000>; + read-only; }; - mmc0_pins_uhs: mmc0-uhs-pins { - mux { - function = "emmc"; - groups = "emmc_51"; - }; - conf-cmd-dat { - pins = "EMMC_DATA_0", "EMMC_DATA_1", "EMMC_DATA_2", - "EMMC_DATA_3", "EMMC_DATA_4", "EMMC_DATA_5", - "EMMC_DATA_6", "EMMC_DATA_7", "EMMC_CMD"; - input-enable; - drive-strength = <4>; - mediatek,pull-up-adv = <1>; /* pull-up 10K */ - }; - conf-clk { - pins = "EMMC_CK"; - drive-strength = <6>; - mediatek,pull-down-adv = <2>; /* pull-down 50K */ - }; - conf-ds { - pins = "EMMC_DSL"; - mediatek,pull-down-adv = <2>; /* pull-down 50K */ - }; - conf-rst { - pins = "EMMC_RSTB"; - drive-strength = <4>; - mediatek,pull-up-adv = <1>; /* pull-up 10K */ - }; + partition@100000 { + label = "u-boot-env"; + reg = <0x0100000 0x0080000>; }; - pcie_pins: pcie-pins { - mux { - function = "pcie"; - groups = "pcie_clk", "pcie_wake", "pcie_pereset"; - }; - }; + factory: partition@180000 { + label = "Factory"; + reg = <0x180000 0x0200000>; + read-only; - spic_pins_g2: spic-pins-29-to-32 { - mux { - function = "spi"; - groups = "spi1_2"; - }; - }; - - spi_flash_pins: spi-flash-pins-33-to-38 { - mux { - function = "spi"; - groups = "spi0", "spi0_wp_hold"; - }; - conf-pu { - pins = "SPI2_CS", "SPI2_HOLD", "SPI2_WP"; - drive-strength = <8>; - mediatek,pull-up-adv = <0>; /* bias-disable */ - }; - conf-pd { - pins = "SPI2_CLK", "SPI2_MOSI", "SPI2_MISO"; - drive-strength = <8>; - mediatek,pull-down-adv = <0>; /* bias-disable */ - }; - }; - - uart1_pins: uart1-pins { - mux { - function = "uart"; - groups = "uart1"; - }; - }; - - uart2_pins: uart2-pins { - mux { - function = "uart"; - groups = "uart2"; - }; - }; - - wf_2g_5g_pins: wf_2g_5g-pins { - mux { - function = "wifi"; - groups = "wf_2g", "wf_5g"; - }; - conf { - pins = "WF0_HB1", "WF0_HB2", "WF0_HB3", "WF0_HB4", - "WF0_HB0", "WF0_HB0_B", "WF0_HB5", "WF0_HB6", - "WF0_HB7", "WF0_HB8", "WF0_HB9", "WF0_HB10", - "WF0_TOP_CLK", "WF0_TOP_DATA", "WF1_HB1", - "WF1_HB2", "WF1_HB3", "WF1_HB4", "WF1_HB0", - "WF1_HB5", "WF1_HB6", "WF1_HB7", "WF1_HB8", - "WF1_TOP_CLK", "WF1_TOP_DATA"; - drive-strength = <4>; - }; - }; - - wf_dbdc_pins: wf_dbdc-pins { - mux { - function = "wifi"; - groups = "wf_dbdc"; - }; - conf { - pins = "WF0_HB1", "WF0_HB2", "WF0_HB3", "WF0_HB4", - "WF0_HB0", "WF0_HB0_B", "WF0_HB5", "WF0_HB6", - "WF0_HB7", "WF0_HB8", "WF0_HB9", "WF0_HB10", - "WF0_TOP_CLK", "WF0_TOP_DATA", "WF1_HB1", - "WF1_HB2", "WF1_HB3", "WF1_HB4", "WF1_HB0", - "WF1_HB5", "WF1_HB6", "WF1_HB7", "WF1_HB8", - "WF1_TOP_CLK", "WF1_TOP_DATA"; - drive-strength = <4>; - }; - }; -}; - -&spi0 { - pinctrl-names = "default"; - pinctrl-0 = <&spi_flash_pins>; - cs-gpios = <0>, <0>; - #address-cells = <1>; - #size-cells = <0>; - status = "okay"; - - spi_nand: spi_nand@0 { - #address-cells = <1>; - #size-cells = <1>; - compatible = "spi-nand"; - reg = <1>; - spi-max-frequency = <10000000>; - spi-tx-bus-width = <4>; - spi-rx-bus-width = <4>; - - partitions { - compatible = "fixed-partitions"; + nvmem-layout { + compatible = "fixed-layout"; #address-cells = <1>; #size-cells = <1>; - partition@0 { - label = "BL2"; - reg = <0x00000 0x0100000>; - read-only; + eeprom_factory: eeprom@0 { + #size-cells = <1>; + reg = <0x0 0x1000>; }; - partition@100000 { - label = "u-boot-env"; - reg = <0x0100000 0x0080000>; + macaddr_factory_0004: macaddr@0004 { + compatible = "mac-base"; + reg = <0x0004 0x6>; + #nvmem-cell-cells = <1>; }; - factory: partition@180000 { - label = "Factory"; - reg = <0x180000 0x0200000>; - read-only; + macaddr_factory_0024: macaddr@0024 { + compatible = "mac-base"; + reg = <0x0024 0x6>; + #nvmem-cell-cells = <1>; }; - partition@380000 { - label = "FIP"; - reg = <0x380000 0x01C0000>; - read-only; - }; - - partition@540000 { - label = "zloader"; - reg = <0x540000 0x0040000>; - read-only; - }; - - partition@580000 { - label = "ubi"; - reg = <0x580000 0x4000000>; - }; - - partition@4580000 { - label = "ubi2"; - reg = <0x4580000 0x4000000>; - read-only; - }; - - partition@8580000 { - label = "zyubi"; - reg = <0x8580000 0x15A80000>; + macaddr_factory_002a: macaddr@002a { + compatible = "mac-base"; + reg = <0x002a 0x6>; + #nvmem-cell-cells = <1>; }; }; }; -}; -&spi1 { - pinctrl-names = "default"; - pinctrl-0 = <&spic_pins_g2>; - status = "okay"; + partition@380000 { + label = "FIP"; + reg = <0x380000 0x01C0000>; + read-only; + }; - proslic_spi: proslic_spi@0 { - compatible = "silabs,proslic_spi"; - reg = <0>; - spi-max-frequency = <10000000>; - spi-cpha = <1>; - spi-cpol = <1>; - channel_count = <1>; - debug_level = <4>; /* 1 = TRC, 2 = DBG, 4 = ERR */ - reset_gpio = <&pio 7 GPIO_ACTIVE_HIGH>; - ig,enable-spi = <1>; /* 1: Enable, 0: Disable */ + partition@540000 { + label = "zloader"; + reg = <0x540000 0x0040000>; + read-only; + }; + + partition@580000 { + label = "ubi"; + reg = <0x580000 0x4000000>; + }; + + partition@4580000 { + label = "ubi2"; + reg = <0x4580000 0x4000000>; + read-only; + }; + + partition@8580000 { + label = "zyubi"; + reg = <0x8580000 0x15A80000>; }; }; -&ssusb { - vusb33-supply = <®_3p3v>; - vbus-supply = <®_5v>; - status = "okay"; +&gmac0 { + nvmem-cells = <&macaddr_factory_002a 0>; + nvmem-cell-names = "mac-address"; }; -&trng { - status = "okay"; +&gmac1 { + nvmem-cells = <&macaddr_factory_0024 0>; + nvmem-cell-names = "mac-address"; }; -&uart0 { - status = "okay"; -}; - -&uart1 { - pinctrl-names = "default"; - pinctrl-0 = <&uart1_pins>; - status = "okay"; -}; - -&uart2 { - pinctrl-names = "default"; - pinctrl-0 = <&uart2_pins>; - status = "okay"; -}; - -&usb_phy { - status = "okay"; -}; - -&factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_factory_0004: macaddr@0004 { - reg = <0x0004 0x6>; - }; - - macaddr_factory_0024: macaddr@0024 { - reg = <0x0024 0x6>; - }; - - macaddr_factory_002a: macaddr@002a { - reg = <0x002a 0x6>; - }; +&wifi { + nvmem-cells = <&eeprom_factory>; + nvmem-cell-names = "eeprom"; }; diff --git a/target/linux/mediatek/dts/mt7986a-zyxel-ex5601-t0-ubootmod.dts b/target/linux/mediatek/dts/mt7986a-zyxel-ex5601-t0-ubootmod.dts new file mode 100644 index 0000000000..7422a10aef --- /dev/null +++ b/target/linux/mediatek/dts/mt7986a-zyxel-ex5601-t0-ubootmod.dts @@ -0,0 +1,101 @@ +// SPDX-License-Identifier: (GPL-2.0 OR MIT) +/* + * Copyright (C) 2021 MediaTek Inc. + * Author: Sam.Shih + */ + +/dts-v1/; +#include "mt7986a.dtsi" +#include "mt7986a-zyxel-ex5601-t0-common.dtsi" +#include +#include + +/ { + model = "Zyxel EX5601-T0 ubootmod"; + compatible = "zyxel,ex5601-t0-ubootmod", "mediatek,mt7986a"; + memory@40000000 { + device_type = "memory"; + reg = <0x40000000 0x20000000>; + }; +}; + +&nand_partitions { + partition@0 { + label = "bl2"; + reg = <0x0 0x100000>; + read-only; + }; + + partition@100000 { + label = "u-boot-env"; + reg = <0x0100000 0x0080000>; + read-only; + }; + + factory: partition@180000 { + label = "Factory"; + reg = <0x180000 0x0200000>; + read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory: eeprom@0 { + #size-cells = <1>; + reg = <0x0 0x1000>; + }; + + macaddr_factory_0004: macaddr@0004 { + compatible = "mac-base"; + reg = <0x0004 0x6>; + #nvmem-cell-cells = <1>; + }; + + macaddr_factory_0024: macaddr@0024 { + compatible = "mac-base"; + reg = <0x0024 0x6>; + #nvmem-cell-cells = <1>; + }; + + macaddr_factory_002a: macaddr@002a { + compatible = "mac-base"; + reg = <0x002a 0x6>; + #nvmem-cell-cells = <1>; + }; + }; + }; + + partition@380000 { + label = "fip"; + reg = <0x380000 0x0200000>; + read-only; + }; + + partition@540000 { + label = "zloader"; + reg = <0x540000 0x0040000>; + read-only; + }; + + partition@580000 { + label = "ubi"; + reg = <0x580000 0x1da80000>; + }; +}; + +&gmac0 { + nvmem-cells = <&macaddr_factory_002a 0>; + nvmem-cell-names = "mac-address"; +}; + +&gmac1 { + nvmem-cells = <&macaddr_factory_0024 0>; + nvmem-cell-names = "mac-address"; +}; + +&wifi { + nvmem-cells = <&eeprom_factory>; + nvmem-cell-names = "eeprom"; +}; diff --git a/target/linux/mediatek/dts/mt7986a-zyxel-ex5700-telenor.dts b/target/linux/mediatek/dts/mt7986a-zyxel-ex5700-telenor.dts index a486f29fec..f5bb73c97d 100644 --- a/target/linux/mediatek/dts/mt7986a-zyxel-ex5700-telenor.dts +++ b/target/linux/mediatek/dts/mt7986a-zyxel-ex5700-telenor.dts @@ -337,10 +337,6 @@ label = "Factory"; reg = <0x180000 0x200000>; read-only; - - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; }; partition@380000 { label = "FIP"; diff --git a/target/linux/mediatek/filogic/base-files/etc/board.d/01_leds b/target/linux/mediatek/filogic/base-files/etc/board.d/01_leds index b4c833de1e..c26ad01a5b 100644 --- a/target/linux/mediatek/filogic/base-files/etc/board.d/01_leds +++ b/target/linux/mediatek/filogic/base-files/etc/board.d/01_leds @@ -50,6 +50,13 @@ xiaomi,redmi-router-ax6000-stock|\ xiaomi,redmi-router-ax6000-ubootmod) ucidef_set_led_netdev "wan" "wan" "rgb:network" "wan" "link" ;; +zyxel_ex5601-t0-stock|\ +zyxel,ex5601-t0-ubootmod) + ucidef_set_led_netdev "lan" "LAN" "green:lan" "eth0" "link tx rx" + ucidef_set_led_netdev "wan" "WAN" "green:inet" "eth1" "link tx rx" + ucidef_set_led_netdev "wifi-24g" "WIFI-2.4G" "green:wifi24g" "phy0-ap0" "link tx rx" + ucidef_set_led_netdev "wifi-5g" "WIFI-5G" "green:wifi5g" "phy1-ap0" "link tx rx" + ;; esac board_config_flush diff --git a/target/linux/mediatek/filogic/base-files/etc/board.d/02_network b/target/linux/mediatek/filogic/base-files/etc/board.d/02_network index 947010a878..4e141601c2 100644 --- a/target/linux/mediatek/filogic/base-files/etc/board.d/02_network +++ b/target/linux/mediatek/filogic/base-files/etc/board.d/02_network @@ -22,17 +22,14 @@ mediatek_setup_interfaces() ;; asus,tuf-ax4200|\ mediatek,mt7981-rfb|\ - zbtlink,zbt-z8102ax) + zbtlink,zbt-z8102ax|\ + zyxel,ex5601-t0-stock|\ + zyxel,ex5601-t0-ubootmod) ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" eth1 ;; asus,tuf-ax6000) ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 lan5" eth1 ;; - netgear,wax220|\ - ubnt,unifi-6-plus|\ - zyxel,nwa50ax-pro) - ucidef_set_interface_lan "eth0" - ;; bananapi,bpi-r3) ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 sfp2" "eth1 wan" ;; @@ -54,6 +51,11 @@ mediatek_setup_interfaces() glinet,gl-mt3000) ucidef_set_interfaces_lan_wan eth1 eth0 ;; + glinet,gl-mt6000|\ + tplink,tl-xdr4288|\ + tplink,tl-xdr6088) + ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 lan5" eth1 + ;; mediatek,mt7986a-rfb) ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 lan6" "eth1 wan" ;; @@ -66,10 +68,10 @@ mediatek_setup_interfaces() mercusys,mr90x-v1) ucidef_set_interfaces_lan_wan "lan0 lan1 lan2" eth1 ;; - glinet,gl-mt6000|\ - tplink,tl-xdr4288|\ - tplink,tl-xdr6088) - ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 lan5" eth1 + netgear,wax220|\ + ubnt,unifi-6-plus|\ + zyxel,nwa50ax-pro) + ucidef_set_interface_lan "eth0" ;; tplink,tl-xdr6086) ucidef_set_interfaces_lan_wan "lan1 lan2" eth1 diff --git a/target/linux/mediatek/filogic/base-files/etc/board.d/03_gpio_switches b/target/linux/mediatek/filogic/base-files/etc/board.d/03_gpio_switches index ff32a3650c..4cbec1ef07 100644 --- a/target/linux/mediatek/filogic/base-files/etc/board.d/03_gpio_switches +++ b/target/linux/mediatek/filogic/base-files/etc/board.d/03_gpio_switches @@ -5,7 +5,7 @@ board_config_update board=$(board_name) case "$board" in -zbtlink,zbt-z8103ax) +zbtlink,zbt-z8102ax) ucidef_add_gpio_switch "5g1" "Power 1st modem" "5g1" "1" ucidef_add_gpio_switch "5g2" "Power 2nd modem" "5g2" "1" ucidef_add_gpio_switch "pcie" "Power PCIe port" "pcie" "1" diff --git a/target/linux/mediatek/filogic/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac b/target/linux/mediatek/filogic/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac index f13302ba17..5d2bf0fc37 100644 --- a/target/linux/mediatek/filogic/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac +++ b/target/linux/mediatek/filogic/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac @@ -112,11 +112,6 @@ case "$board" in [ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 3 > /sys${DEVPATH}/macaddress ;; - ubnt,unifi-6-plus) - addr=$(mtd_get_mac_binary EEPROM 0x6) - [ "$PHYNBR" = "0" ] && echo "$addr" > /sys${DEVPATH}/macaddress - [ "$PHYNBR" = "1" ] && macaddr_add $addr 1 > /sys${DEVPATH}/macaddress - ;; qihoo,360t7) addr=$(mtd_get_mac_ascii factory lanMac) [ "$PHYNBR" = "0" ] && macaddr_add $addr 2 > /sys${DEVPATH}/macaddress @@ -132,8 +127,14 @@ case "$board" in tplink,tl-xdr6088) [ "$PHYNBR" = "0" ] && get_mac_label > /sys${DEVPATH}/macaddress ;; + ubnt,unifi-6-plus) + addr=$(mtd_get_mac_binary EEPROM 0x6) + [ "$PHYNBR" = "0" ] && echo "$addr" > /sys${DEVPATH}/macaddress + [ "$PHYNBR" = "1" ] && macaddr_add $addr 1 > /sys${DEVPATH}/macaddress + ;; zbtlink,zbt-z8102ax|\ - zyxel,ex5601-t0) + zyxel,ex5601-t0|\ + zyxel,ex5601-t0-ubootmod) addr=$(mtd_get_mac_binary "Factory" 0x4) [ "$PHYNBR" = "1" ] && macaddr_add $addr 1 > /sys${DEVPATH}/macaddress ;; diff --git a/target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh b/target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh index d4ccc9a5d1..5eb20345e0 100755 --- a/target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh +++ b/target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh @@ -104,15 +104,6 @@ platform_do_upgrade() { cudy,wr3000-v1) default_do_upgrade "$1" ;; - mercusys,mr90x-v1) - CI_UBIPART="ubi0" - nand_do_upgrade "$1" - ;; - ubnt,unifi-6-plus) - CI_KERNPART="kernel0" - EMMC_ROOT_DEV="$(cmdline_get_var root)" - emmc_do_upgrade "$1" - ;; h3c,magic-nx30-pro|\ jcg,q30|\ mediatek,mt7981-rfb|\ @@ -125,12 +116,26 @@ platform_do_upgrade() { CI_KERNPART="fit" nand_do_upgrade "$1" ;; + mercusys,mr90x-v1) + CI_UBIPART="ubi0" + nand_do_upgrade "$1" + ;; + ubnt,unifi-6-plus) + CI_KERNPART="kernel0" + EMMC_ROOT_DEV="$(cmdline_get_var root)" + emmc_do_upgrade "$1" + ;; xiaomi,mi-router-wr30u-stock|\ xiaomi,redmi-router-ax6000-stock) CI_KERN_UBIPART=ubi_kernel CI_ROOT_UBIPART=ubi nand_do_upgrade "$1" ;; + zyxel,ex5601-t0-ubootmod) + CI_KERNPART="fit" + CI_ROOTPART="ubi_rootfs" + nand_do_upgrade "$1" + ;; *) nand_do_upgrade "$1" ;; diff --git a/target/linux/mediatek/image/filogic.mk b/target/linux/mediatek/image/filogic.mk index c782374b7b..7f7896efff 100644 --- a/target/linux/mediatek/image/filogic.mk +++ b/target/linux/mediatek/image/filogic.mk @@ -126,6 +126,22 @@ define Device/abt_asr3000-ubootmod endef TARGET_DEVICES += abt_asr3000-ubootmod +define Device/acer_predator-w6 + DEVICE_VENDOR := Acer + DEVICE_MODEL := Predator W6 + DEVICE_DTS := mt7986a-acer-predator-w6 + DEVICE_DTS_DIR := ../dts + DEVICE_DTS_LOADADDR := 0x47000000 + DEVICE_PACKAGES := kmod-usb3 kmod-mt7986-firmware kmod-mt7916-firmware \ + mt7986-wo-firmware f2fsck mkf2fs automount + IMAGES := sysupgrade.bin + KERNEL := kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb + KERNEL_INITRAMFS := kernel-bin | lzma | \ + fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k + IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata +endef +TARGET_DEVICES += acer_predator-w6 + define Device/asus_tuf-ax4200 DEVICE_VENDOR := ASUS DEVICE_MODEL := TUF-AX4200 @@ -158,21 +174,6 @@ define Device/asus_tuf-ax6000 endef TARGET_DEVICES += asus_tuf-ax6000 -define Device/acer_predator-w6 - DEVICE_VENDOR := Acer - DEVICE_MODEL := Predator W6 - DEVICE_DTS := mt7986a-acer-predator-w6 - DEVICE_DTS_DIR := ../dts - DEVICE_DTS_LOADADDR := 0x47000000 - DEVICE_PACKAGES := kmod-usb3 kmod-mt7986-firmware kmod-mt7916-firmware mt7986-wo-firmware e2fsprogs f2fsck mkf2fs - IMAGES := sysupgrade.bin - KERNEL := kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb - KERNEL_INITRAMFS := kernel-bin | lzma | \ - fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k - IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata -endef -TARGET_DEVICES += acer_predator-w6 - define Device/bananapi_bpi-r3 DEVICE_VENDOR := Bananapi DEVICE_MODEL := BPi-R3 @@ -259,7 +260,8 @@ TARGET_DEVICES += bananapi_bpi-r3-mini define Device/cetron_ct3003-stock DEVICE_VENDOR := Cetron - DEVICE_MODEL := CT3003 (stock layout) + DEVICE_MODEL := CT3003 + DEVICE_VARIANT := (stock layout) DEVICE_DTS := mt7981b-cetron-ct3003-stock DEVICE_DTS_DIR := ../dts SUPPORTED_DEVICES += cetron,ct3003 mediatek,mt7981-spim-snand-rfb @@ -277,7 +279,8 @@ TARGET_DEVICES += cetron_ct3003-stock define Device/cetron_ct3003-ubootmod DEVICE_VENDOR := Cetron - DEVICE_MODEL := CT3003 (custom U-Boot layout) + DEVICE_MODEL := CT3003 + DEVICE_VARIANT := (custom U-Boot layout) DEVICE_DTS := mt7981b-cetron-ct3003-ubootmod DEVICE_DTS_DIR := ../dts DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware @@ -298,7 +301,8 @@ TARGET_DEVICES += cetron_ct3003-ubootmod define Device/cmcc_a10-ubootmod DEVICE_VENDOR := CMCC - DEVICE_MODEL := A10 (custom U-Boot layout) + DEVICE_MODEL := A10 + DEVICE_VARIANT := (custom U-Boot layout) DEVICE_DTS := mt7981b-cmcc-a10-ubootmod DEVICE_DTS_DIR := ../dts DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware @@ -319,7 +323,8 @@ TARGET_DEVICES += cmcc_a10-ubootmod define Device/cmcc_rax3000m DEVICE_VENDOR := CMCC - DEVICE_MODEL := RAX3000M (OpenWrt U-Boot layout) + DEVICE_MODEL := RAX3000M + DEVICE_VARIANT := (OpenWrt U-Boot layout) DEVICE_DTS := mt7981b-cmcc-rax3000m DEVICE_DTS_OVERLAY := mt7981b-cmcc-rax3000m-emmc mt7981b-cmcc-rax3000m-nand DEVICE_DTS_DIR := ../dts @@ -352,7 +357,8 @@ TARGET_DEVICES += cmcc_rax3000m define Device/cmcc_rax3000m-emmc-ubootmod DEVICE_VENDOR := CMCC - DEVICE_MODEL := RAX3000M eMMC version (custom U-Boot layout) + DEVICE_MODEL := RAX3000M eMMC version + DEVICE_VARIANT := (custom U-Boot layout) DEVICE_DTS := mt7981b-cmcc-rax3000m-emmc-ubootmod DEVICE_DTS_DIR := ../dts DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware kmod-usb3 \ @@ -366,7 +372,8 @@ TARGET_DEVICES += cmcc_rax3000m-emmc-ubootmod define Device/cmcc_rax3000m-nand-ubootmod DEVICE_VENDOR := CMCC - DEVICE_MODEL := RAX3000M NAND version (custom U-Boot layout) + DEVICE_MODEL := RAX3000M NAND version + DEVICE_VARIANT := (custom U-Boot layout) DEVICE_DTS := mt7981b-cmcc-rax3000m-nand-ubootmod DEVICE_DTS_DIR := ../dts DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware \ @@ -438,7 +445,8 @@ TARGET_DEVICES += glinet_gl-mt6000 define Device/h3c_magic-nx30-pro DEVICE_VENDOR := H3C - DEVICE_MODEL := Magic NX30 Pro (OpenWrt U-Boot layout) + DEVICE_MODEL := Magic NX30 Pro + DEVICE_VARIANT := (OpenWrt U-Boot layout) DEVICE_DTS := mt7981b-h3c-magic-nx30-pro DEVICE_DTS_DIR := ../dts UBINIZE_OPTS := -E 5 @@ -463,7 +471,8 @@ TARGET_DEVICES += h3c_magic-nx30-pro define Device/h3c_magic-nx30-pro-nmbm DEVICE_VENDOR := H3C - DEVICE_MODEL := Magic NX30 Pro (NMBM layout) + DEVICE_MODEL := Magic NX30 Pro + DEVICE_VARIANT := (NMBM layout) DEVICE_DTS := mt7981b-h3c-magic-nx30-pro-nmbm DEVICE_DTS_DIR := ../dts DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware @@ -484,7 +493,8 @@ TARGET_DEVICES += h3c_magic-nx30-pro-nmbm define Device/imou_lc-hx3001-ubootmod DEVICE_VENDOR := Imou - DEVICE_MODEL := LC-HX3001 (custom U-Boot layout) + DEVICE_MODEL := LC-HX3001 + DEVICE_VARIANT := (custom U-Boot layout) DEVICE_DTS := mt7981b-imou-lc-hx3001-ubootmod DEVICE_DTS_DIR := ../dts DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware @@ -506,11 +516,14 @@ TARGET_DEVICES += imou_lc-hx3001-ubootmod define Device/jcg_q30 DEVICE_VENDOR := JCG - DEVICE_MODEL := Q30 (OpenWrt U-Boot layout) + DEVICE_MODEL := Q30 + DEVICE_VARIANT := (OpenWrt U-Boot layout) DEVICE_ALT0_VENDOR := JCG - DEVICE_ALT0_MODEL := Q30 Pro (OpenWrt U-Boot layout) + DEVICE_ALT0_MODEL := Q30 Pro + DEVICE_ALT0_VARIANT := (OpenWrt U-Boot layout) DEVICE_ALT1_VENDOR := CMCC - DEVICE_ALT1_MODEL := MR3000D-CIq (OpenWrt U-Boot layout) + DEVICE_ALT1_MODEL := MR3000D-CIq + DEVICE_ALT1_VARIANT := (OpenWrt U-Boot layout) SUPPORTED_DEVICES += jcg,q30-pro DEVICE_DTS := mt7981b-jcg-q30 DEVICE_DTS_DIR := ../dts @@ -535,11 +548,14 @@ TARGET_DEVICES += jcg_q30 define Device/jcg_q30-ubootmod DEVICE_VENDOR := JCG - DEVICE_MODEL := Q30 (custom U-Boot layout) + DEVICE_MODEL := Q30 + DEVICE_VARIANT := (custom U-Boot layout) DEVICE_ALT0_VENDOR := JCG - DEVICE_ALT0_MODEL := Q30 Pro (custom U-Boot layout) + DEVICE_ALT0_MODEL := Q30 Pro + DEVICE_ALT0_VARIANT := (custom U-Boot layout) DEVICE_ALT1_VENDOR := CMCC - DEVICE_ALT1_MODEL := MR3000D-CIq (custom U-Boot layout) + DEVICE_ALT1_MODEL := MR3000D-CIq + DEVICE_ALT1_VARIANT := (custom U-Boot layout) DEVICE_DTS := mt7981b-jcg-q30-ubootmod DEVICE_DTS_DIR := ../dts DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware @@ -560,6 +576,7 @@ TARGET_DEVICES += jcg_q30-ubootmod define Device/livinet_zr-3020-common DEVICE_VENDOR := Livinet + DEVICE_MODEL := ZR-3020 DEVICE_DTS_DIR := ../dts DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware UBINIZE_OPTS := -E 5 @@ -576,7 +593,7 @@ define Device/livinet_zr-3020-common endef define Device/livinet_zr-3020 - DEVICE_MODEL := ZR-3020 (stock layout) + DEVICE_VARIANT := (stock layout) DEVICE_DTS := mt7981b-livinet-zr-3020 SUPPORTED_DEVICES += mediatek,mt7981-spim-snand-gsw-rfb IMAGE_SIZE := 65536k @@ -585,31 +602,13 @@ endef TARGET_DEVICES += livinet_zr-3020 define Device/livinet_zr-3020-ubootmod - DEVICE_MODEL := ZR-3020 (custom U-Boot layout) + DEVICE_VARIANT := (custom U-Boot layout) DEVICE_DTS := mt7981b-livinet-zr-3020-ubootmod IMAGE_SIZE := 98304k $(call Device/livinet_zr-3020-common) endef TARGET_DEVICES += livinet_zr-3020-ubootmod -define Device/netgear_wax220 - DEVICE_VENDOR := NETGEAR - DEVICE_MODEL := WAX220 - DEVICE_DTS := mt7986b-netgear-wax220 - DEVICE_DTS_DIR := ../dts - NETGEAR_ENC_MODEL := WAX220 - NETGEAR_ENC_REGION := US - DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware - KERNEL_INITRAMFS_SUFFIX := -recovery.itb - IMAGE_SIZE := 32768k - IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata - IMAGES += factory.img - # Padding to 10M seems to be required by OEM web interface - IMAGE/factory.img := sysupgrade-tar | \ - pad-to 10M | check-size | netgear-encrypted-factory -endef -TARGET_DEVICES += netgear_wax220 - define Device/mediatek_mt7981-rfb DEVICE_VENDOR := MediaTek DEVICE_MODEL := MT7981 rfb @@ -781,9 +780,28 @@ define Device/mercusys_mr90x-v1 endef TARGET_DEVICES += mercusys_mr90x-v1 +define Device/netgear_wax220 + DEVICE_VENDOR := NETGEAR + DEVICE_MODEL := WAX220 + DEVICE_DTS := mt7986b-netgear-wax220 + DEVICE_DTS_DIR := ../dts + NETGEAR_ENC_MODEL := WAX220 + NETGEAR_ENC_REGION := US + DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware + KERNEL_INITRAMFS_SUFFIX := -recovery.itb + IMAGE_SIZE := 32768k + IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata + IMAGES += factory.img + # Padding to 10M seems to be required by OEM web interface + IMAGE/factory.img := sysupgrade-tar | \ + pad-to 10M | check-size | netgear-encrypted-factory +endef +TARGET_DEVICES += netgear_wax220 + define Device/qihoo_360t7 DEVICE_VENDOR := Qihoo - DEVICE_MODEL := 360T7 (OpenWrt U-Boot layout) + DEVICE_MODEL := 360T7 + DEVICE_VARIANT := (OpenWrt U-Boot layout) DEVICE_DTS := mt7981b-qihoo-360t7 DEVICE_DTS_DIR := ../dts UBINIZE_OPTS := -E 5 @@ -807,7 +825,8 @@ TARGET_DEVICES += qihoo_360t7 define Device/qihoo_360t7-ubootmod DEVICE_VENDOR := Qihoo - DEVICE_MODEL := 360T7 (custom U-Boot layout) + DEVICE_MODEL := 360T7 + DEVICE_VARIANT := (custom U-Boot layout) DEVICE_DTS := mt7981b-qihoo-360t7-ubootmod DEVICE_DTS_DIR := ../dts DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware @@ -883,7 +902,8 @@ TARGET_DEVICES += ubnt_unifi-6-plus define Device/xiaomi_mi-router-wr30u-112m-nmbm DEVICE_VENDOR := Xiaomi - DEVICE_MODEL := Mi Router WR30U (custom U-Boot layout) + DEVICE_MODEL := Mi Router WR30U + DEVICE_VARIANT := (custom U-Boot layout) DEVICE_DTS := mt7981b-xiaomi-mi-router-wr30u-112m-nmbm DEVICE_DTS_DIR := ../dts UBINIZE_OPTS := -E 5 @@ -904,7 +924,8 @@ TARGET_DEVICES += xiaomi_mi-router-wr30u-112m-nmbm define Device/xiaomi_mi-router-wr30u-stock DEVICE_VENDOR := Xiaomi - DEVICE_MODEL := Mi Router WR30U (stock layout) + DEVICE_MODEL := Mi Router WR30U + DEVICE_VARIANT := (stock layout) DEVICE_DTS := mt7981b-xiaomi-mi-router-wr30u-stock DEVICE_DTS_DIR := ../dts UBINIZE_OPTS := -E 5 @@ -921,7 +942,8 @@ TARGET_DEVICES += xiaomi_mi-router-wr30u-stock define Device/xiaomi_mi-router-wr30u-ubootmod DEVICE_VENDOR := Xiaomi - DEVICE_MODEL := Mi Router WR30U (OpenWrt U-Boot layout) + DEVICE_MODEL := Mi Router WR30U + DEVICE_VARIANT := (OpenWrt U-Boot layout) DEVICE_DTS := mt7981b-xiaomi-mi-router-wr30u-ubootmod DEVICE_DTS_DIR := ../dts UBINIZE_OPTS := -E 5 @@ -949,7 +971,8 @@ TARGET_DEVICES += xiaomi_mi-router-wr30u-ubootmod define Device/xiaomi_redmi-router-ax6000 DEVICE_VENDOR := Xiaomi - DEVICE_MODEL := Redmi Router AX6000 (custom U-Boot layout) + DEVICE_MODEL := Redmi Router AX6000 + DEVICE_VARIANT := (custom U-Boot layout) DEVICE_DTS := mt7986a-xiaomi-redmi-router-ax6000 DEVICE_DTS_DIR := ../dts DEVICE_PACKAGES := kmod-leds-ws2812b kmod-mt7986-firmware mt7986-wo-firmware @@ -967,7 +990,8 @@ TARGET_DEVICES += xiaomi_redmi-router-ax6000 define Device/xiaomi_redmi-router-ax6000-stock DEVICE_VENDOR := Xiaomi - DEVICE_MODEL := Redmi Router AX6000 (stock layout) + DEVICE_MODEL := Redmi Router AX6000 + DEVICE_VARIANT := (stock layout) DEVICE_DTS := mt7986a-xiaomi-redmi-router-ax6000-stock DEVICE_DTS_DIR := ../dts DEVICE_PACKAGES := kmod-leds-ws2812b kmod-mt7986-firmware mt7986-wo-firmware @@ -984,7 +1008,8 @@ TARGET_DEVICES += xiaomi_redmi-router-ax6000-stock define Device/xiaomi_redmi-router-ax6000-ubootmod DEVICE_VENDOR := Xiaomi - DEVICE_MODEL := Redmi Router AX6000 (OpenWrt U-Boot layout) + DEVICE_MODEL := Redmi Router AX6000 + DEVICE_VARIANT := (OpenWrt U-Boot layout) DEVICE_DTS := mt7986a-xiaomi-redmi-router-ax6000-ubootmod DEVICE_DTS_DIR := ../dts DEVICE_PACKAGES := kmod-leds-ws2812b kmod-mt7986-firmware mt7986-wo-firmware @@ -1029,10 +1054,11 @@ TARGET_DEVICES += zbtlink_zbt-z8102ax define Device/zyxel_ex5601-t0-stock DEVICE_VENDOR := Zyxel - DEVICE_MODEL := EX5601-T0 (stock layout) + DEVICE_MODEL := EX5601-T0 + DEVICE_VARIANT := (stock layout) DEVICE_DTS := mt7986a-zyxel-ex5601-t0-stock DEVICE_DTS_DIR := ../dts - DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware + DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware kmod-usb3 automount SUPPORTED_DEVICES := mediatek,mt7986a-rfb-snand UBINIZE_OPTS := -E 5 BLOCKSIZE := 256k @@ -1049,12 +1075,42 @@ define Device/zyxel_ex5601-t0-stock endef TARGET_DEVICES += zyxel_ex5601-t0-stock +define Device/zyxel_ex5601-t0-ubootmod + DEVICE_VENDOR := Zyxel + DEVICE_MODEL := EX5601-T0 + DEVICE_VARIANT := (OpenWrt U-Boot layout) + DEVICE_DTS := mt7986a-zyxel-ex5601-t0-ubootmod + DEVICE_DTS_DIR := ../dts + DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware kmod-usb3 automount + KERNEL_INITRAMFS_SUFFIX := -recovery.itb + IMAGES := sysupgrade.itb + UBINIZE_OPTS := -E 5 + BLOCKSIZE := 256k + PAGESIZE := 4096 + KERNEL_IN_UBI := 1 + UBOOTENV_IN_UBI := 1 + KERNEL := kernel-bin | lzma + KERNEL_INITRAMFS := kernel-bin | lzma | \ + fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd + IMAGE/sysupgrade.itb := append-kernel | \ + fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata + ARTIFACTS := preloader.bin bl31-uboot.fip + ARTIFACT/preloader.bin := mt7986-bl2 spim-nand-4k-ddr4 + ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot zyxel_ex5601-t0 +ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),) + ARTIFACTS += initramfs-factory.ubi + ARTIFACT/initramfs-factory.ubi := append-image-stage initramfs-recovery.itb | ubinize-kernel +endif +endef +TARGET_DEVICES += zyxel_ex5601-t0-ubootmod + define Device/zyxel_ex5700-telenor DEVICE_VENDOR := ZyXEL DEVICE_MODEL := EX5700 (Telenor) DEVICE_DTS := mt7986a-zyxel-ex5700-telenor DEVICE_DTS_DIR := ../dts - DEVICE_PACKAGES := kmod-mt7916-firmware kmod-ubootenv-nvram kmod-usb3 kmod-mt7986-firmware mt7986-wo-firmware + DEVICE_PACKAGES := kmod-mt7916-firmware kmod-ubootenv-nvram kmod-usb3 \ + kmod-mt7986-firmware mt7986-wo-firmware automount UBINIZE_OPTS := -E 5 BLOCKSIZE := 128k PAGESIZE := 2048 diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8071-ax3600.dtsi b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8071-ax3600.dtsi index 23b9121d5f..2bb2cce157 100644 --- a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8071-ax3600.dtsi +++ b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8071-ax3600.dtsi @@ -151,28 +151,30 @@ reg = <0x800000 0x80000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_dp2: macaddr@6 { - reg = <0x6 0x6>; - }; + macaddr_dp2: macaddr@6 { + reg = <0x6 0x6>; + }; - macaddr_dp3: macaddr@c { - reg = <0xc 0x6>; - }; + macaddr_dp3: macaddr@c { + reg = <0xc 0x6>; + }; - macaddr_dp4: macaddr@12 { - reg = <0x12 0x6>; - }; + macaddr_dp4: macaddr@12 { + reg = <0x12 0x6>; + }; - macaddr_dp5: macaddr@18 { - reg = <0x18 0x6>; - }; + macaddr_dp5: macaddr@18 { + reg = <0x18 0x6>; + }; - caldata_qca9889: caldata@4d000 { - reg = <0x33000 0x844>; + caldata_qca9889: caldata@4d000 { + reg = <0x33000 0x844>; + }; }; }; diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-ax9000.dts b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-ax9000.dts index fbf5b41d85..0df16e9ad7 100644 --- a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-ax9000.dts +++ b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-ax9000.dts @@ -280,32 +280,34 @@ reg = <0xf80000 0x80000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_dp1: macaddr@0 { - reg = <0x0 0x6>; - }; + macaddr_dp1: macaddr@0 { + reg = <0x0 0x6>; + }; - macaddr_dp2: macaddr@6 { - reg = <0x6 0x6>; - }; + macaddr_dp2: macaddr@6 { + reg = <0x6 0x6>; + }; - macaddr_dp3: macaddr@c { - reg = <0xc 0x6>; - }; + macaddr_dp3: macaddr@c { + reg = <0xc 0x6>; + }; - macaddr_dp4: macaddr@12 { - reg = <0x12 0x6>; - }; + macaddr_dp4: macaddr@12 { + reg = <0x12 0x6>; + }; - macaddr_dp5: macaddr@18 { - reg = <0x18 0x6>; - }; + macaddr_dp5: macaddr@18 { + reg = <0x18 0x6>; + }; - caldata_qca9889: caldata@4d000 { - reg = <0x4d000 0x844>; + caldata_qca9889: caldata@4d000 { + reg = <0x4d000 0x844>; + }; }; }; diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8074-rax120v2.dts b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8074-rax120v2.dts index 0a5bbb4c35..0949d19171 100644 --- a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8074-rax120v2.dts +++ b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8074-rax120v2.dts @@ -441,34 +441,35 @@ reg = <0x1180000 0x0100000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_dp1: macaddr@0 { - reg = <0x0 0x6>; + macaddr_dp1: macaddr@0 { + reg = <0x0 0x6>; + }; + + macaddr_dp2: macaddr@1 { + reg = <0x6 0x6>; + }; + + macaddr_dp3: macaddr@2 { + reg = <0xc 0x6>; + }; + + macaddr_dp4: macaddr@3 { + reg = <0x12 0x6>; + }; + + macaddr_dp5: macaddr@4 { + reg = <0x18 0x6>; + }; + + macaddr_dp6_syn: macaddr@5 { + reg = <0x1e 0x6>; + }; }; - - macaddr_dp2: macaddr@1 { - reg = <0x6 0x6>; - }; - - macaddr_dp3: macaddr@2 { - reg = <0xc 0x6>; - }; - - macaddr_dp4: macaddr@3 { - reg = <0x12 0x6>; - }; - - macaddr_dp5: macaddr@4 { - reg = <0x18 0x6>; - }; - - macaddr_dp6_syn: macaddr@5 { - reg = <0x1e 0x6>; - }; - }; partition@1280000 { diff --git a/target/linux/ramips/dts/mt7620a_aigale_ai-br100.dts b/target/linux/ramips/dts/mt7620a_aigale_ai-br100.dts index 7dd58b698f..bbd8c47a82 100644 --- a/target/linux/ramips/dts/mt7620a_aigale_ai-br100.dts +++ b/target/linux/ramips/dts/mt7620a_aigale_ai-br100.dts @@ -73,19 +73,22 @@ }; factory: partition@30000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x30000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_alfa-network_ac1200rm.dts b/target/linux/ramips/dts/mt7620a_alfa-network_ac1200rm.dts index 3bc0e69bfe..8ac74f7062 100644 --- a/target/linux/ramips/dts/mt7620a_alfa-network_ac1200rm.dts +++ b/target/linux/ramips/dts/mt7620a_alfa-network_ac1200rm.dts @@ -133,23 +133,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_alfa-network_r36m-e4g.dts b/target/linux/ramips/dts/mt7620a_alfa-network_r36m-e4g.dts index becf5ba90c..2325d53153 100644 --- a/target/linux/ramips/dts/mt7620a_alfa-network_r36m-e4g.dts +++ b/target/linux/ramips/dts/mt7620a_alfa-network_r36m-e4g.dts @@ -189,19 +189,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_alfa-network_tube-e4g.dts b/target/linux/ramips/dts/mt7620a_alfa-network_tube-e4g.dts index a90f9b2775..f5fa410090 100644 --- a/target/linux/ramips/dts/mt7620a_alfa-network_tube-e4g.dts +++ b/target/linux/ramips/dts/mt7620a_alfa-network_tube-e4g.dts @@ -165,6 +165,16 @@ label = "factory"; reg = <0x40000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; + }; }; partition@50000 { @@ -179,13 +189,3 @@ &wmac { status = "disabled"; }; - -&factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; - }; -}; diff --git a/target/linux/ramips/dts/mt7620a_asus_rp-n53.dts b/target/linux/ramips/dts/mt7620a_asus_rp-n53.dts index 00fcb5ec42..a32cb96f66 100644 --- a/target/linux/ramips/dts/mt7620a_asus_rp-n53.dts +++ b/target/linux/ramips/dts/mt7620a_asus_rp-n53.dts @@ -120,19 +120,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_asus_rt-ac5x.dtsi b/target/linux/ramips/dts/mt7620a_asus_rt-ac5x.dtsi index 3d4e6a1aad..92119ff812 100644 --- a/target/linux/ramips/dts/mt7620a_asus_rt-ac5x.dtsi +++ b/target/linux/ramips/dts/mt7620a_asus_rt-ac5x.dtsi @@ -79,23 +79,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_bdcom_wap2100-sk.dts b/target/linux/ramips/dts/mt7620a_bdcom_wap2100-sk.dts index e4772a4574..4d442825a9 100644 --- a/target/linux/ramips/dts/mt7620a_bdcom_wap2100-sk.dts +++ b/target/linux/ramips/dts/mt7620a_bdcom_wap2100-sk.dts @@ -82,23 +82,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_bolt_bl201.dts b/target/linux/ramips/dts/mt7620a_bolt_bl201.dts index d0acc976dc..360065abb1 100644 --- a/target/linux/ramips/dts/mt7620a_bolt_bl201.dts +++ b/target/linux/ramips/dts/mt7620a_bolt_bl201.dts @@ -131,21 +131,26 @@ compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; - }; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + compatible = "mac-base"; + reg = <0x28 0x6>; + #nvmem-cell-cells = <1>; + }; }; partition@50000 { @@ -182,7 +187,7 @@ }; ðernet { - nvmem-cells = <&macaddr_factory_28>; + nvmem-cells = <&macaddr_factory_28 0>; nvmem-cell-names = "mac-address"; mediatek,portmap = "llllw"; diff --git a/target/linux/ramips/dts/mt7620a_buffalo_whr-1166d.dts b/target/linux/ramips/dts/mt7620a_buffalo_whr-1166d.dts index 11f4d8c6c6..17bf2f8272 100644 --- a/target/linux/ramips/dts/mt7620a_buffalo_whr-1166d.dts +++ b/target/linux/ramips/dts/mt7620a_buffalo_whr-1166d.dts @@ -114,23 +114,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_buffalo_whr-300hp2.dts b/target/linux/ramips/dts/mt7620a_buffalo_whr-300hp2.dts index 6e48763fe0..85946ca1e0 100644 --- a/target/linux/ramips/dts/mt7620a_buffalo_whr-300hp2.dts +++ b/target/linux/ramips/dts/mt7620a_buffalo_whr-300hp2.dts @@ -114,19 +114,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_buffalo_whr-600d.dts b/target/linux/ramips/dts/mt7620a_buffalo_whr-600d.dts index 14900c432a..b571d122cf 100644 --- a/target/linux/ramips/dts/mt7620a_buffalo_whr-600d.dts +++ b/target/linux/ramips/dts/mt7620a_buffalo_whr-600d.dts @@ -114,23 +114,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_cameo_810.dtsi b/target/linux/ramips/dts/mt7620a_cameo_810.dtsi index e1ff1ecd42..d09f4d292e 100644 --- a/target/linux/ramips/dts/mt7620a_cameo_810.dtsi +++ b/target/linux/ramips/dts/mt7620a_cameo_810.dtsi @@ -81,23 +81,28 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + compatible = "mac-base"; + reg = <0x28 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -142,7 +147,7 @@ }; ðernet { - nvmem-cells = <&macaddr_factory_28>; + nvmem-cells = <&macaddr_factory_28 0>; nvmem-cell-names = "mac-address"; mediatek,portmap = "llllw"; @@ -156,7 +161,7 @@ pinctrl-names = "default", "pa_gpio"; pinctrl-0 = <&pa_pins>; pinctrl-1 = <&pa_gpio_pins>; - nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_28>; + nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_28 0>; nvmem-cell-names = "eeprom", "mac-address"; }; @@ -168,8 +173,7 @@ wifi@0,0 { reg = <0x0000 0 0 0 0>; ieee80211-freq-limit = <5000000 6000000>; - nvmem-cells = <&eeprom_factory_8000>, <&macaddr_factory_28>; + nvmem-cells = <&eeprom_factory_8000>, <&macaddr_factory_28 2>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <2>; }; }; diff --git a/target/linux/ramips/dts/mt7620a_dlink_dch-m225.dts b/target/linux/ramips/dts/mt7620a_dlink_dch-m225.dts index f0d96f8a43..6d5d461c8f 100644 --- a/target/linux/ramips/dts/mt7620a_dlink_dch-m225.dts +++ b/target/linux/ramips/dts/mt7620a_dlink_dch-m225.dts @@ -119,19 +119,22 @@ }; factory: partition@34000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x34000 0x4000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_dlink_dir-510l.dts b/target/linux/ramips/dts/mt7620a_dlink_dir-510l.dts index f73feb58c9..febfd2e32e 100644 --- a/target/linux/ramips/dts/mt7620a_dlink_dir-510l.dts +++ b/target/linux/ramips/dts/mt7620a_dlink_dir-510l.dts @@ -94,19 +94,24 @@ }; config: partition@ff0000 { - compatible = "nvmem-cells"; label = "config"; reg = <0xff0000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_config_e05d: eeprom@e05d { - reg = <0xe05d 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_config_e490: macaddr@e490 { - reg = <0xe490 0x6>; + eeprom_config_e05d: eeprom@e05d { + reg = <0xe05d 0x200>; + }; + + macaddr_config_e490: macaddr@e490 { + compatible = "mac-base"; + reg = <0xe490 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; }; @@ -128,9 +133,8 @@ &pcie0 { mt76x0e@0,0 { reg = <0x0000 0 0 0 0>; - nvmem-cells = <&eeprom_config_e05d>, <&macaddr_config_e490>; + nvmem-cells = <&eeprom_config_e05d>, <&macaddr_config_e490 2>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <(2)>; }; }; diff --git a/target/linux/ramips/dts/mt7620a_dlink_dir-806a-b1.dts b/target/linux/ramips/dts/mt7620a_dlink_dir-806a-b1.dts index ae0b7c1210..52739f5114 100644 --- a/target/linux/ramips/dts/mt7620a_dlink_dir-806a-b1.dts +++ b/target/linux/ramips/dts/mt7620a_dlink_dir-806a-b1.dts @@ -91,27 +91,34 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "Factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; - }; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; - macaddr_factory_8004: macaddr@8004 { - reg = <0x8004 0x6>; + macaddr_factory_4: macaddr@4 { + compatible = "mac-base"; + reg = <0x4 0x6>; + #nvmem-cell-cells = <1>; + }; + + macaddr_factory_8004: macaddr@8004 { + compatible = "mac-base"; + reg = <0x8004 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -133,9 +140,8 @@ }; ðernet { - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 (-2)>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(-2)>; }; &wmac { @@ -143,9 +149,8 @@ pinctrl-0 = <&pa_pins>; pinctrl-1 = <&pa_gpio_pins>; - nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_4>; + nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_4 (-1)>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <(-1)>; }; &pcie { @@ -156,9 +161,8 @@ wifi@0,0 { reg = <0x0000 0 0 0 0>; ieee80211-freq-limit = <5000000 6000000>; - nvmem-cells = <&eeprom_factory_8000>, <&macaddr_factory_8004>; + nvmem-cells = <&eeprom_factory_8000>, <&macaddr_factory_8004 (-3)>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <(-3)>; led { led-active-low; diff --git a/target/linux/ramips/dts/mt7620a_dlink_dwr-118-a1.dts b/target/linux/ramips/dts/mt7620a_dlink_dwr-118-a1.dts index 8c9ab02f44..97fc4f0935 100644 --- a/target/linux/ramips/dts/mt7620a_dlink_dwr-118-a1.dts +++ b/target/linux/ramips/dts/mt7620a_dlink_dwr-118-a1.dts @@ -115,19 +115,24 @@ }; config: partition@ff0000 { - compatible = "nvmem-cells"; label = "config"; reg = <0xff0000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_config_e083: eeprom@e083 { - reg = <0xe083 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_config_e496: macaddr@e496 { - reg = <0xe496 0x6>; + eeprom_config_e083: eeprom@e083 { + reg = <0xe083 0x200>; + }; + + macaddr_config_e496: macaddr@e496 { + compatible = "mac-base"; + reg = <0xe496 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; }; @@ -156,9 +161,8 @@ &pcie0 { wifi@0,0 { reg = <0x0000 0 0 0 0>; - nvmem-cells = <&eeprom_config_e083>, <&macaddr_config_e496>; + nvmem-cells = <&eeprom_config_e083>, <&macaddr_config_e496 2>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <(2)>; led { led-sources = <0>; diff --git a/target/linux/ramips/dts/mt7620a_dlink_dwr-118-a2.dts b/target/linux/ramips/dts/mt7620a_dlink_dwr-118-a2.dts index 42f5c86160..5f11b73ad9 100644 --- a/target/linux/ramips/dts/mt7620a_dlink_dwr-118-a2.dts +++ b/target/linux/ramips/dts/mt7620a_dlink_dwr-118-a2.dts @@ -115,6 +115,18 @@ label = "config"; reg = <0xff0000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_config_e4a8: macaddr@e4a8 { + compatible = "mac-base"; + reg = <0xe4a8 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; }; }; @@ -143,9 +155,8 @@ wifi@0,0 { reg = <0x0000 0 0 0 0>; ieee80211-freq-limit = <5000000 6000000>; - nvmem-cells = <&macaddr_config_e4a8>; + nvmem-cells = <&macaddr_config_e4a8 2>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(2)>; led { led-sources = <2>; @@ -180,13 +191,3 @@ mediatek,port4-gmac; mediatek,ephy-base = /bits/ 8 <2>; }; - -&config { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_config_e4a8: macaddr@e4a8 { - reg = <0xe4a8 0x6>; - }; -}; diff --git a/target/linux/ramips/dts/mt7620a_dlink_dwr-960.dts b/target/linux/ramips/dts/mt7620a_dlink_dwr-960.dts index a3e65c6468..c1fff81452 100644 --- a/target/linux/ramips/dts/mt7620a_dlink_dwr-960.dts +++ b/target/linux/ramips/dts/mt7620a_dlink_dwr-960.dts @@ -30,7 +30,6 @@ }; &wifi { - nvmem-cells = <&eeprom_config_e08e>, <&macaddr_config_e50e>; + nvmem-cells = <&eeprom_config_e08e>, <&macaddr_config_e50e 2>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <2>; }; diff --git a/target/linux/ramips/dts/mt7620a_dlink_dwr-961-a1.dts b/target/linux/ramips/dts/mt7620a_dlink_dwr-961-a1.dts index f80aa71681..c4220592e8 100644 --- a/target/linux/ramips/dts/mt7620a_dlink_dwr-961-a1.dts +++ b/target/linux/ramips/dts/mt7620a_dlink_dwr-961-a1.dts @@ -58,7 +58,6 @@ }; &wifi { - nvmem-cells = <&eeprom_config_e29e>, <&macaddr_config_e50e>; + nvmem-cells = <&eeprom_config_e29e>, <&macaddr_config_e50e 2>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <2>; }; diff --git a/target/linux/ramips/dts/mt7620a_dlink_dwr-96x.dtsi b/target/linux/ramips/dts/mt7620a_dlink_dwr-96x.dtsi index 4a6bab21a1..11cd15922c 100644 --- a/target/linux/ramips/dts/mt7620a_dlink_dwr-96x.dtsi +++ b/target/linux/ramips/dts/mt7620a_dlink_dwr-96x.dtsi @@ -151,23 +151,28 @@ }; config: partition@ff0000 { - compatible = "nvmem-cells"; label = "config"; reg = <0xff0000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_config_e08e: eeprom@e08e { - reg = <0xe08e 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_config_e29e: eeprom@e29e { - reg = <0xe29e 0x200>; - }; + eeprom_config_e08e: eeprom@e08e { + reg = <0xe08e 0x200>; + }; - macaddr_config_e50e: macaddr@e50e { - reg = <0xe50e 0x6>; + eeprom_config_e29e: eeprom@e29e { + reg = <0xe29e 0x200>; + }; + + macaddr_config_e50e: macaddr@e50e { + compatible = "mac-base"; + reg = <0xe50e 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_domywifi.dtsi b/target/linux/ramips/dts/mt7620a_domywifi.dtsi index d627d7b4fe..778de63f1b 100644 --- a/target/linux/ramips/dts/mt7620a_domywifi.dtsi +++ b/target/linux/ramips/dts/mt7620a_domywifi.dtsi @@ -114,23 +114,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_dovado_tiny-ac.dts b/target/linux/ramips/dts/mt7620a_dovado_tiny-ac.dts index 0c61dcb24d..821aa04f95 100644 --- a/target/linux/ramips/dts/mt7620a_dovado_tiny-ac.dts +++ b/target/linux/ramips/dts/mt7620a_dovado_tiny-ac.dts @@ -79,15 +79,18 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_edimax_br-6208ac-v2.dts b/target/linux/ramips/dts/mt7620a_edimax_br-6208ac-v2.dts index edacffb1b1..34b62a025a 100644 --- a/target/linux/ramips/dts/mt7620a_edimax_br-6208ac-v2.dts +++ b/target/linux/ramips/dts/mt7620a_edimax_br-6208ac-v2.dts @@ -141,27 +141,30 @@ // Factory factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; - }; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; - macaddr_factory_2e: macaddr@2e { - reg = <0x2e 0x6>; + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; + + macaddr_factory_2e: macaddr@2e { + reg = <0x2e 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_edimax_br-6478ac-v2.dts b/target/linux/ramips/dts/mt7620a_edimax_br-6478ac-v2.dts index b829262474..486f6399df 100644 --- a/target/linux/ramips/dts/mt7620a_edimax_br-6478ac-v2.dts +++ b/target/linux/ramips/dts/mt7620a_edimax_br-6478ac-v2.dts @@ -99,23 +99,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_edimax_ew-7478apc.dts b/target/linux/ramips/dts/mt7620a_edimax_ew-7478apc.dts index f6aa606917..5759774f6e 100644 --- a/target/linux/ramips/dts/mt7620a_edimax_ew-7478apc.dts +++ b/target/linux/ramips/dts/mt7620a_edimax_ew-7478apc.dts @@ -91,23 +91,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_edimax_ew-747x.dtsi b/target/linux/ramips/dts/mt7620a_edimax_ew-747x.dtsi index f7745b85e9..eb21ff7d6f 100644 --- a/target/linux/ramips/dts/mt7620a_edimax_ew-747x.dtsi +++ b/target/linux/ramips/dts/mt7620a_edimax_ew-747x.dtsi @@ -80,23 +80,28 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + compatible = "mac-base"; + reg = <0x4 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -137,7 +142,7 @@ pinctrl-names = "default"; pinctrl-0 = <&rgmii1_pins &mdio_pins &phy_reset_pins>; - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 0>; nvmem-cell-names = "mac-address"; phy-reset-gpios = <&gpio1 15 GPIO_ACTIVE_LOW>; @@ -189,7 +194,7 @@ }; &wmac { - nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_4>; + nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_4 0>; nvmem-cell-names = "eeprom", "mac-address"; }; @@ -201,8 +206,7 @@ wifi@0,0 { reg = <0x0000 0 0 0 0>; ieee80211-freq-limit = <5000000 6000000>; - nvmem-cells = <&eeprom_factory_8000>, <&macaddr_factory_4>; + nvmem-cells = <&eeprom_factory_8000>, <&macaddr_factory_4 2>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <2>; }; }; diff --git a/target/linux/ramips/dts/mt7620a_engenius_epg600.dts b/target/linux/ramips/dts/mt7620a_engenius_epg600.dts index bf4c4347de..f64676d8fb 100644 --- a/target/linux/ramips/dts/mt7620a_engenius_epg600.dts +++ b/target/linux/ramips/dts/mt7620a_engenius_epg600.dts @@ -116,32 +116,38 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; }; }; rf: partition@50000 { - compatible = "nvmem-cells"; label = "rf"; reg = <0x50000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_rf_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_rf_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_rf_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_rf_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_engenius_esr600.dts b/target/linux/ramips/dts/mt7620a_engenius_esr600.dts index 37b0658082..beee73f11c 100644 --- a/target/linux/ramips/dts/mt7620a_engenius_esr600.dts +++ b/target/linux/ramips/dts/mt7620a_engenius_esr600.dts @@ -98,32 +98,38 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; }; }; iNIC_rf: partition@50000 { - compatible = "nvmem-cells"; label = "iNIC_rf"; reg = <0x50000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_iNIC_rf_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_iNIC_rf_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_iNIC_rf_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_iNIC_rf_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_fon_fon2601.dts b/target/linux/ramips/dts/mt7620a_fon_fon2601.dts index f374c75f86..7adf0faf86 100644 --- a/target/linux/ramips/dts/mt7620a_fon_fon2601.dts +++ b/target/linux/ramips/dts/mt7620a_fon_fon2601.dts @@ -77,23 +77,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_glinet_gl-mt300a.dts b/target/linux/ramips/dts/mt7620a_glinet_gl-mt300a.dts index 939ced87c0..122654d679 100644 --- a/target/linux/ramips/dts/mt7620a_glinet_gl-mt300a.dts +++ b/target/linux/ramips/dts/mt7620a_glinet_gl-mt300a.dts @@ -95,19 +95,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4000: macaddr@4000 { - reg = <0x4000 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4000: macaddr@4000 { + reg = <0x4000 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_glinet_gl-mt300n.dts b/target/linux/ramips/dts/mt7620a_glinet_gl-mt300n.dts index e261f1c4bb..9b21689d8d 100644 --- a/target/linux/ramips/dts/mt7620a_glinet_gl-mt300n.dts +++ b/target/linux/ramips/dts/mt7620a_glinet_gl-mt300n.dts @@ -90,19 +90,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4000: macaddr@4000 { - reg = <0x4000 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4000: macaddr@4000 { + reg = <0x4000 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_glinet_gl-mt750.dts b/target/linux/ramips/dts/mt7620a_glinet_gl-mt750.dts index 84f1153ecc..b595c581fe 100644 --- a/target/linux/ramips/dts/mt7620a_glinet_gl-mt750.dts +++ b/target/linux/ramips/dts/mt7620a_glinet_gl-mt750.dts @@ -90,23 +90,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_4000: macaddr@4000 { - reg = <0x4000 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_4000: macaddr@4000 { + reg = <0x4000 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_head-weblink_hdrm200.dts b/target/linux/ramips/dts/mt7620a_head-weblink_hdrm200.dts index f435ceb9f6..db00daaec2 100644 --- a/target/linux/ramips/dts/mt7620a_head-weblink_hdrm200.dts +++ b/target/linux/ramips/dts/mt7620a_head-weblink_hdrm200.dts @@ -82,23 +82,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_hiwifi_hc5x61.dtsi b/target/linux/ramips/dts/mt7620a_hiwifi_hc5x61.dtsi index 733cdeaf39..885c1bac49 100644 --- a/target/linux/ramips/dts/mt7620a_hiwifi_hc5x61.dtsi +++ b/target/linux/ramips/dts/mt7620a_hiwifi_hc5x61.dtsi @@ -52,23 +52,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_hnet_c108.dts b/target/linux/ramips/dts/mt7620a_hnet_c108.dts index 5f97eb61b1..60c6b2a7d4 100644 --- a/target/linux/ramips/dts/mt7620a_hnet_c108.dts +++ b/target/linux/ramips/dts/mt7620a_hnet_c108.dts @@ -109,19 +109,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_humax_e2.dts b/target/linux/ramips/dts/mt7620a_humax_e2.dts index de7b6ddf57..453208eb34 100644 --- a/target/linux/ramips/dts/mt7620a_humax_e2.dts +++ b/target/linux/ramips/dts/mt7620a_humax_e2.dts @@ -88,23 +88,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x30000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_10007: macaddr@10007 { - reg = <0x10007 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_10007: macaddr@10007 { + reg = <0x10007 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_iodata_wn-ac1167gr.dts b/target/linux/ramips/dts/mt7620a_iodata_wn-ac1167gr.dts index f27274d6e1..6f95bd0151 100644 --- a/target/linux/ramips/dts/mt7620a_iodata_wn-ac1167gr.dts +++ b/target/linux/ramips/dts/mt7620a_iodata_wn-ac1167gr.dts @@ -91,32 +91,38 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x8000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; iNIC_rf: partition@48000 { - compatible = "nvmem-cells"; label = "iNIC_rf"; reg = <0x48000 0x8000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_iNIC_rf_0: eeprom@0 { - reg = <0x0 0x200>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_iNIC_rf_0: eeprom@0 { + reg = <0x0 0x200>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_iodata_wn-ac733gr3.dts b/target/linux/ramips/dts/mt7620a_iodata_wn-ac733gr3.dts index 71a66a799d..bc674fa4b3 100644 --- a/target/linux/ramips/dts/mt7620a_iodata_wn-ac733gr3.dts +++ b/target/linux/ramips/dts/mt7620a_iodata_wn-ac733gr3.dts @@ -105,32 +105,38 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x8000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; iNIC_rf: partition@48000 { - compatible = "nvmem-cells"; label = "iNIC_rf"; reg = <0x48000 0x8000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_iNIC_rf_0: eeprom@0 { - reg = <0x0 0x200>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_iNIC_rf_0: eeprom@0 { + reg = <0x0 0x200>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_iptime.dtsi b/target/linux/ramips/dts/mt7620a_iptime.dtsi index be43f9bc99..2b7421de9b 100644 --- a/target/linux/ramips/dts/mt7620a_iptime.dtsi +++ b/target/linux/ramips/dts/mt7620a_iptime.dtsi @@ -29,23 +29,26 @@ #size-cells = <1>; uboot: partition@0 { - compatible = "nvmem-cells"; label = "u-boot"; reg = <0x0 0x20000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_uboot_1f400: eeprom@1f400 { - reg = <0x1f400 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_uboot_1f800: eeprom@1f800 { - reg = <0x1f800 0x200>; - }; + eeprom_uboot_1f400: eeprom@1f400 { + reg = <0x1f400 0x200>; + }; - macaddr_uboot_1fc20: macaddr@1fc20 { - reg = <0x1fc20 0x6>; + eeprom_uboot_1f800: eeprom@1f800 { + reg = <0x1f800 0x200>; + }; + + macaddr_uboot_1fc20: macaddr@1fc20 { + reg = <0x1fc20 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_kimax_u25awf-h1.dts b/target/linux/ramips/dts/mt7620a_kimax_u25awf-h1.dts index fbd4f9ff47..772cab32e2 100644 --- a/target/linux/ramips/dts/mt7620a_kimax_u25awf-h1.dts +++ b/target/linux/ramips/dts/mt7620a_kimax_u25awf-h1.dts @@ -73,19 +73,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_lava_lr-25g001.dts b/target/linux/ramips/dts/mt7620a_lava_lr-25g001.dts index f7a5aed064..f43aa2d3bc 100644 --- a/target/linux/ramips/dts/mt7620a_lava_lr-25g001.dts +++ b/target/linux/ramips/dts/mt7620a_lava_lr-25g001.dts @@ -92,19 +92,24 @@ }; config: partition@ff0000 { - compatible = "nvmem-cells"; label = "config"; reg = <0xff0000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_config_e08a: eeprom@e08a { - reg = <0xe08a 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_config_e07e: macaddr@e07e { - reg = <0xe07e 0x6>; + eeprom_config_e08a: eeprom@e08a { + reg = <0xe08a 0x200>; + }; + + macaddr_config_e07e: macaddr@e07e { + compatible = "mac-base"; + reg = <0xe07e 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; }; @@ -161,9 +166,8 @@ &pcie0 { mt76x0e@0,0 { reg = <0x0000 0 0 0 0>; - nvmem-cells = <&eeprom_config_e08a>, <&macaddr_config_e07e>; + nvmem-cells = <&eeprom_config_e08a>, <&macaddr_config_e07e 2>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <2>; }; }; diff --git a/target/linux/ramips/dts/mt7620a_lb-link_bl-w1200.dts b/target/linux/ramips/dts/mt7620a_lb-link_bl-w1200.dts index f7b296d250..cefc3c3e92 100644 --- a/target/linux/ramips/dts/mt7620a_lb-link_bl-w1200.dts +++ b/target/linux/ramips/dts/mt7620a_lb-link_bl-w1200.dts @@ -65,23 +65,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_lenovo_newifi-y1.dtsi b/target/linux/ramips/dts/mt7620a_lenovo_newifi-y1.dtsi index f30b1265fe..4ba9779dfd 100644 --- a/target/linux/ramips/dts/mt7620a_lenovo_newifi-y1.dtsi +++ b/target/linux/ramips/dts/mt7620a_lenovo_newifi-y1.dtsi @@ -55,23 +55,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_linksys_e1700.dts b/target/linux/ramips/dts/mt7620a_linksys_e1700.dts index 221da9ec0f..4310f9dfc7 100644 --- a/target/linux/ramips/dts/mt7620a_linksys_e1700.dts +++ b/target/linux/ramips/dts/mt7620a_linksys_e1700.dts @@ -76,19 +76,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_microduino_microwrt.dts b/target/linux/ramips/dts/mt7620a_microduino_microwrt.dts index e260b5b8e8..afba7a06f3 100644 --- a/target/linux/ramips/dts/mt7620a_microduino_microwrt.dts +++ b/target/linux/ramips/dts/mt7620a_microduino_microwrt.dts @@ -54,19 +54,22 @@ }; factory: partition@30000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x30000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_netcore_nw5212.dts b/target/linux/ramips/dts/mt7620a_netcore_nw5212.dts index cf2b1f6a65..34c3d4f42d 100644 --- a/target/linux/ramips/dts/mt7620a_netcore_nw5212.dts +++ b/target/linux/ramips/dts/mt7620a_netcore_nw5212.dts @@ -93,19 +93,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_netgear_ex2700.dts b/target/linux/ramips/dts/mt7620a_netgear_ex2700.dts index e4d280e35d..79b622b1bb 100644 --- a/target/linux/ramips/dts/mt7620a_netgear_ex2700.dts +++ b/target/linux/ramips/dts/mt7620a_netgear_ex2700.dts @@ -112,23 +112,26 @@ }; art: partition@3f0000 { - compatible = "nvmem-cells"; label = "art"; reg = <0x3f0000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_art_6: macaddr@6 { - reg = <0x6 0x6>; - }; + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; - eeprom_art_1000: eeprom@1000 { - reg = <0x1000 0x200>; + macaddr_art_6: macaddr@6 { + reg = <0x6 0x6>; + }; + + eeprom_art_1000: eeprom@1000 { + reg = <0x1000 0x200>; + }; }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_netgear_ex3x00_ex61xx.dtsi b/target/linux/ramips/dts/mt7620a_netgear_ex3x00_ex61xx.dtsi index 5be2a2f044..fe26c3b859 100644 --- a/target/linux/ramips/dts/mt7620a_netgear_ex3x00_ex61xx.dtsi +++ b/target/linux/ramips/dts/mt7620a_netgear_ex3x00_ex61xx.dtsi @@ -98,23 +98,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_netgear_wn3x00rp.dtsi b/target/linux/ramips/dts/mt7620a_netgear_wn3x00rp.dtsi index 23cfe9e11a..8810742e67 100644 --- a/target/linux/ramips/dts/mt7620a_netgear_wn3x00rp.dtsi +++ b/target/linux/ramips/dts/mt7620a_netgear_wn3x00rp.dtsi @@ -116,23 +116,26 @@ }; art: partition@7f0000 { - compatible = "nvmem-cells"; label = "art"; reg = <0x7f0000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - macaddr_art_0: macaddr@0 { - reg = <0x0 0x6>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_art_6: macaddr@6 { - reg = <0x6 0x6>; - }; + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; - eeprom_art_1000: eeprom@1000 { - reg = <0x1000 0x200>; + macaddr_art_6: macaddr@6 { + reg = <0x6 0x6>; + }; + + eeprom_art_1000: eeprom@1000 { + reg = <0x1000 0x200>; + }; }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_netis_wf2770.dts b/target/linux/ramips/dts/mt7620a_netis_wf2770.dts index 93f0924bd4..c2ef142623 100644 --- a/target/linux/ramips/dts/mt7620a_netis_wf2770.dts +++ b/target/linux/ramips/dts/mt7620a_netis_wf2770.dts @@ -74,23 +74,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_ohyeah_oy-0001.dts b/target/linux/ramips/dts/mt7620a_ohyeah_oy-0001.dts index 90ced171c1..2c503db80d 100644 --- a/target/linux/ramips/dts/mt7620a_ohyeah_oy-0001.dts +++ b/target/linux/ramips/dts/mt7620a_ohyeah_oy-0001.dts @@ -73,19 +73,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_phicomm_k2x.dtsi b/target/linux/ramips/dts/mt7620a_phicomm_k2x.dtsi index 36cbf20f32..588789239f 100644 --- a/target/linux/ramips/dts/mt7620a_phicomm_k2x.dtsi +++ b/target/linux/ramips/dts/mt7620a_phicomm_k2x.dtsi @@ -69,23 +69,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_phicomm_psg1208.dts b/target/linux/ramips/dts/mt7620a_phicomm_psg1208.dts index e3c15871bc..74faef8dea 100644 --- a/target/linux/ramips/dts/mt7620a_phicomm_psg1208.dts +++ b/target/linux/ramips/dts/mt7620a_phicomm_psg1208.dts @@ -74,23 +74,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_planex_cs-qr10.dts b/target/linux/ramips/dts/mt7620a_planex_cs-qr10.dts index a4c99d35c4..eeeb7cf657 100644 --- a/target/linux/ramips/dts/mt7620a_planex_cs-qr10.dts +++ b/target/linux/ramips/dts/mt7620a_planex_cs-qr10.dts @@ -80,19 +80,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_planex_db-wrt01.dts b/target/linux/ramips/dts/mt7620a_planex_db-wrt01.dts index a2238354b2..53c0215e0c 100644 --- a/target/linux/ramips/dts/mt7620a_planex_db-wrt01.dts +++ b/target/linux/ramips/dts/mt7620a_planex_db-wrt01.dts @@ -64,19 +64,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_planex_mzk-750dhp.dts b/target/linux/ramips/dts/mt7620a_planex_mzk-750dhp.dts index 5a6dee77ec..3c6f7c582e 100644 --- a/target/linux/ramips/dts/mt7620a_planex_mzk-750dhp.dts +++ b/target/linux/ramips/dts/mt7620a_planex_mzk-750dhp.dts @@ -84,23 +84,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_planex_mzk-ex300np.dts b/target/linux/ramips/dts/mt7620a_planex_mzk-ex300np.dts index 62ca8eddc0..2879f6d870 100644 --- a/target/linux/ramips/dts/mt7620a_planex_mzk-ex300np.dts +++ b/target/linux/ramips/dts/mt7620a_planex_mzk-ex300np.dts @@ -99,19 +99,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_planex_mzk-ex750np.dts b/target/linux/ramips/dts/mt7620a_planex_mzk-ex750np.dts index a6b46d821a..de4df5d277 100644 --- a/target/linux/ramips/dts/mt7620a_planex_mzk-ex750np.dts +++ b/target/linux/ramips/dts/mt7620a_planex_mzk-ex750np.dts @@ -104,23 +104,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_ralink_mt7620a-mt7610e-evb.dts b/target/linux/ramips/dts/mt7620a_ralink_mt7620a-mt7610e-evb.dts index 46f3cfd3ab..02481e5e55 100644 --- a/target/linux/ramips/dts/mt7620a_ralink_mt7620a-mt7610e-evb.dts +++ b/target/linux/ramips/dts/mt7620a_ralink_mt7620a-mt7610e-evb.dts @@ -50,15 +50,18 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_sanlinking_d240.dts b/target/linux/ramips/dts/mt7620a_sanlinking_d240.dts index a9c75e187f..415ecf1bd9 100644 --- a/target/linux/ramips/dts/mt7620a_sanlinking_d240.dts +++ b/target/linux/ramips/dts/mt7620a_sanlinking_d240.dts @@ -111,19 +111,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_sitecom_wlr-4100-v1-002.dts b/target/linux/ramips/dts/mt7620a_sitecom_wlr-4100-v1-002.dts index e6c752a501..d94331a87d 100644 --- a/target/linux/ramips/dts/mt7620a_sitecom_wlr-4100-v1-002.dts +++ b/target/linux/ramips/dts/mt7620a_sitecom_wlr-4100-v1-002.dts @@ -103,19 +103,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_tplink_archer-c2-v1.dts b/target/linux/ramips/dts/mt7620a_tplink_archer-c2-v1.dts index a75cbf43fc..88d2416010 100644 --- a/target/linux/ramips/dts/mt7620a_tplink_archer-c2-v1.dts +++ b/target/linux/ramips/dts/mt7620a_tplink_archer-c2-v1.dts @@ -106,15 +106,20 @@ }; rom: partition@7d0000 { - compatible = "nvmem-cells"; label = "rom"; reg = <0x7d0000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - macaddr_rom_f100: macaddr@f100 { - reg = <0xf100 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_rom_f100: macaddr@f100 { + compatible = "mac-base"; + reg = <0xf100 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -125,19 +130,22 @@ }; radio: partition@7f0000 { - compatible = "nvmem-cells"; label = "radio"; reg = <0x7f0000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_radio_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_radio_8000: eeprom@8000 { - reg = <0x8000 0x200>; + eeprom_radio_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + eeprom_radio_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; }; }; }; @@ -148,7 +156,7 @@ pinctrl-names = "default"; pinctrl-0 = <&rgmii1_pins &rgmii2_pins &mdio_pins>; - nvmem-cells = <&macaddr_rom_f100>; + nvmem-cells = <&macaddr_rom_f100 0>; nvmem-cell-names = "mac-address"; port@5 { @@ -182,7 +190,7 @@ }; &wmac { - nvmem-cells = <&eeprom_radio_0>, <&macaddr_rom_f100>; + nvmem-cells = <&eeprom_radio_0>, <&macaddr_rom_f100 0>; nvmem-cell-names = "eeprom", "mac-address"; }; @@ -201,8 +209,7 @@ &pcie0 { mt76@0,0 { reg = <0x0000 0 0 0 0>; - nvmem-cells = <&eeprom_radio_8000>, <&macaddr_rom_f100>; + nvmem-cells = <&eeprom_radio_8000>, <&macaddr_rom_f100 (-1)>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <(-1)>; }; }; diff --git a/target/linux/ramips/dts/mt7620a_tplink_archer-c20-v1.dts b/target/linux/ramips/dts/mt7620a_tplink_archer-c20-v1.dts index 8fe5b9c3a2..e631f6f4e4 100644 --- a/target/linux/ramips/dts/mt7620a_tplink_archer-c20-v1.dts +++ b/target/linux/ramips/dts/mt7620a_tplink_archer-c20-v1.dts @@ -73,13 +73,11 @@ pinctrl-0 = <&pa_pins>; pinctrl-1 = <&pa_gpio_pins>; - nvmem-cells = <&macaddr_rom_f100>; + nvmem-cells = <&macaddr_rom_f100 (-2)>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(-2)>; }; &wifi { - nvmem-cells = <&macaddr_rom_f100>; + nvmem-cells = <&macaddr_rom_f100 (-1)>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(-1)>; }; diff --git a/target/linux/ramips/dts/mt7620a_tplink_archer-c20i.dts b/target/linux/ramips/dts/mt7620a_tplink_archer-c20i.dts index 88165c02be..d00d2195ee 100644 --- a/target/linux/ramips/dts/mt7620a_tplink_archer-c20i.dts +++ b/target/linux/ramips/dts/mt7620a_tplink_archer-c20i.dts @@ -53,12 +53,11 @@ }; &wmac { - nvmem-cells = <&macaddr_rom_f100>; + nvmem-cells = <&macaddr_rom_f100 0>; nvmem-cell-names = "mac-address"; }; &wifi { - nvmem-cells = <&macaddr_rom_f100>; + nvmem-cells = <&macaddr_rom_f100 (-1)>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(-1)>; }; diff --git a/target/linux/ramips/dts/mt7620a_tplink_archer-c50-v1.dts b/target/linux/ramips/dts/mt7620a_tplink_archer-c50-v1.dts index 4dbd1b2a98..439bc36dc3 100644 --- a/target/linux/ramips/dts/mt7620a_tplink_archer-c50-v1.dts +++ b/target/linux/ramips/dts/mt7620a_tplink_archer-c50-v1.dts @@ -73,13 +73,11 @@ pinctrl-0 = <&pa_pins>; pinctrl-1 = <&pa_gpio_pins>; - nvmem-cells = <&macaddr_rom_f100>; + nvmem-cells = <&macaddr_rom_f100 (-2)>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(-2)>; }; &wifi { - nvmem-cells = <&macaddr_rom_f100>; + nvmem-cells = <&macaddr_rom_f100 (-1)>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(-1)>; }; diff --git a/target/linux/ramips/dts/mt7620a_tplink_archer-mr200.dts b/target/linux/ramips/dts/mt7620a_tplink_archer-mr200.dts index dab106b9bf..cc947e212e 100644 --- a/target/linux/ramips/dts/mt7620a_tplink_archer-mr200.dts +++ b/target/linux/ramips/dts/mt7620a_tplink_archer-mr200.dts @@ -139,15 +139,18 @@ }; rom: partition@7d0000 { - compatible = "nvmem-cells"; label = "rom"; reg = <0x7d0000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - macaddr_rom_f100: macaddr@f100 { - reg = <0xf100 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_rom_f100: macaddr@f100 { + reg = <0xf100 0x6>; + }; }; }; @@ -158,19 +161,22 @@ }; radio: partition@7f0000 { - compatible = "nvmem-cells"; label = "radio"; reg = <0x7f0000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_radio_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_radio_8000: eeprom@8000 { - reg = <0x8000 0x200>; + eeprom_radio_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + eeprom_radio_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_tplink_archer.dtsi b/target/linux/ramips/dts/mt7620a_tplink_archer.dtsi index 6edb7012c8..50a91be8ec 100644 --- a/target/linux/ramips/dts/mt7620a_tplink_archer.dtsi +++ b/target/linux/ramips/dts/mt7620a_tplink_archer.dtsi @@ -69,15 +69,20 @@ }; rom: partition@7d0000 { - compatible = "nvmem-cells"; label = "rom"; reg = <0x7d0000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - macaddr_rom_f100: macaddr@f100 { - reg = <0xf100 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_rom_f100: macaddr@f100 { + compatible = "mac-base"; + reg = <0xf100 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -88,19 +93,22 @@ }; radio: partition@7f0000 { - compatible = "nvmem-cells"; label = "radio"; reg = <0x7f0000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_radio_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_radio_8000: eeprom@8000 { - reg = <0x8000 0x200>; + eeprom_radio_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + eeprom_radio_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_tplink_re2x0-v1.dtsi b/target/linux/ramips/dts/mt7620a_tplink_re2x0-v1.dtsi index e0cb10aac6..02f03afc48 100644 --- a/target/linux/ramips/dts/mt7620a_tplink_re2x0-v1.dtsi +++ b/target/linux/ramips/dts/mt7620a_tplink_re2x0-v1.dtsi @@ -45,15 +45,20 @@ #size-cells = <1>; uboot: partition@0 { - compatible = "nvmem-cells"; label = "u-boot"; reg = <0x0 0x20000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - macaddr_uboot_1fc00: macaddr@1fc00 { - reg = <0x1fc00 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_uboot_1fc00: macaddr@1fc00 { + compatible = "mac-base"; + reg = <0x1fc00 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -70,19 +75,22 @@ }; radio: partition@7f0000 { - compatible = "nvmem-cells"; label = "radio"; reg = <0x7f0000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_radio_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_radio_8000: eeprom@8000 { - reg = <0x8000 0x200>; + eeprom_radio_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + eeprom_radio_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; }; }; }; @@ -90,12 +98,12 @@ }; ðernet { - nvmem-cells = <&macaddr_uboot_1fc00>; + nvmem-cells = <&macaddr_uboot_1fc00 0>; nvmem-cell-names = "mac-address"; }; &wmac { - nvmem-cells = <&eeprom_radio_0>, <&macaddr_uboot_1fc00>; + nvmem-cells = <&eeprom_radio_0>, <&macaddr_uboot_1fc00 0>; nvmem-cell-names = "eeprom", "mac-address"; }; @@ -107,8 +115,7 @@ mt76@0,0 { reg = <0x0000 0 0 0 0>; ieee80211-freq-limit = <5000000 6000000>; - nvmem-cells = <&eeprom_radio_8000>, <&macaddr_uboot_1fc00>; + nvmem-cells = <&eeprom_radio_8000>, <&macaddr_uboot_1fc00 2>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <2>; }; }; diff --git a/target/linux/ramips/dts/mt7620a_wavlink_wl-wn530hg4.dts b/target/linux/ramips/dts/mt7620a_wavlink_wl-wn530hg4.dts index 9ab3a70d14..687b3ced37 100644 --- a/target/linux/ramips/dts/mt7620a_wavlink_wl-wn530hg4.dts +++ b/target/linux/ramips/dts/mt7620a_wavlink_wl-wn530hg4.dts @@ -72,23 +72,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_wavlink_wl-wn535k1.dts b/target/linux/ramips/dts/mt7620a_wavlink_wl-wn535k1.dts index 9938c00531..48f1a7f3c0 100644 --- a/target/linux/ramips/dts/mt7620a_wavlink_wl-wn535k1.dts +++ b/target/linux/ramips/dts/mt7620a_wavlink_wl-wn535k1.dts @@ -93,23 +93,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_wavlink_wl-wn579x3.dts b/target/linux/ramips/dts/mt7620a_wavlink_wl-wn579x3.dts index 0c22e9199b..b2b762d63a 100644 --- a/target/linux/ramips/dts/mt7620a_wavlink_wl-wn579x3.dts +++ b/target/linux/ramips/dts/mt7620a_wavlink_wl-wn579x3.dts @@ -121,23 +121,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_wevo_air-duo.dts b/target/linux/ramips/dts/mt7620a_wevo_air-duo.dts index 2ecb78f9b5..05e61fe614 100644 --- a/target/linux/ramips/dts/mt7620a_wevo_air-duo.dts +++ b/target/linux/ramips/dts/mt7620a_wevo_air-duo.dts @@ -82,23 +82,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_xiaomi_miwifi-mini.dts b/target/linux/ramips/dts/mt7620a_xiaomi_miwifi-mini.dts index a8a7db8082..8ed6b7764d 100644 --- a/target/linux/ramips/dts/mt7620a_xiaomi_miwifi-mini.dts +++ b/target/linux/ramips/dts/mt7620a_xiaomi_miwifi-mini.dts @@ -98,23 +98,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_youku_yk-l1.dtsi b/target/linux/ramips/dts/mt7620a_youku_yk-l1.dtsi index 29ae863df0..fc758a4556 100644 --- a/target/linux/ramips/dts/mt7620a_youku_yk-l1.dtsi +++ b/target/linux/ramips/dts/mt7620a_youku_yk-l1.dtsi @@ -80,23 +80,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_yukai_bocco.dts b/target/linux/ramips/dts/mt7620a_yukai_bocco.dts index 89b5d0e76d..db00c20f4f 100644 --- a/target/linux/ramips/dts/mt7620a_yukai_bocco.dts +++ b/target/linux/ramips/dts/mt7620a_yukai_bocco.dts @@ -103,19 +103,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_zbtlink_zbt-ape522ii.dts b/target/linux/ramips/dts/mt7620a_zbtlink_zbt-ape522ii.dts index d85e35b694..e41a994733 100644 --- a/target/linux/ramips/dts/mt7620a_zbtlink_zbt-ape522ii.dts +++ b/target/linux/ramips/dts/mt7620a_zbtlink_zbt-ape522ii.dts @@ -80,23 +80,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_zbtlink_zbt-we1026.dtsi b/target/linux/ramips/dts/mt7620a_zbtlink_zbt-we1026.dtsi index 1c7e1782cb..30d2fba263 100644 --- a/target/linux/ramips/dts/mt7620a_zbtlink_zbt-we1026.dtsi +++ b/target/linux/ramips/dts/mt7620a_zbtlink_zbt-we1026.dtsi @@ -53,23 +53,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_zbtlink_zbt-we826.dtsi b/target/linux/ramips/dts/mt7620a_zbtlink_zbt-we826.dtsi index b57e58230c..b3032af63f 100644 --- a/target/linux/ramips/dts/mt7620a_zbtlink_zbt-we826.dtsi +++ b/target/linux/ramips/dts/mt7620a_zbtlink_zbt-we826.dtsi @@ -75,19 +75,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_zte_q7.dts b/target/linux/ramips/dts/mt7620a_zte_q7.dts index 38bd1a4475..3848f7317e 100644 --- a/target/linux/ramips/dts/mt7620a_zte_q7.dts +++ b/target/linux/ramips/dts/mt7620a_zte_q7.dts @@ -69,19 +69,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620a_zyxel_keenetic-viva.dts b/target/linux/ramips/dts/mt7620a_zyxel_keenetic-viva.dts index 0b93c4ff10..abeb4c2a2d 100644 --- a/target/linux/ramips/dts/mt7620a_zyxel_keenetic-viva.dts +++ b/target/linux/ramips/dts/mt7620a_zyxel_keenetic-viva.dts @@ -112,19 +112,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620n_asus_rt-n12p.dts b/target/linux/ramips/dts/mt7620n_asus_rt-n12p.dts index 44904d148e..29350a8556 100644 --- a/target/linux/ramips/dts/mt7620n_asus_rt-n12p.dts +++ b/target/linux/ramips/dts/mt7620n_asus_rt-n12p.dts @@ -91,19 +91,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620n_asus_rt-n14u.dts b/target/linux/ramips/dts/mt7620n_asus_rt-n14u.dts index eb366ec171..c467ed0dde 100644 --- a/target/linux/ramips/dts/mt7620n_asus_rt-n14u.dts +++ b/target/linux/ramips/dts/mt7620n_asus_rt-n14u.dts @@ -96,19 +96,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620n_buffalo_wmr-300.dts b/target/linux/ramips/dts/mt7620n_buffalo_wmr-300.dts index 8fbf66abc8..a714960b7f 100644 --- a/target/linux/ramips/dts/mt7620n_buffalo_wmr-300.dts +++ b/target/linux/ramips/dts/mt7620n_buffalo_wmr-300.dts @@ -80,19 +80,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620n_comfast_cf-wr800n.dts b/target/linux/ramips/dts/mt7620n_comfast_cf-wr800n.dts index 6f1a78dc98..19e968bf94 100644 --- a/target/linux/ramips/dts/mt7620n_comfast_cf-wr800n.dts +++ b/target/linux/ramips/dts/mt7620n_comfast_cf-wr800n.dts @@ -86,19 +86,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620n_elecom_wrh-300cr.dts b/target/linux/ramips/dts/mt7620n_elecom_wrh-300cr.dts index a5f240c4ba..afb14b1188 100644 --- a/target/linux/ramips/dts/mt7620n_elecom_wrh-300cr.dts +++ b/target/linux/ramips/dts/mt7620n_elecom_wrh-300cr.dts @@ -83,19 +83,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_2e: macaddr@2e { - reg = <0x2e 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_2e: macaddr@2e { + reg = <0x2e 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620n_kimax_u35wf.dts b/target/linux/ramips/dts/mt7620n_kimax_u35wf.dts index 215f96f462..9296d54d59 100644 --- a/target/linux/ramips/dts/mt7620n_kimax_u35wf.dts +++ b/target/linux/ramips/dts/mt7620n_kimax_u35wf.dts @@ -73,19 +73,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620n_kingston_mlw221.dts b/target/linux/ramips/dts/mt7620n_kingston_mlw221.dts index 5324d7dcf0..ce1f0e9f8b 100644 --- a/target/linux/ramips/dts/mt7620n_kingston_mlw221.dts +++ b/target/linux/ramips/dts/mt7620n_kingston_mlw221.dts @@ -79,19 +79,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620n_kingston_mlwg2.dts b/target/linux/ramips/dts/mt7620n_kingston_mlwg2.dts index ecb0f19487..0293b89bfa 100644 --- a/target/linux/ramips/dts/mt7620n_kingston_mlwg2.dts +++ b/target/linux/ramips/dts/mt7620n_kingston_mlwg2.dts @@ -79,19 +79,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620n_netgear_n300.dtsi b/target/linux/ramips/dts/mt7620n_netgear_n300.dtsi index ce14ec3e01..1c2e517466 100644 --- a/target/linux/ramips/dts/mt7620n_netgear_n300.dtsi +++ b/target/linux/ramips/dts/mt7620n_netgear_n300.dtsi @@ -57,19 +57,22 @@ }; factory: partition@3f0000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x3f0000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; }; diff --git a/target/linux/ramips/dts/mt7620n_netgear_pr2000.dts b/target/linux/ramips/dts/mt7620n_netgear_pr2000.dts index 8d6792289c..f06b974982 100644 --- a/target/linux/ramips/dts/mt7620n_netgear_pr2000.dts +++ b/target/linux/ramips/dts/mt7620n_netgear_pr2000.dts @@ -104,28 +104,34 @@ }; factory: partition@f60000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0xf60000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; }; }; board_data: partition@f70000 { - compatible = "nvmem-cells"; label = "board_data"; reg = <0xf70000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - macaddr_board_data_b0: macaddr@b0 { - reg = <0xb0 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_board_data_b0: macaddr@b0 { + reg = <0xb0 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620n_nexx_wt3020.dtsi b/target/linux/ramips/dts/mt7620n_nexx_wt3020.dtsi index b6e6d9d263..8903ab5c36 100644 --- a/target/linux/ramips/dts/mt7620n_nexx_wt3020.dtsi +++ b/target/linux/ramips/dts/mt7620n_nexx_wt3020.dtsi @@ -60,19 +60,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620n_snr_cpe-w4n-mt.dts b/target/linux/ramips/dts/mt7620n_snr_cpe-w4n-mt.dts index a1a5606842..25af8d5330 100644 --- a/target/linux/ramips/dts/mt7620n_snr_cpe-w4n-mt.dts +++ b/target/linux/ramips/dts/mt7620n_snr_cpe-w4n-mt.dts @@ -91,15 +91,18 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "Factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620n_sunvalley_filehub.dtsi b/target/linux/ramips/dts/mt7620n_sunvalley_filehub.dtsi index 180d91b2cb..88958bba14 100644 --- a/target/linux/ramips/dts/mt7620n_sunvalley_filehub.dtsi +++ b/target/linux/ramips/dts/mt7620n_sunvalley_filehub.dtsi @@ -80,19 +80,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620n_vonets_var11n-300.dts b/target/linux/ramips/dts/mt7620n_vonets_var11n-300.dts index 0cd3c0b186..53229ed865 100644 --- a/target/linux/ramips/dts/mt7620n_vonets_var11n-300.dts +++ b/target/linux/ramips/dts/mt7620n_vonets_var11n-300.dts @@ -60,19 +60,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620n_wrtnode_wrtnode.dts b/target/linux/ramips/dts/mt7620n_wrtnode_wrtnode.dts index d0b4804c19..8e608bba2e 100644 --- a/target/linux/ramips/dts/mt7620n_wrtnode_wrtnode.dts +++ b/target/linux/ramips/dts/mt7620n_wrtnode_wrtnode.dts @@ -53,19 +53,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620n_zbtlink_zbt-cpe102.dts b/target/linux/ramips/dts/mt7620n_zbtlink_zbt-cpe102.dts index 9cece28fc0..1510b19b17 100644 --- a/target/linux/ramips/dts/mt7620n_zbtlink_zbt-cpe102.dts +++ b/target/linux/ramips/dts/mt7620n_zbtlink_zbt-cpe102.dts @@ -76,19 +76,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620n_zbtlink_zbt-wa05.dts b/target/linux/ramips/dts/mt7620n_zbtlink_zbt-wa05.dts index 59ae3e7a48..52c497645b 100644 --- a/target/linux/ramips/dts/mt7620n_zbtlink_zbt-wa05.dts +++ b/target/linux/ramips/dts/mt7620n_zbtlink_zbt-wa05.dts @@ -84,19 +84,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620n_zbtlink_zbt-we2026.dts b/target/linux/ramips/dts/mt7620n_zbtlink_zbt-we2026.dts index acf3501f90..7000447c6c 100644 --- a/target/linux/ramips/dts/mt7620n_zbtlink_zbt-we2026.dts +++ b/target/linux/ramips/dts/mt7620n_zbtlink_zbt-we2026.dts @@ -77,19 +77,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620n_zbtlink_zbt-wr8305rt.dts b/target/linux/ramips/dts/mt7620n_zbtlink_zbt-wr8305rt.dts index 56a2b53871..20063e2b47 100644 --- a/target/linux/ramips/dts/mt7620n_zbtlink_zbt-wr8305rt.dts +++ b/target/linux/ramips/dts/mt7620n_zbtlink_zbt-wr8305rt.dts @@ -80,19 +80,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620n_zyxel_keenetic-lite-iii-a.dts b/target/linux/ramips/dts/mt7620n_zyxel_keenetic-lite-iii-a.dts index 4c6e2a80bc..2241b27673 100644 --- a/target/linux/ramips/dts/mt7620n_zyxel_keenetic-lite-iii-a.dts +++ b/target/linux/ramips/dts/mt7620n_zyxel_keenetic-lite-iii-a.dts @@ -108,15 +108,18 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "RF-EEPROM"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620n_zyxel_keenetic-omni-ii.dts b/target/linux/ramips/dts/mt7620n_zyxel_keenetic-omni-ii.dts index 94f8a650ae..1937c3a14c 100644 --- a/target/linux/ramips/dts/mt7620n_zyxel_keenetic-omni-ii.dts +++ b/target/linux/ramips/dts/mt7620n_zyxel_keenetic-omni-ii.dts @@ -108,19 +108,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7620n_zyxel_keenetic-omni.dts b/target/linux/ramips/dts/mt7620n_zyxel_keenetic-omni.dts index eb9ca6aba2..8faab1cc6b 100644 --- a/target/linux/ramips/dts/mt7620n_zyxel_keenetic-omni.dts +++ b/target/linux/ramips/dts/mt7620n_zyxel_keenetic-omni.dts @@ -108,19 +108,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_adslr_g7.dts b/target/linux/ramips/dts/mt7621_adslr_g7.dts index fe04648f0e..ef3a64e031 100644 --- a/target/linux/ramips/dts/mt7621_adslr_g7.dts +++ b/target/linux/ramips/dts/mt7621_adslr_g7.dts @@ -64,23 +64,28 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x4da8>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; - macaddr_factory_e00c: macaddr@e00c { - reg = <0xe00c 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; + + macaddr_factory_e00c: macaddr@e00c { + compatible = "mac-base"; + reg = <0xe00c 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -118,7 +123,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_factory_e00c>; + nvmem-cells = <&macaddr_factory_e00c 0>; nvmem-cell-names = "mac-address"; }; @@ -127,9 +132,8 @@ label = "wan"; phy-handle = <ðphy4>; - nvmem-cells = <&macaddr_factory_e00c>; + nvmem-cells = <&macaddr_factory_e00c 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; &mdio { diff --git a/target/linux/ramips/dts/mt7621_afoundry_ew1200.dts b/target/linux/ramips/dts/mt7621_afoundry_ew1200.dts index 30a0382462..d63ae33311 100644 --- a/target/linux/ramips/dts/mt7621_afoundry_ew1200.dts +++ b/target/linux/ramips/dts/mt7621_afoundry_ew1200.dts @@ -71,23 +71,28 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_e000: macaddr@e000 { + compatible = "mac-base"; + reg = <0xe000 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -135,7 +140,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_factory_e000>; + nvmem-cells = <&macaddr_factory_e000 0>; nvmem-cell-names = "mac-address"; }; @@ -144,9 +149,8 @@ label = "wan"; phy-handle = <ðphy4>; - nvmem-cells = <&macaddr_factory_e000>; + nvmem-cells = <&macaddr_factory_e000 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; &mdio { diff --git a/target/linux/ramips/dts/mt7621_alfa-network_ax1800rm.dts b/target/linux/ramips/dts/mt7621_alfa-network_ax1800rm.dts index 1ef1f7fb31..e07cddefc5 100644 --- a/target/linux/ramips/dts/mt7621_alfa-network_ax1800rm.dts +++ b/target/linux/ramips/dts/mt7621_alfa-network_ax1800rm.dts @@ -117,7 +117,6 @@ }; partition@50000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x50000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_alfa-network_quad-e4g.dts b/target/linux/ramips/dts/mt7621_alfa-network_quad-e4g.dts index cc048d4487..2bc0fad9c5 100644 --- a/target/linux/ramips/dts/mt7621_alfa-network_quad-e4g.dts +++ b/target/linux/ramips/dts/mt7621_alfa-network_quad-e4g.dts @@ -245,6 +245,20 @@ label = "factory"; reg = <0x40000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; + }; }; partition@50000 { @@ -263,17 +277,3 @@ &uartlite3 { status = "okay"; }; - -&factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; - - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; - }; -}; diff --git a/target/linux/ramips/dts/mt7621_ampedwireless_ally.dtsi b/target/linux/ramips/dts/mt7621_ampedwireless_ally.dtsi index 4f06271239..35274afbf3 100644 --- a/target/linux/ramips/dts/mt7621_ampedwireless_ally.dtsi +++ b/target/linux/ramips/dts/mt7621_ampedwireless_ally.dtsi @@ -107,19 +107,22 @@ }; factory: partition@100000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x100000 0x40000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x4da8>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; + + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_arcadyan_we420223-99.dts b/target/linux/ramips/dts/mt7621_arcadyan_we420223-99.dts index 1d55453c8d..fbf276c320 100644 --- a/target/linux/ramips/dts/mt7621_arcadyan_we420223-99.dts +++ b/target/linux/ramips/dts/mt7621_arcadyan_we420223-99.dts @@ -130,15 +130,18 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "Factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x4da8>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_arcadyan_wg4xx223.dtsi b/target/linux/ramips/dts/mt7621_arcadyan_wg4xx223.dtsi index 8e05c3af50..7b3f316a8c 100644 --- a/target/linux/ramips/dts/mt7621_arcadyan_wg4xx223.dtsi +++ b/target/linux/ramips/dts/mt7621_arcadyan_wg4xx223.dtsi @@ -79,25 +79,28 @@ }; factory: partition@200000 { - compatible = "nvmem-cells"; label = "Factory"; reg = <0x200000 0x100000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x4da8>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - /* We keep the block below to prevent eth0 MAC - * from randomization. Unique WAN, LAN, WLAN MACs - * are stored in u-boot-env. - */ + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; - /* Default Ralink MAC (00:0c:43:28:80:xx) */ - macaddr_factory_fff0: macaddr@fff0 { - reg = <0xfff0 0x6>; + /* We keep the block below to prevent eth0 MAC + * from randomization. Unique WAN, LAN, WLAN MACs + * are stored in u-boot-env. + */ + + /* Default Ralink MAC (00:0c:43:28:80:xx) */ + macaddr_factory_fff0: macaddr@fff0 { + reg = <0xfff0 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_asiarf_ap7621-001.dts b/target/linux/ramips/dts/mt7621_asiarf_ap7621-001.dts index 5e57842d68..2d4bc016c1 100644 --- a/target/linux/ramips/dts/mt7621_asiarf_ap7621-001.dts +++ b/target/linux/ramips/dts/mt7621_asiarf_ap7621-001.dts @@ -7,22 +7,6 @@ model = "AsiaRF AP7621-001"; }; -&gmac1 { - status = "okay"; - label = "wan"; - phy-handle = <ðphy4>; - - nvmem-cells = <&macaddr_factory_e000>; - nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; -}; - -&mdio { - ethphy4: ethernet-phy@4 { - reg = <4>; - }; -}; - &switch0 { ports { port@0 { diff --git a/target/linux/ramips/dts/mt7621_asiarf_ap7621-nv1.dts b/target/linux/ramips/dts/mt7621_asiarf_ap7621-nv1.dts index dabc1a3bd3..f6914e4359 100644 --- a/target/linux/ramips/dts/mt7621_asiarf_ap7621-nv1.dts +++ b/target/linux/ramips/dts/mt7621_asiarf_ap7621-nv1.dts @@ -7,22 +7,6 @@ model = "AsiaRF AP7621-NV1"; }; -&gmac1 { - status = "okay"; - label = "wan"; - phy-handle = <ðphy0>; - - nvmem-cells = <&macaddr_factory_e000>; - nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; -}; - -&mdio { - ethphy0: ethernet-phy@0 { - reg = <0>; - }; -}; - &switch0 { ports { port@2 { diff --git a/target/linux/ramips/dts/mt7621_asiarf_ap7621.dtsi b/target/linux/ramips/dts/mt7621_asiarf_ap7621.dtsi index bea0b79df5..acb2c81a0d 100644 --- a/target/linux/ramips/dts/mt7621_asiarf_ap7621.dtsi +++ b/target/linux/ramips/dts/mt7621_asiarf_ap7621.dtsi @@ -78,6 +78,18 @@ label = "factory"; reg = <0x40000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_e000: macaddr@e000 { + compatible = "mac-base"; + reg = <0xe000 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@50000 { @@ -99,8 +111,23 @@ status = "okay"; }; +&mdio { + ethphy4: ethernet-phy@4 { + reg = <4>; + }; +}; + &gmac0 { - nvmem-cells = <&macaddr_factory_e000>; + nvmem-cells = <&macaddr_factory_e000 0>; + nvmem-cell-names = "mac-address"; +}; + +&gmac1 { + status = "okay"; + label = "wan"; + phy-handle = <ðphy4>; + + nvmem-cells = <&macaddr_factory_e000 1>; nvmem-cell-names = "mac-address"; }; @@ -110,13 +137,3 @@ function = "gpio"; }; }; - -&factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; -}; diff --git a/target/linux/ramips/dts/mt7621_asus_rp-ac56.dts b/target/linux/ramips/dts/mt7621_asus_rp-ac56.dts index bc623067a8..d9fdb3b675 100644 --- a/target/linux/ramips/dts/mt7621_asus_rp-ac56.dts +++ b/target/linux/ramips/dts/mt7621_asus_rp-ac56.dts @@ -136,23 +136,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_asus_rp-ac87.dts b/target/linux/ramips/dts/mt7621_asus_rp-ac87.dts index 47df1dbe57..34e64182cf 100644 --- a/target/linux/ramips/dts/mt7621_asus_rp-ac87.dts +++ b/target/linux/ramips/dts/mt7621_asus_rp-ac87.dts @@ -110,23 +110,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x4da8>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; - macaddr_factory_8004: macaddr@8004 { - reg = <0x8004 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; + + macaddr_factory_8004: macaddr@8004 { + reg = <0x8004 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_asus_rt-ac57u-v1.dts b/target/linux/ramips/dts/mt7621_asus_rt-ac57u-v1.dts index 322a96b700..6790b37d1a 100644 --- a/target/linux/ramips/dts/mt7621_asus_rt-ac57u-v1.dts +++ b/target/linux/ramips/dts/mt7621_asus_rt-ac57u-v1.dts @@ -86,27 +86,30 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_asus_rt-acx5p.dtsi b/target/linux/ramips/dts/mt7621_asus_rt-acx5p.dtsi index bb9171bbac..7c607f962d 100644 --- a/target/linux/ramips/dts/mt7621_asus_rt-acx5p.dtsi +++ b/target/linux/ramips/dts/mt7621_asus_rt-acx5p.dtsi @@ -80,23 +80,26 @@ }; factory: partition@1e0000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x1e0000 0x100000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x4da8>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; + + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_asus_rt-ax53u.dts b/target/linux/ramips/dts/mt7621_asus_rt-ax53u.dts index d740d00c6d..d18a503b85 100644 --- a/target/linux/ramips/dts/mt7621_asus_rt-ax53u.dts +++ b/target/linux/ramips/dts/mt7621_asus_rt-ax53u.dts @@ -99,12 +99,14 @@ reg = <0x1e0000 0x100000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_asus_rt-ax54.dts b/target/linux/ramips/dts/mt7621_asus_rt-ax54.dts index 3191692e4e..8466cda587 100644 --- a/target/linux/ramips/dts/mt7621_asus_rt-ax54.dts +++ b/target/linux/ramips/dts/mt7621_asus_rt-ax54.dts @@ -91,12 +91,14 @@ reg = <0x1e0000 0x100000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_asus_rt-n56u-b1.dts b/target/linux/ramips/dts/mt7621_asus_rt-n56u-b1.dts index 77e3fffcc1..cfc8330fe5 100644 --- a/target/linux/ramips/dts/mt7621_asus_rt-n56u-b1.dts +++ b/target/linux/ramips/dts/mt7621_asus_rt-n56u-b1.dts @@ -105,27 +105,30 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; - }; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; - macaddr_factory_8004: macaddr@8004 { - reg = <0x8004 0x6>; + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; + + macaddr_factory_8004: macaddr@8004 { + reg = <0x8004 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_beeline_smartbox-giga.dts b/target/linux/ramips/dts/mt7621_beeline_smartbox-giga.dts index eb64bd0bfd..f2a99a63a8 100644 --- a/target/linux/ramips/dts/mt7621_beeline_smartbox-giga.dts +++ b/target/linux/ramips/dts/mt7621_beeline_smartbox-giga.dts @@ -94,24 +94,29 @@ }; factory: partition@200000 { - compatible = "nvmem-cells"; label = "Factory"; reg = <0x200000 0x100000>; - #address-cells = <1>; - #size-cells = <1>; sercomm,scpart-id = <2>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_21000: macaddr@21000 { - reg = <0x21000 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; + + macaddr_factory_21000: macaddr@21000 { + compatible = "mac-base"; + reg = <0x21000 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -184,9 +189,8 @@ reg = <0x0000 0 0 0 0>; ieee80211-freq-limit = <5000000 6000000>; - nvmem-cells = <&eeprom_factory_8000>, <&macaddr_factory_21000>; + nvmem-cells = <&eeprom_factory_8000>, <&macaddr_factory_21000 5>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <(5)>; }; }; @@ -196,14 +200,13 @@ reg = <0x0000 0 0 0 0>; ieee80211-freq-limit = <2400000 2500000>; - nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_21000>; + nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_21000 4>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <(4)>; }; }; &gmac0 { - nvmem-cells = <&macaddr_factory_21000>; + nvmem-cells = <&macaddr_factory_21000 0>; nvmem-cell-names = "mac-address"; }; @@ -212,9 +215,8 @@ label = "wan"; phy-handle = <ðphy0>; - nvmem-cells = <&macaddr_factory_21000>; + nvmem-cells = <&macaddr_factory_21000 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(1)>; }; &mdio { diff --git a/target/linux/ramips/dts/mt7621_beeline_smartbox-pro.dts b/target/linux/ramips/dts/mt7621_beeline_smartbox-pro.dts index e3e248d48f..e2c0165e6b 100644 --- a/target/linux/ramips/dts/mt7621_beeline_smartbox-pro.dts +++ b/target/linux/ramips/dts/mt7621_beeline_smartbox-pro.dts @@ -116,3 +116,14 @@ * 0x10000000-0xfc00000=0x400000 */ }; + +&pcie1 { + wlan_2g: wifi@0,0 { + compatible = "mediatek,mt76"; + reg = <0x0000 0 0 0 0>; + ieee80211-freq-limit = <2400000 2500000>; + + nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_1000 0>; + nvmem-cell-names = "eeprom", "mac-address"; + }; +}; diff --git a/target/linux/ramips/dts/mt7621_beeline_smartbox-turbo-plus.dts b/target/linux/ramips/dts/mt7621_beeline_smartbox-turbo-plus.dts index b07346bacb..00f4957c57 100644 --- a/target/linux/ramips/dts/mt7621_beeline_smartbox-turbo-plus.dts +++ b/target/linux/ramips/dts/mt7621_beeline_smartbox-turbo-plus.dts @@ -100,24 +100,29 @@ }; factory: partition@200000 { - compatible = "nvmem-cells"; label = "Factory"; reg = <0x200000 0x100000>; - #address-cells = <1>; - #size-cells = <1>; sercomm,scpart-id = <2>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_21000: macaddr@21000 { - reg = <0x21000 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; + + macaddr_factory_21000: macaddr@21000 { + compatible = "mac-base"; + reg = <0x21000 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -177,9 +182,8 @@ reg = <0x0000 0 0 0 0>; ieee80211-freq-limit = <5000000 6000000>; - nvmem-cells = <&eeprom_factory_8000>, <&macaddr_factory_21000>; + nvmem-cells = <&eeprom_factory_8000>, <&macaddr_factory_21000 5>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <(5)>; }; }; @@ -189,14 +193,13 @@ reg = <0x0000 0 0 0 0>; ieee80211-freq-limit = <2400000 2500000>; - nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_21000>; + nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_21000 4>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <(4)>; }; }; &gmac0 { - nvmem-cells = <&macaddr_factory_21000>; + nvmem-cells = <&macaddr_factory_21000 0>; nvmem-cell-names = "mac-address"; }; @@ -205,9 +208,8 @@ label = "wan"; phy-handle = <ðphy0>; - nvmem-cells = <&macaddr_factory_21000>; + nvmem-cells = <&macaddr_factory_21000 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(1)>; }; &mdio { diff --git a/target/linux/ramips/dts/mt7621_beeline_smartbox-turbo.dts b/target/linux/ramips/dts/mt7621_beeline_smartbox-turbo.dts index df80f49e97..f9b53ae0b3 100644 --- a/target/linux/ramips/dts/mt7621_beeline_smartbox-turbo.dts +++ b/target/linux/ramips/dts/mt7621_beeline_smartbox-turbo.dts @@ -9,22 +9,19 @@ &pcie0 { wifi@0,0 { - nvmem-cells = <&macaddr_factory_21000>; + nvmem-cells = <&macaddr_factory_21000 5>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(5)>; }; }; &pcie1 { wifi@0,0 { - nvmem-cells = <&macaddr_factory_21000>; + nvmem-cells = <&macaddr_factory_21000 4>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(4)>; }; }; &gmac1 { - nvmem-cells = <&macaddr_factory_21000>; + nvmem-cells = <&macaddr_factory_21000 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(1)>; }; diff --git a/target/linux/ramips/dts/mt7621_belkin_rt1800.dts b/target/linux/ramips/dts/mt7621_belkin_rt1800.dts index 2e5fcc8bca..e7acc55e50 100644 --- a/target/linux/ramips/dts/mt7621_belkin_rt1800.dts +++ b/target/linux/ramips/dts/mt7621_belkin_rt1800.dts @@ -86,15 +86,18 @@ }; factory: partition@100000 { - compatible = "nvmem-cells"; label = "Factory"; reg = <0x100000 0x80000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0xe00>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_0: eeprom@0 { + reg = <0x0 0xe00>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_bolt_arion.dts b/target/linux/ramips/dts/mt7621_bolt_arion.dts index 826d3f928a..83855f9dc8 100644 --- a/target/linux/ramips/dts/mt7621_bolt_arion.dts +++ b/target/linux/ramips/dts/mt7621_bolt_arion.dts @@ -100,23 +100,28 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + compatible = "mac-base"; + reg = <0x28 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -154,9 +159,8 @@ }; &gmac0 { - nvmem-cells = <&macaddr_factory_28>; + nvmem-cells = <&macaddr_factory_28 3>; nvmem-cell-names = "mac-address"; - mac-address-increment = <3>; }; &switch0 { @@ -169,7 +173,7 @@ wan: port@1 { status = "okay"; label = "wan"; - nvmem-cells = <&macaddr_factory_28>; + nvmem-cells = <&macaddr_factory_28 0>; nvmem-cell-names = "mac-address"; }; diff --git a/target/linux/ramips/dts/mt7621_buffalo_wsr-1166dhp.dts b/target/linux/ramips/dts/mt7621_buffalo_wsr-1166dhp.dts index 795fe256b3..f176691aac 100644 --- a/target/linux/ramips/dts/mt7621_buffalo_wsr-1166dhp.dts +++ b/target/linux/ramips/dts/mt7621_buffalo_wsr-1166dhp.dts @@ -133,19 +133,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_buffalo_wsr-2533dhpl.dts b/target/linux/ramips/dts/mt7621_buffalo_wsr-2533dhpl.dts index 4ceb4e54e0..b4ba1519d3 100644 --- a/target/linux/ramips/dts/mt7621_buffalo_wsr-2533dhpl.dts +++ b/target/linux/ramips/dts/mt7621_buffalo_wsr-2533dhpl.dts @@ -131,23 +131,28 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x4da8>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; + + macaddr_factory_4: macaddr@4 { + compatible = "mac-base"; + reg = <0x4 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -179,9 +184,8 @@ }; &gmac0 { - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 (-1)>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(-1)>; }; &gmac1 { @@ -189,9 +193,8 @@ label = "wan"; phy-handle = <ðphy0>; - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 (-1)>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(-1)>; }; &mdio { diff --git a/target/linux/ramips/dts/mt7621_buffalo_wsr-600dhp.dts b/target/linux/ramips/dts/mt7621_buffalo_wsr-600dhp.dts index b6db48a347..e1b82816f0 100644 --- a/target/linux/ramips/dts/mt7621_buffalo_wsr-600dhp.dts +++ b/target/linux/ramips/dts/mt7621_buffalo_wsr-600dhp.dts @@ -133,23 +133,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_comfast_cf-e390ax.dts b/target/linux/ramips/dts/mt7621_comfast_cf-e390ax.dts index 80600470e7..ac0c19c022 100644 --- a/target/linux/ramips/dts/mt7621_comfast_cf-e390ax.dts +++ b/target/linux/ramips/dts/mt7621_comfast_cf-e390ax.dts @@ -90,6 +90,18 @@ label = "factory"; reg = <0x50000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_e000: macaddr@e000 { + compatible = "mac-base"; + reg = <0xe000 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@90000 { @@ -101,18 +113,8 @@ }; }; -&factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; -}; - &gmac0 { - nvmem-cells = <&macaddr_factory_e000>; + nvmem-cells = <&macaddr_factory_e000 0>; nvmem-cell-names = "mac-address"; }; @@ -121,9 +123,8 @@ port@0 { status = "okay"; label = "wan"; - nvmem-cells = <&macaddr_factory_e000>; + nvmem-cells = <&macaddr_factory_e000 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; port@4 { diff --git a/target/linux/ramips/dts/mt7621_comfast_cf-ew72-v2.dts b/target/linux/ramips/dts/mt7621_comfast_cf-ew72-v2.dts index f26e6626f5..a915a5d79f 100644 --- a/target/linux/ramips/dts/mt7621_comfast_cf-ew72-v2.dts +++ b/target/linux/ramips/dts/mt7621_comfast_cf-ew72-v2.dts @@ -107,7 +107,6 @@ factory: partition@40000 { label = "factory"; - compatible = "nvmem-cells"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_cudy_m1800.dts b/target/linux/ramips/dts/mt7621_cudy_m1800.dts index 314fdb206c..29d6f9e41a 100644 --- a/target/linux/ramips/dts/mt7621_cudy_m1800.dts +++ b/target/linux/ramips/dts/mt7621_cudy_m1800.dts @@ -53,9 +53,8 @@ }; &gmac0 { - nvmem-cells = <&macaddr_bdinfo_de00>; + nvmem-cells = <&macaddr_bdinfo_de00 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; &gmac1 { @@ -63,7 +62,7 @@ label = "lan"; phy-handle = <ðphy4>; - nvmem-cells = <&macaddr_bdinfo_de00>; + nvmem-cells = <&macaddr_bdinfo_de00 0>; nvmem-cell-names = "mac-address"; }; @@ -148,12 +147,16 @@ reg = <0x1ff0000 0x10000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_bdinfo_de00: macaddr@de00 { - reg = <0xde00 0x6>; + macaddr_bdinfo_de00: macaddr@de00 { + compatible = "mac-base"; + reg = <0xde00 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; }; diff --git a/target/linux/ramips/dts/mt7621_cudy_wr1300-v1.dts b/target/linux/ramips/dts/mt7621_cudy_wr1300-v1.dts index fcc16c31b5..e87209fbb1 100644 --- a/target/linux/ramips/dts/mt7621_cudy_wr1300-v1.dts +++ b/target/linux/ramips/dts/mt7621_cudy_wr1300-v1.dts @@ -85,19 +85,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; }; }; @@ -120,15 +123,20 @@ }; bdinfo: partition@ff0000 { - compatible = "nvmem-cells"; label = "bdinfo"; reg = <0xff0000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - macaddr_bdinfo_de00: macaddr@de00 { - reg = <0xde00 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_bdinfo_de00: macaddr@de00 { + compatible = "mac-base"; + reg = <0xde00 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; }; @@ -143,7 +151,7 @@ wifi@0,0 { compatible = "pci14c3,7603"; reg = <0x0000 0 0 0 0>; - nvmem-cells = <&eeprom_factory_0>, <&macaddr_bdinfo_de00>; + nvmem-cells = <&eeprom_factory_0>, <&macaddr_bdinfo_de00 0>; nvmem-cell-names = "eeprom", "mac-address"; ieee80211-freq-limit = <2400000 2500000>; @@ -157,9 +165,8 @@ wifi@0,0 { compatible = "pci14c3,7662"; reg = <0x0000 0 0 0 0>; - nvmem-cells = <&eeprom_factory_8000>, <&macaddr_bdinfo_de00>; + nvmem-cells = <&eeprom_factory_8000>, <&macaddr_bdinfo_de00 2>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <2>; ieee80211-freq-limit = <5000000 6000000>; led { @@ -170,7 +177,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_bdinfo_de00>; + nvmem-cells = <&macaddr_bdinfo_de00 0>; nvmem-cell-names = "mac-address"; }; @@ -179,9 +186,8 @@ label = "wan"; phy-handle = <ðphy4>; - nvmem-cells = <&macaddr_bdinfo_de00>; + nvmem-cells = <&macaddr_bdinfo_de00 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; &mdio { diff --git a/target/linux/ramips/dts/mt7621_cudy_wr1300-v2.dts b/target/linux/ramips/dts/mt7621_cudy_wr1300-v2.dts index a4a148f53b..a33279e596 100644 --- a/target/linux/ramips/dts/mt7621_cudy_wr1300-v2.dts +++ b/target/linux/ramips/dts/mt7621_cudy_wr1300-v2.dts @@ -1,143 +1,19 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -#include "mt7621.dtsi" - -#include -#include +#include "mt7621_cudy_wr1300-v2v3.dtsi" / { compatible = "cudy,wr1300-v2", "mediatek,mt7621-soc"; model = "Cudy WR1300 v2"; - - aliases { - led-boot = &led_sys; - led-failsafe = &led_sys; - led-running = &led_sys; - led-upgrade = &led_sys; - label-mac-device = &gmac0; - }; - - chosen { - bootargs = "console=ttyS0,115200"; - }; - - keys { - compatible = "gpio-keys"; - - reset { - label = "reset"; - gpios = <&gpio 18 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - - wps { - label = "wps"; - gpios = <&gpio 7 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; - - leds { - compatible = "gpio-leds"; - - led_sys: sys { - label = "green:sys"; - gpios = <&gpio 15 GPIO_ACTIVE_LOW>; - }; - - wps { - label = "green:wps"; - gpios = <&gpio 13 GPIO_ACTIVE_LOW>; - }; - }; -}; - -&spi0 { - status = "okay"; - - flash@0 { - compatible = "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <40000000>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition@0 { - label = "u-boot"; - reg = <0x0 0x30000>; - read-only; - }; - - partition@30000 { - label = "u-boot-env"; - reg = <0x30000 0x10000>; - read-only; - }; - - factory: partition@40000 { - compatible = "nvmem-cells"; - label = "factory"; - reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; - read-only; - - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; - - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; - }; - }; - - partition@50000 { - compatible = "denx,uimage"; - label = "firmware"; - reg = <0x50000 0xf80000>; - }; - - partition@fd0000 { - label = "debug"; - reg = <0xfd0000 0x10000>; - read-only; - }; - - partition@fe0000 { - label = "backup"; - reg = <0xfe0000 0x10000>; - read-only; - }; - - bdinfo: partition@ff0000 { - compatible = "nvmem-cells"; - label = "bdinfo"; - reg = <0xff0000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; - read-only; - - macaddr_bdinfo_de00: macaddr@de00 { - reg = <0xde00 0x6>; - }; - }; - }; - }; -}; - -&pcie { - status = "okay"; }; &pcie1 { wifi@0,0 { compatible = "mediatek,mt76"; reg = <0x0000 0 0 0 0>; - nvmem-cells = <&eeprom_factory_0>, <&macaddr_bdinfo_de00>; + nvmem-cells = <&eeprom_factory_0>, <&macaddr_bdinfo_de00 0>; nvmem-cell-names = "eeprom", "mac-address"; + ieee80211-freq-limit = <2400000 2500000>; }; }; @@ -145,60 +21,8 @@ wifi@0,0 { compatible = "mediatek,mt76"; reg = <0x0000 0 0 0 0>; - nvmem-cells = <&eeprom_factory_8000>, <&macaddr_bdinfo_de00>; + nvmem-cells = <&eeprom_factory_8000>, <&macaddr_bdinfo_de00 2>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <2>; - }; -}; - -&gmac0 { - nvmem-cells = <&macaddr_bdinfo_de00>; - nvmem-cell-names = "mac-address"; -}; - -&gmac1 { - status = "okay"; - label = "wan"; - phy-handle = <ðphy4>; - - nvmem-cells = <&macaddr_bdinfo_de00>; - nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; -}; - -&mdio { - ethphy4: ethernet-phy@4 { - reg = <4>; - }; -}; - -&switch0 { - ports { - port@0 { - status = "okay"; - label = "lan4"; - }; - - port@1 { - status = "okay"; - label = "lan3"; - }; - - port@2 { - status = "okay"; - label = "lan2"; - }; - - port@3 { - status = "okay"; - label = "lan1"; - }; - }; -}; - -&state_default { - gpio { - groups = "wdt", "i2c", "jtag"; - function = "gpio"; + ieee80211-freq-limit = <5000000 6000000>; }; }; diff --git a/target/linux/ramips/dts/mt7621_cudy_wr1300-v2v3.dtsi b/target/linux/ramips/dts/mt7621_cudy_wr1300-v2v3.dtsi new file mode 100644 index 0000000000..b4c61fb7c6 --- /dev/null +++ b/target/linux/ramips/dts/mt7621_cudy_wr1300-v2v3.dtsi @@ -0,0 +1,189 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "mt7621.dtsi" + +#include +#include + +/ { + aliases { + led-boot = &led_sys; + led-failsafe = &led_sys; + led-running = &led_sys; + led-upgrade = &led_sys; + label-mac-device = &gmac0; + }; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&gpio 18 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + + wps { + label = "wps"; + gpios = <&gpio 7 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; + + leds { + compatible = "gpio-leds"; + + led_sys: sys { + label = "green:sys"; + gpios = <&gpio 15 GPIO_ACTIVE_LOW>; + }; + + wps { + label = "green:wps"; + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&spi0 { + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <40000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; + }; + }; + + partition@50000 { + compatible = "denx,uimage"; + label = "firmware"; + reg = <0x50000 0xf80000>; + }; + + partition@fd0000 { + label = "debug"; + reg = <0xfd0000 0x10000>; + read-only; + }; + + partition@fe0000 { + label = "backup"; + reg = <0xfe0000 0x10000>; + read-only; + }; + + partition@ff0000 { + label = "bdinfo"; + reg = <0xff0000 0x10000>; + read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_bdinfo_de00: macaddr@de00 { + compatible = "mac-base"; + reg = <0xde00 0x6>; + #nvmem-cell-cells = <1>; + }; + }; + }; + }; + }; +}; + +&pcie { + status = "okay"; +}; + +&gmac0 { + nvmem-cells = <&macaddr_bdinfo_de00 0>; + nvmem-cell-names = "mac-address"; +}; + +&gmac1 { + status = "okay"; + label = "wan"; + phy-handle = <ðphy4>; + + nvmem-cells = <&macaddr_bdinfo_de00 1>; + nvmem-cell-names = "mac-address"; +}; + +&mdio { + ethphy4: ethernet-phy@4 { + reg = <4>; + }; +}; + +&switch0 { + ports { + port@0 { + status = "okay"; + label = "lan4"; + }; + + port@1 { + status = "okay"; + label = "lan3"; + }; + + port@2 { + status = "okay"; + label = "lan2"; + }; + + port@3 { + status = "okay"; + label = "lan1"; + }; + }; +}; + +&state_default { + gpio { + groups = "wdt", "i2c", "jtag"; + function = "gpio"; + }; +}; diff --git a/target/linux/ramips/dts/mt7621_cudy_wr1300-v3.dts b/target/linux/ramips/dts/mt7621_cudy_wr1300-v3.dts new file mode 100644 index 0000000000..cb75703a0a --- /dev/null +++ b/target/linux/ramips/dts/mt7621_cudy_wr1300-v3.dts @@ -0,0 +1,33 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "mt7621_cudy_wr1300-v2v3.dtsi" + +/ { + compatible = "cudy,wr1300-v3", "mediatek,mt7621-soc"; + model = "Cudy WR1300 v3"; +}; + +&pcie0 { + wifi@0,0 { + compatible = "mediatek,mt76"; + reg = <0x0000 0 0 0 0>; + nvmem-cells = <&eeprom_factory_0>, <&macaddr_bdinfo_de00 0>; + nvmem-cell-names = "eeprom", "mac-address"; + ieee80211-freq-limit = <2400000 2500000>; + + led { + led-sources = <0>; + led-active-low; + }; + }; +}; + +&pcie1 { + wifi@0,0 { + compatible = "mediatek,mt76"; + reg = <0x0000 0 0 0 0>; + nvmem-cells = <&eeprom_factory_8000>, <&macaddr_bdinfo_de00 2>; + nvmem-cell-names = "eeprom", "mac-address"; + ieee80211-freq-limit = <5000000 6000000>; + }; +}; diff --git a/target/linux/ramips/dts/mt7621_cudy_wr2100.dts b/target/linux/ramips/dts/mt7621_cudy_wr2100.dts index afa13973d5..fc38e27ac1 100644 --- a/target/linux/ramips/dts/mt7621_cudy_wr2100.dts +++ b/target/linux/ramips/dts/mt7621_cudy_wr2100.dts @@ -78,7 +78,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_bdinfo_de00>; + nvmem-cells = <&macaddr_bdinfo_de00 0>; nvmem-cell-names = "mac-address"; }; @@ -132,19 +132,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; }; }; @@ -167,15 +170,20 @@ }; bdinfo: partition@ff0000 { - compatible = "nvmem-cells"; label = "bdinfo"; reg = <0xff0000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - macaddr_bdinfo_de00: macaddr@de00 { - reg = <0xde00 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_bdinfo_de00: macaddr@de00 { + compatible = "mac-base"; + reg = <0xde00 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; }; @@ -194,9 +202,8 @@ label = "wan"; phy-handle = <ðphy4>; - nvmem-cells = <&macaddr_bdinfo_de00>; + nvmem-cells = <&macaddr_bdinfo_de00 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; &mdio { diff --git a/target/linux/ramips/dts/mt7621_cudy_x6-v1.dts b/target/linux/ramips/dts/mt7621_cudy_x6-v1.dts index cfae15e565..940a0598c1 100644 --- a/target/linux/ramips/dts/mt7621_cudy_x6-v1.dts +++ b/target/linux/ramips/dts/mt7621_cudy_x6-v1.dts @@ -31,28 +31,31 @@ reg = <0x1ff0000 0x10000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_bdinfo_de00: macaddr@de00 { - reg = <0xde00 0x6>; + macaddr_bdinfo_de00: macaddr@de00 { + compatible = "mac-base"; + reg = <0xde00 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; }; &gmac0 { - nvmem-cells = <&macaddr_bdinfo_de00>; + nvmem-cells = <&macaddr_bdinfo_de00 0>; nvmem-cell-names = "mac-address"; }; &gmac1 { - nvmem-cells = <&macaddr_bdinfo_de00>; + nvmem-cells = <&macaddr_bdinfo_de00 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; &wifi { - nvmem-cells = <&macaddr_bdinfo_de00>; + nvmem-cells = <&macaddr_bdinfo_de00 0>; nvmem-cell-names = "mac-address"; }; diff --git a/target/linux/ramips/dts/mt7621_cudy_x6-v2.dts b/target/linux/ramips/dts/mt7621_cudy_x6-v2.dts index 16fa15befc..70e6a845a4 100644 --- a/target/linux/ramips/dts/mt7621_cudy_x6-v2.dts +++ b/target/linux/ramips/dts/mt7621_cudy_x6-v2.dts @@ -31,28 +31,31 @@ reg = <0xff0000 0x10000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_bdinfo_de00: macaddr@de00 { - reg = <0xde00 0x6>; + macaddr_bdinfo_de00: macaddr@de00 { + compatible = "mac-base"; + reg = <0xde00 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; }; &gmac0 { - nvmem-cells = <&macaddr_bdinfo_de00>; + nvmem-cells = <&macaddr_bdinfo_de00 0>; nvmem-cell-names = "mac-address"; }; &gmac1 { - nvmem-cells = <&macaddr_bdinfo_de00>; + nvmem-cells = <&macaddr_bdinfo_de00 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; &wifi { - nvmem-cells = <&macaddr_bdinfo_de00>; + nvmem-cells = <&macaddr_bdinfo_de00 0>; nvmem-cell-names = "mac-address"; }; diff --git a/target/linux/ramips/dts/mt7621_d-team_newifi-d2.dts b/target/linux/ramips/dts/mt7621_d-team_newifi-d2.dts index a25787b71b..82160cff03 100644 --- a/target/linux/ramips/dts/mt7621_d-team_newifi-d2.dts +++ b/target/linux/ramips/dts/mt7621_d-team_newifi-d2.dts @@ -115,27 +115,30 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_d-team_pbr-m1.dts b/target/linux/ramips/dts/mt7621_d-team_pbr-m1.dts index 3d27b0a942..29c212671c 100644 --- a/target/linux/ramips/dts/mt7621_d-team_pbr-m1.dts +++ b/target/linux/ramips/dts/mt7621_d-team_pbr-m1.dts @@ -129,27 +129,30 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_dlink_dap-x1860-a1.dts b/target/linux/ramips/dts/mt7621_dlink_dap-x1860-a1.dts index 818d2d8c41..73f6247b47 100644 --- a/target/linux/ramips/dts/mt7621_dlink_dap-x1860-a1.dts +++ b/target/linux/ramips/dts/mt7621_dlink_dap-x1860-a1.dts @@ -129,12 +129,14 @@ reg = <0x100000 0x80000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_dlink_dir-1960-a1.dts b/target/linux/ramips/dts/mt7621_dlink_dir-1960-a1.dts index d352d27b76..e0a714c9dc 100644 --- a/target/linux/ramips/dts/mt7621_dlink_dir-1960-a1.dts +++ b/target/linux/ramips/dts/mt7621_dlink_dir-1960-a1.dts @@ -15,15 +15,3 @@ linux,default-trigger = "usbport"; }; }; - -&wifi0 { - nvmem-cells = <&macaddr_factory_e000>; - nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; -}; - -&wifi1 { - nvmem-cells = <&macaddr_factory_e000>; - nvmem-cell-names = "mac-address"; - mac-address-increment = <2>; -}; diff --git a/target/linux/ramips/dts/mt7621_dlink_dir-2640-a1.dts b/target/linux/ramips/dts/mt7621_dlink_dir-2640-a1.dts index 127a9a3417..d4b8069a33 100644 --- a/target/linux/ramips/dts/mt7621_dlink_dir-2640-a1.dts +++ b/target/linux/ramips/dts/mt7621_dlink_dir-2640-a1.dts @@ -22,15 +22,3 @@ linux,default-trigger = "usbport"; }; }; - -&wifi0 { - nvmem-cells = <&macaddr_factory_e000>; - nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; -}; - -&wifi1 { - nvmem-cells = <&macaddr_factory_e000>; - nvmem-cell-names = "mac-address"; - mac-address-increment = <2>; -}; diff --git a/target/linux/ramips/dts/mt7621_dlink_dir-2660-a1.dts b/target/linux/ramips/dts/mt7621_dlink_dir-2660-a1.dts index 02fd35d60e..a4590cb35f 100644 --- a/target/linux/ramips/dts/mt7621_dlink_dir-2660-a1.dts +++ b/target/linux/ramips/dts/mt7621_dlink_dir-2660-a1.dts @@ -22,15 +22,3 @@ linux,default-trigger = "usbport"; }; }; - -&wifi0 { - nvmem-cells = <&macaddr_factory_e000>; - nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; -}; - -&wifi1 { - nvmem-cells = <&macaddr_factory_e000>; - nvmem-cell-names = "mac-address"; - mac-address-increment = <2>; -}; diff --git a/target/linux/ramips/dts/mt7621_dlink_dir-3060-a1.dts b/target/linux/ramips/dts/mt7621_dlink_dir-3060-a1.dts index 5af9ea28ea..1cca6f6b57 100644 --- a/target/linux/ramips/dts/mt7621_dlink_dir-3060-a1.dts +++ b/target/linux/ramips/dts/mt7621_dlink_dir-3060-a1.dts @@ -111,27 +111,32 @@ }; factory: partition@100000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x100000 0x40000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x4da8>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e000: macaddr@e000 { + compatible = "mac-base"; + reg = <0xe000 0x6>; + #nvmem-cell-cells = <1>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; }; }; @@ -183,9 +188,8 @@ compatible = "mediatek,mt76"; reg = <0x0000 0 0 0 0>; ieee80211-freq-limit = <2400000 6000000>; - nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_e000>; + nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_e000 1>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <1>; }; }; @@ -194,14 +198,13 @@ compatible = "mediatek,mt76"; reg = <0x0000 0 0 0 0>; ieee80211-freq-limit = <5000000 6000000>; - nvmem-cells = <&eeprom_factory_8000>, <&macaddr_factory_e000>; + nvmem-cells = <&eeprom_factory_8000>, <&macaddr_factory_e000 3>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <3>; }; }; &gmac0 { - nvmem-cells = <&macaddr_factory_e000>; + nvmem-cells = <&macaddr_factory_e000 0>; nvmem-cell-names = "mac-address"; }; diff --git a/target/linux/ramips/dts/mt7621_dlink_dir-853-a1.dts b/target/linux/ramips/dts/mt7621_dlink_dir-853-a1.dts index 7cd4a92aa7..8e5e35945a 100644 --- a/target/linux/ramips/dts/mt7621_dlink_dir-853-a1.dts +++ b/target/linux/ramips/dts/mt7621_dlink_dir-853-a1.dts @@ -108,23 +108,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x4da8>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_dlink_dir-853-a3.dts b/target/linux/ramips/dts/mt7621_dlink_dir-853-a3.dts index 3675856780..747d1de18a 100644 --- a/target/linux/ramips/dts/mt7621_dlink_dir-853-a3.dts +++ b/target/linux/ramips/dts/mt7621_dlink_dir-853-a3.dts @@ -105,27 +105,30 @@ }; factory: partition@100000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x100000 0x40000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x4da8>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_dlink_dir-853-r1.dts b/target/linux/ramips/dts/mt7621_dlink_dir-853-r1.dts index 290638f735..bce0e6996b 100644 --- a/target/linux/ramips/dts/mt7621_dlink_dir-853-r1.dts +++ b/target/linux/ramips/dts/mt7621_dlink_dir-853-r1.dts @@ -97,15 +97,14 @@ /* 5 GHz (phy1) does not take the address from calibration data, but setting it manually here works */ - nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_4>; + nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_4 0>; nvmem-cell-names = "eeprom", "mac-address"; }; }; &gmac0 { - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 (-1)>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(-1)>; }; &gmac1 { @@ -113,9 +112,8 @@ label = "wan"; phy-handle = <ðphy4>; - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 (-2)>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(-2)>; }; &mdio { diff --git a/target/linux/ramips/dts/mt7621_dlink_dir-860l-b1.dts b/target/linux/ramips/dts/mt7621_dlink_dir-860l-b1.dts index 36d22046a9..451722743d 100644 --- a/target/linux/ramips/dts/mt7621_dlink_dir-860l-b1.dts +++ b/target/linux/ramips/dts/mt7621_dlink_dir-860l-b1.dts @@ -83,23 +83,26 @@ }; radio: partition@34000 { - compatible = "nvmem-cells"; label = "radio"; reg = <0x34000 0x4000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - macaddr_radio_4: macaddr@4 { - reg = <0x4 0x6>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_radio_0: eeprom@0 { - reg = <0x0 0x200>; - }; + macaddr_radio_4: macaddr@4 { + reg = <0x4 0x6>; + }; - eeprom_radio_2000: eeprom@2000 { - reg = <0x2000 0x200>; + eeprom_radio_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + eeprom_radio_2000: eeprom@2000 { + reg = <0x2000 0x200>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_dlink_dir-xx60-a1.dtsi b/target/linux/ramips/dts/mt7621_dlink_dir-xx60-a1.dtsi index fee8864777..6eb3f3cdd9 100644 --- a/target/linux/ramips/dts/mt7621_dlink_dir-xx60-a1.dtsi +++ b/target/linux/ramips/dts/mt7621_dlink_dir-xx60-a1.dtsi @@ -76,27 +76,32 @@ }; factory: partition@100000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x100000 0x40000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x4da8>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e000: macaddr@e000 { + compatible = "mac-base"; + reg = <0xe000 0x6>; + #nvmem-cell-cells = <1>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; }; }; @@ -146,7 +151,7 @@ wifi0: wifi@0,0 { compatible = "mediatek,mt76"; reg = <0x0000 0 0 0 0>; - nvmem-cells = <&eeprom_factory_0>; + nvmem-cells = <&macaddr_factory_e000 1>; nvmem-cell-names = "eeprom"; ieee80211-freq-limit = <2400000 2500000>; @@ -160,7 +165,7 @@ wifi1: wifi@0,0 { compatible = "mediatek,mt76"; reg = <0x0000 0 0 0 0>; - nvmem-cells = <&eeprom_factory_8000>; + nvmem-cells = <&macaddr_factory_e000 2>; nvmem-cell-names = "eeprom"; ieee80211-freq-limit = <5000000 6000000>; @@ -171,7 +176,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_factory_e000>; + nvmem-cells = <&macaddr_factory_e000 0>; nvmem-cell-names = "mac-address"; }; diff --git a/target/linux/ramips/dts/mt7621_dlink_dxx-1xx0-x1.dtsi b/target/linux/ramips/dts/mt7621_dlink_dxx-1xx0-x1.dtsi index cc979df26a..a933b14925 100644 --- a/target/linux/ramips/dts/mt7621_dlink_dxx-1xx0-x1.dtsi +++ b/target/linux/ramips/dts/mt7621_dlink_dxx-1xx0-x1.dtsi @@ -93,19 +93,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x4da8>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; + + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_dlink_flash-16m-a1.dtsi b/target/linux/ramips/dts/mt7621_dlink_flash-16m-a1.dtsi index a8e518cae4..021c9e17c6 100644 --- a/target/linux/ramips/dts/mt7621_dlink_flash-16m-a1.dtsi +++ b/target/linux/ramips/dts/mt7621_dlink_flash-16m-a1.dtsi @@ -26,27 +26,30 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x20000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x4da8>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_dlink_flash-16m-r1.dtsi b/target/linux/ramips/dts/mt7621_dlink_flash-16m-r1.dtsi index dddd39ceaa..bccd19b12d 100644 --- a/target/linux/ramips/dts/mt7621_dlink_flash-16m-r1.dtsi +++ b/target/linux/ramips/dts/mt7621_dlink_flash-16m-r1.dtsi @@ -26,31 +26,36 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x4da8>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; - }; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + macaddr_factory_4: macaddr@4 { + compatible = "mac-base"; + reg = <0x4 0x6>; + #nvmem-cell-cells = <1>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_dual-q_h721.dts b/target/linux/ramips/dts/mt7621_dual-q_h721.dts index 2a18b3982d..2c35a8839c 100644 --- a/target/linux/ramips/dts/mt7621_dual-q_h721.dts +++ b/target/linux/ramips/dts/mt7621_dual-q_h721.dts @@ -122,12 +122,16 @@ reg = <0x40000 0x10000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; + macaddr_factory_e000: macaddr@e000 { + compatible = "mac-base"; + reg = <0xe000 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -174,9 +178,8 @@ status = "okay"; label = "wan"; - nvmem-cells = <&macaddr_factory_e000>; + nvmem-cells = <&macaddr_factory_e000 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; }; }; @@ -186,7 +189,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_factory_e000>; + nvmem-cells = <&macaddr_factory_e000 0>; nvmem-cell-names = "mac-address"; }; diff --git a/target/linux/ramips/dts/mt7621_edimax_re23s.dts b/target/linux/ramips/dts/mt7621_edimax_re23s.dts index c96292be33..80a271f6e3 100644 --- a/target/linux/ramips/dts/mt7621_edimax_re23s.dts +++ b/target/linux/ramips/dts/mt7621_edimax_re23s.dts @@ -86,23 +86,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x4da8>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; - macaddr_factory_8004: macaddr@8004 { - reg = <0x8004 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; + + macaddr_factory_8004: macaddr@8004 { + reg = <0x8004 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_edimax_rx21s.dtsi b/target/linux/ramips/dts/mt7621_edimax_rx21s.dtsi index 4aac3fb6d7..464e2a7444 100644 --- a/target/linux/ramips/dts/mt7621_edimax_rx21s.dtsi +++ b/target/linux/ramips/dts/mt7621_edimax_rx21s.dtsi @@ -81,23 +81,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x4da8>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_elecom_wrc-1167ghbk2-s.dts b/target/linux/ramips/dts/mt7621_elecom_wrc-1167ghbk2-s.dts index 6a9531eb33..9c0353ae28 100644 --- a/target/linux/ramips/dts/mt7621_elecom_wrc-1167ghbk2-s.dts +++ b/target/linux/ramips/dts/mt7621_elecom_wrc-1167ghbk2-s.dts @@ -67,7 +67,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_factory_e000>; + nvmem-cells = <&macaddr_factory_e000 0>; nvmem-cell-names = "mac-address"; }; @@ -136,23 +136,28 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x4da8>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e000: macaddr@e000 { + compatible = "mac-base"; + reg = <0xe000 0x6>; + #nvmem-cell-cells = <1>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; }; }; @@ -192,9 +197,8 @@ wifi@0,0 { compatible = "mediatek,mt76"; reg = <0x0000 0 0 0 0>; - nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_e000>; + nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_e000 1>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <1>; }; }; diff --git a/target/linux/ramips/dts/mt7621_elecom_wrc-1167gs2-b.dts b/target/linux/ramips/dts/mt7621_elecom_wrc-1167gs2-b.dts index 81ace64e44..9ed7acac94 100644 --- a/target/linux/ramips/dts/mt7621_elecom_wrc-1167gs2-b.dts +++ b/target/linux/ramips/dts/mt7621_elecom_wrc-1167gs2-b.dts @@ -50,25 +50,28 @@ }; &wifi { - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 (-1)>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(-1)>; }; &factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; - }; + macaddr_factory_4: macaddr@4 { + compatible = "mac-base"; + reg = <0x4 0x6>; + #nvmem-cell-cells = <1>; + }; - macaddr_factory_fff4: macaddr@fff4 { - reg = <0xfff4 0x6>; - }; + macaddr_factory_fff4: macaddr@fff4 { + reg = <0xfff4 0x6>; + }; - macaddr_factory_fffa: macaddr@fffa { - reg = <0xfffa 0x6>; + macaddr_factory_fffa: macaddr@fffa { + reg = <0xfffa 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_elecom_wrc-1167gst2.dts b/target/linux/ramips/dts/mt7621_elecom_wrc-1167gst2.dts index cb2e202793..d7510c292b 100644 --- a/target/linux/ramips/dts/mt7621_elecom_wrc-1167gst2.dts +++ b/target/linux/ramips/dts/mt7621_elecom_wrc-1167gst2.dts @@ -50,21 +50,24 @@ }; &wifi { - nvmem-cells = <&macaddr_factory_e006>; + nvmem-cells = <&macaddr_factory_e006 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; &factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e006: macaddr@e006 { + compatible = "mac-base"; + reg = <0xe006 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_elecom_wrc-1750gs.dts b/target/linux/ramips/dts/mt7621_elecom_wrc-1750gs.dts index 8450af5907..c01533fafd 100644 --- a/target/linux/ramips/dts/mt7621_elecom_wrc-1750gs.dts +++ b/target/linux/ramips/dts/mt7621_elecom_wrc-1750gs.dts @@ -50,15 +50,17 @@ }; &factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_elecom_wrc-1750gst2.dts b/target/linux/ramips/dts/mt7621_elecom_wrc-1750gst2.dts index a57a4290af..4157fb6c13 100644 --- a/target/linux/ramips/dts/mt7621_elecom_wrc-1750gst2.dts +++ b/target/linux/ramips/dts/mt7621_elecom_wrc-1750gst2.dts @@ -50,15 +50,17 @@ }; &factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_elecom_wrc-1750gsv.dts b/target/linux/ramips/dts/mt7621_elecom_wrc-1750gsv.dts index f01f6fc25f..d978ff8238 100644 --- a/target/linux/ramips/dts/mt7621_elecom_wrc-1750gsv.dts +++ b/target/linux/ramips/dts/mt7621_elecom_wrc-1750gsv.dts @@ -50,15 +50,17 @@ }; &factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_elecom_wrc-1900gst.dts b/target/linux/ramips/dts/mt7621_elecom_wrc-1900gst.dts index ec433e265d..5e3b47e274 100644 --- a/target/linux/ramips/dts/mt7621_elecom_wrc-1900gst.dts +++ b/target/linux/ramips/dts/mt7621_elecom_wrc-1900gst.dts @@ -50,15 +50,17 @@ }; &factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_elecom_wrc-2533ghbk.dtsi b/target/linux/ramips/dts/mt7621_elecom_wrc-2533ghbk.dtsi index 7096b015ef..618b07e798 100644 --- a/target/linux/ramips/dts/mt7621_elecom_wrc-2533ghbk.dtsi +++ b/target/linux/ramips/dts/mt7621_elecom_wrc-2533ghbk.dtsi @@ -100,19 +100,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x4da8>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; + + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; }; }; }; diff --git a/target/linux/ramips/dts/mt7621_elecom_wrc-2533gs2.dts b/target/linux/ramips/dts/mt7621_elecom_wrc-2533gs2.dts index 7e88f7be04..77fcb8c429 100644 --- a/target/linux/ramips/dts/mt7621_elecom_wrc-2533gs2.dts +++ b/target/linux/ramips/dts/mt7621_elecom_wrc-2533gs2.dts @@ -50,15 +50,17 @@ }; &factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_fff4: macaddr@fff4 { - reg = <0xfff4 0x6>; - }; + macaddr_factory_fff4: macaddr@fff4 { + reg = <0xfff4 0x6>; + }; - macaddr_factory_fffa: macaddr@fffa { - reg = <0xfffa 0x6>; + macaddr_factory_fffa: macaddr@fffa { + reg = <0xfffa 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_elecom_wrc-2533gst.dts b/target/linux/ramips/dts/mt7621_elecom_wrc-2533gst.dts index 1d174006bd..481734a51c 100644 --- a/target/linux/ramips/dts/mt7621_elecom_wrc-2533gst.dts +++ b/target/linux/ramips/dts/mt7621_elecom_wrc-2533gst.dts @@ -48,15 +48,17 @@ }; &factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_elecom_wrc-2533gst2.dts b/target/linux/ramips/dts/mt7621_elecom_wrc-2533gst2.dts index b71a2b4390..e7c06ff359 100644 --- a/target/linux/ramips/dts/mt7621_elecom_wrc-2533gst2.dts +++ b/target/linux/ramips/dts/mt7621_elecom_wrc-2533gst2.dts @@ -50,15 +50,17 @@ }; &factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_elecom_wrc-gs.dtsi b/target/linux/ramips/dts/mt7621_elecom_wrc-gs.dtsi index 2c60f3d8b6..30b8d4e010 100644 --- a/target/linux/ramips/dts/mt7621_elecom_wrc-gs.dtsi +++ b/target/linux/ramips/dts/mt7621_elecom_wrc-gs.dtsi @@ -145,19 +145,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x4da8>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; + + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; }; }; }; diff --git a/target/linux/ramips/dts/mt7621_etisalat_s3.dts b/target/linux/ramips/dts/mt7621_etisalat_s3.dts index d63be92c78..64e21bb704 100644 --- a/target/linux/ramips/dts/mt7621_etisalat_s3.dts +++ b/target/linux/ramips/dts/mt7621_etisalat_s3.dts @@ -100,24 +100,29 @@ }; factory: partition@200000 { - compatible = "nvmem-cells"; label = "Factory"; reg = <0x200000 0x100000>; - #address-cells = <1>; - #size-cells = <1>; sercomm,scpart-id = <2>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_21000: macaddr@21000 { - reg = <0x21000 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; + + macaddr_factory_21000: macaddr@21000 { + compatible = "mac-base"; + reg = <0x21000 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -177,9 +182,8 @@ reg = <0x0000 0 0 0 0>; ieee80211-freq-limit = <5000000 6000000>; - nvmem-cells = <&eeprom_factory_8000>, <&macaddr_factory_21000>; + nvmem-cells = <&eeprom_factory_8000>, <&macaddr_factory_21000 3>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <(3)>; }; }; @@ -189,14 +193,13 @@ reg = <0x0000 0 0 0 0>; ieee80211-freq-limit = <2400000 2500000>; - nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_21000>; + nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_21000 2>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <(2)>; }; }; &gmac0 { - nvmem-cells = <&macaddr_factory_21000>; + nvmem-cells = <&macaddr_factory_21000 0>; nvmem-cell-names = "mac-address"; }; @@ -205,9 +208,8 @@ label = "wan"; phy-handle = <ðphy0>; - nvmem-cells = <&macaddr_factory_21000>; + nvmem-cells = <&macaddr_factory_21000 11>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(11)>; }; &mdio { diff --git a/target/linux/ramips/dts/mt7621_firefly_firewrt.dts b/target/linux/ramips/dts/mt7621_firefly_firewrt.dts index acc9e9865f..c2c2acac9f 100644 --- a/target/linux/ramips/dts/mt7621_firefly_firewrt.dts +++ b/target/linux/ramips/dts/mt7621_firefly_firewrt.dts @@ -70,23 +70,28 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_e000: macaddr@e000 { + compatible = "mac-base"; + reg = <0xe000 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -126,7 +131,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_factory_e000>; + nvmem-cells = <&macaddr_factory_e000 0>; nvmem-cell-names = "mac-address"; }; @@ -155,9 +160,8 @@ port@4 { status = "okay"; label = "wan"; - nvmem-cells = <&macaddr_factory_e000>; + nvmem-cells = <&macaddr_factory_e000 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; }; }; diff --git a/target/linux/ramips/dts/mt7621_gehua_ghl-r-001.dts b/target/linux/ramips/dts/mt7621_gehua_ghl-r-001.dts index a87f82b681..d224fd388d 100644 --- a/target/linux/ramips/dts/mt7621_gehua_ghl-r-001.dts +++ b/target/linux/ramips/dts/mt7621_gehua_ghl-r-001.dts @@ -68,23 +68,28 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_e000: macaddr@e000 { + compatible = "mac-base"; + reg = <0xe000 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -124,7 +129,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_factory_e000>; + nvmem-cells = <&macaddr_factory_e000 0>; nvmem-cell-names = "mac-address"; }; @@ -133,9 +138,8 @@ label = "wan"; phy-handle = <ðphy4>; - nvmem-cells = <&macaddr_factory_e000>; + nvmem-cells = <&macaddr_factory_e000 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; &mdio { diff --git a/target/linux/ramips/dts/mt7621_glinet_gl-mt1300.dts b/target/linux/ramips/dts/mt7621_glinet_gl-mt1300.dts index 1565666a5d..891fe7c730 100644 --- a/target/linux/ramips/dts/mt7621_glinet_gl-mt1300.dts +++ b/target/linux/ramips/dts/mt7621_glinet_gl-mt1300.dts @@ -88,19 +88,24 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x4da8>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4000: macaddr@4000 { - reg = <0x4000 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; + + macaddr_factory_4000: macaddr@4000 { + compatible = "mac-base"; + reg = <0x4000 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -127,9 +132,8 @@ }; &gmac0 { - nvmem-cells = <&macaddr_factory_4000>; + nvmem-cells = <&macaddr_factory_4000 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; &gmac1 { @@ -137,7 +141,7 @@ label = "wan"; phy-handle = <ðphy4>; - nvmem-cells = <&macaddr_factory_4000>; + nvmem-cells = <&macaddr_factory_4000 0>; nvmem-cell-names = "mac-address"; }; diff --git a/target/linux/ramips/dts/mt7621_gnubee_gb-pc1.dts b/target/linux/ramips/dts/mt7621_gnubee_gb-pc1.dts index 5d28e22776..6bdba25b2b 100644 --- a/target/linux/ramips/dts/mt7621_gnubee_gb-pc1.dts +++ b/target/linux/ramips/dts/mt7621_gnubee_gb-pc1.dts @@ -75,6 +75,16 @@ label = "factory"; reg = <0x40000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + }; }; partition@50000 { @@ -125,13 +135,3 @@ function = "gpio"; }; }; - -&factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; -}; diff --git a/target/linux/ramips/dts/mt7621_gnubee_gb-pc2.dts b/target/linux/ramips/dts/mt7621_gnubee_gb-pc2.dts index d499811345..9a2cffeb97 100644 --- a/target/linux/ramips/dts/mt7621_gnubee_gb-pc2.dts +++ b/target/linux/ramips/dts/mt7621_gnubee_gb-pc2.dts @@ -95,6 +95,16 @@ label = "factory"; reg = <0x40000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + }; }; partition@50000 { @@ -151,13 +161,3 @@ function = "gpio"; }; }; - -&factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; -}; diff --git a/target/linux/ramips/dts/mt7621_h3c_tx180x.dtsi b/target/linux/ramips/dts/mt7621_h3c_tx180x.dtsi index afb188dff4..59b49fbefc 100644 --- a/target/linux/ramips/dts/mt7621_h3c_tx180x.dtsi +++ b/target/linux/ramips/dts/mt7621_h3c_tx180x.dtsi @@ -97,15 +97,18 @@ }; factory: partition@180000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x0180000 0x0080000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0xe00>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_0: eeprom@0 { + reg = <0x0 0xe00>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_haier-sim_wr1800k.dtsi b/target/linux/ramips/dts/mt7621_haier-sim_wr1800k.dtsi index afda347ee7..6549abaec9 100644 --- a/target/linux/ramips/dts/mt7621_haier-sim_wr1800k.dtsi +++ b/target/linux/ramips/dts/mt7621_haier-sim_wr1800k.dtsi @@ -63,7 +63,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_factory_8004>; + nvmem-cells = <&macaddr_factory_8004 0>; nvmem-cell-names = "mac-address"; }; @@ -72,9 +72,8 @@ label = "wan"; phy-handle = <ðphy4>; - nvmem-cells = <&macaddr_factory_8004>; + nvmem-cells = <&macaddr_factory_8004 (-3)>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(-3)>; }; &mdio { @@ -103,19 +102,24 @@ }; factory: partition@100000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x0100000 0x0080000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0xe00>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_8004: macaddr@8004 { - reg = <0x8004 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0xe00>; + }; + + macaddr_factory_8004: macaddr@8004 { + compatible = "mac-base"; + reg = <0x8004 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_hanyang_hyc-g920.dts b/target/linux/ramips/dts/mt7621_hanyang_hyc-g920.dts index 94b211ab7a..5737c0ce68 100644 --- a/target/linux/ramips/dts/mt7621_hanyang_hyc-g920.dts +++ b/target/linux/ramips/dts/mt7621_hanyang_hyc-g920.dts @@ -75,27 +75,32 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; - }; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; - macaddr_factory_8004: macaddr@8004 { - reg = <0x8004 0x6>; + macaddr_factory_4: macaddr@4 { + compatible = "mac-base"; + reg = <0x4 0x6>; + #nvmem-cell-cells = <1>; + }; + + macaddr_factory_8004: macaddr@8004 { + reg = <0x8004 0x6>; + }; }; }; @@ -161,7 +166,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 0>; nvmem-cell-names = "mac-address"; }; @@ -170,9 +175,8 @@ port@0 { status = "okay"; label = "wan"; - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; port@1 { diff --git a/target/linux/ramips/dts/mt7621_hilink_hlk-7621a-evb.dts b/target/linux/ramips/dts/mt7621_hilink_hlk-7621a-evb.dts index 99bd01c6d9..41ed5088c0 100644 --- a/target/linux/ramips/dts/mt7621_hilink_hlk-7621a-evb.dts +++ b/target/linux/ramips/dts/mt7621_hilink_hlk-7621a-evb.dts @@ -47,15 +47,18 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_hiwifi_hc5962.dts b/target/linux/ramips/dts/mt7621_hiwifi_hc5962.dts index 63c4f5f6b2..a21a6a455b 100644 --- a/target/linux/ramips/dts/mt7621_hiwifi_hc5962.dts +++ b/target/linux/ramips/dts/mt7621_hiwifi_hc5962.dts @@ -81,19 +81,22 @@ }; factory: partition@100000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x100000 0x40000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_huasifei_ws1208v2.dts b/target/linux/ramips/dts/mt7621_huasifei_ws1208v2.dts index fc548352d5..9b9a983108 100644 --- a/target/linux/ramips/dts/mt7621_huasifei_ws1208v2.dts +++ b/target/linux/ramips/dts/mt7621_huasifei_ws1208v2.dts @@ -93,23 +93,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_humax_e10.dts b/target/linux/ramips/dts/mt7621_humax_e10.dts index ac13b4a9c5..be5f23ca7d 100644 --- a/target/linux/ramips/dts/mt7621_humax_e10.dts +++ b/target/linux/ramips/dts/mt7621_humax_e10.dts @@ -89,27 +89,30 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x30000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x4da8>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; - macaddr_factory_10007: macaddr@10007 { - reg = <0x10007 0x6>; - }; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; - macaddr_factory_1000d: macaddr@1000d { - reg = <0x1000d 0x6>; + macaddr_factory_10007: macaddr@10007 { + reg = <0x10007 0x6>; + }; + + macaddr_factory_1000d: macaddr@1000d { + reg = <0x1000d 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_iodata_wn-ax1167gr.dts b/target/linux/ramips/dts/mt7621_iodata_wn-ax1167gr.dts index b08939a451..b46ba87f39 100644 --- a/target/linux/ramips/dts/mt7621_iodata_wn-ax1167gr.dts +++ b/target/linux/ramips/dts/mt7621_iodata_wn-ax1167gr.dts @@ -89,36 +89,44 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + compatible = "mac-base"; + reg = <0x4 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; iNIC_rf: partition@50000 { - compatible = "nvmem-cells"; label = "iNIC_rf"; reg = <0x50000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_iNIC_rf_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_iNIC_rf_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_iNIC_rf_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + macaddr_iNIC_rf_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; @@ -159,9 +167,8 @@ label = "wan"; phy-handle = <ðphy0>; - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; &mdio { diff --git a/target/linux/ramips/dts/mt7621_iodata_wn-deax1800gr.dts b/target/linux/ramips/dts/mt7621_iodata_wn-deax1800gr.dts index b9357632e1..b9b901a6ce 100644 --- a/target/linux/ramips/dts/mt7621_iodata_wn-deax1800gr.dts +++ b/target/linux/ramips/dts/mt7621_iodata_wn-deax1800gr.dts @@ -119,7 +119,6 @@ }; partition@100000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x100000 0x80000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_iodata_wn-dx1200gr.dts b/target/linux/ramips/dts/mt7621_iodata_wn-dx1200gr.dts index 19868fa078..9680aadfbb 100644 --- a/target/linux/ramips/dts/mt7621_iodata_wn-dx1200gr.dts +++ b/target/linux/ramips/dts/mt7621_iodata_wn-dx1200gr.dts @@ -81,26 +81,29 @@ }; factory: partition@200000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x200000 0x200000>; - #address-cells = <1>; - #size-cells = <1>; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_1e000: macaddr@1e000 { - reg = <0x1e000 0x6>; - }; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; - macaddr_factory_1e006: macaddr@1e006 { - reg = <0x1e006 0x6>; + macaddr_factory_1e000: macaddr@1e000 { + reg = <0x1e000 0x6>; + }; + + macaddr_factory_1e006: macaddr@1e006 { + reg = <0x1e006 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_iodata_wn-gx300gr.dts b/target/linux/ramips/dts/mt7621_iodata_wn-gx300gr.dts index f2cd28ad1c..6bd5e733f4 100644 --- a/target/linux/ramips/dts/mt7621_iodata_wn-gx300gr.dts +++ b/target/linux/ramips/dts/mt7621_iodata_wn-gx300gr.dts @@ -89,19 +89,24 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + macaddr_factory_4: macaddr@4 { + compatible = "mac-base"; + reg = <0x4 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -139,7 +144,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 0>; nvmem-cell-names = "mac-address"; }; @@ -148,9 +153,8 @@ label = "wan"; phy-handle = <ðphy0>; - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; &mdio { diff --git a/target/linux/ramips/dts/mt7621_iodata_wn-xx-xr.dtsi b/target/linux/ramips/dts/mt7621_iodata_wn-xx-xr.dtsi index 4b42fcb7de..f25d2db9b3 100644 --- a/target/linux/ramips/dts/mt7621_iodata_wn-xx-xr.dtsi +++ b/target/linux/ramips/dts/mt7621_iodata_wn-xx-xr.dtsi @@ -80,6 +80,20 @@ factory: partition@200000 { label = "factory"; reg = <0x0200000 0x0100000>; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; + }; }; partition@300000 { @@ -180,17 +194,3 @@ &xhci { status = "disabled"; }; - -&factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; - - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; - }; -}; diff --git a/target/linux/ramips/dts/mt7621_iodata_wnpr2600g.dts b/target/linux/ramips/dts/mt7621_iodata_wnpr2600g.dts index 6729e94cc5..1c46f57e58 100644 --- a/target/linux/ramips/dts/mt7621_iodata_wnpr2600g.dts +++ b/target/linux/ramips/dts/mt7621_iodata_wnpr2600g.dts @@ -93,23 +93,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x040000 0x010000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x4da8>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_iptime_a3002mesh.dts b/target/linux/ramips/dts/mt7621_iptime_a3002mesh.dts index fc51b9ac4f..05346a10d4 100644 --- a/target/linux/ramips/dts/mt7621_iptime_a3002mesh.dts +++ b/target/linux/ramips/dts/mt7621_iptime_a3002mesh.dts @@ -73,12 +73,16 @@ reg = <0x0 0x20000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_uboot_1fc40: macaddr@1fc40 { - reg = <0x1fc40 0x6>; + macaddr_uboot_1fc40: macaddr@1fc40 { + compatible = "mac-base"; + reg = <0x1fc40 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -89,15 +93,18 @@ }; factory: partition@30000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x30000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x4da8>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; }; }; @@ -111,9 +118,8 @@ }; &gmac0 { - nvmem-cells = <&macaddr_uboot_1fc40>; + nvmem-cells = <&macaddr_uboot_1fc40 2>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(2)>; }; &gmac1 { @@ -121,7 +127,7 @@ label = "wan"; phy-handle = <ðphy0>; - nvmem-cells = <&macaddr_uboot_1fc40>; + nvmem-cells = <&macaddr_uboot_1fc40 0>; nvmem-cell-names = "mac-address"; }; diff --git a/target/linux/ramips/dts/mt7621_iptime_a3004ns-dual.dts b/target/linux/ramips/dts/mt7621_iptime_a3004ns-dual.dts index 0faf24e7b0..3bf0600e5f 100644 --- a/target/linux/ramips/dts/mt7621_iptime_a3004ns-dual.dts +++ b/target/linux/ramips/dts/mt7621_iptime_a3004ns-dual.dts @@ -63,19 +63,22 @@ #size-cells = <1>; uboot: partition@0 { - compatible = "nvmem-cells"; label = "u-boot"; reg = <0x0 0x20000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - macaddr_uboot_1fc20: macaddr@1fc20 { - reg = <0x1fc20 0x6>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_uboot_1fc40: macaddr@1fc40 { - reg = <0x1fc40 0x6>; + macaddr_uboot_1fc20: macaddr@1fc20 { + reg = <0x1fc20 0x6>; + }; + + macaddr_uboot_1fc40: macaddr@1fc40 { + reg = <0x1fc40 0x6>; + }; }; }; @@ -86,19 +89,22 @@ }; factory: partition@30000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x30000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_iptime_a3004t.dts b/target/linux/ramips/dts/mt7621_iptime_a3004t.dts index 000657c866..2394a343c2 100644 --- a/target/linux/ramips/dts/mt7621_iptime_a3004t.dts +++ b/target/linux/ramips/dts/mt7621_iptime_a3004t.dts @@ -76,23 +76,28 @@ }; factory: partition@a0000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0xa0000 0x20000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x4da8>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; - macaddr_factory_8004: macaddr@8004 { - reg = <0x8004 0x6>; + macaddr_factory_4: macaddr@4 { + compatible = "mac-base"; + reg = <0x4 0x6>; + #nvmem-cell-cells = <1>; + }; + + macaddr_factory_8004: macaddr@8004 { + reg = <0x8004 0x6>; + }; }; }; @@ -118,9 +123,8 @@ }; &gmac0 { - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 3>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(3)>; }; &gmac1 { @@ -128,9 +132,8 @@ label = "wan"; phy-handle = <ðphy0>; - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(1)>; }; &mdio { diff --git a/target/linux/ramips/dts/mt7621_iptime_a6004ns-m.dtsi b/target/linux/ramips/dts/mt7621_iptime_a6004ns-m.dtsi index db7743f137..ef58382ab6 100644 --- a/target/linux/ramips/dts/mt7621_iptime_a6004ns-m.dtsi +++ b/target/linux/ramips/dts/mt7621_iptime_a6004ns-m.dtsi @@ -74,19 +74,22 @@ #size-cells = <1>; uboot: partition@0 { - compatible = "nvmem-cells"; label = "u-boot"; reg = <0x0 0x20000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - macaddr_uboot_1fc20: macaddr@1fc20 { - reg = <0x1fc20 0x6>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_uboot_1fc40: macaddr@1fc40 { - reg = <0x1fc40 0x6>; + macaddr_uboot_1fc20: macaddr@1fc20 { + reg = <0x1fc20 0x6>; + }; + + macaddr_uboot_1fc40: macaddr@1fc40 { + reg = <0x1fc40 0x6>; + }; }; }; @@ -97,19 +100,22 @@ }; factory: partition@30000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x30000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x4da8>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; + + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_iptime_a8004t.dts b/target/linux/ramips/dts/mt7621_iptime_a8004t.dts index dc9033c394..7be11315c5 100644 --- a/target/linux/ramips/dts/mt7621_iptime_a8004t.dts +++ b/target/linux/ramips/dts/mt7621_iptime_a8004t.dts @@ -68,19 +68,22 @@ #size-cells = <1>; uboot: partition@0 { - compatible = "nvmem-cells"; label = "u-boot"; reg = <0x0 0x20000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - macaddr_uboot_1fc20: macaddr@1fc20 { - reg = <0x1fc20 0x6>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_uboot_1fc40: macaddr@1fc40 { - reg = <0x1fc40 0x6>; + macaddr_uboot_1fc20: macaddr@1fc20 { + reg = <0x1fc20 0x6>; + }; + + macaddr_uboot_1fc40: macaddr@1fc40 { + reg = <0x1fc40 0x6>; + }; }; }; @@ -91,19 +94,22 @@ }; factory: partition@30000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x30000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x4da8>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; + + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_iptime_ax2004m.dts b/target/linux/ramips/dts/mt7621_iptime_ax2004m.dts index 554d73ce3d..ec02679c23 100644 --- a/target/linux/ramips/dts/mt7621_iptime_ax2004m.dts +++ b/target/linux/ramips/dts/mt7621_iptime_ax2004m.dts @@ -77,12 +77,16 @@ reg = <0x100000 0x80000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + macaddr_factory_4: macaddr@4 { + compatible = "mac-base"; + reg = <0x4 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -115,9 +119,8 @@ }; &gmac0 { - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 3>; nvmem-cell-names = "mac-address"; - mac-address-increment = <3>; }; &gmac1 { @@ -125,9 +128,8 @@ label = "wan"; phy-handle = <ðphy0>; - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; &mdio { diff --git a/target/linux/ramips/dts/mt7621_jcg_jhr-ac876m.dts b/target/linux/ramips/dts/mt7621_jcg_jhr-ac876m.dts index 5714a57c4e..fd9bd66bf8 100644 --- a/target/linux/ramips/dts/mt7621_jcg_jhr-ac876m.dts +++ b/target/linux/ramips/dts/mt7621_jcg_jhr-ac876m.dts @@ -84,27 +84,30 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x4da8>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; - }; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; + + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_jcg_q20-pb-boot.dts b/target/linux/ramips/dts/mt7621_jcg_q20-pb-boot.dts index 4b90458eba..aa0df66e92 100644 --- a/target/linux/ramips/dts/mt7621_jcg_q20-pb-boot.dts +++ b/target/linux/ramips/dts/mt7621_jcg_q20-pb-boot.dts @@ -31,19 +31,26 @@ read-only; compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0xe00>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0xe00>; + }; - macaddr_factory_3fff4: macaddr@3fff4 { - reg = <0x3fff4 0x6>; - }; + macaddr_factory_3fff4: macaddr@3fff4 { + compatible = "mac-base"; + reg = <0x3fff4 0x6>; + #nvmem-cell-cells = <1>; + }; - macaddr_factory_3fffa: macaddr@3fffa { - reg = <0x3fffa 0x6>; + macaddr_factory_3fffa: macaddr@3fffa { + compatible = "mac-base"; + reg = <0x3fffa 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_jcg_q20.dts b/target/linux/ramips/dts/mt7621_jcg_q20.dts index cc4d2ad10c..894341c792 100644 --- a/target/linux/ramips/dts/mt7621_jcg_q20.dts +++ b/target/linux/ramips/dts/mt7621_jcg_q20.dts @@ -41,19 +41,26 @@ read-only; compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0xe00>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0xe00>; + }; - macaddr_factory_3fff4: macaddr@3fff4 { - reg = <0x3fff4 0x6>; - }; + macaddr_factory_3fff4: macaddr@3fff4 { + compatible = "mac-base"; + reg = <0x3fff4 0x6>; + #nvmem-cell-cells = <1>; + }; - macaddr_factory_3fffa: macaddr@3fffa { - reg = <0x3fffa 0x6>; + macaddr_factory_3fffa: macaddr@3fffa { + compatible = "mac-base"; + reg = <0x3fffa 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_jcg_q20.dtsi b/target/linux/ramips/dts/mt7621_jcg_q20.dtsi index 177676ac78..8e50dec197 100644 --- a/target/linux/ramips/dts/mt7621_jcg_q20.dtsi +++ b/target/linux/ramips/dts/mt7621_jcg_q20.dtsi @@ -74,7 +74,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_factory_3fff4>; + nvmem-cells = <&macaddr_factory_3fff4 0>; nvmem-cell-names = "mac-address"; }; @@ -83,7 +83,7 @@ label = "wan"; phy-handle = <ðphy0>; - nvmem-cells = <&macaddr_factory_3fffa>; + nvmem-cells = <&macaddr_factory_3fffa 0>; nvmem-cell-names = "mac-address"; }; diff --git a/target/linux/ramips/dts/mt7621_jcg_y2.dts b/target/linux/ramips/dts/mt7621_jcg_y2.dts index 9e50d9b3ed..2cec1af23e 100644 --- a/target/linux/ramips/dts/mt7621_jcg_y2.dts +++ b/target/linux/ramips/dts/mt7621_jcg_y2.dts @@ -62,23 +62,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x4da8>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_jdcloud_re-sp-01b.dts b/target/linux/ramips/dts/mt7621_jdcloud_re-sp-01b.dts index 1f2968f94c..5e60bf856e 100644 --- a/target/linux/ramips/dts/mt7621_jdcloud_re-sp-01b.dts +++ b/target/linux/ramips/dts/mt7621_jdcloud_re-sp-01b.dts @@ -120,15 +120,18 @@ read-only; compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_keenetic_kn-3010.dts b/target/linux/ramips/dts/mt7621_keenetic_kn-3010.dts index 8f61748453..264c908c45 100644 --- a/target/linux/ramips/dts/mt7621_keenetic_kn-3010.dts +++ b/target/linux/ramips/dts/mt7621_keenetic_kn-3010.dts @@ -123,27 +123,30 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "rf-eeprom"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_400: eeprom@400 { - reg = <0x400 0x4da8>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; - }; + eeprom_factory_400: eeprom@400 { + reg = <0x400 0x4da8>; + }; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_lenovo_newifi-d1.dts b/target/linux/ramips/dts/mt7621_lenovo_newifi-d1.dts index a6a7fc9f42..dd8d224454 100644 --- a/target/linux/ramips/dts/mt7621_lenovo_newifi-d1.dts +++ b/target/linux/ramips/dts/mt7621_lenovo_newifi-d1.dts @@ -104,27 +104,30 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_linksys_e5600.dts b/target/linux/ramips/dts/mt7621_linksys_e5600.dts index c1b8048f0c..3f23aa69a4 100644 --- a/target/linux/ramips/dts/mt7621_linksys_e5600.dts +++ b/target/linux/ramips/dts/mt7621_linksys_e5600.dts @@ -83,19 +83,22 @@ }; factory: partition@c0000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0xc0000 0x40000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_linksys_e7350.dts b/target/linux/ramips/dts/mt7621_linksys_e7350.dts index 4451e5e3f3..2bce2d7590 100644 --- a/target/linux/ramips/dts/mt7621_linksys_e7350.dts +++ b/target/linux/ramips/dts/mt7621_linksys_e7350.dts @@ -80,15 +80,18 @@ }; factory: partition@100000 { - compatible = "nvmem-cells"; label = "Factory"; reg = <0x100000 0x80000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0xe00>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_0: eeprom@0 { + reg = <0x0 0xe00>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_linksys_re6500.dts b/target/linux/ramips/dts/mt7621_linksys_re6500.dts index 5b295a06a7..3a68224526 100644 --- a/target/linux/ramips/dts/mt7621_linksys_re6500.dts +++ b/target/linux/ramips/dts/mt7621_linksys_re6500.dts @@ -71,23 +71,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_2e: macaddr@2e { - reg = <0x2e 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_2e: macaddr@2e { + reg = <0x2e 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_linksys_re7000.dts b/target/linux/ramips/dts/mt7621_linksys_re7000.dts index c5b6ecc233..9b9c84a048 100644 --- a/target/linux/ramips/dts/mt7621_linksys_re7000.dts +++ b/target/linux/ramips/dts/mt7621_linksys_re7000.dts @@ -84,23 +84,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_2e: macaddr@2e { - reg = <0x2e 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; + + macaddr_factory_2e: macaddr@2e { + reg = <0x2e 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_mediatek_ap-mt7621a-v60.dts b/target/linux/ramips/dts/mt7621_mediatek_ap-mt7621a-v60.dts index 557abcc21a..8e2d866b3b 100644 --- a/target/linux/ramips/dts/mt7621_mediatek_ap-mt7621a-v60.dts +++ b/target/linux/ramips/dts/mt7621_mediatek_ap-mt7621a-v60.dts @@ -97,6 +97,18 @@ label = "factory"; reg = <0x40000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_5: macaddr@5 { + compatible = "mac-base"; + reg = <0x5 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@50000 { @@ -113,7 +125,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_factory_5>; + nvmem-cells = <&macaddr_factory_5 0>; nvmem-cell-names = "mac-address"; }; @@ -122,9 +134,8 @@ label = "wan"; phy-handle = <ðphy4>; - nvmem-cells = <&macaddr_factory_5>; + nvmem-cells = <&macaddr_factory_5 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; &mdio { @@ -160,13 +171,3 @@ &pcie { status = "okay"; }; - -&factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_factory_5: macaddr@5 { - reg = <0x5 0x6>; - }; -}; diff --git a/target/linux/ramips/dts/mt7621_meig_slt866.dts b/target/linux/ramips/dts/mt7621_meig_slt866.dts index 19d2f0f6fc..d364a91794 100644 --- a/target/linux/ramips/dts/mt7621_meig_slt866.dts +++ b/target/linux/ramips/dts/mt7621_meig_slt866.dts @@ -117,7 +117,6 @@ label = "Factory"; reg = <0x40000 0x10000>; read-only; - compatible = "nvmem-cells"; nvmem-layout { compatible = "fixed-layout"; @@ -144,7 +143,6 @@ label = "m_custom"; reg = <0xfe0000 0x20000>; read-only; - compatible = "nvmem-cells"; nvmem-layout { compatible = "fixed-layout"; diff --git a/target/linux/ramips/dts/mt7621_mercusys_mr70x-v1.dts b/target/linux/ramips/dts/mt7621_mercusys_mr70x-v1.dts index ebfc370caf..d663dc63b2 100644 --- a/target/linux/ramips/dts/mt7621_mercusys_mr70x-v1.dts +++ b/target/linux/ramips/dts/mt7621_mercusys_mr70x-v1.dts @@ -75,6 +75,18 @@ label = "config"; reg = <0xfa0000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_config_8: macaddr@8 { + compatible = "mac-base"; + reg = <0x8 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@fb0000 { @@ -101,14 +113,14 @@ compatible = "mediatek,mt76"; reg = <0x0000 0 0 0 0>; mediatek,mtd-eeprom = <&radio 0x0>; - nvmem-cells = <&macaddr_config_8>; + nvmem-cells = <&macaddr_config_8 0>; nvmem-cell-names = "mac-address"; mediatek,disable-radar-background; }; }; &gmac0 { - nvmem-cells = <&macaddr_config_8>; + nvmem-cells = <&macaddr_config_8 0>; nvmem-cell-names = "mac-address"; }; @@ -117,9 +129,8 @@ label = "wan"; phy-handle = <ðphy0>; - nvmem-cells = <&macaddr_config_8>; + nvmem-cells = <&macaddr_config_8 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; &mdio { @@ -153,13 +164,3 @@ function = "gpio"; }; }; - -&config { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_config_8: macaddr@8 { - reg = <0x8 0x6>; - }; -}; diff --git a/target/linux/ramips/dts/mt7621_mqmaker_witi.dts b/target/linux/ramips/dts/mt7621_mqmaker_witi.dts index dc70414da9..0052040f36 100644 --- a/target/linux/ramips/dts/mt7621_mqmaker_witi.dts +++ b/target/linux/ramips/dts/mt7621_mqmaker_witi.dts @@ -58,22 +58,27 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_e000: macaddr@e000 { + compatible = "mac-base"; + reg = <0xe000 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -94,7 +99,7 @@ mt76@0,0 { reg = <0x0000 0 0 0 0>; ieee80211-freq-limit = <5000000 6000000>; - nvmem-cells = <&eeprom_factory_8000>, <&macaddr_factory_e000>; + nvmem-cells = <&eeprom_factory_8000>, <&macaddr_factory_e000 0>; nvmem-cell-names = "eeprom", "mac-address"; }; }; @@ -103,13 +108,13 @@ mt76@0,0 { reg = <0x0000 0 0 0 0>; ieee80211-freq-limit = <2400000 2500000>; - nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_e000>; + nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_e000 0>; nvmem-cell-names = "eeprom", "mac-address"; }; }; &gmac0 { - nvmem-cells = <&macaddr_factory_e000>; + nvmem-cells = <&macaddr_factory_e000 0>; nvmem-cell-names = "mac-address"; }; @@ -119,9 +124,8 @@ phy-mode = "rgmii-rxid"; phy-handle = <ðphy5>; - nvmem-cells = <&macaddr_factory_e000>; + nvmem-cells = <&macaddr_factory_e000 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; &mdio { @@ -156,9 +160,8 @@ status = "okay"; label = "wan1"; - nvmem-cells = <&macaddr_factory_e000>; + nvmem-cells = <&macaddr_factory_e000 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; }; }; diff --git a/target/linux/ramips/dts/mt7621_mtc_wr1201.dts b/target/linux/ramips/dts/mt7621_mtc_wr1201.dts index 5872a710b8..43b021fa13 100644 --- a/target/linux/ramips/dts/mt7621_mtc_wr1201.dts +++ b/target/linux/ramips/dts/mt7621_mtc_wr1201.dts @@ -78,23 +78,28 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + compatible = "mac-base"; + reg = <0x4 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -118,7 +123,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 0>; nvmem-cell-names = "mac-address"; }; @@ -147,9 +152,8 @@ port@4 { status = "okay"; label = "wan"; - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; }; }; diff --git a/target/linux/ramips/dts/mt7621_netgear_ex6150.dts b/target/linux/ramips/dts/mt7621_netgear_ex6150.dts index 0ddcd6c35e..41e603c160 100644 --- a/target/linux/ramips/dts/mt7621_netgear_ex6150.dts +++ b/target/linux/ramips/dts/mt7621_netgear_ex6150.dts @@ -118,23 +118,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_netgear_r6220.dts b/target/linux/ramips/dts/mt7621_netgear_r6220.dts index f960d8f66f..132210cb0c 100644 --- a/target/linux/ramips/dts/mt7621_netgear_r6220.dts +++ b/target/linux/ramips/dts/mt7621_netgear_r6220.dts @@ -42,7 +42,6 @@ }; factory: partition@2e00000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x2e00000 0x100000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_netgear_sercomm_bzv.dtsi b/target/linux/ramips/dts/mt7621_netgear_sercomm_bzv.dtsi index ab96b8fdd1..f5cffb4a2a 100644 --- a/target/linux/ramips/dts/mt7621_netgear_sercomm_bzv.dtsi +++ b/target/linux/ramips/dts/mt7621_netgear_sercomm_bzv.dtsi @@ -162,7 +162,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 0>; nvmem-cell-names = "mac-address"; }; @@ -171,9 +171,8 @@ label = "wan"; phy-handle = <ðphy4>; - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 2>; nvmem-cell-names = "mac-address"; - mac-address-increment = <2>; }; &mdio { @@ -216,6 +215,7 @@ reg = <0x20>; gpio-controller; + interrupt-controller; }; }; @@ -342,6 +342,18 @@ reg = <0x4600000 0x200000>; sercomm,scpart-id = <16>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_4: macaddr@4 { + compatible = "mac-base"; + reg = <0x4 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@4800000 { @@ -429,13 +441,3 @@ }; }; }; - -&factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; - }; -}; diff --git a/target/linux/ramips/dts/mt7621_netgear_sercomm_chj.dtsi b/target/linux/ramips/dts/mt7621_netgear_sercomm_chj.dtsi index cd9582e541..fd73bfcb3e 100644 --- a/target/linux/ramips/dts/mt7621_netgear_sercomm_chj.dtsi +++ b/target/linux/ramips/dts/mt7621_netgear_sercomm_chj.dtsi @@ -96,7 +96,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 0>; nvmem-cell-names = "mac-address"; }; @@ -105,9 +105,8 @@ label = "wan"; phy-handle = <ðphy4>; - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 2>; nvmem-cell-names = "mac-address"; - mac-address-increment = <2>; }; &mdio { @@ -270,6 +269,18 @@ reg = <0x4600000 0x200000>; sercomm,scpart-id = <16>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_4: macaddr@4 { + compatible = "mac-base"; + reg = <0x4 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@4800000 { @@ -357,13 +368,3 @@ }; }; }; - -&factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; - }; -}; diff --git a/target/linux/ramips/dts/mt7621_netgear_wac104.dts b/target/linux/ramips/dts/mt7621_netgear_wac104.dts index 53a4449b8b..48a3302e79 100644 --- a/target/linux/ramips/dts/mt7621_netgear_wac104.dts +++ b/target/linux/ramips/dts/mt7621_netgear_wac104.dts @@ -96,23 +96,26 @@ }; factory: partition@2e00000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x2e00000 0x100000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_netgear_wax202.dts b/target/linux/ramips/dts/mt7621_netgear_wax202.dts index eb7d1bb7e5..c0c3500af2 100644 --- a/target/linux/ramips/dts/mt7621_netgear_wax202.dts +++ b/target/linux/ramips/dts/mt7621_netgear_wax202.dts @@ -113,15 +113,18 @@ }; factory: partition@100000 { - compatible = "nvmem-cells"; label = "Factory"; reg = <0x100000 0x80000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0xe00>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_0: eeprom@0 { + reg = <0x0 0xe00>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_netis_wf2881.dts b/target/linux/ramips/dts/mt7621_netis_wf2881.dts index 29f111b572..c58e32377e 100644 --- a/target/linux/ramips/dts/mt7621_netis_wf2881.dts +++ b/target/linux/ramips/dts/mt7621_netis_wf2881.dts @@ -63,27 +63,30 @@ }; factory: partition@100000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x100000 0x40000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_oraybox_x3a.dts b/target/linux/ramips/dts/mt7621_oraybox_x3a.dts index 5671133255..2391599963 100644 --- a/target/linux/ramips/dts/mt7621_oraybox_x3a.dts +++ b/target/linux/ramips/dts/mt7621_oraybox_x3a.dts @@ -77,15 +77,18 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x4da8>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; }; }; @@ -100,12 +103,16 @@ reg = <0xfe0000 0x10000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_bdinfo_9: macaddr@9 { - reg = <0x9 0x6>; + macaddr_bdinfo_9: macaddr@9 { + compatible = "mac-base"; + reg = <0x9 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -132,7 +139,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_bdinfo_9>; + nvmem-cells = <&macaddr_bdinfo_9 0>; nvmem-cell-names = "mac-address"; }; @@ -141,9 +148,8 @@ label = "wan"; phy-handle = <ðphy4>; - nvmem-cells = <&macaddr_bdinfo_9>; + nvmem-cells = <&macaddr_bdinfo_9 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; &mdio { diff --git a/target/linux/ramips/dts/mt7621_phicomm_k2p.dts b/target/linux/ramips/dts/mt7621_phicomm_k2p.dts index fd3b42f6ed..85cf8ecfd3 100644 --- a/target/linux/ramips/dts/mt7621_phicomm_k2p.dts +++ b/target/linux/ramips/dts/mt7621_phicomm_k2p.dts @@ -70,27 +70,30 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x4da8>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_planex_vr500.dts b/target/linux/ramips/dts/mt7621_planex_vr500.dts index 1da6d2cca1..93e7280b4c 100644 --- a/target/linux/ramips/dts/mt7621_planex_vr500.dts +++ b/target/linux/ramips/dts/mt7621_planex_vr500.dts @@ -63,6 +63,20 @@ label = "factory"; reg = <0x40000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; + }; }; partition@50000 { @@ -124,17 +138,3 @@ function = "gpio"; }; }; - -&factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; - - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; - }; -}; diff --git a/target/linux/ramips/dts/mt7621_raisecom_msg1500-x-00.dts b/target/linux/ramips/dts/mt7621_raisecom_msg1500-x-00.dts index 6dd4b58139..4a9e420370 100644 --- a/target/linux/ramips/dts/mt7621_raisecom_msg1500-x-00.dts +++ b/target/linux/ramips/dts/mt7621_raisecom_msg1500-x-00.dts @@ -81,8 +81,6 @@ reg = <0x80000 0x80000>; read-only; - compatible = "nvmem-cells"; - nvmem-layout { compatible = "fixed-layout"; #address-cells = <1>; @@ -103,19 +101,22 @@ }; factory: partition@100000 { - compatible = "nvmem-cells"; label = "Factory"; reg = <0x100000 0x40000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x4da8>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_renkforce_ws-wn530hp3-a.dts b/target/linux/ramips/dts/mt7621_renkforce_ws-wn530hp3-a.dts index 3cf29d1729..8a32a86e7b 100644 --- a/target/linux/ramips/dts/mt7621_renkforce_ws-wn530hp3-a.dts +++ b/target/linux/ramips/dts/mt7621_renkforce_ws-wn530hp3-a.dts @@ -68,23 +68,28 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; + + macaddr_factory_4: macaddr@4 { + compatible = "mac-base"; + reg = <0x4 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -116,16 +121,14 @@ compatible = "mediatek,mt76"; reg = <0x0000 0 0 0 0>; ieee80211-freq-limit = <5000000 6000000>; - nvmem-cells = <&eeprom_factory_8000>, <&macaddr_factory_4>; + nvmem-cells = <&eeprom_factory_8000>, <&macaddr_factory_4 1>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <1>; }; }; &gmac0 { - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 (-2)>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(-2)>; }; &gmac1 { @@ -133,9 +136,8 @@ label = "wan"; phy-handle = <ðphy4>; - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 (-1)>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(-1)>; }; &mdio { diff --git a/target/linux/ramips/dts/mt7621_rostelecom_rt-sf-1.dts b/target/linux/ramips/dts/mt7621_rostelecom_rt-sf-1.dts index c476cf9495..b722df5bbb 100644 --- a/target/linux/ramips/dts/mt7621_rostelecom_rt-sf-1.dts +++ b/target/linux/ramips/dts/mt7621_rostelecom_rt-sf-1.dts @@ -9,22 +9,19 @@ &pcie0 { wifi@0,0 { - nvmem-cells = <&macaddr_factory_21000>; + nvmem-cells = <&macaddr_factory_21000 3>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(3)>; }; }; &pcie1 { wifi@0,0 { - nvmem-cells = <&macaddr_factory_21000>; + nvmem-cells = <&macaddr_factory_21000 2>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(2)>; }; }; &gmac1 { - nvmem-cells = <&macaddr_factory_21000>; + nvmem-cells = <&macaddr_factory_21000 11>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(11)>; }; diff --git a/target/linux/ramips/dts/mt7621_samknows_whitebox-v8.dts b/target/linux/ramips/dts/mt7621_samknows_whitebox-v8.dts index e5946af909..c3c5a2ff4a 100644 --- a/target/linux/ramips/dts/mt7621_samknows_whitebox-v8.dts +++ b/target/linux/ramips/dts/mt7621_samknows_whitebox-v8.dts @@ -72,27 +72,30 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_sercomm_dxx_nand_256m.dtsi b/target/linux/ramips/dts/mt7621_sercomm_dxx_nand_256m.dtsi index 479ea067a7..36d576108d 100644 --- a/target/linux/ramips/dts/mt7621_sercomm_dxx_nand_256m.dtsi +++ b/target/linux/ramips/dts/mt7621_sercomm_dxx_nand_256m.dtsi @@ -98,24 +98,29 @@ }; factory: partition@200000 { - compatible = "nvmem-cells"; label = "Factory"; reg = <0x200000 0x100000>; sercomm,scpart-id = <2>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_21000: macaddr@21000 { - reg = <0x21000 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; + + macaddr_factory_21000: macaddr@21000 { + compatible = "mac-base"; + reg = <0x21000 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_sercomm_na502.dts b/target/linux/ramips/dts/mt7621_sercomm_na502.dts index 7fe0258223..44b1077bc6 100644 --- a/target/linux/ramips/dts/mt7621_sercomm_na502.dts +++ b/target/linux/ramips/dts/mt7621_sercomm_na502.dts @@ -100,7 +100,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_factory_e000>; + nvmem-cells = <&macaddr_factory_e000 0>; nvmem-cell-names = "mac-address"; }; @@ -125,22 +125,27 @@ }; factory: partition@100000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x100000 0x40000>; - #address-cells = <1>; - #size-cells = <1>; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_e000: macaddr@e000 { + compatible = "mac-base"; + reg = <0xe000 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -189,9 +194,8 @@ wifi@0,0 { compatible = "mediatek,mt76"; reg = <0x0000 0 0 0 0>; - nvmem-cells = <&eeprom_factory_8000>, <&macaddr_factory_e000>; + nvmem-cells = <&eeprom_factory_8000>, <&macaddr_factory_e000 1>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <1>; ieee80211-freq-limit = <5000000 6000000>; }; }; @@ -200,9 +204,8 @@ wifi@0,0 { compatible = "mediatek,mt76"; reg = <0x0 0 0 0 0>; - nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_e000>; + nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_e000 2>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <2>; ieee80211-freq-limit = <2400000 2500000>; }; }; diff --git a/target/linux/ramips/dts/mt7621_sercomm_na502s.dts b/target/linux/ramips/dts/mt7621_sercomm_na502s.dts index 50d4df81f6..bea5998935 100644 --- a/target/linux/ramips/dts/mt7621_sercomm_na502s.dts +++ b/target/linux/ramips/dts/mt7621_sercomm_na502s.dts @@ -204,7 +204,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_factory_e000>; + nvmem-cells = <&macaddr_factory_e000 0>; nvmem-cell-names = "mac-address"; }; @@ -229,22 +229,27 @@ }; factory: partition@100000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x100000 0x40000>; - #address-cells = <1>; - #size-cells = <1>; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_e000: macaddr@e000 { + compatible = "mac-base"; + reg = <0xe000 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -293,9 +298,8 @@ wifi@0,0 { compatible = "mediatek,mt76"; reg = <0x0000 0 0 0 0>; - nvmem-cells = <&eeprom_factory_8000>, <&macaddr_factory_e000>; + nvmem-cells = <&eeprom_factory_8000>, <&macaddr_factory_e000 1>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <1>; ieee80211-freq-limit = <5000000 6000000>; }; }; @@ -304,9 +308,8 @@ wifi@0,0 { compatible = "mediatek,mt76"; reg = <0x0 0 0 0 0>; - nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_e000>; + nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_e000 2>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <2>; ieee80211-freq-limit = <2400000 2500000>; }; }; @@ -330,6 +333,7 @@ reg = <0x22>; gpio-controller; + interrupt-controller; }; gpio_expander0: gpio-expander0@20 { @@ -339,6 +343,7 @@ reg = <0x20>; gpio-controller; + interrupt-controller; }; gpio_expander1: gpio-expander1@21 { @@ -348,6 +353,7 @@ reg = <0x21>; gpio-controller; + interrupt-controller; }; }; diff --git a/target/linux/ramips/dts/mt7621_sercomm_s1500.dtsi b/target/linux/ramips/dts/mt7621_sercomm_s1500.dtsi index 11cf7752ab..09862b8067 100644 --- a/target/linux/ramips/dts/mt7621_sercomm_s1500.dtsi +++ b/target/linux/ramips/dts/mt7621_sercomm_s1500.dtsi @@ -158,7 +158,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_factory_1000>; + nvmem-cells = <&macaddr_factory_1000 0>; nvmem-cell-names = "mac-address"; }; @@ -177,23 +177,28 @@ }; factory: partition@100000 { - compatible = "nvmem-cells"; label = "Factory"; reg = <0x100000 0x100000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_1000: macaddr@1000 { - reg = <0x1000 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_1000: macaddr@1000 { + compatible = "mac-base"; + reg = <0x1000 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -228,19 +233,7 @@ reg = <0x0000 0 0 0 0>; ieee80211-freq-limit = <5000000 6000000>; - nvmem-cells = <&eeprom_factory_8000>, <&macaddr_factory_1000>; - nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <2>; - }; -}; - -&pcie1 { - wlan_2g: wifi@0,0 { - compatible = "mediatek,mt76"; - reg = <0x0000 0 0 0 0>; - ieee80211-freq-limit = <2400000 2500000>; - - nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_1000>; + nvmem-cells = <&eeprom_factory_8000>, <&macaddr_factory_1000 2>; nvmem-cell-names = "eeprom", "mac-address"; }; }; @@ -278,9 +271,8 @@ status = "okay"; label = "wan"; - nvmem-cells = <&macaddr_factory_1000>; + nvmem-cells = <&macaddr_factory_1000 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; }; }; diff --git a/target/linux/ramips/dts/mt7621_snr_snr-cpe-me1.dts b/target/linux/ramips/dts/mt7621_snr_snr-cpe-me1.dts index 9dbcbaa3c0..7383ba1e20 100644 --- a/target/linux/ramips/dts/mt7621_snr_snr-cpe-me1.dts +++ b/target/linux/ramips/dts/mt7621_snr_snr-cpe-me1.dts @@ -146,27 +146,30 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "Factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_snr_snr-cpe-me2-lite.dts b/target/linux/ramips/dts/mt7621_snr_snr-cpe-me2-lite.dts index 1cc9b45c40..51425b9a15 100644 --- a/target/linux/ramips/dts/mt7621_snr_snr-cpe-me2-lite.dts +++ b/target/linux/ramips/dts/mt7621_snr_snr-cpe-me2-lite.dts @@ -74,27 +74,30 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_snr_snr-cpe-me2-sfp.dts b/target/linux/ramips/dts/mt7621_snr_snr-cpe-me2-sfp.dts index 9e498b78ed..65f33f615b 100644 --- a/target/linux/ramips/dts/mt7621_snr_snr-cpe-me2-sfp.dts +++ b/target/linux/ramips/dts/mt7621_snr_snr-cpe-me2-sfp.dts @@ -113,23 +113,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x4da8>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_storylink_sap-g3200u3.dts b/target/linux/ramips/dts/mt7621_storylink_sap-g3200u3.dts index d9f7281a77..60817edbbf 100644 --- a/target/linux/ramips/dts/mt7621_storylink_sap-g3200u3.dts +++ b/target/linux/ramips/dts/mt7621_storylink_sap-g3200u3.dts @@ -67,23 +67,28 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_e006: macaddr@e006 { + compatible = "mac-base"; + reg = <0xe006 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -119,7 +124,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_factory_e006>; + nvmem-cells = <&macaddr_factory_e006 0>; nvmem-cell-names = "mac-address"; }; @@ -128,9 +133,8 @@ label = "wan"; phy-handle = <ðphy4>; - nvmem-cells = <&macaddr_factory_e006>; + nvmem-cells = <&macaddr_factory_e006 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; &mdio { diff --git a/target/linux/ramips/dts/mt7621_telco-electronics_x1.dts b/target/linux/ramips/dts/mt7621_telco-electronics_x1.dts index 8eb406541b..4d8fa7f320 100644 --- a/target/linux/ramips/dts/mt7621_telco-electronics_x1.dts +++ b/target/linux/ramips/dts/mt7621_telco-electronics_x1.dts @@ -106,23 +106,28 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_e006: macaddr@e006 { + compatible = "mac-base"; + reg = <0xe006 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -140,7 +145,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_factory_e006>; + nvmem-cells = <&macaddr_factory_e006 0>; nvmem-cell-names = "mac-address"; }; @@ -169,9 +174,8 @@ port@4 { status = "okay"; label = "wan"; - nvmem-cells = <&macaddr_factory_e006>; + nvmem-cells = <&macaddr_factory_e006 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; }; }; diff --git a/target/linux/ramips/dts/mt7621_tenbay_t-mb5eu-v01.dts b/target/linux/ramips/dts/mt7621_tenbay_t-mb5eu-v01.dts index a7e048f9ae..7b1e5d863b 100644 --- a/target/linux/ramips/dts/mt7621_tenbay_t-mb5eu-v01.dts +++ b/target/linux/ramips/dts/mt7621_tenbay_t-mb5eu-v01.dts @@ -112,7 +112,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 0>; nvmem-cell-names = "mac-address"; }; @@ -121,9 +121,8 @@ label = "wan"; phy-handle = <ðphy0>; - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 (-2)>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(-2)>; }; &mdio { @@ -195,19 +194,24 @@ }; factory: partition@50000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x50000 0x40000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0xe00>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0xe00>; + }; + + macaddr_factory_4: macaddr@4 { + compatible = "mac-base"; + reg = <0x4 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_thunder_timecloud.dts b/target/linux/ramips/dts/mt7621_thunder_timecloud.dts index 917a6beb51..da1db0366f 100644 --- a/target/linux/ramips/dts/mt7621_thunder_timecloud.dts +++ b/target/linux/ramips/dts/mt7621_thunder_timecloud.dts @@ -82,6 +82,16 @@ label = "factory"; reg = <0x40000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + }; }; partition@50000 { @@ -113,13 +123,3 @@ function = "gpio"; }; }; - -&factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; -}; diff --git a/target/linux/ramips/dts/mt7621_totolink_a7000r.dts b/target/linux/ramips/dts/mt7621_totolink_a7000r.dts index 16d8edb341..dd6cc5d844 100644 --- a/target/linux/ramips/dts/mt7621_totolink_a7000r.dts +++ b/target/linux/ramips/dts/mt7621_totolink_a7000r.dts @@ -63,23 +63,28 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x4da8>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; + + macaddr_factory_e000: macaddr@e000 { + compatible = "mac-base"; + reg = <0xe000 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -117,7 +122,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_factory_e000>; + nvmem-cells = <&macaddr_factory_e000 0>; nvmem-cell-names = "mac-address"; }; @@ -126,9 +131,8 @@ label = "wan"; phy-handle = <ðphy4>; - nvmem-cells = <&macaddr_factory_e000>; + nvmem-cells = <&macaddr_factory_e000 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; &mdio { diff --git a/target/linux/ramips/dts/mt7621_totolink_x5000r.dts b/target/linux/ramips/dts/mt7621_totolink_x5000r.dts index 23d47d6ea3..d2c242be6f 100644 --- a/target/linux/ramips/dts/mt7621_totolink_x5000r.dts +++ b/target/linux/ramips/dts/mt7621_totolink_x5000r.dts @@ -70,23 +70,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0xe00>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0xe00>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_tozed_zlt-s12-pro.dts b/target/linux/ramips/dts/mt7621_tozed_zlt-s12-pro.dts index d90c0b4b59..2d8717e3cd 100644 --- a/target/linux/ramips/dts/mt7621_tozed_zlt-s12-pro.dts +++ b/target/linux/ramips/dts/mt7621_tozed_zlt-s12-pro.dts @@ -160,23 +160,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_tplink_archer-ax23-v1.dts b/target/linux/ramips/dts/mt7621_tplink_archer-ax23-v1.dts index 50834c5866..1bc3f7e4f5 100644 --- a/target/linux/ramips/dts/mt7621_tplink_archer-ax23-v1.dts +++ b/target/linux/ramips/dts/mt7621_tplink_archer-ax23-v1.dts @@ -108,6 +108,18 @@ label = "config"; reg = <0xfa0000 0x010000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_config_8: macaddr@8 { + compatible = "mac-base"; + reg = <0x8 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@fb0000 { @@ -134,14 +146,14 @@ compatible = "mediatek,mt76"; reg = <0x0000 0 0 0 0>; mediatek,mtd-eeprom = <&radio 0x0>; - nvmem-cells = <&macaddr_config_8>; + nvmem-cells = <&macaddr_config_8 0>; nvmem-cell-names = "mac-address"; mediatek,disable-radar-background; }; }; &gmac0 { - nvmem-cells = <&macaddr_config_8>; + nvmem-cells = <&macaddr_config_8 0>; nvmem-cell-names = "mac-address"; }; @@ -150,9 +162,8 @@ label = "wan"; phy-handle = <ðphy4>; - nvmem-cells = <&macaddr_config_8>; + nvmem-cells = <&macaddr_config_8 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; &mdio { @@ -191,13 +202,3 @@ function = "gpio"; }; }; - -&config { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_config_8: macaddr@8 { - reg = <0x8 0x6>; - }; -}; diff --git a/target/linux/ramips/dts/mt7621_tplink_archer-c6u-v1.dts b/target/linux/ramips/dts/mt7621_tplink_archer-c6u-v1.dts index 330f6a0f34..522408b220 100644 --- a/target/linux/ramips/dts/mt7621_tplink_archer-c6u-v1.dts +++ b/target/linux/ramips/dts/mt7621_tplink_archer-c6u-v1.dts @@ -116,15 +116,20 @@ }; config: partition@fa0000 { - compatible = "nvmem-cells"; label = "config"; reg = <0xfa0000 0x010000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - macaddr_config_8: macaddr@8 { - reg = <0x8 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_config_8: macaddr@8 { + compatible = "mac-base"; + reg = <0x8 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -135,19 +140,22 @@ }; radio: partition@ff0000 { - compatible = "nvmem-cells"; label = "radio"; reg = <0xff0000 0x010000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_radio_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_radio_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; + eeprom_radio_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + eeprom_radio_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; }; }; }; @@ -162,7 +170,7 @@ mt76@0,0 { compatible = "mediatek,mt76"; reg = <0x0000 0 0 0 0>; - nvmem-cells = <&eeprom_radio_0>, <&macaddr_config_8>; + nvmem-cells = <&eeprom_radio_0>, <&macaddr_config_8 0>; nvmem-cell-names = "eeprom", "mac-address"; ieee80211-freq-limit = <2400000 2500000>; }; @@ -172,15 +180,14 @@ mt76@0,0 { compatible = "mediatek,mt76"; reg = <0x0000 0 0 0 0>; - nvmem-cells = <&eeprom_radio_8000>, <&macaddr_config_8>; + nvmem-cells = <&eeprom_radio_8000>, <&macaddr_config_8 (-1)>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <(-1)>; ieee80211-freq-limit = <5000000 6000000>; }; }; &gmac0 { - nvmem-cells = <&macaddr_config_8>; + nvmem-cells = <&macaddr_config_8 0>; nvmem-cell-names = "mac-address"; }; @@ -189,9 +196,8 @@ label = "wan"; phy-handle = <ðphy0>; - nvmem-cells = <&macaddr_config_8>; + nvmem-cells = <&macaddr_config_8 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; &mdio { diff --git a/target/linux/ramips/dts/mt7621_tplink_archer-x6-v3.dtsi b/target/linux/ramips/dts/mt7621_tplink_archer-x6-v3.dtsi index 08867064ed..d3db8cd602 100644 --- a/target/linux/ramips/dts/mt7621_tplink_archer-x6-v3.dtsi +++ b/target/linux/ramips/dts/mt7621_tplink_archer-x6-v3.dtsi @@ -109,32 +109,40 @@ }; config: partition@fa0000 { - compatible = "nvmem-cells"; label = "config"; reg = <0xfa0000 0x50000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - macaddr_config_8: macaddr@8 { - reg = <0x8 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_config_8: macaddr@8 { + compatible = "mac-base"; + reg = <0x8 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; radio: partition@ff0000 { - compatible = "nvmem-cells"; label = "radio"; reg = <0xff0000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_radio_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_radio_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; + eeprom_radio_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + eeprom_radio_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; }; }; }; @@ -156,9 +164,8 @@ wifi@0,0 { compatible = "mediatek,mt76"; reg = <0x0000 0 0 0 0>; - nvmem-cells = <&eeprom_radio_0>, <&macaddr_config_8>; + nvmem-cells = <&eeprom_radio_0>, <&macaddr_config_8 1>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <1>; ieee80211-freq-limit = <2400000 2500000>; }; }; @@ -167,9 +174,8 @@ wifi@0,0 { compatible = "mediatek,mt76"; reg = <0x0000 0 0 0 0>; - nvmem-cells = <&eeprom_radio_8000>, <&macaddr_config_8>; + nvmem-cells = <&eeprom_radio_8000>, <&macaddr_config_8 2>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <2>; ieee80211-freq-limit = <5000000 6000000>; }; }; @@ -179,7 +185,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_config_8>; + nvmem-cells = <&macaddr_config_8 0>; nvmem-cell-names = "mac-address"; }; diff --git a/target/linux/ramips/dts/mt7621_tplink_deco-m4r-v4.dts b/target/linux/ramips/dts/mt7621_tplink_deco-m4r-v4.dts index 4603263e8d..087910233e 100644 --- a/target/linux/ramips/dts/mt7621_tplink_deco-m4r-v4.dts +++ b/target/linux/ramips/dts/mt7621_tplink_deco-m4r-v4.dts @@ -131,12 +131,14 @@ reg = <0xfa0000 0x010000>; read-only; - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_config_8: macaddr@8 { - reg = <0x8 0x6>; + macaddr_config_8: macaddr@8 { + reg = <0x8 0x6>; + }; }; }; @@ -147,19 +149,22 @@ }; radio: partition@ff0000 { - compatible = "nvmem-cells"; label = "radio"; reg = <0xff0000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_radio_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_radio_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; + eeprom_radio_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + eeprom_radio_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; }; }; }; diff --git a/target/linux/ramips/dts/mt7621_tplink_eap235-wall-v1.dts b/target/linux/ramips/dts/mt7621_tplink_eap235-wall-v1.dts index f2aea644fa..a91a18efc7 100644 --- a/target/linux/ramips/dts/mt7621_tplink_eap235-wall-v1.dts +++ b/target/linux/ramips/dts/mt7621_tplink_eap235-wall-v1.dts @@ -82,15 +82,20 @@ }; info: partition@90000 { - compatible = "nvmem-cells"; label = "product-info"; reg = <0x90000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - macaddr_info_8: macaddr@8 { - reg = <0x8 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + compatible = "mac-base"; + reg = <0x8 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -121,19 +126,22 @@ }; radio: partition@ff0000 { - compatible = "nvmem-cells"; label = "radio"; reg = <0xff0000 0x010000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_radio_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_radio_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; + eeprom_radio_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + eeprom_radio_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; }; }; }; @@ -154,7 +162,7 @@ &pcie0 { wifi@0,0 { reg = <0x0000 0 0 0 0>; - nvmem-cells = <&eeprom_radio_0>, <&macaddr_info_8>; + nvmem-cells = <&eeprom_radio_0>, <&macaddr_info_8 0>; nvmem-cell-names = "eeprom", "mac-address"; }; }; @@ -163,14 +171,13 @@ wifi@0,0 { reg = <0x0000 0 0 0 0>; ieee80211-freq-limit = <5000000 6000000>; - nvmem-cells = <&eeprom_radio_8000>, <&macaddr_info_8>; + nvmem-cells = <&eeprom_radio_8000>, <&macaddr_info_8 1>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <1>; }; }; &gmac0 { - nvmem-cells = <&macaddr_info_8>; + nvmem-cells = <&macaddr_info_8 0>; nvmem-cell-names = "mac-address"; }; @@ -179,7 +186,7 @@ label = "lan0"; phy-handle = <ðphy0>; - nvmem-cells = <&macaddr_info_8>; + nvmem-cells = <&macaddr_info_8 0>; nvmem-cell-names = "mac-address"; }; diff --git a/target/linux/ramips/dts/mt7621_tplink_eap613-v1.dts b/target/linux/ramips/dts/mt7621_tplink_eap613-v1.dts index d25bf57560..cf08452c50 100644 --- a/target/linux/ramips/dts/mt7621_tplink_eap613-v1.dts +++ b/target/linux/ramips/dts/mt7621_tplink_eap613-v1.dts @@ -70,16 +70,18 @@ }; partition@90000 { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - label = "product-info"; reg = <0x90000 0x10000>; read-only; - macaddr: macaddr@8 { - reg = <0x8 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr: macaddr@8 { + reg = <0x8 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_tplink_eap615-wall-v1.dts b/target/linux/ramips/dts/mt7621_tplink_eap615-wall-v1.dts index 58e4bbf757..f9bbd9b392 100644 --- a/target/linux/ramips/dts/mt7621_tplink_eap615-wall-v1.dts +++ b/target/linux/ramips/dts/mt7621_tplink_eap615-wall-v1.dts @@ -93,6 +93,16 @@ label = "product-info"; reg = <0x90000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_info_8: macaddr@8 { + reg = <0x8 0x6>; + }; + }; }; partition@a0000 { @@ -186,13 +196,3 @@ }; }; }; - -&info { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_info_8: macaddr@8 { - reg = <0x8 0x6>; - }; -}; diff --git a/target/linux/ramips/dts/mt7621_tplink_ec330-g5u-v1.dts b/target/linux/ramips/dts/mt7621_tplink_ec330-g5u-v1.dts index 016ab03c7b..84b3efe8df 100644 --- a/target/linux/ramips/dts/mt7621_tplink_ec330-g5u-v1.dts +++ b/target/linux/ramips/dts/mt7621_tplink_ec330-g5u-v1.dts @@ -225,7 +225,6 @@ }; factory: partition@7800000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x7800000 0x400000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_tplink_ex220-v1.dts b/target/linux/ramips/dts/mt7621_tplink_ex220-v1.dts new file mode 100644 index 0000000000..c809cb0c0b --- /dev/null +++ b/target/linux/ramips/dts/mt7621_tplink_ex220-v1.dts @@ -0,0 +1,245 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "mt7621.dtsi" + +#include +#include +#include + +/ { + compatible = "tplink,ex220-v1", "mediatek,mt7621-soc"; + model = "TP-Link EX220 v1"; + + aliases { + led-boot = &led_power; + led-failsafe = &led_power; + led-running = &led_power; + led-upgrade = &led_power; + label-mac-device = &gmac0; + }; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + keys { + compatible = "gpio-keys"; + + button-wps { + label = "rfkill"; + gpios = <&gpio 7 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + + button-reset { + label = "reset"; + gpios = <&gpio 8 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; + + leds { + compatible = "gpio-leds"; + + led-wps { + color = ; + function = LED_FUNCTION_WPS; + gpios = <&gpio 3 GPIO_ACTIVE_LOW>; + }; + + led-lan { + color = ; + function = LED_FUNCTION_LAN; + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; + }; + + led-wan-orange { + color = ; + function = LED_FUNCTION_WAN; + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; + }; + + led-wan-green { + color = ; + function = LED_FUNCTION_WAN; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + }; + + led-wifi5g { + color = ; + function = LED_FUNCTION_WLAN; + function-enumerator = <5>; + gpios = <&gpio 15 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy1tpt"; + }; + + led-wifi2g { + color = ; + function = LED_FUNCTION_WLAN; + function-enumerator = <2>; + gpios = <&gpio 16 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy0tpt"; + }; + + led_power: led-power { + label = "green:power"; // to be removed once #13837 is merged + color = ; + function = LED_FUNCTION_POWER; + gpios = <&gpio 18 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&spi0 { + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <25000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "boot"; + reg = <0x00 0x30000>; + read-only; + }; + + partition@30000 { + label = "boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "config"; + reg = <0x50000 0x10000>; + read-only; + }; + + partition@60000 { + label = "isp_config"; + reg = <0x60000 0x10000>; + read-only; + }; + + partition@70000 { + label = "rom_file"; + reg = <0x70000 0x10000>; + read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_rom_file_f100: macaddr@f100 { + compatible = "mac-base"; + reg = <0xf100 0x6>; + #nvmem-cell-cells = <1>; + }; + }; + }; + + partition@80000 { + label = "cloud"; + reg = <0x80000 0x10000>; + read-only; + }; + + radio: partition@90000 { + label = "radio"; + reg = <0x90000 0x20000>; + read-only; + }; + + partition@b0000 { + label = "config_bak"; + reg = <0xb0000 0x10000>; + read-only; + }; + + partition@c0000 { + compatible = "denx,fit"; + label = "firmware"; + reg = <0xc0000 0xf30000>; + }; + }; + }; +}; + +&pcie { + status = "okay"; +}; + +&pcie1 { + wifi@0,0 { + compatible = "mediatek,mt76"; + reg = <0x0000 0 0 0 0>; + mediatek,mtd-eeprom = <&radio 0x0>; + nvmem-cells = <&macaddr_rom_file_f100 0>; + nvmem-cell-names = "mac-address"; + mediatek,disable-radar-background; + }; +}; + +&gmac0 { + nvmem-cells = <&macaddr_rom_file_f100 0>; + nvmem-cell-names = "mac-address"; +}; + +&gmac1 { + status = "okay"; + label = "wan"; + phy-handle = <ðphy4>; + + nvmem-cells = <&macaddr_rom_file_f100 1>; + nvmem-cell-names = "mac-address"; +}; + +&mdio { + ethphy4: ethernet-phy@4 { + reg = <4>; + }; +}; + +&switch0 { + ports { + port@0 { + status = "okay"; + label = "lan1"; + }; + + port@1 { + status = "okay"; + label = "lan2"; + }; + + port@2 { + status = "okay"; + label = "lan3"; + }; + + port@3 { + status = "okay"; + label = "lan4"; + }; + }; +}; + +&state_default { + gpio { + groups = "i2c", "uart3", "jtag", "wdt"; + function = "gpio"; + }; +}; diff --git a/target/linux/ramips/dts/mt7621_tplink_mr600-v2-eu.dts b/target/linux/ramips/dts/mt7621_tplink_mr600-v2-eu.dts index b9d5995ed5..6b73ffff24 100644 --- a/target/linux/ramips/dts/mt7621_tplink_mr600-v2-eu.dts +++ b/target/linux/ramips/dts/mt7621_tplink_mr600-v2-eu.dts @@ -109,15 +109,20 @@ }; romfile: partition@fc0000 { - compatible = "nvmem-cells"; label = "romfile"; reg = <0xfc0000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - macaddr_romfile_f100: romfile@f100 { - reg = <0xf100 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_romfile_f100: romfile@f100 { + compatible = "mac-base"; + reg = <0xf100 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -128,19 +133,22 @@ }; radio: partition@fe0000 { - compatible = "nvmem-cells"; label = "radio"; reg = <0xfe0000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_radio_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_radio_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; + eeprom_radio_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + eeprom_radio_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; }; }; }; @@ -156,7 +164,7 @@ mt76@0,0 { compatible = "mediatek,mt76"; reg = <0x0000 0 0 0 0>; - nvmem-cells = <&eeprom_radio_0>, <&macaddr_romfile_f100>; + nvmem-cells = <&eeprom_radio_0>, <&macaddr_romfile_f100 0>; nvmem-cell-names = "eeprom", "mac-address"; ieee80211-freq-limit = <2400000 2500000>; }; @@ -167,14 +175,13 @@ compatible = "mediatek,mt76"; reg = <0x0000 0 0 0 0>; ieee80211-freq-limit = <5000000 6000000>; - nvmem-cells = <&eeprom_radio_8000>, <&macaddr_romfile_f100>; + nvmem-cells = <&eeprom_radio_8000>, <&macaddr_romfile_f100 (-1)>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <(-1)>; }; }; &gmac0 { - nvmem-cells = <&macaddr_romfile_f100>; + nvmem-cells = <&macaddr_romfile_f100 0>; nvmem-cell-names = "mac-address"; }; @@ -183,7 +190,7 @@ label = "wan"; phy-handle = <ðphy4>; - nvmem-cells = <&macaddr_romfile_f100>; + nvmem-cells = <&macaddr_romfile_f100 0>; nvmem-cell-names = "mac-address"; }; diff --git a/target/linux/ramips/dts/mt7621_tplink_re350-v1.dts b/target/linux/ramips/dts/mt7621_tplink_re350-v1.dts index 890365c199..be23abf4c8 100644 --- a/target/linux/ramips/dts/mt7621_tplink_re350-v1.dts +++ b/target/linux/ramips/dts/mt7621_tplink_re350-v1.dts @@ -108,32 +108,40 @@ }; config: partition@600000 { - compatible = "nvmem-cells"; label = "config"; reg = <0x600000 0x50000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - macaddr_config_10008: macaddr@10008 { - reg = <0x10008 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_config_10008: macaddr@10008 { + compatible = "mac-base"; + reg = <0x10008 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; radio: partition@7f0000 { - compatible = "nvmem-cells"; label = "radio"; reg = <0x7f0000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_radio_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_radio_8000: eeprom@8000 { - reg = <0x8000 0x200>; + eeprom_radio_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + eeprom_radio_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; }; }; }; @@ -147,9 +155,8 @@ &pcie0 { mt76@0,0 { reg = <0x0000 0 0 0 0>; - nvmem-cells = <&eeprom_radio_0>, <&macaddr_config_10008>; + nvmem-cells = <&eeprom_radio_0>, <&macaddr_config_10008 1>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <1>; }; }; @@ -157,9 +164,8 @@ mt76@0,0 { reg = <0x0000 0 0 0 0>; ieee80211-freq-limit = <5000000 6000000>; - nvmem-cells = <&eeprom_radio_8000>, <&macaddr_config_10008>; + nvmem-cells = <&eeprom_radio_8000>, <&macaddr_config_10008 2>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <2>; }; }; @@ -168,7 +174,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_config_10008>; + nvmem-cells = <&macaddr_config_10008 0>; nvmem-cell-names = "mac-address"; }; diff --git a/target/linux/ramips/dts/mt7621_tplink_re650-v2.dts b/target/linux/ramips/dts/mt7621_tplink_re650-v2.dts index 42b9c3cc3e..7dcd5e553c 100644 --- a/target/linux/ramips/dts/mt7621_tplink_re650-v2.dts +++ b/target/linux/ramips/dts/mt7621_tplink_re650-v2.dts @@ -117,32 +117,40 @@ }; config: partition@7c0000 { - compatible = "nvmem-cells"; label = "config"; reg = <0x7c0000 0x2d440>; - #address-cells = <1>; - #size-cells = <1>; read-only; - macaddr_config_10008: macaddr@10008 { - reg = <0x10008 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_config_10008: macaddr@10008 { + compatible = "mac-base"; + reg = <0x10008 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; radio: partition@7f0000 { - compatible = "nvmem-cells"; label = "radio"; reg = <0x7f0000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_radio_0: eeprom@0 { - reg = <0x0 0x4da8>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_radio_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; + eeprom_radio_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; + + eeprom_radio_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; }; }; }; @@ -164,9 +172,8 @@ wifi@0,0 { compatible = "mediatek,mt76"; reg = <0x0000 0 0 0 0>; - nvmem-cells = <&eeprom_radio_0>, <&macaddr_config_10008>; + nvmem-cells = <&eeprom_radio_0>, <&macaddr_config_10008 1>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <1>; ieee80211-freq-limit = <2400000 2500000>; }; }; @@ -175,9 +182,8 @@ wifi@0,0 { compatible = "mediatek,mt76"; reg = <0x0000 0 0 0 0>; - nvmem-cells = <&eeprom_radio_8000>, <&macaddr_config_10008>; + nvmem-cells = <&eeprom_radio_8000>, <&macaddr_config_10008 2>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <2>; ieee80211-freq-limit = <5000000 6000000>; }; }; @@ -187,7 +193,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_config_10008>; + nvmem-cells = <&macaddr_config_10008 0>; nvmem-cell-names = "mac-address"; }; diff --git a/target/linux/ramips/dts/mt7621_tplink_rexx0-v1.dtsi b/target/linux/ramips/dts/mt7621_tplink_rexx0-v1.dtsi index 4207100f34..3784a4f3c9 100644 --- a/target/linux/ramips/dts/mt7621_tplink_rexx0-v1.dtsi +++ b/target/linux/ramips/dts/mt7621_tplink_rexx0-v1.dtsi @@ -114,15 +114,20 @@ }; config: partition@e00000 { - compatible = "nvmem-cells"; label = "config"; reg = <0xe00000 0x50000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - macaddr_config_10008: macaddr@10008 { - reg = <0x10008 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_config_10008: macaddr@10008 { + compatible = "mac-base"; + reg = <0x10008 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -131,19 +136,22 @@ */ radio: partition@ff0000 { - compatible = "nvmem-cells"; label = "radio"; reg = <0xff0000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_radio_0: eeprom@0 { - reg = <0x0 0x4da8>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_radio_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; + eeprom_radio_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; + + eeprom_radio_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; }; }; }; @@ -165,9 +173,8 @@ wifi@0,0 { compatible = "mediatek,mt76"; reg = <0x0000 0 0 0 0>; - nvmem-cells = <&eeprom_radio_0>, <&macaddr_config_10008>; + nvmem-cells = <&eeprom_radio_0>, <&macaddr_config_10008 1>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <1>; ieee80211-freq-limit = <2400000 2500000>; }; }; @@ -176,9 +183,8 @@ wifi@0,0 { compatible = "mediatek,mt76"; reg = <0x0000 0 0 0 0>; - nvmem-cells = <&eeprom_radio_8000>, <&macaddr_config_10008>; + nvmem-cells = <&eeprom_radio_8000>, <&macaddr_config_10008 2>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <2>; ieee80211-freq-limit = <5000000 6000000>; }; }; @@ -188,7 +194,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_config_10008>; + nvmem-cells = <&macaddr_config_10008 0>; nvmem-cell-names = "mac-address"; }; diff --git a/target/linux/ramips/dts/mt7621_tplink_tl-wpa8631p-v3.dts b/target/linux/ramips/dts/mt7621_tplink_tl-wpa8631p-v3.dts index 7d8948bb37..1e0fd20239 100644 --- a/target/linux/ramips/dts/mt7621_tplink_tl-wpa8631p-v3.dts +++ b/target/linux/ramips/dts/mt7621_tplink_tl-wpa8631p-v3.dts @@ -112,32 +112,40 @@ }; config: partition@730000 { - compatible = "nvmem-cells"; label = "config"; reg = <0x730000 0xc0000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - macaddr_config_2008: macaddr@2008 { - reg = <0x2008 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_config_2008: macaddr@2008 { + compatible = "mac-base"; + reg = <0x2008 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; radio: partition@7f0000 { - compatible = "nvmem-cells"; label = "radio"; reg = <0x7f0000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_radio_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_radio_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; + eeprom_radio_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + eeprom_radio_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; }; }; }; @@ -159,7 +167,7 @@ wifi@0,0 { compatible = "mediatek,mt76"; reg = <0x0000 0 0 0 0>; - nvmem-cells = <&eeprom_radio_0>, <&macaddr_config_2008>; + nvmem-cells = <&eeprom_radio_0>, <&macaddr_config_2008 0>; nvmem-cell-names = "eeprom", "mac-address"; ieee80211-freq-limit = <2400000 2500000>; }; @@ -169,9 +177,8 @@ wifi@0,0 { compatible = "mediatek,mt76"; reg = <0x0000 0 0 0 0>; - nvmem-cells = <&eeprom_radio_8000>, <&macaddr_config_2008>; + nvmem-cells = <&eeprom_radio_8000>, <&macaddr_config_2008 1>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <1>; ieee80211-freq-limit = <5000000 6000000>; }; }; @@ -181,7 +188,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_config_2008>; + nvmem-cells = <&macaddr_config_2008 0>; nvmem-cell-names = "mac-address"; }; diff --git a/target/linux/ramips/dts/mt7621_ubnt_edgerouter-x.dtsi b/target/linux/ramips/dts/mt7621_ubnt_edgerouter-x.dtsi index 411bf6a85a..b2b78aba63 100644 --- a/target/linux/ramips/dts/mt7621_ubnt_edgerouter-x.dtsi +++ b/target/linux/ramips/dts/mt7621_ubnt_edgerouter-x.dtsi @@ -83,7 +83,6 @@ }; factory: partition@e0000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0xe0000 0x60000>; diff --git a/target/linux/ramips/dts/mt7621_ubnt_unifi-6-lite.dts b/target/linux/ramips/dts/mt7621_ubnt_unifi-6-lite.dts index 8f78a60557..cd19893e14 100644 --- a/target/linux/ramips/dts/mt7621_ubnt_unifi-6-lite.dts +++ b/target/linux/ramips/dts/mt7621_ubnt_unifi-6-lite.dts @@ -37,32 +37,40 @@ }; factory: partition@70000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x70000 0x40000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; }; }; eeprom: partition@b0000 { - compatible = "nvmem-cells"; label = "eeprom"; reg = <0xb0000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - macaddr_eeprom_0: macaddr@0 { - reg = <0x0 0x6>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_eeprom_6: macaddr@6 { - reg = <0x6 0x6>; + macaddr_eeprom_0: macaddr@0 { + reg = <0x0 0x6>; + }; + + macaddr_eeprom_6: macaddr@6 { + compatible = "mac-base"; + reg = <0x6 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -106,9 +114,6 @@ mediatek,mtd-eeprom = <&factory 0x20000>; - nvmem-cells = <&macaddr_eeprom_6>; - nvmem-cell-names = "mac-address"; - /* This is a workaround. * * Ubiquiti uses a +2 offset in the first octet relative @@ -121,7 +126,8 @@ * mac80211 increases the first octet by two for each VAP, leading * to conflicting MAC addresses for subsequent interfaces. */ - mac-address-increment = <1>; + nvmem-cells = <&macaddr_eeprom_6 1>; + nvmem-cell-names = "mac-address"; ieee80211-freq-limit = <5000000 6000000>; diff --git a/target/linux/ramips/dts/mt7621_ubnt_unifi-flexhd.dts b/target/linux/ramips/dts/mt7621_ubnt_unifi-flexhd.dts index 615bdf4e13..36df3ef883 100644 --- a/target/linux/ramips/dts/mt7621_ubnt_unifi-flexhd.dts +++ b/target/linux/ramips/dts/mt7621_ubnt_unifi-flexhd.dts @@ -67,6 +67,18 @@ label = "eeprom"; reg = <0x80000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_eeprom_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@90000 { @@ -95,18 +107,8 @@ }; }; -&eeprom { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_eeprom_0: macaddr@0 { - reg = <0x0 0x6>; - }; -}; - &gmac0 { - nvmem-cells = <&macaddr_eeprom_0>; + nvmem-cells = <&macaddr_eeprom_0 0>; nvmem-cell-names = "mac-address"; }; @@ -129,9 +131,8 @@ mediatek,mtd-eeprom = <&factory 0x0>; // On newer devices there is a MediaTek MAC in the above // device EEPROM, so override it with a calculated one. - nvmem-cells = <&macaddr_eeprom_0>; + nvmem-cells = <&macaddr_eeprom_0 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; }; @@ -141,9 +142,8 @@ mediatek,mtd-eeprom = <&factory 0x8000>; // On newer devices there is a MediaTek MAC in the above // device EEPROM, so override it with a calculated one. - nvmem-cells = <&macaddr_eeprom_0>; + nvmem-cells = <&macaddr_eeprom_0 2>; nvmem-cell-names = "mac-address"; - mac-address-increment = <2>; }; }; diff --git a/target/linux/ramips/dts/mt7621_ubnt_unifi-nanohd.dts b/target/linux/ramips/dts/mt7621_ubnt_unifi-nanohd.dts index 2762a777a3..b4000464f7 100644 --- a/target/linux/ramips/dts/mt7621_ubnt_unifi-nanohd.dts +++ b/target/linux/ramips/dts/mt7621_ubnt_unifi-nanohd.dts @@ -42,6 +42,16 @@ label = "eeprom"; reg = <0x80000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_eeprom_0: macaddr@0 { + reg = <0x0 0x6>; + }; + }; }; partition@90000 { @@ -82,13 +92,3 @@ &wlan_5g { mediatek,mtd-eeprom = <&factory 0x8000>; }; - -&eeprom { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_eeprom_0: macaddr@0 { - reg = <0x0 0x6>; - }; -}; diff --git a/target/linux/ramips/dts/mt7621_ubnt_usw-flex.dts b/target/linux/ramips/dts/mt7621_ubnt_usw-flex.dts index ff328bd858..f09ccba585 100644 --- a/target/linux/ramips/dts/mt7621_ubnt_usw-flex.dts +++ b/target/linux/ramips/dts/mt7621_ubnt_usw-flex.dts @@ -138,17 +138,18 @@ }; part_eeprom: partition@80000 { - compatible = "nvmem-cells"; - - #address-cells = <1>; - #size-cells = <1>; - label = "eeprom"; reg = <0x80000 0x10000>; read-only; - macaddr_eeprom: macaddr@0 { - reg = <0x0 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_eeprom: macaddr@0 { + reg = <0x0 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_unielec_u7621-01-16m.dts b/target/linux/ramips/dts/mt7621_unielec_u7621-01-16m.dts index 42cf121f3b..c933e443c1 100644 --- a/target/linux/ramips/dts/mt7621_unielec_u7621-01-16m.dts +++ b/target/linux/ramips/dts/mt7621_unielec_u7621-01-16m.dts @@ -33,27 +33,30 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_unielec_u7621-06-16m.dts b/target/linux/ramips/dts/mt7621_unielec_u7621-06-16m.dts index 212c000942..c51b6eebee 100644 --- a/target/linux/ramips/dts/mt7621_unielec_u7621-06-16m.dts +++ b/target/linux/ramips/dts/mt7621_unielec_u7621-06-16m.dts @@ -41,6 +41,20 @@ label = "factory"; reg = <0x40000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; + }; }; firmware: partition@50000 { @@ -61,17 +75,3 @@ nvmem-cells = <&macaddr_factory_e006>; nvmem-cell-names = "mac-address"; }; - -&factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; - - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; - }; -}; diff --git a/target/linux/ramips/dts/mt7621_unielec_u7621-06-32m.dts b/target/linux/ramips/dts/mt7621_unielec_u7621-06-32m.dts index dc9a9773a2..4d34a787b6 100644 --- a/target/linux/ramips/dts/mt7621_unielec_u7621-06-32m.dts +++ b/target/linux/ramips/dts/mt7621_unielec_u7621-06-32m.dts @@ -42,6 +42,20 @@ label = "factory"; reg = <0x40000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; + }; }; firmware: partition@50000 { @@ -62,17 +76,3 @@ nvmem-cells = <&macaddr_factory_e006>; nvmem-cell-names = "mac-address"; }; - -&factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; - - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; - }; -}; diff --git a/target/linux/ramips/dts/mt7621_unielec_u7621-06-64m.dts b/target/linux/ramips/dts/mt7621_unielec_u7621-06-64m.dts index f196432111..edc3a7723a 100644 --- a/target/linux/ramips/dts/mt7621_unielec_u7621-06-64m.dts +++ b/target/linux/ramips/dts/mt7621_unielec_u7621-06-64m.dts @@ -42,6 +42,20 @@ label = "factory"; reg = <0x40000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; + }; }; firmware: partition@50000 { @@ -62,17 +76,3 @@ nvmem-cells = <&macaddr_factory_e006>; nvmem-cell-names = "mac-address"; }; - -&factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; - - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; - }; -}; diff --git a/target/linux/ramips/dts/mt7621_wavlink_wl-wn53xax.dtsi b/target/linux/ramips/dts/mt7621_wavlink_wl-wn53xax.dtsi index 843e9a30c7..e0db05724e 100644 --- a/target/linux/ramips/dts/mt7621_wavlink_wl-wn53xax.dtsi +++ b/target/linux/ramips/dts/mt7621_wavlink_wl-wn53xax.dtsi @@ -95,6 +95,20 @@ label = "factory"; reg = <0x40000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; + }; }; partition@50000 { @@ -178,17 +192,3 @@ &uartlite2 { status = "okay"; }; - -&factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; - - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; - }; -}; diff --git a/target/linux/ramips/dts/mt7621_wavlink_wl-wn573hx1.dts b/target/linux/ramips/dts/mt7621_wavlink_wl-wn573hx1.dts index d8a94c85b9..dd2150c1a6 100644 --- a/target/linux/ramips/dts/mt7621_wavlink_wl-wn573hx1.dts +++ b/target/linux/ramips/dts/mt7621_wavlink_wl-wn573hx1.dts @@ -86,9 +86,19 @@ reg = <0x30000 0x10000>; }; - factory:partition@50000 { + factory: partition@50000 { label = "factory"; reg = <0x50000 0x40000>; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_3fff4: macaddr@3fff4 { + reg = <0x3fff4 0x6>; + }; + }; }; partition@90000 { @@ -119,15 +129,3 @@ }; }; }; - - -&factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_factory_3fff4: macaddr@3fff4 { - reg = <0x3fff4 0x6>; - }; - -}; diff --git a/target/linux/ramips/dts/mt7621_wavlink_ws-wn572hp3-4g.dts b/target/linux/ramips/dts/mt7621_wavlink_ws-wn572hp3-4g.dts index 76fbbb99b1..55e828a295 100644 --- a/target/linux/ramips/dts/mt7621_wavlink_ws-wn572hp3-4g.dts +++ b/target/linux/ramips/dts/mt7621_wavlink_ws-wn572hp3-4g.dts @@ -84,27 +84,30 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_wevo_w2914ns-v2.dtsi b/target/linux/ramips/dts/mt7621_wevo_w2914ns-v2.dtsi index 6c5a638e0f..8b018e18ae 100644 --- a/target/linux/ramips/dts/mt7621_wevo_w2914ns-v2.dtsi +++ b/target/linux/ramips/dts/mt7621_wevo_w2914ns-v2.dtsi @@ -63,27 +63,30 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_2e: macaddr@2e { - reg = <0x2e 0x6>; - }; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; + macaddr_factory_2e: macaddr@2e { + reg = <0x2e 0x6>; + }; + + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_wifire_s1500-nbn.dts b/target/linux/ramips/dts/mt7621_wifire_s1500-nbn.dts index 6c0e2965aa..4ffe988153 100644 --- a/target/linux/ramips/dts/mt7621_wifire_s1500-nbn.dts +++ b/target/linux/ramips/dts/mt7621_wifire_s1500-nbn.dts @@ -76,6 +76,13 @@ */ }; -&wlan_2g { - mac-address-increment = <1>; +&pcie1 { + wlan_2g: wifi@0,0 { + compatible = "mediatek,mt76"; + reg = <0x0000 0 0 0 0>; + ieee80211-freq-limit = <2400000 2500000>; + + nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_1000 1>; + nvmem-cell-names = "eeprom", "mac-address"; + }; }; diff --git a/target/linux/ramips/dts/mt7621_winstars_ws-wn583a6.dts b/target/linux/ramips/dts/mt7621_winstars_ws-wn583a6.dts index f699b4c47a..78f81314fc 100644 --- a/target/linux/ramips/dts/mt7621_winstars_ws-wn583a6.dts +++ b/target/linux/ramips/dts/mt7621_winstars_ws-wn583a6.dts @@ -84,27 +84,30 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_xiaomi_mi-router-3-pro.dts b/target/linux/ramips/dts/mt7621_xiaomi_mi-router-3-pro.dts index 62111520c0..a403cd3e14 100644 --- a/target/linux/ramips/dts/mt7621_xiaomi_mi-router-3-pro.dts +++ b/target/linux/ramips/dts/mt7621_xiaomi_mi-router-3-pro.dts @@ -132,27 +132,30 @@ }; factory: partition@c0000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x0c0000 0x40000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x4da8>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_xiaomi_mi-router-3g.dts b/target/linux/ramips/dts/mt7621_xiaomi_mi-router-3g.dts index c13c0c9570..763973a193 100644 --- a/target/linux/ramips/dts/mt7621_xiaomi_mi-router-3g.dts +++ b/target/linux/ramips/dts/mt7621_xiaomi_mi-router-3g.dts @@ -132,17 +132,3 @@ function = "gpio"; }; }; - -&factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; - - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; - }; -}; diff --git a/target/linux/ramips/dts/mt7621_xiaomi_mi-router-4.dts b/target/linux/ramips/dts/mt7621_xiaomi_mi-router-4.dts index 232a720e54..8340ca5d28 100644 --- a/target/linux/ramips/dts/mt7621_xiaomi_mi-router-4.dts +++ b/target/linux/ramips/dts/mt7621_xiaomi_mi-router-4.dts @@ -104,17 +104,3 @@ function = "gpio"; }; }; - -&factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; - - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; - }; -}; diff --git a/target/linux/ramips/dts/mt7621_xiaomi_mi-router-4a-common.dtsi b/target/linux/ramips/dts/mt7621_xiaomi_mi-router-4a-common.dtsi index efc32733e9..7ce9aea335 100644 --- a/target/linux/ramips/dts/mt7621_xiaomi_mi-router-4a-common.dtsi +++ b/target/linux/ramips/dts/mt7621_xiaomi_mi-router-4a-common.dtsi @@ -64,6 +64,20 @@ label = "factory"; reg = <0x50000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; + }; }; partition@60000 { @@ -122,17 +136,3 @@ function = "gpio"; }; }; - -&factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; - - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; - }; -}; diff --git a/target/linux/ramips/dts/mt7621_xiaomi_mi-router-cr660x.dtsi b/target/linux/ramips/dts/mt7621_xiaomi_mi-router-cr660x.dtsi index f0e0ae8e7e..d1a2c08c6d 100644 --- a/target/linux/ramips/dts/mt7621_xiaomi_mi-router-cr660x.dtsi +++ b/target/linux/ramips/dts/mt7621_xiaomi_mi-router-cr660x.dtsi @@ -86,23 +86,26 @@ }; factory: partition@100000 { - compatible = "nvmem-cells"; label = "Factory"; reg = <0x100000 0x80000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0xe00>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_3fff4: macaddr@3fff4 { - reg = <0x3fff4 0x6>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0xe00>; + }; - macaddr_factory_3fffa: macaddr@3fffa { - reg = <0x3fffa 0x6>; + macaddr_factory_3fff4: macaddr@3fff4 { + reg = <0x3fff4 0x6>; + }; + + macaddr_factory_3fffa: macaddr@3fffa { + reg = <0x3fffa 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_xiaomi_nand_128m.dtsi b/target/linux/ramips/dts/mt7621_xiaomi_nand_128m.dtsi index 12e6bccc2e..1dc91d8b47 100644 --- a/target/linux/ramips/dts/mt7621_xiaomi_nand_128m.dtsi +++ b/target/linux/ramips/dts/mt7621_xiaomi_nand_128m.dtsi @@ -50,6 +50,20 @@ label = "factory"; reg = <0x100000 0x40000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; + }; }; partition@140000 { diff --git a/target/linux/ramips/dts/mt7621_xiaomi_router-ac2100.dtsi b/target/linux/ramips/dts/mt7621_xiaomi_router-ac2100.dtsi index 78f154b3ae..c7d6c574aa 100644 --- a/target/linux/ramips/dts/mt7621_xiaomi_router-ac2100.dtsi +++ b/target/linux/ramips/dts/mt7621_xiaomi_router-ac2100.dtsi @@ -69,17 +69,3 @@ function = "gpio"; }; }; - -&factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; - - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; - }; -}; diff --git a/target/linux/ramips/dts/mt7621_xiaoyu_xy-c5.dts b/target/linux/ramips/dts/mt7621_xiaoyu_xy-c5.dts index e4de0b8231..7bb90e542e 100644 --- a/target/linux/ramips/dts/mt7621_xiaoyu_xy-c5.dts +++ b/target/linux/ramips/dts/mt7621_xiaoyu_xy-c5.dts @@ -70,6 +70,18 @@ label = "factory"; reg = <0x40000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_4: macaddr@4 { + compatible = "mac-base"; + reg = <0x4 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@50000 { @@ -86,7 +98,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 0>; nvmem-cell-names = "mac-address"; }; @@ -95,9 +107,8 @@ label = "wan"; phy-handle = <ðphy4>; - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; &mdio { @@ -136,13 +147,3 @@ function = "gpio"; }; }; - -&factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; - }; -}; diff --git a/target/linux/ramips/dts/mt7621_xzwifi_creativebox-v1.dts b/target/linux/ramips/dts/mt7621_xzwifi_creativebox-v1.dts index 48f52eed2f..147713ddce 100644 --- a/target/linux/ramips/dts/mt7621_xzwifi_creativebox-v1.dts +++ b/target/linux/ramips/dts/mt7621_xzwifi_creativebox-v1.dts @@ -113,23 +113,28 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_e000: macaddr@e000 { + compatible = "mac-base"; + reg = <0xe000 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -174,7 +179,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_factory_e000>; + nvmem-cells = <&macaddr_factory_e000 0>; nvmem-cell-names = "mac-address"; }; @@ -203,9 +208,8 @@ port@4 { status = "okay"; label = "wan"; - nvmem-cells = <&macaddr_factory_e000>; + nvmem-cells = <&macaddr_factory_e000 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; }; }; diff --git a/target/linux/ramips/dts/mt7621_youhua_wr1200js.dts b/target/linux/ramips/dts/mt7621_youhua_wr1200js.dts index 2389112c3e..e715237a40 100644 --- a/target/linux/ramips/dts/mt7621_youhua_wr1200js.dts +++ b/target/linux/ramips/dts/mt7621_youhua_wr1200js.dts @@ -86,27 +86,30 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_youku_yk-l2.dts b/target/linux/ramips/dts/mt7621_youku_yk-l2.dts index 99da11a614..98d2e68922 100644 --- a/target/linux/ramips/dts/mt7621_youku_yk-l2.dts +++ b/target/linux/ramips/dts/mt7621_youku_yk-l2.dts @@ -89,27 +89,30 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_yuncore_ax820.dts b/target/linux/ramips/dts/mt7621_yuncore_ax820.dts index 1aba94a912..bbd546f300 100644 --- a/target/linux/ramips/dts/mt7621_yuncore_ax820.dts +++ b/target/linux/ramips/dts/mt7621_yuncore_ax820.dts @@ -115,6 +115,18 @@ label = "Factory"; reg = <0x50000 0x40000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_e000: macaddr@e000 { + compatible = "mac-base"; + reg = <0xe000 0x6>; + #nvmem-cell-cells = <1>; + }; + }; }; partition@90000 { @@ -140,7 +152,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_factory_e000>; + nvmem-cells = <&macaddr_factory_e000 0>; nvmem-cell-names = "mac-address"; }; @@ -149,9 +161,8 @@ label = "wan"; phy-handle = <ðphy0>; - nvmem-cells = <&macaddr_factory_e000>; + nvmem-cells = <&macaddr_factory_e000 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; &mdio { @@ -178,13 +189,3 @@ function = "gpio"; }; }; - -&factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; -}; diff --git a/target/linux/ramips/dts/mt7621_yuncore_fap640.dts b/target/linux/ramips/dts/mt7621_yuncore_fap640.dts index d525dde385..8c662b86cd 100644 --- a/target/linux/ramips/dts/mt7621_yuncore_fap640.dts +++ b/target/linux/ramips/dts/mt7621_yuncore_fap640.dts @@ -123,6 +123,20 @@ label = "Factory"; reg = <0x50000 0x40000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_0004: macaddr@0004 { + reg = <0x0004 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; + }; }; partition@90000 { @@ -201,18 +215,3 @@ function = "gpio"; }; }; - -&factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_factory_0004: macaddr@0004 { - reg = <0x0004 0x6>; - }; - - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; - }; -}; - diff --git a/target/linux/ramips/dts/mt7621_yuncore_fap690.dts b/target/linux/ramips/dts/mt7621_yuncore_fap690.dts index a998b95d4c..ce6a60215e 100644 --- a/target/linux/ramips/dts/mt7621_yuncore_fap690.dts +++ b/target/linux/ramips/dts/mt7621_yuncore_fap690.dts @@ -93,6 +93,16 @@ label = "Factory"; reg = <0x50000 0x40000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_0004: macaddr@0004 { + reg = <0x0004 0x6>; + }; + }; }; partition@90000 { @@ -137,13 +147,3 @@ function = "gpio"; }; }; - -&factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_factory_0004: macaddr@0004 { - reg = <0x0004 0x6>; - }; -}; diff --git a/target/linux/ramips/dts/mt7621_zbtlink_zbt-we1326.dts b/target/linux/ramips/dts/mt7621_zbtlink_zbt-we1326.dts index e76ce933c1..2c78dea114 100644 --- a/target/linux/ramips/dts/mt7621_zbtlink_zbt-we1326.dts +++ b/target/linux/ramips/dts/mt7621_zbtlink_zbt-we1326.dts @@ -59,27 +59,30 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_zbtlink_zbt-we3526.dts b/target/linux/ramips/dts/mt7621_zbtlink_zbt-we3526.dts index 73f3ea9173..571b50d3c7 100644 --- a/target/linux/ramips/dts/mt7621_zbtlink_zbt-we3526.dts +++ b/target/linux/ramips/dts/mt7621_zbtlink_zbt-we3526.dts @@ -56,27 +56,30 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg1602-v04.dtsi b/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg1602-v04.dtsi index ec9d2398cd..1a3387326a 100644 --- a/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg1602-v04.dtsi +++ b/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg1602-v04.dtsi @@ -111,27 +111,30 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg1602.dtsi b/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg1602.dtsi index c578018e75..e92982a879 100644 --- a/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg1602.dtsi +++ b/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg1602.dtsi @@ -110,27 +110,30 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg1608.dtsi b/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg1608.dtsi index ff748b781c..d1697060a8 100644 --- a/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg1608.dtsi +++ b/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg1608.dtsi @@ -84,29 +84,31 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; - }; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; - }; + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; + }; }; firmware: partition@50000 { diff --git a/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg2626.dts b/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg2626.dts index c1d5b03964..3756baa14e 100644 --- a/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg2626.dts +++ b/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg2626.dts @@ -72,23 +72,28 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_e000: macaddr@e000 { + compatible = "mac-base"; + reg = <0xe000 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -131,7 +136,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_factory_e000>; + nvmem-cells = <&macaddr_factory_e000 0>; nvmem-cell-names = "mac-address"; }; @@ -160,9 +165,8 @@ port@4 { status = "okay"; label = "wan"; - nvmem-cells = <&macaddr_factory_e000>; + nvmem-cells = <&macaddr_factory_e000 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; }; }; diff --git a/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg3526.dtsi b/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg3526.dtsi index 296c5a205f..87ed1c7129 100644 --- a/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg3526.dtsi +++ b/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg3526.dtsi @@ -72,23 +72,28 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_e000: macaddr@e000 { + compatible = "mac-base"; + reg = <0xe000 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -132,7 +137,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_factory_e000>; + nvmem-cells = <&macaddr_factory_e000 0>; nvmem-cell-names = "mac-address"; }; @@ -161,9 +166,8 @@ port@4 { status = "okay"; label = "wan"; - nvmem-cells = <&macaddr_factory_e000>; + nvmem-cells = <&macaddr_factory_e000 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; }; }; }; diff --git a/target/linux/ramips/dts/mt7621_zyxel_lte3301-plus.dts b/target/linux/ramips/dts/mt7621_zyxel_lte3301-plus.dts index d449fccd28..abbb61d534 100644 --- a/target/linux/ramips/dts/mt7621_zyxel_lte3301-plus.dts +++ b/target/linux/ramips/dts/mt7621_zyxel_lte3301-plus.dts @@ -126,18 +126,23 @@ reg = <0x80000 0x80000>; /* 64 KB */ }; factory: partition@100000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x100000 0x40000>; - #address-cells = <1>; - #size-cells = <1>; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x4da8>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_fe6e: macaddr@fe6e { - reg = <0xfe6e 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x4da8>; + }; + + macaddr_factory_fe6e: macaddr@fe6e { + compatible = "mac-base"; + reg = <0xfe6e 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; partition@140000 { @@ -172,7 +177,7 @@ }; &gmac0 { - nvmem-cells = <&macaddr_factory_fe6e>; + nvmem-cells = <&macaddr_factory_fe6e 0>; nvmem-cell-names = "mac-address"; }; @@ -208,9 +213,8 @@ compatible = "pci14c3,7615"; reg = <0x0000 0 0 0 0>; mediatek,firmware-eeprom = "mt7615e_eeprom.bin"; - nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_fe6e>; + nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_fe6e 1>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <(1)>; }; }; diff --git a/target/linux/ramips/dts/mt7621_zyxel_lte5398-m904.dts b/target/linux/ramips/dts/mt7621_zyxel_lte5398-m904.dts index d6f00d9edc..307819e746 100644 --- a/target/linux/ramips/dts/mt7621_zyxel_lte5398-m904.dts +++ b/target/linux/ramips/dts/mt7621_zyxel_lte5398-m904.dts @@ -118,23 +118,26 @@ }; factory: partition@100000 { - compatible = "nvmem-cells"; label = "Factory"; reg = <0x100000 0x40000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x4da8>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_fe6e: macaddr@fe6e { - reg = <0xfe6e 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; + + macaddr_factory_fe6e: macaddr@fe6e { + reg = <0xfe6e 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_zyxel_nr7101.dts b/target/linux/ramips/dts/mt7621_zyxel_nr7101.dts index ace7a08bd8..2ceb6228b2 100644 --- a/target/linux/ramips/dts/mt7621_zyxel_nr7101.dts +++ b/target/linux/ramips/dts/mt7621_zyxel_nr7101.dts @@ -89,19 +89,22 @@ }; factory: partition@100000 { - compatible = "nvmem-cells"; label = "Factory"; reg = <0x100000 0x40000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_zyxel_nwa-ax.dtsi b/target/linux/ramips/dts/mt7621_zyxel_nwa-ax.dtsi index fa7e23dd47..85dbe2d857 100644 --- a/target/linux/ramips/dts/mt7621_zyxel_nwa-ax.dtsi +++ b/target/linux/ramips/dts/mt7621_zyxel_nwa-ax.dtsi @@ -96,6 +96,16 @@ label = "mrd"; reg = <0x7780000 0x80000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_mrd_1fff8: macaddr@1fff8 { + reg = <0x1fff8 0x6>; + }; + }; }; }; }; @@ -129,16 +139,6 @@ }; }; -&mrd { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_mrd_1fff8: macaddr@1fff8 { - reg = <0x1fff8 0x6>; - }; -}; - &state_default { gpio { groups = "uart3"; diff --git a/target/linux/ramips/dts/mt7621_zyxel_wap6805.dts b/target/linux/ramips/dts/mt7621_zyxel_wap6805.dts index 5df2f3c6ab..2f6654da5c 100644 --- a/target/linux/ramips/dts/mt7621_zyxel_wap6805.dts +++ b/target/linux/ramips/dts/mt7621_zyxel_wap6805.dts @@ -74,19 +74,22 @@ }; factory: partition@200000 { - compatible = "nvmem-cells"; label = "Factory"; reg = <0x200000 0x100000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7621_zyxel_wsm20.dts b/target/linux/ramips/dts/mt7621_zyxel_wsm20.dts index 299d982dc1..0cd1f3274c 100644 --- a/target/linux/ramips/dts/mt7621_zyxel_wsm20.dts +++ b/target/linux/ramips/dts/mt7621_zyxel_wsm20.dts @@ -106,6 +106,20 @@ reg = <0x200000 0x1c0000>; label = "Factory"; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_1fdfa: macaddr@1fdfa { + reg = <0x1fdfa 0x6>; + }; + + macaddr_factory_1fdf4: macaddr@1fdf4 { + reg = <0x1fdf4 0x6>; + }; + }; }; partition@3c0000 { @@ -217,17 +231,3 @@ function = "gpio"; }; }; - -&factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_factory_1fdfa: macaddr@1fdfa { - reg = <0x1fdfa 0x6>; - }; - - macaddr_factory_1fdf4: macaddr@1fdf4 { - reg = <0x1fdf4 0x6>; - }; -}; diff --git a/target/linux/ramips/dts/mt7628an_alfa-network_awusfree1.dts b/target/linux/ramips/dts/mt7628an_alfa-network_awusfree1.dts index 67f4d07f3a..641844ccc0 100644 --- a/target/linux/ramips/dts/mt7628an_alfa-network_awusfree1.dts +++ b/target/linux/ramips/dts/mt7628an_alfa-network_awusfree1.dts @@ -114,19 +114,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_2e: macaddr@2e { - reg = <0x2e 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + macaddr_factory_2e: macaddr@2e { + reg = <0x2e 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_asus_rt-ac1200.dtsi b/target/linux/ramips/dts/mt7628an_asus_rt-ac1200.dtsi index 7a13921aa5..e91f1b6029 100644 --- a/target/linux/ramips/dts/mt7628an_asus_rt-ac1200.dtsi +++ b/target/linux/ramips/dts/mt7628an_asus_rt-ac1200.dtsi @@ -73,23 +73,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_asus_rt-n1x.dtsi b/target/linux/ramips/dts/mt7628an_asus_rt-n1x.dtsi index 7404853f8c..aa642da11f 100644 --- a/target/linux/ramips/dts/mt7628an_asus_rt-n1x.dtsi +++ b/target/linux/ramips/dts/mt7628an_asus_rt-n1x.dtsi @@ -75,19 +75,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_buffalo_wcr-1166ds.dts b/target/linux/ramips/dts/mt7628an_buffalo_wcr-1166ds.dts index 7f77416337..1b9e0047cc 100644 --- a/target/linux/ramips/dts/mt7628an_buffalo_wcr-1166ds.dts +++ b/target/linux/ramips/dts/mt7628an_buffalo_wcr-1166ds.dts @@ -141,19 +141,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_comfast_cf-wr617ac.dts b/target/linux/ramips/dts/mt7628an_comfast_cf-wr617ac.dts index 4270c48ad9..1d6304cfa7 100644 --- a/target/linux/ramips/dts/mt7628an_comfast_cf-wr617ac.dts +++ b/target/linux/ramips/dts/mt7628an_comfast_cf-wr617ac.dts @@ -70,27 +70,32 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_8004: macaddr@8004 { - reg = <0x8004 0x6>; - }; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; + macaddr_factory_8004: macaddr@8004 { + compatible = "mac-base"; + reg = <0x8004 0x6>; + #nvmem-cell-cells = <1>; + }; + + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; }; }; @@ -112,9 +117,8 @@ compatible = "mediatek,mt76"; reg = <0x0000 0 0 0 0>; ieee80211-freq-limit = <5000000 6000000>; - nvmem-cells = <&eeprom_factory_8000>, <&macaddr_factory_8004>; + nvmem-cells = <&eeprom_factory_8000>, <&macaddr_factory_8004 2>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <2>; }; }; diff --git a/target/linux/ramips/dts/mt7628an_comfast_cf-wr758ac.dtsi b/target/linux/ramips/dts/mt7628an_comfast_cf-wr758ac.dtsi index e8cabd7fd8..9cab562bda 100644 --- a/target/linux/ramips/dts/mt7628an_comfast_cf-wr758ac.dtsi +++ b/target/linux/ramips/dts/mt7628an_comfast_cf-wr758ac.dtsi @@ -85,23 +85,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_e000: macaddr@e000 { - reg = <0xe000 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_cudy_wr1000.dts b/target/linux/ramips/dts/mt7628an_cudy_wr1000.dts index 57405632dd..883459d2f3 100644 --- a/target/linux/ramips/dts/mt7628an_cudy_wr1000.dts +++ b/target/linux/ramips/dts/mt7628an_cudy_wr1000.dts @@ -89,23 +89,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_d-team_pbr-d1.dts b/target/linux/ramips/dts/mt7628an_d-team_pbr-d1.dts index 5a0aeaf5f2..f5e9a169d4 100644 --- a/target/linux/ramips/dts/mt7628an_d-team_pbr-d1.dts +++ b/target/linux/ramips/dts/mt7628an_d-team_pbr-d1.dts @@ -116,6 +116,16 @@ label = "factory"; reg = <0x40000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; + }; }; partition@50000 { @@ -160,13 +170,3 @@ status = "okay"; mediatek,cd-high; }; - -&factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; - }; -}; diff --git a/target/linux/ramips/dts/mt7628an_dlink_dap-1325-a1.dts b/target/linux/ramips/dts/mt7628an_dlink_dap-1325-a1.dts index 0bc81291d7..3ad34c51c1 100644 --- a/target/linux/ramips/dts/mt7628an_dlink_dap-1325-a1.dts +++ b/target/linux/ramips/dts/mt7628an_dlink_dap-1325-a1.dts @@ -115,19 +115,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_duzun_dm06.dts b/target/linux/ramips/dts/mt7628an_duzun_dm06.dts index b9a105b0e3..e37b90d38e 100644 --- a/target/linux/ramips/dts/mt7628an_duzun_dm06.dts +++ b/target/linux/ramips/dts/mt7628an_duzun_dm06.dts @@ -120,6 +120,16 @@ label = "factory"; reg = <0x40000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; + }; }; partition@50000 { @@ -130,13 +140,3 @@ }; }; }; - -&factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; - }; -}; diff --git a/target/linux/ramips/dts/mt7628an_elecom_wrc-1167fs.dts b/target/linux/ramips/dts/mt7628an_elecom_wrc-1167fs.dts index 4e68137f3b..9d8b360c6a 100644 --- a/target/linux/ramips/dts/mt7628an_elecom_wrc-1167fs.dts +++ b/target/linux/ramips/dts/mt7628an_elecom_wrc-1167fs.dts @@ -102,23 +102,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_glinet_gl-mt300n-v2.dts b/target/linux/ramips/dts/mt7628an_glinet_gl-mt300n-v2.dts index 2142eaa096..d84290d4c1 100644 --- a/target/linux/ramips/dts/mt7628an_glinet_gl-mt300n-v2.dts +++ b/target/linux/ramips/dts/mt7628an_glinet_gl-mt300n-v2.dts @@ -118,19 +118,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_glinet_vixmini_microuter.dtsi b/target/linux/ramips/dts/mt7628an_glinet_vixmini_microuter.dtsi index eea070a03a..a40be00887 100644 --- a/target/linux/ramips/dts/mt7628an_glinet_vixmini_microuter.dtsi +++ b/target/linux/ramips/dts/mt7628an_glinet_vixmini_microuter.dtsi @@ -90,19 +90,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_hak5_wifi-pineapple-mk7.dts b/target/linux/ramips/dts/mt7628an_hak5_wifi-pineapple-mk7.dts index 18ff6c75af..aebbc7fa88 100644 --- a/target/linux/ramips/dts/mt7628an_hak5_wifi-pineapple-mk7.dts +++ b/target/linux/ramips/dts/mt7628an_hak5_wifi-pineapple-mk7.dts @@ -101,19 +101,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_hilink_hlk-7628n.dts b/target/linux/ramips/dts/mt7628an_hilink_hlk-7628n.dts index d7d4965328..69e22f6dd7 100644 --- a/target/linux/ramips/dts/mt7628an_hilink_hlk-7628n.dts +++ b/target/linux/ramips/dts/mt7628an_hilink_hlk-7628n.dts @@ -67,19 +67,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_hilink_hlk-7688a.dts b/target/linux/ramips/dts/mt7628an_hilink_hlk-7688a.dts index 5357996e92..121a24b502 100644 --- a/target/linux/ramips/dts/mt7628an_hilink_hlk-7688a.dts +++ b/target/linux/ramips/dts/mt7628an_hilink_hlk-7688a.dts @@ -81,19 +81,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_hiwifi_hc5x61a.dtsi b/target/linux/ramips/dts/mt7628an_hiwifi_hc5x61a.dtsi index cfd4bb1dc5..034a6de6c2 100644 --- a/target/linux/ramips/dts/mt7628an_hiwifi_hc5x61a.dtsi +++ b/target/linux/ramips/dts/mt7628an_hiwifi_hc5x61a.dtsi @@ -57,27 +57,30 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; - }; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; - macaddr_factory_2e: macaddr@2e { - reg = <0x2e 0x6>; + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; + + macaddr_factory_2e: macaddr@2e { + reg = <0x2e 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_iptime.dtsi b/target/linux/ramips/dts/mt7628an_iptime.dtsi index 22cc368b0b..9c98c6f5ca 100644 --- a/target/linux/ramips/dts/mt7628an_iptime.dtsi +++ b/target/linux/ramips/dts/mt7628an_iptime.dtsi @@ -43,15 +43,18 @@ #size-cells = <1>; uboot: partition@0 { - compatible = "nvmem-cells"; label = "u-boot"; reg = <0x0 0x20000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - macaddr_uboot_1fc20: macaddr@1fc20 { - reg = <0x1fc20 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_uboot_1fc20: macaddr@1fc20 { + reg = <0x1fc20 0x6>; + }; }; }; @@ -62,19 +65,22 @@ }; factory: partition@30000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x30000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_jotale_js76x8.dtsi b/target/linux/ramips/dts/mt7628an_jotale_js76x8.dtsi index a9ce7680d6..643f599246 100644 --- a/target/linux/ramips/dts/mt7628an_jotale_js76x8.dtsi +++ b/target/linux/ramips/dts/mt7628an_jotale_js76x8.dtsi @@ -81,19 +81,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_keenetic_kn-1613.dts b/target/linux/ramips/dts/mt7628an_keenetic_kn-1613.dts index 117f278f12..4754268966 100644 --- a/target/linux/ramips/dts/mt7628an_keenetic_kn-1613.dts +++ b/target/linux/ramips/dts/mt7628an_keenetic_kn-1613.dts @@ -130,23 +130,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "rf-eeprom"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_400: eeprom@400 { - reg = <0x400 0x4da8>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_400: eeprom@400 { + reg = <0x400 0x4da8>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_kroks.dtsi b/target/linux/ramips/dts/mt7628an_kroks.dtsi index 186f8e16ed..bfe29398a9 100644 --- a/target/linux/ramips/dts/mt7628an_kroks.dtsi +++ b/target/linux/ramips/dts/mt7628an_kroks.dtsi @@ -65,18 +65,21 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_linksys_e5400.dts b/target/linux/ramips/dts/mt7628an_linksys_e5400.dts index 24fd31a7e2..26ff86dac2 100644 --- a/target/linux/ramips/dts/mt7628an_linksys_e5400.dts +++ b/target/linux/ramips/dts/mt7628an_linksys_e5400.dts @@ -78,23 +78,28 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + compatible = "mac-base"; + reg = <0x28 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -123,7 +128,7 @@ }; ðernet { - nvmem-cells = <&macaddr_factory_28>; + nvmem-cells = <&macaddr_factory_28 0>; nvmem-cell-names = "mac-address"; }; @@ -141,9 +146,8 @@ reg = <0x0000 0 0 0 0>; ieee80211-freq-limit = <5000000 6000000>; - nvmem-cells = <&eeprom_factory_8000>, <&macaddr_factory_28>; + nvmem-cells = <&eeprom_factory_8000>, <&macaddr_factory_28 3>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <3>; }; }; @@ -161,8 +165,7 @@ &wmac { status = "okay"; - nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_28>; + nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_28 2>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <2>; }; diff --git a/target/linux/ramips/dts/mt7628an_mediatek_linkit-smart-7688.dts b/target/linux/ramips/dts/mt7628an_mediatek_linkit-smart-7688.dts index c693e69f2c..1bd7f8e6da 100644 --- a/target/linux/ramips/dts/mt7628an_mediatek_linkit-smart-7688.dts +++ b/target/linux/ramips/dts/mt7628an_mediatek_linkit-smart-7688.dts @@ -108,19 +108,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_2e: macaddr@2e { - reg = <0x2e 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + macaddr_factory_2e: macaddr@2e { + reg = <0x2e 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_mediatek_mt7628an-eval-board.dts b/target/linux/ramips/dts/mt7628an_mediatek_mt7628an-eval-board.dts index 9210451c16..7f19ab6947 100644 --- a/target/linux/ramips/dts/mt7628an_mediatek_mt7628an-eval-board.dts +++ b/target/linux/ramips/dts/mt7628an_mediatek_mt7628an-eval-board.dts @@ -38,15 +38,18 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_mercury_mac1200r-v2.dts b/target/linux/ramips/dts/mt7628an_mercury_mac1200r-v2.dts index fee64bc53f..074011fbb9 100644 --- a/target/linux/ramips/dts/mt7628an_mercury_mac1200r-v2.dts +++ b/target/linux/ramips/dts/mt7628an_mercury_mac1200r-v2.dts @@ -43,32 +43,38 @@ }; factory: partition@1d800 { - compatible = "nvmem-cells"; label = "factory_info"; reg = <0x1d800 0x800>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_d: macaddr@d { - reg = <0xd 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + macaddr_factory_d: macaddr@d { + reg = <0xd 0x6>; + }; }; }; art: partition@1e000 { - compatible = "nvmem-cells"; label = "art"; reg = <0x1e000 0x2000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_art_1000: eeprom@1000 { - reg = <0x1000 0x200>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_art_1000: eeprom@1000 { + reg = <0x1000 0x200>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_minew_g1-c.dts b/target/linux/ramips/dts/mt7628an_minew_g1-c.dts index e7a67b72c1..a1b40e09d0 100644 --- a/target/linux/ramips/dts/mt7628an_minew_g1-c.dts +++ b/target/linux/ramips/dts/mt7628an_minew_g1-c.dts @@ -105,19 +105,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_motorola_mwr03.dts b/target/linux/ramips/dts/mt7628an_motorola_mwr03.dts index f2895481ed..ebaa4326ae 100644 --- a/target/linux/ramips/dts/mt7628an_motorola_mwr03.dts +++ b/target/linux/ramips/dts/mt7628an_motorola_mwr03.dts @@ -68,23 +68,28 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + compatible = "mac-base"; + reg = <0x4 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -117,9 +122,8 @@ }; ðernet { - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 (-1)>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(-1)>; }; &esw { diff --git a/target/linux/ramips/dts/mt7628an_netgear_r6120.dts b/target/linux/ramips/dts/mt7628an_netgear_r6120.dts index e9fc6d7090..e3ee55873e 100644 --- a/target/linux/ramips/dts/mt7628an_netgear_r6120.dts +++ b/target/linux/ramips/dts/mt7628an_netgear_r6120.dts @@ -44,7 +44,6 @@ }; &wifi5 { - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 2>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(2)>; }; diff --git a/target/linux/ramips/dts/mt7628an_netgear_r6xxx.dtsi b/target/linux/ramips/dts/mt7628an_netgear_r6xxx.dtsi index ba38839129..98d132e891 100644 --- a/target/linux/ramips/dts/mt7628an_netgear_r6xxx.dtsi +++ b/target/linux/ramips/dts/mt7628an_netgear_r6xxx.dtsi @@ -80,23 +80,28 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x20000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + compatible = "mac-base"; + reg = <0x4 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -117,7 +122,7 @@ }; ðernet { - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 0>; nvmem-cell-names = "mac-address"; }; diff --git a/target/linux/ramips/dts/mt7628an_onion_omega2.dtsi b/target/linux/ramips/dts/mt7628an_onion_omega2.dtsi index 79d1fbc335..001dc227bc 100644 --- a/target/linux/ramips/dts/mt7628an_onion_omega2.dtsi +++ b/target/linux/ramips/dts/mt7628an_onion_omega2.dtsi @@ -118,19 +118,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_oraybox_x1.dts b/target/linux/ramips/dts/mt7628an_oraybox_x1.dts index eb9a20aae0..9f43e46fac 100644 --- a/target/linux/ramips/dts/mt7628an_oraybox_x1.dts +++ b/target/linux/ramips/dts/mt7628an_oraybox_x1.dts @@ -91,6 +91,16 @@ label = "bdinfo"; reg = <0xfe0000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_bdinfo_9: macaddr@9 { + reg = <0x9 0x6>; + }; + }; }; partition@ff0000 { @@ -117,13 +127,3 @@ &wmac { status = "okay"; }; - -&bdinfo { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_bdinfo_9: macaddr@9 { - reg = <0x9 0x6>; - }; -}; diff --git a/target/linux/ramips/dts/mt7628an_rakwireless_rak633.dts b/target/linux/ramips/dts/mt7628an_rakwireless_rak633.dts index ecdfa13e69..46dca444b5 100644 --- a/target/linux/ramips/dts/mt7628an_rakwireless_rak633.dts +++ b/target/linux/ramips/dts/mt7628an_rakwireless_rak633.dts @@ -52,19 +52,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_ravpower_rp-wd009.dts b/target/linux/ramips/dts/mt7628an_ravpower_rp-wd009.dts index b2e0a5eaca..7c0e7551ce 100644 --- a/target/linux/ramips/dts/mt7628an_ravpower_rp-wd009.dts +++ b/target/linux/ramips/dts/mt7628an_ravpower_rp-wd009.dts @@ -138,23 +138,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_skylab_skw92a.dts b/target/linux/ramips/dts/mt7628an_skylab_skw92a.dts index bfb1bd808a..fc111019a7 100644 --- a/target/linux/ramips/dts/mt7628an_skylab_skw92a.dts +++ b/target/linux/ramips/dts/mt7628an_skylab_skw92a.dts @@ -84,19 +84,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_tama_w06.dts b/target/linux/ramips/dts/mt7628an_tama_w06.dts index 7f00db9986..dfe5192e12 100644 --- a/target/linux/ramips/dts/mt7628an_tama_w06.dts +++ b/target/linux/ramips/dts/mt7628an_tama_w06.dts @@ -75,19 +75,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_totolink_lr1200.dts b/target/linux/ramips/dts/mt7628an_totolink_lr1200.dts index ea07ebe492..83bde6b9ec 100644 --- a/target/linux/ramips/dts/mt7628an_totolink_lr1200.dts +++ b/target/linux/ramips/dts/mt7628an_totolink_lr1200.dts @@ -144,23 +144,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_tplink_8m-split-uboot.dtsi b/target/linux/ramips/dts/mt7628an_tplink_8m-split-uboot.dtsi index 7464d1c85d..a5c9267c8d 100644 --- a/target/linux/ramips/dts/mt7628an_tplink_8m-split-uboot.dtsi +++ b/target/linux/ramips/dts/mt7628an_tplink_8m-split-uboot.dtsi @@ -53,15 +53,20 @@ }; rom: partition@7d0000 { - compatible = "nvmem-cells"; label = "rom"; reg = <0x7d0000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - macaddr_rom_f100: macaddr@f100 { - reg = <0xf100 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_rom_f100: macaddr@f100 { + compatible = "mac-base"; + reg = <0xf100 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -71,19 +76,22 @@ }; radio: partition@7f0000 { - compatible = "nvmem-cells"; label = "radio"; reg = <0x7f0000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_radio_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_radio_8000: eeprom@8000 { - reg = <0x8000 0x200>; + eeprom_radio_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + eeprom_radio_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; }; }; }; @@ -93,12 +101,12 @@ &wmac { status = "okay"; - nvmem-cells = <&eeprom_radio_0>, <&macaddr_rom_f100>; + nvmem-cells = <&eeprom_radio_0>, <&macaddr_rom_f100 0>; nvmem-cell-names = "eeprom", "mac-address"; }; ðernet { - nvmem-cells = <&macaddr_rom_f100>; + nvmem-cells = <&macaddr_rom_f100 0>; nvmem-cell-names = "mac-address"; }; diff --git a/target/linux/ramips/dts/mt7628an_tplink_8m.dtsi b/target/linux/ramips/dts/mt7628an_tplink_8m.dtsi index b3c62eb488..3db4bb9b9c 100644 --- a/target/linux/ramips/dts/mt7628an_tplink_8m.dtsi +++ b/target/linux/ramips/dts/mt7628an_tplink_8m.dtsi @@ -45,37 +45,35 @@ }; factory: partition@7d0000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x7d0000 0x30000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - macaddr_factory_f100: macaddr@f100 { - reg = <0xf100 0x6>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_20000: eeprom@20000 { - reg = <0x20000 0x400>; - }; + macaddr_factory_f100: macaddr@f100 { + compatible = "mac-base"; + reg = <0xf100 0x6>; + #nvmem-cell-cells = <1>; + }; - eeprom_factory_28000: eeprom@28000 { - reg = <0x28000 0x200>; + eeprom_factory_20000: eeprom@20000 { + reg = <0x20000 0x400>; + }; + + eeprom_factory_28000: eeprom@28000 { + reg = <0x28000 0x200>; + }; }; }; }; }; }; -&wmac { - status = "okay"; - - nvmem-cells = <&eeprom_factory_20000>, <&macaddr_factory_f100>; - nvmem-cell-names = "eeprom", "mac-address"; -}; - ðernet { - nvmem-cells = <&macaddr_factory_f100>; + nvmem-cells = <&macaddr_factory_f100 0>; nvmem-cell-names = "mac-address"; }; diff --git a/target/linux/ramips/dts/mt7628an_tplink_archer-c20-v4.dts b/target/linux/ramips/dts/mt7628an_tplink_archer-c20-v4.dts index 2225b63333..0d09e54345 100644 --- a/target/linux/ramips/dts/mt7628an_tplink_archer-c20-v4.dts +++ b/target/linux/ramips/dts/mt7628an_tplink_archer-c20-v4.dts @@ -78,7 +78,10 @@ }; &wmac { - mac-address-increment = <(-2)>; + status = "okay"; + + nvmem-cells = <&eeprom_factory_20000>, <&macaddr_factory_f100 (-2)>; + nvmem-cell-names = "eeprom", "mac-address"; }; &esw { @@ -100,8 +103,7 @@ mt76@0,0 { reg = <0x0000 0 0 0 0>; ieee80211-freq-limit = <5000000 6000000>; - nvmem-cells = <&eeprom_factory_28000>, <&macaddr_factory_f100>; + nvmem-cells = <&eeprom_factory_28000>, <&macaddr_factory_f100 (-1)>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <(-1)>; }; }; diff --git a/target/linux/ramips/dts/mt7628an_tplink_archer-c20-v5.dts b/target/linux/ramips/dts/mt7628an_tplink_archer-c20-v5.dts index 04eba88d19..93695660ae 100644 --- a/target/linux/ramips/dts/mt7628an_tplink_archer-c20-v5.dts +++ b/target/linux/ramips/dts/mt7628an_tplink_archer-c20-v5.dts @@ -95,8 +95,7 @@ wifi@0,0 { reg = <0x0000 0 0 0 0>; ieee80211-freq-limit = <5000000 6000000>; - nvmem-cells = <&eeprom_radio_8000>, <&macaddr_rom_f100>; + nvmem-cells = <&eeprom_radio_8000>, <&macaddr_rom_f100 (-1)>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <(-1)>; }; }; diff --git a/target/linux/ramips/dts/mt7628an_tplink_archer-c50-v3.dts b/target/linux/ramips/dts/mt7628an_tplink_archer-c50-v3.dts index f628908b98..bfb39b3531 100644 --- a/target/linux/ramips/dts/mt7628an_tplink_archer-c50-v3.dts +++ b/target/linux/ramips/dts/mt7628an_tplink_archer-c50-v3.dts @@ -83,6 +83,13 @@ }; }; +&wmac { + status = "okay"; + + nvmem-cells = <&eeprom_factory_20000>, <&macaddr_factory_f100 0>; + nvmem-cell-names = "eeprom", "mac-address"; +}; + &esw { mediatek,portmap = <0x3e>; }; @@ -95,8 +102,7 @@ mt76@0,0 { reg = <0x0000 0 0 0 0>; ieee80211-freq-limit = <5000000 6000000>; - nvmem-cells = <&eeprom_factory_28000>, <&macaddr_factory_f100>; + nvmem-cells = <&eeprom_factory_28000>, <&macaddr_factory_f100 (-1)>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <(-1)>; }; }; diff --git a/target/linux/ramips/dts/mt7628an_tplink_archer-c50-v4.dts b/target/linux/ramips/dts/mt7628an_tplink_archer-c50-v4.dts index 87927da62a..302a9d9c6a 100644 --- a/target/linux/ramips/dts/mt7628an_tplink_archer-c50-v4.dts +++ b/target/linux/ramips/dts/mt7628an_tplink_archer-c50-v4.dts @@ -93,8 +93,7 @@ wifi@0,0 { reg = <0x0000 0 0 0 0>; ieee80211-freq-limit = <5000000 6000000>; - nvmem-cells = <&eeprom_radio_8000>, <&macaddr_rom_f100>; + nvmem-cells = <&eeprom_radio_8000>, <&macaddr_rom_f100 (-1)>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <(-1)>; }; }; diff --git a/target/linux/ramips/dts/mt7628an_tplink_archer-c50-v6.dts b/target/linux/ramips/dts/mt7628an_tplink_archer-c50-v6.dts index 86cefbc230..c3a890bc2d 100644 --- a/target/linux/ramips/dts/mt7628an_tplink_archer-c50-v6.dts +++ b/target/linux/ramips/dts/mt7628an_tplink_archer-c50-v6.dts @@ -88,9 +88,8 @@ wifi@0,0 { reg = <0x0000 0 0 0 0>; ieee80211-freq-limit = <5000000 6000000>; - nvmem-cells = <&eeprom_radio_8000>, <&macaddr_rom_f100>; + nvmem-cells = <&eeprom_radio_8000>, <&macaddr_rom_f100 (-1)>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <(-1)>; }; }; diff --git a/target/linux/ramips/dts/mt7628an_tplink_re200.dtsi b/target/linux/ramips/dts/mt7628an_tplink_re200.dtsi index 24236e5c7f..8826365beb 100644 --- a/target/linux/ramips/dts/mt7628an_tplink_re200.dtsi +++ b/target/linux/ramips/dts/mt7628an_tplink_re200.dtsi @@ -96,32 +96,40 @@ }; config: partition@7c0000 { - compatible = "nvmem-cells"; label = "config"; reg = <0x7c0000 0x30000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - macaddr_config_2008: macaddr@2008 { - reg = <0x2008 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_config_2008: macaddr@2008 { + compatible = "mac-base"; + reg = <0x2008 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; radio: partition@7f0000 { - compatible = "nvmem-cells"; label = "radio"; reg = <0x7f0000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_radio_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_radio_8000: eeprom@8000 { - reg = <0x8000 0x200>; + eeprom_radio_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + eeprom_radio_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; }; }; }; @@ -137,16 +145,15 @@ }; ðernet { - nvmem-cells = <&macaddr_config_2008>; + nvmem-cells = <&macaddr_config_2008 0>; nvmem-cell-names = "mac-address"; }; &wmac { status = "okay"; - nvmem-cells = <&eeprom_radio_0>, <&macaddr_config_2008>; + nvmem-cells = <&eeprom_radio_0>, <&macaddr_config_2008 1>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <1>; }; &pcie { @@ -157,8 +164,7 @@ mt76@0,0 { reg = <0x0000 0 0 0 0>; ieee80211-freq-limit = <5000000 6000000>; - nvmem-cells = <&eeprom_radio_8000>, <&macaddr_config_2008>; + nvmem-cells = <&eeprom_radio_8000>, <&macaddr_config_2008 2>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <2>; }; }; diff --git a/target/linux/ramips/dts/mt7628an_tplink_re305-v1.dts b/target/linux/ramips/dts/mt7628an_tplink_re305-v1.dts index 88d96bfa02..9e0bea7cd1 100644 --- a/target/linux/ramips/dts/mt7628an_tplink_re305-v1.dts +++ b/target/linux/ramips/dts/mt7628an_tplink_re305-v1.dts @@ -33,15 +33,20 @@ }; config: partition@600000 { - compatible = "nvmem-cells"; label = "config"; reg = <0x600000 0x50000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - macaddr_config_10008: macaddr@10008 { - reg = <0x10008 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_config_10008: macaddr@10008 { + compatible = "mac-base"; + reg = <0x10008 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -51,19 +56,22 @@ */ radio: partition@7f0000 { - compatible = "nvmem-cells"; label = "radio"; reg = <0x7f0000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_radio_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_radio_8000: eeprom@8000 { - reg = <0x8000 0x200>; + eeprom_radio_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + eeprom_radio_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; }; }; }; @@ -71,18 +79,16 @@ }; &wlan5g { - nvmem-cells = <&eeprom_radio_8000>, <&macaddr_config_10008>; + nvmem-cells = <&eeprom_radio_8000>, <&macaddr_config_10008 2>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <2>; }; &wmac { - nvmem-cells = <&eeprom_radio_0>, <&macaddr_config_10008>; + nvmem-cells = <&eeprom_radio_0>, <&macaddr_config_10008 1>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <1>; }; ðernet { - nvmem-cells = <&macaddr_config_10008>; + nvmem-cells = <&macaddr_config_10008 0>; nvmem-cell-names = "mac-address"; }; diff --git a/target/linux/ramips/dts/mt7628an_tplink_re305-v3.dts b/target/linux/ramips/dts/mt7628an_tplink_re305-v3.dts index c6ae357e19..d37febfbc8 100644 --- a/target/linux/ramips/dts/mt7628an_tplink_re305-v3.dts +++ b/target/linux/ramips/dts/mt7628an_tplink_re305-v3.dts @@ -33,32 +33,40 @@ }; config: partition@7c0000 { - compatible = "nvmem-cells"; label = "config"; reg = <0x7c0000 0x30000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - macaddr_config_2008: macaddr@2008 { - reg = <0x2008 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_config_2008: macaddr@2008 { + compatible = "mac-base"; + reg = <0x2008 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; radio: partition@7f0000 { - compatible = "nvmem-cells"; label = "radio"; reg = <0x7f0000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_radio_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_radio_8000: eeprom@8000 { - reg = <0x8000 0x200>; + eeprom_radio_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + eeprom_radio_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; }; }; }; @@ -66,18 +74,16 @@ }; &wlan5g { - nvmem-cells = <&eeprom_radio_8000>, <&macaddr_config_2008>; + nvmem-cells = <&eeprom_radio_8000>, <&macaddr_config_2008 (-2)>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <(-2)>; }; &wmac { - nvmem-cells = <&eeprom_radio_0>, <&macaddr_config_2008>; + nvmem-cells = <&eeprom_radio_0>, <&macaddr_config_2008 (-1)>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <(-1)>; }; ðernet { - nvmem-cells = <&macaddr_config_2008>; + nvmem-cells = <&macaddr_config_2008 0>; nvmem-cell-names = "mac-address"; }; diff --git a/target/linux/ramips/dts/mt7628an_tplink_tl-mr3020-v3.dts b/target/linux/ramips/dts/mt7628an_tplink_tl-mr3020-v3.dts index 3828d859ca..5f35cb4c7f 100644 --- a/target/linux/ramips/dts/mt7628an_tplink_tl-mr3020-v3.dts +++ b/target/linux/ramips/dts/mt7628an_tplink_tl-mr3020-v3.dts @@ -121,19 +121,22 @@ }; factory: partition@7d0000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x7d0000 0x30000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_20000: eeprom@20000 { - reg = <0x20000 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_f100: macaddr@f100 { - reg = <0xf100 0x6>; + eeprom_factory_20000: eeprom@20000 { + reg = <0x20000 0x400>; + }; + + macaddr_factory_f100: macaddr@f100 { + reg = <0xf100 0x6>; + }; }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_tplink_tl-mr3420-v5.dts b/target/linux/ramips/dts/mt7628an_tplink_tl-mr3420-v5.dts index 173b4cddca..297e7b441d 100644 --- a/target/linux/ramips/dts/mt7628an_tplink_tl-mr3420-v5.dts +++ b/target/linux/ramips/dts/mt7628an_tplink_tl-mr3420-v5.dts @@ -76,6 +76,13 @@ }; }; +&wmac { + status = "okay"; + + nvmem-cells = <&eeprom_factory_20000>, <&macaddr_factory_f100 0>; + nvmem-cell-names = "eeprom", "mac-address"; +}; + &esw { mediatek,portmap = <0x3e>; }; diff --git a/target/linux/ramips/dts/mt7628an_tplink_tl-mr6400-v4.dts b/target/linux/ramips/dts/mt7628an_tplink_tl-mr6400-v4.dts index 1dfb89d528..d0350f9924 100644 --- a/target/linux/ramips/dts/mt7628an_tplink_tl-mr6400-v4.dts +++ b/target/linux/ramips/dts/mt7628an_tplink_tl-mr6400-v4.dts @@ -93,11 +93,13 @@ }; &factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_1f100: macaddr@1f100 { - reg = <0x1f100 0x6>; + macaddr_factory_1f100: macaddr@1f100 { + reg = <0x1f100 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_tplink_tl-mr6400-v5.dts b/target/linux/ramips/dts/mt7628an_tplink_tl-mr6400-v5.dts index 408f12aeae..f77f1acbf2 100644 --- a/target/linux/ramips/dts/mt7628an_tplink_tl-mr6400-v5.dts +++ b/target/linux/ramips/dts/mt7628an_tplink_tl-mr6400-v5.dts @@ -93,11 +93,13 @@ }; &factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_1f100: macaddr@1f100 { - reg = <0x1f100 0x6>; + macaddr_factory_1f100: macaddr@1f100 { + reg = <0x1f100 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_tplink_tl-wa801nd-v5.dts b/target/linux/ramips/dts/mt7628an_tplink_tl-wa801nd-v5.dts index de9a48445a..44a483ed6d 100644 --- a/target/linux/ramips/dts/mt7628an_tplink_tl-wa801nd-v5.dts +++ b/target/linux/ramips/dts/mt7628an_tplink_tl-wa801nd-v5.dts @@ -73,3 +73,10 @@ function = "gpio"; }; }; + +&wmac { + status = "okay"; + + nvmem-cells = <&eeprom_factory_20000>, <&macaddr_factory_f100 0>; + nvmem-cell-names = "eeprom", "mac-address"; +}; diff --git a/target/linux/ramips/dts/mt7628an_tplink_tl-wr802n-v4.dts b/target/linux/ramips/dts/mt7628an_tplink_tl-wr802n-v4.dts index 46c18d6b2d..01cbba2024 100644 --- a/target/linux/ramips/dts/mt7628an_tplink_tl-wr802n-v4.dts +++ b/target/linux/ramips/dts/mt7628an_tplink_tl-wr802n-v4.dts @@ -49,6 +49,13 @@ }; ðernet { - nvmem-cells = <&macaddr_factory_f100>; + nvmem-cells = <&macaddr_factory_f100 0>; nvmem-cell-names = "mac-address"; }; + +&wmac { + status = "okay"; + + nvmem-cells = <&eeprom_factory_20000>, <&macaddr_factory_f100 0>; + nvmem-cell-names = "eeprom", "mac-address"; +}; diff --git a/target/linux/ramips/dts/mt7628an_tplink_tl-wr840n-v4.dts b/target/linux/ramips/dts/mt7628an_tplink_tl-wr840n-v4.dts index 8a8ba81ec3..e480395ffd 100644 --- a/target/linux/ramips/dts/mt7628an_tplink_tl-wr840n-v4.dts +++ b/target/linux/ramips/dts/mt7628an_tplink_tl-wr840n-v4.dts @@ -66,6 +66,13 @@ }; }; +&wmac { + status = "okay"; + + nvmem-cells = <&eeprom_factory_20000>, <&macaddr_factory_f100 0>; + nvmem-cell-names = "eeprom", "mac-address"; +}; + &esw { mediatek,portmap = <0x3e>; }; diff --git a/target/linux/ramips/dts/mt7628an_tplink_tl-wr840n-v5.dts b/target/linux/ramips/dts/mt7628an_tplink_tl-wr840n-v5.dts index e5bb9f233b..3e639668bb 100644 --- a/target/linux/ramips/dts/mt7628an_tplink_tl-wr840n-v5.dts +++ b/target/linux/ramips/dts/mt7628an_tplink_tl-wr840n-v5.dts @@ -70,19 +70,22 @@ }; factory: partition@3f0000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x3f0000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_f100: macaddr@f100 { - reg = <0xf100 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + macaddr_factory_f100: macaddr@f100 { + reg = <0xf100 0x6>; + }; }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_tplink_tl-wr841n-v13.dts b/target/linux/ramips/dts/mt7628an_tplink_tl-wr841n-v13.dts index 5c7f9836b6..e1e77eba23 100644 --- a/target/linux/ramips/dts/mt7628an_tplink_tl-wr841n-v13.dts +++ b/target/linux/ramips/dts/mt7628an_tplink_tl-wr841n-v13.dts @@ -92,6 +92,13 @@ }; }; +&wmac { + status = "okay"; + + nvmem-cells = <&eeprom_factory_20000>, <&macaddr_factory_f100 0>; + nvmem-cell-names = "eeprom", "mac-address"; +}; + &esw { mediatek,portmap = <0x3e>; }; diff --git a/target/linux/ramips/dts/mt7628an_tplink_tl-wr841n-v14.dts b/target/linux/ramips/dts/mt7628an_tplink_tl-wr841n-v14.dts index 67df5c0127..5b3bcbe63a 100644 --- a/target/linux/ramips/dts/mt7628an_tplink_tl-wr841n-v14.dts +++ b/target/linux/ramips/dts/mt7628an_tplink_tl-wr841n-v14.dts @@ -81,19 +81,22 @@ }; factory: partition@3f0000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x3f0000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_f100: macaddr@f100 { - reg = <0xf100 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + macaddr_factory_f100: macaddr@f100 { + reg = <0xf100 0x6>; + }; }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_tplink_tl-wr842n-v5.dts b/target/linux/ramips/dts/mt7628an_tplink_tl-wr842n-v5.dts index 9077ec00ce..b5c3bd9ab5 100644 --- a/target/linux/ramips/dts/mt7628an_tplink_tl-wr842n-v5.dts +++ b/target/linux/ramips/dts/mt7628an_tplink_tl-wr842n-v5.dts @@ -76,6 +76,13 @@ }; }; +&wmac { + status = "okay"; + + nvmem-cells = <&eeprom_factory_20000>, <&macaddr_factory_f100 0>; + nvmem-cell-names = "eeprom", "mac-address"; +}; + &esw { mediatek,portmap = <0x3e>; }; diff --git a/target/linux/ramips/dts/mt7628an_tplink_tl-wr850n-v2.dts b/target/linux/ramips/dts/mt7628an_tplink_tl-wr850n-v2.dts index 7abeae9c07..9fc7f97ae5 100644 --- a/target/linux/ramips/dts/mt7628an_tplink_tl-wr850n-v2.dts +++ b/target/linux/ramips/dts/mt7628an_tplink_tl-wr850n-v2.dts @@ -69,6 +69,13 @@ }; }; +&wmac { + status = "okay"; + + nvmem-cells = <&eeprom_factory_20000>, <&macaddr_factory_f100 0>; + nvmem-cell-names = "eeprom", "mac-address"; +}; + &esw { mediatek,portmap = <0x3e>; }; diff --git a/target/linux/ramips/dts/mt7628an_tplink_tl-wr902ac-v3.dts b/target/linux/ramips/dts/mt7628an_tplink_tl-wr902ac-v3.dts index b49dc61a4c..0029be21e0 100644 --- a/target/linux/ramips/dts/mt7628an_tplink_tl-wr902ac-v3.dts +++ b/target/linux/ramips/dts/mt7628an_tplink_tl-wr902ac-v3.dts @@ -83,6 +83,13 @@ }; }; +&wmac { + status = "okay"; + + nvmem-cells = <&eeprom_factory_20000>, <&macaddr_factory_f100 0>; + nvmem-cell-names = "eeprom", "mac-address"; +}; + &pcie { status = "okay"; }; @@ -91,8 +98,7 @@ mt76@0,0 { reg = <0x0000 0 0 0 0>; ieee80211-freq-limit = <5000000 6000000>; - nvmem-cells = <&eeprom_factory_28000>, <&macaddr_factory_f100>; + nvmem-cells = <&eeprom_factory_28000>, <&macaddr_factory_f100 (-1)>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <(-1)>; }; }; diff --git a/target/linux/ramips/dts/mt7628an_unielec_u7628-01-16m.dts b/target/linux/ramips/dts/mt7628an_unielec_u7628-01-16m.dts index 2bc6a5f8c3..77d8b9fce6 100644 --- a/target/linux/ramips/dts/mt7628an_unielec_u7628-01-16m.dts +++ b/target/linux/ramips/dts/mt7628an_unielec_u7628-01-16m.dts @@ -38,19 +38,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_vocore_vocore2.dtsi b/target/linux/ramips/dts/mt7628an_vocore_vocore2.dtsi index 27d6d67ed4..73ee4484b4 100644 --- a/target/linux/ramips/dts/mt7628an_vocore_vocore2.dtsi +++ b/target/linux/ramips/dts/mt7628an_vocore_vocore2.dtsi @@ -40,19 +40,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_wavlink_wl-wn531a3.dts b/target/linux/ramips/dts/mt7628an_wavlink_wl-wn531a3.dts index 25a1c1ac8f..1ae08ed840 100644 --- a/target/linux/ramips/dts/mt7628an_wavlink_wl-wn531a3.dts +++ b/target/linux/ramips/dts/mt7628an_wavlink_wl-wn531a3.dts @@ -109,23 +109,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_wavlink_wl-wn570ha1.dts b/target/linux/ramips/dts/mt7628an_wavlink_wl-wn570ha1.dts index ddf2723633..76e89b77b6 100644 --- a/target/linux/ramips/dts/mt7628an_wavlink_wl-wn570ha1.dts +++ b/target/linux/ramips/dts/mt7628an_wavlink_wl-wn570ha1.dts @@ -99,23 +99,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_2e: macaddr@2e { - reg = <0x2e 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_2e: macaddr@2e { + reg = <0x2e 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_wavlink_wl-wn575a3.dts b/target/linux/ramips/dts/mt7628an_wavlink_wl-wn575a3.dts index 8bdf764fdd..7b12dac350 100644 --- a/target/linux/ramips/dts/mt7628an_wavlink_wl-wn575a3.dts +++ b/target/linux/ramips/dts/mt7628an_wavlink_wl-wn575a3.dts @@ -94,23 +94,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_wavlink_wl-wn576a2.dts b/target/linux/ramips/dts/mt7628an_wavlink_wl-wn576a2.dts index 58d5bf9168..fa06c44e3f 100644 --- a/target/linux/ramips/dts/mt7628an_wavlink_wl-wn576a2.dts +++ b/target/linux/ramips/dts/mt7628an_wavlink_wl-wn576a2.dts @@ -133,23 +133,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_wavlink_wl-wn577a2.dts b/target/linux/ramips/dts/mt7628an_wavlink_wl-wn577a2.dts index bc9bef1328..d2b45faa25 100644 --- a/target/linux/ramips/dts/mt7628an_wavlink_wl-wn577a2.dts +++ b/target/linux/ramips/dts/mt7628an_wavlink_wl-wn577a2.dts @@ -98,23 +98,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_wavlink_wl-wn578a2.dts b/target/linux/ramips/dts/mt7628an_wavlink_wl-wn578a2.dts index 7abab0044d..a9b9868304 100644 --- a/target/linux/ramips/dts/mt7628an_wavlink_wl-wn578a2.dts +++ b/target/linux/ramips/dts/mt7628an_wavlink_wl-wn578a2.dts @@ -128,23 +128,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_widora_neo.dtsi b/target/linux/ramips/dts/mt7628an_widora_neo.dtsi index 5d37b12448..47ed0431d2 100644 --- a/target/linux/ramips/dts/mt7628an_widora_neo.dtsi +++ b/target/linux/ramips/dts/mt7628an_widora_neo.dtsi @@ -74,19 +74,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_wiznet_wizfi630s.dts b/target/linux/ramips/dts/mt7628an_wiznet_wizfi630s.dts index 04b6c56bef..3bdb06cec9 100644 --- a/target/linux/ramips/dts/mt7628an_wiznet_wizfi630s.dts +++ b/target/linux/ramips/dts/mt7628an_wiznet_wizfi630s.dts @@ -117,19 +117,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_2e: macaddr@2e { - reg = <0x2e 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + macaddr_factory_2e: macaddr@2e { + reg = <0x2e 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_wrtnode_wrtnode2.dtsi b/target/linux/ramips/dts/mt7628an_wrtnode_wrtnode2.dtsi index c3fcaabe2f..207fea28e9 100644 --- a/target/linux/ramips/dts/mt7628an_wrtnode_wrtnode2.dtsi +++ b/target/linux/ramips/dts/mt7628an_wrtnode_wrtnode2.dtsi @@ -48,19 +48,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4.dtsi b/target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4.dtsi index 51737a965d..7655da40db 100644 --- a/target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4.dtsi +++ b/target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4.dtsi @@ -47,31 +47,36 @@ }; factory: partition@30000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x30000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; - }; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; - }; + macaddr_factory_4: macaddr@4 { + compatible = "mac-base"; + reg = <0x4 0x6>; + #nvmem-cell-cells = <1>; + }; - macaddr_factory_8004: macaddr@8004 { - reg = <0x8004 0x6>; + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; + + macaddr_factory_8004: macaddr@8004 { + reg = <0x8004 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4a-100m-intl.dts b/target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4a-100m-intl.dts index 809a0af30a..49ca637cb9 100644 --- a/target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4a-100m-intl.dts +++ b/target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4a-100m-intl.dts @@ -64,9 +64,8 @@ }; ðernet { - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 (-1)>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(-1)>; }; &esw { diff --git a/target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4a-100m.dts b/target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4a-100m.dts index 7b40cdb6af..f40717267c 100644 --- a/target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4a-100m.dts +++ b/target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4a-100m.dts @@ -64,9 +64,8 @@ }; ðernet { - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 (-1)>; nvmem-cell-names = "mac-address"; - mac-address-increment = <(-1)>; }; &esw { diff --git a/target/linux/ramips/dts/mt7628an_xiaomi_miwifi-3c.dts b/target/linux/ramips/dts/mt7628an_xiaomi_miwifi-3c.dts index bc7083fb1f..2adb6ba8e3 100644 --- a/target/linux/ramips/dts/mt7628an_xiaomi_miwifi-3c.dts +++ b/target/linux/ramips/dts/mt7628an_xiaomi_miwifi-3c.dts @@ -114,19 +114,22 @@ }; factory: partition@50000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x50000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_xiaomi_miwifi-nano.dts b/target/linux/ramips/dts/mt7628an_xiaomi_miwifi-nano.dts index c957388228..66297232e3 100644 --- a/target/linux/ramips/dts/mt7628an_xiaomi_miwifi-nano.dts +++ b/target/linux/ramips/dts/mt7628an_xiaomi_miwifi-nano.dts @@ -106,19 +106,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_zbtlink_zbt-we1226.dts b/target/linux/ramips/dts/mt7628an_zbtlink_zbt-we1226.dts index fd233cd30b..64f3d6d83f 100644 --- a/target/linux/ramips/dts/mt7628an_zbtlink_zbt-we1226.dts +++ b/target/linux/ramips/dts/mt7628an_zbtlink_zbt-we1226.dts @@ -86,19 +86,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_2e: macaddr@2e { - reg = <0x2e 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + macaddr_factory_2e: macaddr@2e { + reg = <0x2e 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/mt7628an_zyxel_keenetic-extra-ii.dts b/target/linux/ramips/dts/mt7628an_zyxel_keenetic-extra-ii.dts index d173f53697..95eb9cfd9e 100644 --- a/target/linux/ramips/dts/mt7628an_zyxel_keenetic-extra-ii.dts +++ b/target/linux/ramips/dts/mt7628an_zyxel_keenetic-extra-ii.dts @@ -121,23 +121,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "rf-eeprom"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x400>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt2880_airlink101_ar670w.dts b/target/linux/ramips/dts/rt2880_airlink101_ar670w.dts index 4c9014b7d8..dc61cd9da5 100644 --- a/target/linux/ramips/dts/rt2880_airlink101_ar670w.dts +++ b/target/linux/ramips/dts/rt2880_airlink101_ar670w.dts @@ -31,19 +31,22 @@ }; factory: partition@30000 { - compatible = "nvmem-cells"; - label = "factory"; reg = <0x30000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; + label = "factory"; read-only; - eeprom_factory_2000: eeprom@2000 { - reg = <0x2000 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_2004: macaddr@2004 { - reg = <0x2004 0x6>; + eeprom_factory_2000: eeprom@2000 { + reg = <0x2000 0x200>; + }; + + macaddr_factory_2004: macaddr@2004 { + reg = <0x2004 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt2880_airlink101_ar725w.dts b/target/linux/ramips/dts/rt2880_airlink101_ar725w.dts index 95df28163e..f41a9b8561 100644 --- a/target/linux/ramips/dts/rt2880_airlink101_ar725w.dts +++ b/target/linux/ramips/dts/rt2880_airlink101_ar725w.dts @@ -36,19 +36,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; - label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; + label = "factory"; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt2880_asus_rt-n15.dts b/target/linux/ramips/dts/rt2880_asus_rt-n15.dts index e7c5f276fa..0275a84bde 100644 --- a/target/linux/ramips/dts/rt2880_asus_rt-n15.dts +++ b/target/linux/ramips/dts/rt2880_asus_rt-n15.dts @@ -40,19 +40,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt2880_belkin_f5d8235-v1.dts b/target/linux/ramips/dts/rt2880_belkin_f5d8235-v1.dts index 8ab53323d4..1c2b9a18da 100644 --- a/target/linux/ramips/dts/rt2880_belkin_f5d8235-v1.dts +++ b/target/linux/ramips/dts/rt2880_belkin_f5d8235-v1.dts @@ -38,19 +38,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt2880_buffalo_wli-tx4-ag300n.dts b/target/linux/ramips/dts/rt2880_buffalo_wli-tx4-ag300n.dts index e02296cd5a..37288e5fc4 100644 --- a/target/linux/ramips/dts/rt2880_buffalo_wli-tx4-ag300n.dts +++ b/target/linux/ramips/dts/rt2880_buffalo_wli-tx4-ag300n.dts @@ -40,19 +40,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt2880_buffalo_wzr-agl300nh.dts b/target/linux/ramips/dts/rt2880_buffalo_wzr-agl300nh.dts index 4665878d4b..bc01bf23ef 100644 --- a/target/linux/ramips/dts/rt2880_buffalo_wzr-agl300nh.dts +++ b/target/linux/ramips/dts/rt2880_buffalo_wzr-agl300nh.dts @@ -40,19 +40,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt2880_dlink_dap-1522-a1.dts b/target/linux/ramips/dts/rt2880_dlink_dap-1522-a1.dts index ade64b3f46..105a3c49d4 100644 --- a/target/linux/ramips/dts/rt2880_dlink_dap-1522-a1.dts +++ b/target/linux/ramips/dts/rt2880_dlink_dap-1522-a1.dts @@ -32,19 +32,22 @@ }; factory: partition@30000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x30000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_2000: eeprom@2000 { - reg = <0x2000 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_2004: macaddr@2004 { - reg = <0x2004 0x6>; + eeprom_factory_2000: eeprom@2000 { + reg = <0x2000 0x200>; + }; + + macaddr_factory_2004: macaddr@2004 { + reg = <0x2004 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt2880_ralink_v11st-fe.dts b/target/linux/ramips/dts/rt2880_ralink_v11st-fe.dts index 5d518df252..3f4142f508 100644 --- a/target/linux/ramips/dts/rt2880_ralink_v11st-fe.dts +++ b/target/linux/ramips/dts/rt2880_ralink_v11st-fe.dts @@ -37,15 +37,18 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; - label = "factory"; reg = <0x00040000 0x00010000>; - #address-cells = <1>; - #size-cells = <1>; + label = "factory"; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3050_8devices_carambola.dts b/target/linux/ramips/dts/rt3050_8devices_carambola.dts index 3aa148285a..8cc586207f 100644 --- a/target/linux/ramips/dts/rt3050_8devices_carambola.dts +++ b/target/linux/ramips/dts/rt3050_8devices_carambola.dts @@ -35,19 +35,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3050_allnet_all0256n.dtsi b/target/linux/ramips/dts/rt3050_allnet_all0256n.dtsi index f7ee55cec8..f7b64c6326 100644 --- a/target/linux/ramips/dts/rt3050_allnet_all0256n.dtsi +++ b/target/linux/ramips/dts/rt3050_allnet_all0256n.dtsi @@ -63,19 +63,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3050_alphanetworks_asl26555-16m.dts b/target/linux/ramips/dts/rt3050_alphanetworks_asl26555-16m.dts index 913c29519a..1d66023ceb 100644 --- a/target/linux/ramips/dts/rt3050_alphanetworks_asl26555-16m.dts +++ b/target/linux/ramips/dts/rt3050_alphanetworks_asl26555-16m.dts @@ -55,19 +55,22 @@ }; devdata: partition@ff0000 { - compatible = "nvmem-cells"; label = "devdata"; reg = <0xff0000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_devdata_4000: eeprom@4000 { - reg = <0x4000 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_devdata_4004: macaddr@4004 { - reg = <0x4004 0x6>; + eeprom_devdata_4000: eeprom@4000 { + reg = <0x4000 0x200>; + }; + + macaddr_devdata_4004: macaddr@4004 { + reg = <0x4004 0x6>; + }; }; }; }; diff --git a/target/linux/ramips/dts/rt3050_alphanetworks_asl26555-8m.dts b/target/linux/ramips/dts/rt3050_alphanetworks_asl26555-8m.dts index 76ca0bf83b..41ed37d808 100644 --- a/target/linux/ramips/dts/rt3050_alphanetworks_asl26555-8m.dts +++ b/target/linux/ramips/dts/rt3050_alphanetworks_asl26555-8m.dts @@ -25,19 +25,22 @@ }; devdata: partition@30000 { - compatible = "nvmem-cells"; label = "uboot-env"; reg = <0x30000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_devdata_4000: eeprom@4000 { - reg = <0x4000 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_devdata_4004: macaddr@4004 { - reg = <0x4004 0x6>; + eeprom_devdata_4000: eeprom@4000 { + reg = <0x4000 0x200>; + }; + + macaddr_devdata_4004: macaddr@4004 { + reg = <0x4004 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3050_arcwireless_freestation5.dts b/target/linux/ramips/dts/rt3050_arcwireless_freestation5.dts index ecce4335ff..9b696b3431 100644 --- a/target/linux/ramips/dts/rt3050_arcwireless_freestation5.dts +++ b/target/linux/ramips/dts/rt3050_arcwireless_freestation5.dts @@ -35,19 +35,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3050_asus_rt-g32-b1.dts b/target/linux/ramips/dts/rt3050_asus_rt-g32-b1.dts index 5817eae817..e112a1b33d 100644 --- a/target/linux/ramips/dts/rt3050_asus_rt-g32-b1.dts +++ b/target/linux/ramips/dts/rt3050_asus_rt-g32-b1.dts @@ -51,19 +51,22 @@ }; devconf: partition@40000 { - compatible = "nvmem-cells"; label = "devconf"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_devconf_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_devconf_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_devconf_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_devconf_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3050_asus_rt-n10-plus.dts b/target/linux/ramips/dts/rt3050_asus_rt-n10-plus.dts index 1154d205b7..a452a44202 100644 --- a/target/linux/ramips/dts/rt3050_asus_rt-n10-plus.dts +++ b/target/linux/ramips/dts/rt3050_asus_rt-n10-plus.dts @@ -38,19 +38,22 @@ }; devconf: partition@40000 { - compatible = "nvmem-cells"; label = "devconf"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_devconf_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_devconf_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_devconf_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_devconf_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3050_asus_wl-330n.dts b/target/linux/ramips/dts/rt3050_asus_wl-330n.dts index 4f137115ec..938f5d440c 100644 --- a/target/linux/ramips/dts/rt3050_asus_wl-330n.dts +++ b/target/linux/ramips/dts/rt3050_asus_wl-330n.dts @@ -72,19 +72,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3050_asus_wl-330n3g.dts b/target/linux/ramips/dts/rt3050_asus_wl-330n3g.dts index 27fe5ba23f..4f8b7e73ea 100644 --- a/target/linux/ramips/dts/rt3050_asus_wl-330n3g.dts +++ b/target/linux/ramips/dts/rt3050_asus_wl-330n3g.dts @@ -77,19 +77,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3050_dlink_dcs-930.dts b/target/linux/ramips/dts/rt3050_dlink_dcs-930.dts index 508f908018..e3a26bd4cf 100644 --- a/target/linux/ramips/dts/rt3050_dlink_dcs-930.dts +++ b/target/linux/ramips/dts/rt3050_dlink_dcs-930.dts @@ -38,19 +38,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3050_dlink_dir-300-b1.dts b/target/linux/ramips/dts/rt3050_dlink_dir-300-b1.dts index 183dc17868..a05122b604 100644 --- a/target/linux/ramips/dts/rt3050_dlink_dir-300-b1.dts +++ b/target/linux/ramips/dts/rt3050_dlink_dir-300-b1.dts @@ -32,19 +32,22 @@ }; devdata: partition@30000 { - compatible = "nvmem-cells"; label = "devdata"; reg = <0x30000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_devdata_4000: eeprom@4000 { - reg = <0x4000 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_devdata_4004: macaddr@4004 { - reg = <0x4004 0x6>; + eeprom_devdata_4000: eeprom@4000 { + reg = <0x4000 0x200>; + }; + + macaddr_devdata_4004: macaddr@4004 { + reg = <0x4004 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3050_dlink_dir-600-b1.dts b/target/linux/ramips/dts/rt3050_dlink_dir-600-b1.dts index bc3d5646a8..73e65128e5 100644 --- a/target/linux/ramips/dts/rt3050_dlink_dir-600-b1.dts +++ b/target/linux/ramips/dts/rt3050_dlink_dir-600-b1.dts @@ -32,19 +32,22 @@ }; devdata: partition@30000 { - compatible = "nvmem-cells"; label = "devdata"; reg = <0x30000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_devdata_4000: eeprom@4000 { - reg = <0x4000 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_devdata_4004: macaddr@4004 { - reg = <0x4004 0x6>; + eeprom_devdata_4000: eeprom@4000 { + reg = <0x4000 0x200>; + }; + + macaddr_devdata_4004: macaddr@4004 { + reg = <0x4004 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3050_dlink_dir-615-d.dts b/target/linux/ramips/dts/rt3050_dlink_dir-615-d.dts index 4fe519780d..0d81f7e096 100644 --- a/target/linux/ramips/dts/rt3050_dlink_dir-615-d.dts +++ b/target/linux/ramips/dts/rt3050_dlink_dir-615-d.dts @@ -33,15 +33,18 @@ }; devdata: partition@30000 { - compatible = "nvmem-cells"; label = "devdata"; reg = <0x30000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_devdata_4000: eeprom@4000 { - reg = <0x4000 0x200>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_devdata_4000: eeprom@4000 { + reg = <0x4000 0x200>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3050_dlink_dir-620-a1.dts b/target/linux/ramips/dts/rt3050_dlink_dir-620-a1.dts index 7b9b328388..3a5624d125 100644 --- a/target/linux/ramips/dts/rt3050_dlink_dir-620-a1.dts +++ b/target/linux/ramips/dts/rt3050_dlink_dir-620-a1.dts @@ -38,19 +38,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3050_edimax_3g-6200n.dts b/target/linux/ramips/dts/rt3050_edimax_3g-6200n.dts index e6682cf9dc..62686b5489 100644 --- a/target/linux/ramips/dts/rt3050_edimax_3g-6200n.dts +++ b/target/linux/ramips/dts/rt3050_edimax_3g-6200n.dts @@ -39,19 +39,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3050_edimax_3g-6200nl.dts b/target/linux/ramips/dts/rt3050_edimax_3g-6200nl.dts index 5eee298d8e..c0fdb9995d 100644 --- a/target/linux/ramips/dts/rt3050_edimax_3g-6200nl.dts +++ b/target/linux/ramips/dts/rt3050_edimax_3g-6200nl.dts @@ -39,19 +39,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3050_huawei_d105.dts b/target/linux/ramips/dts/rt3050_huawei_d105.dts index 4333ed0a22..5e217aa362 100644 --- a/target/linux/ramips/dts/rt3050_huawei_d105.dts +++ b/target/linux/ramips/dts/rt3050_huawei_d105.dts @@ -38,19 +38,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3050_jcg_jhr-n805r.dts b/target/linux/ramips/dts/rt3050_jcg_jhr-n805r.dts index 384e1467c2..61fac83b14 100644 --- a/target/linux/ramips/dts/rt3050_jcg_jhr-n805r.dts +++ b/target/linux/ramips/dts/rt3050_jcg_jhr-n805r.dts @@ -68,19 +68,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_2e: macaddr@2e { - reg = <0x2e 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_2e: macaddr@2e { + reg = <0x2e 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3050_netcore_nw718.dts b/target/linux/ramips/dts/rt3050_netcore_nw718.dts index 810fb1a258..beceb3f35d 100644 --- a/target/linux/ramips/dts/rt3050_netcore_nw718.dts +++ b/target/linux/ramips/dts/rt3050_netcore_nw718.dts @@ -79,19 +79,22 @@ }; factory: partition@50000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x50000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3050_sparklan_wcr-150gn.dts b/target/linux/ramips/dts/rt3050_sparklan_wcr-150gn.dts index 23d1546c81..a241e91baf 100644 --- a/target/linux/ramips/dts/rt3050_sparklan_wcr-150gn.dts +++ b/target/linux/ramips/dts/rt3050_sparklan_wcr-150gn.dts @@ -38,19 +38,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3050_teltonika_rut5xx.dts b/target/linux/ramips/dts/rt3050_teltonika_rut5xx.dts index c8d51b3f02..95faff03b4 100644 --- a/target/linux/ramips/dts/rt3050_teltonika_rut5xx.dts +++ b/target/linux/ramips/dts/rt3050_teltonika_rut5xx.dts @@ -70,19 +70,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3050_tenda_w150m.dts b/target/linux/ramips/dts/rt3050_tenda_w150m.dts index 762043f423..d9a3f5ac6b 100644 --- a/target/linux/ramips/dts/rt3050_tenda_w150m.dts +++ b/target/linux/ramips/dts/rt3050_tenda_w150m.dts @@ -38,19 +38,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3050_trendnet_tew-638apb-v2.dts b/target/linux/ramips/dts/rt3050_trendnet_tew-638apb-v2.dts index ed1c05a6c9..2accb51c3f 100644 --- a/target/linux/ramips/dts/rt3050_trendnet_tew-638apb-v2.dts +++ b/target/linux/ramips/dts/rt3050_trendnet_tew-638apb-v2.dts @@ -38,19 +38,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_accton_wr6202.dts b/target/linux/ramips/dts/rt3052_accton_wr6202.dts index 98b0e831aa..a62f7757c7 100644 --- a/target/linux/ramips/dts/rt3052_accton_wr6202.dts +++ b/target/linux/ramips/dts/rt3052_accton_wr6202.dts @@ -66,19 +66,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_alfa-network_w502u.dts b/target/linux/ramips/dts/rt3052_alfa-network_w502u.dts index 33f5474f70..0b9270461b 100644 --- a/target/linux/ramips/dts/rt3052_alfa-network_w502u.dts +++ b/target/linux/ramips/dts/rt3052_alfa-network_w502u.dts @@ -42,19 +42,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_argus_atp-52b.dts b/target/linux/ramips/dts/rt3052_argus_atp-52b.dts index 0f15ac4ea6..94baf5fb89 100644 --- a/target/linux/ramips/dts/rt3052_argus_atp-52b.dts +++ b/target/linux/ramips/dts/rt3052_argus_atp-52b.dts @@ -37,18 +37,21 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_asiarf_awapn2403.dts b/target/linux/ramips/dts/rt3052_asiarf_awapn2403.dts index 9550029cca..49965d4e5e 100644 --- a/target/linux/ramips/dts/rt3052_asiarf_awapn2403.dts +++ b/target/linux/ramips/dts/rt3052_asiarf_awapn2403.dts @@ -61,15 +61,18 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_asus_rt-n13u.dts b/target/linux/ramips/dts/rt3052_asus_rt-n13u.dts index 97a8dda241..d60dabb5ea 100644 --- a/target/linux/ramips/dts/rt3052_asus_rt-n13u.dts +++ b/target/linux/ramips/dts/rt3052_asus_rt-n13u.dts @@ -38,19 +38,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_aximcom_mr-102n.dts b/target/linux/ramips/dts/rt3052_aximcom_mr-102n.dts index bee541885a..456bc20415 100644 --- a/target/linux/ramips/dts/rt3052_aximcom_mr-102n.dts +++ b/target/linux/ramips/dts/rt3052_aximcom_mr-102n.dts @@ -38,19 +38,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_aztech_hw550-3g.dts b/target/linux/ramips/dts/rt3052_aztech_hw550-3g.dts index 57d070b833..4a23d65628 100644 --- a/target/linux/ramips/dts/rt3052_aztech_hw550-3g.dts +++ b/target/linux/ramips/dts/rt3052_aztech_hw550-3g.dts @@ -38,19 +38,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_belkin_f5d8235-v2.dts b/target/linux/ramips/dts/rt3052_belkin_f5d8235-v2.dts index 55eba3bc0a..13b16921b9 100644 --- a/target/linux/ramips/dts/rt3052_belkin_f5d8235-v2.dts +++ b/target/linux/ramips/dts/rt3052_belkin_f5d8235-v2.dts @@ -26,19 +26,22 @@ #size-cells = <1>; uboot: partition@0 { - compatible = "nvmem-cells"; label = "uboot"; reg = <0x0 0x50000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_uboot_40000: eeprom@40000 { - reg = <0x40000 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_uboot_40004: macaddr@40004 { - reg = <0x40004 0x6>; + eeprom_uboot_40000: eeprom@40000 { + reg = <0x40000 0x200>; + }; + + macaddr_uboot_40004: macaddr@40004 { + reg = <0x40004 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_buffalo_whr-g300n.dts b/target/linux/ramips/dts/rt3052_buffalo_whr-g300n.dts index 0ff041da33..286fe0a566 100644 --- a/target/linux/ramips/dts/rt3052_buffalo_whr-g300n.dts +++ b/target/linux/ramips/dts/rt3052_buffalo_whr-g300n.dts @@ -37,19 +37,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_dlink_dap-1350.dts b/target/linux/ramips/dts/rt3052_dlink_dap-1350.dts index 9902e0b5b5..75cc1385cd 100644 --- a/target/linux/ramips/dts/rt3052_dlink_dap-1350.dts +++ b/target/linux/ramips/dts/rt3052_dlink_dap-1350.dts @@ -36,19 +36,22 @@ }; devdata: partition@30000 { - compatible = "nvmem-cells"; label = "devdata"; reg = <0x30000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_devdata_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_devdata_2e: macaddr@2e { - reg = <0x2e 0x6>; + eeprom_devdata_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_devdata_2e: macaddr@2e { + reg = <0x2e 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_engenius_esr-9753.dts b/target/linux/ramips/dts/rt3052_engenius_esr-9753.dts index 889a276e2b..2c3b759c04 100644 --- a/target/linux/ramips/dts/rt3052_engenius_esr-9753.dts +++ b/target/linux/ramips/dts/rt3052_engenius_esr-9753.dts @@ -38,19 +38,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_fon_fonera-20n.dts b/target/linux/ramips/dts/rt3052_fon_fonera-20n.dts index d77284e163..9a256e65dc 100644 --- a/target/linux/ramips/dts/rt3052_fon_fonera-20n.dts +++ b/target/linux/ramips/dts/rt3052_fon_fonera-20n.dts @@ -38,19 +38,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_hauppauge_broadway.dts b/target/linux/ramips/dts/rt3052_hauppauge_broadway.dts index 27506604a5..f7420e2092 100644 --- a/target/linux/ramips/dts/rt3052_hauppauge_broadway.dts +++ b/target/linux/ramips/dts/rt3052_hauppauge_broadway.dts @@ -31,19 +31,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_huawei_hg255d.dts b/target/linux/ramips/dts/rt3052_huawei_hg255d.dts index 2018062143..dc00110f1b 100644 --- a/target/linux/ramips/dts/rt3052_huawei_hg255d.dts +++ b/target/linux/ramips/dts/rt3052_huawei_hg255d.dts @@ -38,19 +38,22 @@ }; factory: partition@60000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x60000 0x20000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_jcg_jhr-n825r.dts b/target/linux/ramips/dts/rt3052_jcg_jhr-n825r.dts index fff1f2b0b5..6fb85b2374 100644 --- a/target/linux/ramips/dts/rt3052_jcg_jhr-n825r.dts +++ b/target/linux/ramips/dts/rt3052_jcg_jhr-n825r.dts @@ -38,19 +38,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_2e: macaddr@2e { - reg = <0x2e 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_2e: macaddr@2e { + reg = <0x2e 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_jcg_jhr-n926r.dts b/target/linux/ramips/dts/rt3052_jcg_jhr-n926r.dts index 8b92d79672..6096019b10 100644 --- a/target/linux/ramips/dts/rt3052_jcg_jhr-n926r.dts +++ b/target/linux/ramips/dts/rt3052_jcg_jhr-n926r.dts @@ -38,19 +38,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_2e: macaddr@2e { - reg = <0x2e 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_2e: macaddr@2e { + reg = <0x2e 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_mofinetwork_mofi3500-3gn.dts b/target/linux/ramips/dts/rt3052_mofinetwork_mofi3500-3gn.dts index ab058f2fea..e1d1197d70 100644 --- a/target/linux/ramips/dts/rt3052_mofinetwork_mofi3500-3gn.dts +++ b/target/linux/ramips/dts/rt3052_mofinetwork_mofi3500-3gn.dts @@ -38,15 +38,18 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_netgear_wnce2001.dts b/target/linux/ramips/dts/rt3052_netgear_wnce2001.dts index 5842515e7a..856dc85679 100644 --- a/target/linux/ramips/dts/rt3052_netgear_wnce2001.dts +++ b/target/linux/ramips/dts/rt3052_netgear_wnce2001.dts @@ -92,19 +92,22 @@ }; factory: partition@30000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x30000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_nexaira_bc2.dts b/target/linux/ramips/dts/rt3052_nexaira_bc2.dts index 21e70d394e..b95e919591 100644 --- a/target/linux/ramips/dts/rt3052_nexaira_bc2.dts +++ b/target/linux/ramips/dts/rt3052_nexaira_bc2.dts @@ -31,19 +31,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_omnima_miniembwifi.dts b/target/linux/ramips/dts/rt3052_omnima_miniembwifi.dts index caa374ceb1..7dcecc078b 100644 --- a/target/linux/ramips/dts/rt3052_omnima_miniembwifi.dts +++ b/target/linux/ramips/dts/rt3052_omnima_miniembwifi.dts @@ -63,19 +63,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_petatel_psr-680w.dts b/target/linux/ramips/dts/rt3052_petatel_psr-680w.dts index d88892f2fa..5461ee2f95 100644 --- a/target/linux/ramips/dts/rt3052_petatel_psr-680w.dts +++ b/target/linux/ramips/dts/rt3052_petatel_psr-680w.dts @@ -42,19 +42,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_planex_mzk-w300nh2.dts b/target/linux/ramips/dts/rt3052_planex_mzk-w300nh2.dts index 1beed599e1..c3d7993ae6 100644 --- a/target/linux/ramips/dts/rt3052_planex_mzk-w300nh2.dts +++ b/target/linux/ramips/dts/rt3052_planex_mzk-w300nh2.dts @@ -38,19 +38,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_planex_mzk-wdpr.dts b/target/linux/ramips/dts/rt3052_planex_mzk-wdpr.dts index 815fd9e4ef..5d44529898 100644 --- a/target/linux/ramips/dts/rt3052_planex_mzk-wdpr.dts +++ b/target/linux/ramips/dts/rt3052_planex_mzk-wdpr.dts @@ -35,19 +35,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_poray_ip2202.dts b/target/linux/ramips/dts/rt3052_poray_ip2202.dts index 2f340c4c31..0361004d84 100644 --- a/target/linux/ramips/dts/rt3052_poray_ip2202.dts +++ b/target/linux/ramips/dts/rt3052_poray_ip2202.dts @@ -41,6 +41,16 @@ label = "factory"; reg = <0x40000 0x10000>; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; + }; }; partition@50000 { @@ -96,13 +106,3 @@ &otg { status = "okay"; }; - -&factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; - }; -}; diff --git a/target/linux/ramips/dts/rt3052_prolink_pwh2004.dts b/target/linux/ramips/dts/rt3052_prolink_pwh2004.dts index 1b30dc9dd0..495f187a37 100644 --- a/target/linux/ramips/dts/rt3052_prolink_pwh2004.dts +++ b/target/linux/ramips/dts/rt3052_prolink_pwh2004.dts @@ -38,15 +38,18 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_ralink_v22rw-2x2.dts b/target/linux/ramips/dts/rt3052_ralink_v22rw-2x2.dts index 6f08cecacb..1b5ba03feb 100644 --- a/target/linux/ramips/dts/rt3052_ralink_v22rw-2x2.dts +++ b/target/linux/ramips/dts/rt3052_ralink_v22rw-2x2.dts @@ -38,15 +38,18 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_sitecom_wl-351.dts b/target/linux/ramips/dts/rt3052_sitecom_wl-351.dts index 6abaa8e887..82c3783e1f 100644 --- a/target/linux/ramips/dts/rt3052_sitecom_wl-351.dts +++ b/target/linux/ramips/dts/rt3052_sitecom_wl-351.dts @@ -38,19 +38,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_skyline_sl-r7205.dts b/target/linux/ramips/dts/rt3052_skyline_sl-r7205.dts index 31214361f6..8a4120175e 100644 --- a/target/linux/ramips/dts/rt3052_skyline_sl-r7205.dts +++ b/target/linux/ramips/dts/rt3052_skyline_sl-r7205.dts @@ -38,19 +38,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_tenda_3g300m.dts b/target/linux/ramips/dts/rt3052_tenda_3g300m.dts index 577afd3a5c..304d3bef1c 100644 --- a/target/linux/ramips/dts/rt3052_tenda_3g300m.dts +++ b/target/linux/ramips/dts/rt3052_tenda_3g300m.dts @@ -94,19 +94,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_tenda_w306r-v2.dts b/target/linux/ramips/dts/rt3052_tenda_w306r-v2.dts index ae998a2722..a4d11072ea 100644 --- a/target/linux/ramips/dts/rt3052_tenda_w306r-v2.dts +++ b/target/linux/ramips/dts/rt3052_tenda_w306r-v2.dts @@ -38,19 +38,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_unbranded_wr512-3gn-4m.dts b/target/linux/ramips/dts/rt3052_unbranded_wr512-3gn-4m.dts index ecc17fad40..6002342fc9 100644 --- a/target/linux/ramips/dts/rt3052_unbranded_wr512-3gn-4m.dts +++ b/target/linux/ramips/dts/rt3052_unbranded_wr512-3gn-4m.dts @@ -28,15 +28,18 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_unbranded_wr512-3gn-8m.dts b/target/linux/ramips/dts/rt3052_unbranded_wr512-3gn-8m.dts index eb04e4662c..16495ddc88 100644 --- a/target/linux/ramips/dts/rt3052_unbranded_wr512-3gn-8m.dts +++ b/target/linux/ramips/dts/rt3052_unbranded_wr512-3gn-8m.dts @@ -28,15 +28,18 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_unbranded_xdx-rn502j.dts b/target/linux/ramips/dts/rt3052_unbranded_xdx-rn502j.dts index 3d2d8686e6..ec5e4af5e2 100644 --- a/target/linux/ramips/dts/rt3052_unbranded_xdx-rn502j.dts +++ b/target/linux/ramips/dts/rt3052_unbranded_xdx-rn502j.dts @@ -38,19 +38,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_upvel_ur-326n4g.dts b/target/linux/ramips/dts/rt3052_upvel_ur-326n4g.dts index d3234bd9a3..8104bf6053 100644 --- a/target/linux/ramips/dts/rt3052_upvel_ur-326n4g.dts +++ b/target/linux/ramips/dts/rt3052_upvel_ur-326n4g.dts @@ -38,19 +38,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4004: macaddr@4004 { - reg = <0x4004 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4004: macaddr@4004 { + reg = <0x4004 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_upvel_ur-336un.dts b/target/linux/ramips/dts/rt3052_upvel_ur-336un.dts index 0dffdddeb6..050ce21a75 100644 --- a/target/linux/ramips/dts/rt3052_upvel_ur-336un.dts +++ b/target/linux/ramips/dts/rt3052_upvel_ur-336un.dts @@ -38,19 +38,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4004: macaddr@4004 { - reg = <0x4004 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4004: macaddr@4004 { + reg = <0x4004 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_zyxel_keenetic.dts b/target/linux/ramips/dts/rt3052_zyxel_keenetic.dts index 92d4304668..2c16736c96 100644 --- a/target/linux/ramips/dts/rt3052_zyxel_keenetic.dts +++ b/target/linux/ramips/dts/rt3052_zyxel_keenetic.dts @@ -38,19 +38,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3052_zyxel_nbg-419n.dts b/target/linux/ramips/dts/rt3052_zyxel_nbg-419n.dts index 65446842bb..18dcf6b676 100644 --- a/target/linux/ramips/dts/rt3052_zyxel_nbg-419n.dts +++ b/target/linux/ramips/dts/rt3052_zyxel_nbg-419n.dts @@ -38,19 +38,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3352_allnet_all5002.dts b/target/linux/ramips/dts/rt3352_allnet_all5002.dts index a1133464b3..6483e935dd 100644 --- a/target/linux/ramips/dts/rt3352_allnet_all5002.dts +++ b/target/linux/ramips/dts/rt3352_allnet_all5002.dts @@ -69,19 +69,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3352_dlink_dir-615-h1.dts b/target/linux/ramips/dts/rt3352_dlink_dir-615-h1.dts index a8f1f0cd71..dc2c49cd0b 100644 --- a/target/linux/ramips/dts/rt3352_dlink_dir-615-h1.dts +++ b/target/linux/ramips/dts/rt3352_dlink_dir-615-h1.dts @@ -89,19 +89,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3352_dlink_dir-620-d1.dts b/target/linux/ramips/dts/rt3352_dlink_dir-620-d1.dts index 7d78ed333d..de020706df 100644 --- a/target/linux/ramips/dts/rt3352_dlink_dir-620-d1.dts +++ b/target/linux/ramips/dts/rt3352_dlink_dir-620-d1.dts @@ -66,19 +66,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3352_zte_mf283plus.dts b/target/linux/ramips/dts/rt3352_zte_mf283plus.dts index 9108fc9b8c..01455b0d5a 100644 --- a/target/linux/ramips/dts/rt3352_zte_mf283plus.dts +++ b/target/linux/ramips/dts/rt3352_zte_mf283plus.dts @@ -85,19 +85,22 @@ }; factory: partition@70000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x70000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3352_zyxel_nbg-419n-v2.dts b/target/linux/ramips/dts/rt3352_zyxel_nbg-419n-v2.dts index 322609b958..0ac89bce43 100644 --- a/target/linux/ramips/dts/rt3352_zyxel_nbg-419n-v2.dts +++ b/target/linux/ramips/dts/rt3352_zyxel_nbg-419n-v2.dts @@ -83,19 +83,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3662_asus_rt-n56u.dts b/target/linux/ramips/dts/rt3662_asus_rt-n56u.dts index 1188f147b9..7837a4ca3d 100644 --- a/target/linux/ramips/dts/rt3662_asus_rt-n56u.dts +++ b/target/linux/ramips/dts/rt3662_asus_rt-n56u.dts @@ -37,23 +37,26 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; - label = "factory"; reg = <0x00040000 0x00010000>; - #address-cells = <1>; - #size-cells = <1>; + label = "factory"; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3662_dlink_dir-645.dts b/target/linux/ramips/dts/rt3662_dlink_dir-645.dts index 8aad9974b5..87d52d679c 100644 --- a/target/linux/ramips/dts/rt3662_dlink_dir-645.dts +++ b/target/linux/ramips/dts/rt3662_dlink_dir-645.dts @@ -94,19 +94,22 @@ }; factory: partition@34000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x34000 0x4000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3662_edimax_br-6475nd.dts b/target/linux/ramips/dts/rt3662_edimax_br-6475nd.dts index a891ab657e..60ec3dacf5 100644 --- a/target/linux/ramips/dts/rt3662_edimax_br-6475nd.dts +++ b/target/linux/ramips/dts/rt3662_edimax_br-6475nd.dts @@ -75,32 +75,38 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x00040000 0x00010000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; }; }; devdata: partition@50000 { - compatible = "nvmem-cells"; label = "devdata"; reg = <0x00050000 0x00020000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - macaddr_devdata_d: macaddr@d { - reg = <0xd 0x6>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_devdata_d: macaddr@d { + reg = <0xd 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3662_engenius_esr600h.dts b/target/linux/ramips/dts/rt3662_engenius_esr600h.dts index e785f11043..6770e4cc9a 100644 --- a/target/linux/ramips/dts/rt3662_engenius_esr600h.dts +++ b/target/linux/ramips/dts/rt3662_engenius_esr600h.dts @@ -89,19 +89,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3662_loewe_wmdr-143n.dts b/target/linux/ramips/dts/rt3662_loewe_wmdr-143n.dts index b87a573313..1da233ba78 100644 --- a/target/linux/ramips/dts/rt3662_loewe_wmdr-143n.dts +++ b/target/linux/ramips/dts/rt3662_loewe_wmdr-143n.dts @@ -31,15 +31,18 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3662_omnima_hpm.dts b/target/linux/ramips/dts/rt3662_omnima_hpm.dts index 644cc557b9..e06e6986ec 100644 --- a/target/linux/ramips/dts/rt3662_omnima_hpm.dts +++ b/target/linux/ramips/dts/rt3662_omnima_hpm.dts @@ -110,19 +110,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; - label = "factory"; reg = <0x00040000 0x00010000>; - #address-cells = <1>; - #size-cells = <1>; + label = "factory"; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3662_samsung_cy-swr1100.dts b/target/linux/ramips/dts/rt3662_samsung_cy-swr1100.dts index e4c31ae6b1..b022b5c2be 100644 --- a/target/linux/ramips/dts/rt3662_samsung_cy-swr1100.dts +++ b/target/linux/ramips/dts/rt3662_samsung_cy-swr1100.dts @@ -37,19 +37,22 @@ }; factory: partition@34000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x34000 0x4000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_2000: eeprom@2000 { - reg = <0x2000 0x200>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + eeprom_factory_2000: eeprom@2000 { + reg = <0x2000 0x200>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3883_belkin_f9k110x.dtsi b/target/linux/ramips/dts/rt3883_belkin_f9k110x.dtsi index 22b6ee40a9..4a64d8a7fe 100644 --- a/target/linux/ramips/dts/rt3883_belkin_f9k110x.dtsi +++ b/target/linux/ramips/dts/rt3883_belkin_f9k110x.dtsi @@ -42,19 +42,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3883_sitecom_wlr-6000.dts b/target/linux/ramips/dts/rt3883_sitecom_wlr-6000.dts index cb54cf0f8f..17f3c10bc9 100644 --- a/target/linux/ramips/dts/rt3883_sitecom_wlr-6000.dts +++ b/target/linux/ramips/dts/rt3883_sitecom_wlr-6000.dts @@ -64,9 +64,8 @@ ðernet { status = "okay"; - nvmem-cells = <&macaddr_factory_8004>; + nvmem-cells = <&macaddr_factory_8004 1>; nvmem-cell-names = "mac-address"; - mac-address-increment = <1>; port@0 { phy-handle = <&phy0>; @@ -122,23 +121,28 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; - }; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; - macaddr_factory_8004: macaddr@8004 { - reg = <0x8004 0x6>; + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_8004: macaddr@8004 { + compatible = "mac-base"; + reg = <0x8004 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; diff --git a/target/linux/ramips/dts/rt3883_trendnet_tew-691gr.dts b/target/linux/ramips/dts/rt3883_trendnet_tew-691gr.dts index 1b9d6c0655..f23dc1cb03 100644 --- a/target/linux/ramips/dts/rt3883_trendnet_tew-691gr.dts +++ b/target/linux/ramips/dts/rt3883_trendnet_tew-691gr.dts @@ -37,19 +37,24 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; - label = "factory"; reg = <0x00040000 0x00010000>; - #address-cells = <1>; - #size-cells = <1>; + label = "factory"; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + compatible = "mac-base"; + reg = <0x4 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -106,7 +111,7 @@ }; ðernet { - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 0>; nvmem-cell-names = "mac-address"; port@0 { @@ -126,7 +131,6 @@ &wmac { ralink,5ghz = <0>; - nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_4>; + nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_4 1>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <1>; }; diff --git a/target/linux/ramips/dts/rt3883_trendnet_tew-692gr.dts b/target/linux/ramips/dts/rt3883_trendnet_tew-692gr.dts index daf92b90f0..ee2ca91af7 100644 --- a/target/linux/ramips/dts/rt3883_trendnet_tew-692gr.dts +++ b/target/linux/ramips/dts/rt3883_trendnet_tew-692gr.dts @@ -37,19 +37,24 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; - label = "factory"; reg = <0x00040000 0x00010000>; - #address-cells = <1>; - #size-cells = <1>; + label = "factory"; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + compatible = "mac-base"; + reg = <0x4 0x6>; + #nvmem-cell-cells = <1>; + }; }; }; @@ -106,7 +111,7 @@ ðernet { status = "okay"; - nvmem-cells = <&macaddr_factory_4>; + nvmem-cells = <&macaddr_factory_4 0>; nvmem-cell-names = "mac-address"; port@0 { @@ -152,7 +157,6 @@ &wmac { ralink,5ghz = <0>; - nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_4>; + nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_4 3>; nvmem-cell-names = "eeprom", "mac-address"; - mac-address-increment = <3>; }; diff --git a/target/linux/ramips/dts/rt5350_7links_px-4885.dtsi b/target/linux/ramips/dts/rt5350_7links_px-4885.dtsi index e64437cd94..26db035c8e 100644 --- a/target/linux/ramips/dts/rt5350_7links_px-4885.dtsi +++ b/target/linux/ramips/dts/rt5350_7links_px-4885.dtsi @@ -67,19 +67,22 @@ }; devconf: partition@40000 { - compatible = "nvmem-cells"; label = "devconf"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_devconf_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_devconf_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_devconf_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_devconf_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt5350_airlive_air3gii.dts b/target/linux/ramips/dts/rt5350_airlive_air3gii.dts index fd4524f0fc..e46b336595 100644 --- a/target/linux/ramips/dts/rt5350_airlive_air3gii.dts +++ b/target/linux/ramips/dts/rt5350_airlive_air3gii.dts @@ -61,19 +61,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt5350_allnet_all5003.dts b/target/linux/ramips/dts/rt5350_allnet_all5003.dts index 2db37120e9..496f195801 100644 --- a/target/linux/ramips/dts/rt5350_allnet_all5003.dts +++ b/target/linux/ramips/dts/rt5350_allnet_all5003.dts @@ -69,19 +69,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt5350_asiarf_awm002-evb.dtsi b/target/linux/ramips/dts/rt5350_asiarf_awm002-evb.dtsi index 1bd7310d5a..b9905f62f5 100644 --- a/target/linux/ramips/dts/rt5350_asiarf_awm002-evb.dtsi +++ b/target/linux/ramips/dts/rt5350_asiarf_awm002-evb.dtsi @@ -69,19 +69,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt5350_belkin_f7c027.dts b/target/linux/ramips/dts/rt5350_belkin_f7c027.dts index 1a218e4f6c..b1a897a859 100644 --- a/target/linux/ramips/dts/rt5350_belkin_f7c027.dts +++ b/target/linux/ramips/dts/rt5350_belkin_f7c027.dts @@ -88,15 +88,18 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; }; }; diff --git a/target/linux/ramips/dts/rt5350_dlink_dcs-930l-b1.dts b/target/linux/ramips/dts/rt5350_dlink_dcs-930l-b1.dts index 1b1b02bb46..1e561136fa 100644 --- a/target/linux/ramips/dts/rt5350_dlink_dcs-930l-b1.dts +++ b/target/linux/ramips/dts/rt5350_dlink_dcs-930l-b1.dts @@ -72,19 +72,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt5350_dlink_dir-300-b7.dts b/target/linux/ramips/dts/rt5350_dlink_dir-300-b7.dts index ff8cb821cc..13100edf04 100644 --- a/target/linux/ramips/dts/rt5350_dlink_dir-300-b7.dts +++ b/target/linux/ramips/dts/rt5350_dlink_dir-300-b7.dts @@ -72,19 +72,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt5350_dlink_dir-320-b1.dts b/target/linux/ramips/dts/rt5350_dlink_dir-320-b1.dts index 8a1b4fe4b0..577b3a0a3e 100644 --- a/target/linux/ramips/dts/rt5350_dlink_dir-320-b1.dts +++ b/target/linux/ramips/dts/rt5350_dlink_dir-320-b1.dts @@ -94,19 +94,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt5350_dlink_dir-610-a1.dts b/target/linux/ramips/dts/rt5350_dlink_dir-610-a1.dts index bf3d6bb31b..7467900e42 100644 --- a/target/linux/ramips/dts/rt5350_dlink_dir-610-a1.dts +++ b/target/linux/ramips/dts/rt5350_dlink_dir-610-a1.dts @@ -66,19 +66,22 @@ }; devdata: partition@30000 { - compatible = "nvmem-cells"; label = "devdata"; reg = <0x30000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_devdata_4000: eeprom@4000 { - reg = <0x4000 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_devdata_4004: macaddr@4004 { - reg = <0x4004 0x6>; + eeprom_devdata_4000: eeprom@4000 { + reg = <0x4000 0x200>; + }; + + macaddr_devdata_4004: macaddr@4004 { + reg = <0x4004 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt5350_dlink_dwr-512-b.dts b/target/linux/ramips/dts/rt5350_dlink_dwr-512-b.dts index acf03bb732..3475f4ccf7 100644 --- a/target/linux/ramips/dts/rt5350_dlink_dwr-512-b.dts +++ b/target/linux/ramips/dts/rt5350_dlink_dwr-512-b.dts @@ -103,18 +103,21 @@ }; config: partition@7f0000 { - compatible = "nvmem-cells"; label = "config"; reg = <0x7f0000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; - macaddr_config_e07e: macaddr@e07e { - reg = <0xe07e 0x6>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - eeprom_config_e08a: eeprom@e08a { - reg = <0xe08a 0x200>; + macaddr_config_e07e: macaddr@e07e { + reg = <0xe07e 0x6>; + }; + + eeprom_config_e08a: eeprom@e08a { + reg = <0xe08a 0x200>; + }; }; }; }; diff --git a/target/linux/ramips/dts/rt5350_easyacc_wizard-8800.dts b/target/linux/ramips/dts/rt5350_easyacc_wizard-8800.dts index a83f5cf89b..9d7792867a 100644 --- a/target/linux/ramips/dts/rt5350_easyacc_wizard-8800.dts +++ b/target/linux/ramips/dts/rt5350_easyacc_wizard-8800.dts @@ -31,19 +31,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt5350_hame_mpr-a1.dts b/target/linux/ramips/dts/rt5350_hame_mpr-a1.dts index f29c307c82..9a9580a3fb 100644 --- a/target/linux/ramips/dts/rt5350_hame_mpr-a1.dts +++ b/target/linux/ramips/dts/rt5350_hame_mpr-a1.dts @@ -83,19 +83,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt5350_hame_mpr-a2.dts b/target/linux/ramips/dts/rt5350_hame_mpr-a2.dts index 129dc1ceef..5a06ef46fb 100644 --- a/target/linux/ramips/dts/rt5350_hame_mpr-a2.dts +++ b/target/linux/ramips/dts/rt5350_hame_mpr-a2.dts @@ -83,19 +83,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt5350_hilink_hlk-rm04.dts b/target/linux/ramips/dts/rt5350_hilink_hlk-rm04.dts index c4f785d030..3cc425d5af 100644 --- a/target/linux/ramips/dts/rt5350_hilink_hlk-rm04.dts +++ b/target/linux/ramips/dts/rt5350_hilink_hlk-rm04.dts @@ -76,19 +76,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt5350_hootoo_ht-tm02.dts b/target/linux/ramips/dts/rt5350_hootoo_ht-tm02.dts index ce3f20fca9..70acc3fc43 100644 --- a/target/linux/ramips/dts/rt5350_hootoo_ht-tm02.dts +++ b/target/linux/ramips/dts/rt5350_hootoo_ht-tm02.dts @@ -73,19 +73,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt5350_intenso_memory2move.dts b/target/linux/ramips/dts/rt5350_intenso_memory2move.dts index b2368e4dcd..b1a28815f6 100644 --- a/target/linux/ramips/dts/rt5350_intenso_memory2move.dts +++ b/target/linux/ramips/dts/rt5350_intenso_memory2move.dts @@ -76,19 +76,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt5350_nexx_wt1520.dtsi b/target/linux/ramips/dts/rt5350_nexx_wt1520.dtsi index 99ab0a939c..cc55507a95 100644 --- a/target/linux/ramips/dts/rt5350_nexx_wt1520.dtsi +++ b/target/linux/ramips/dts/rt5350_nexx_wt1520.dtsi @@ -44,19 +44,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt5350_nixcore_x1.dtsi b/target/linux/ramips/dts/rt5350_nixcore_x1.dtsi index 198934f5b4..ce7751540b 100644 --- a/target/linux/ramips/dts/rt5350_nixcore_x1.dtsi +++ b/target/linux/ramips/dts/rt5350_nixcore_x1.dtsi @@ -134,19 +134,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt5350_olimex_rt5350f-olinuxino.dtsi b/target/linux/ramips/dts/rt5350_olimex_rt5350f-olinuxino.dtsi index f3c2aedc96..59cbbad231 100644 --- a/target/linux/ramips/dts/rt5350_olimex_rt5350f-olinuxino.dtsi +++ b/target/linux/ramips/dts/rt5350_olimex_rt5350f-olinuxino.dtsi @@ -34,19 +34,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt5350_omnima_miniembplug.dts b/target/linux/ramips/dts/rt5350_omnima_miniembplug.dts index 79eb6c3f4a..ca98ab3599 100644 --- a/target/linux/ramips/dts/rt5350_omnima_miniembplug.dts +++ b/target/linux/ramips/dts/rt5350_omnima_miniembplug.dts @@ -86,19 +86,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt5350_planex_mzk-dp150n.dts b/target/linux/ramips/dts/rt5350_planex_mzk-dp150n.dts index 0ff8cd7e1a..db349de5e1 100644 --- a/target/linux/ramips/dts/rt5350_planex_mzk-dp150n.dts +++ b/target/linux/ramips/dts/rt5350_planex_mzk-dp150n.dts @@ -61,19 +61,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt5350_poray_m3.dts b/target/linux/ramips/dts/rt5350_poray_m3.dts index 24428ee96c..505fba650e 100644 --- a/target/linux/ramips/dts/rt5350_poray_m3.dts +++ b/target/linux/ramips/dts/rt5350_poray_m3.dts @@ -68,19 +68,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt5350_poray_m4.dtsi b/target/linux/ramips/dts/rt5350_poray_m4.dtsi index 9891209e45..fd358ff8ef 100644 --- a/target/linux/ramips/dts/rt5350_poray_m4.dtsi +++ b/target/linux/ramips/dts/rt5350_poray_m4.dtsi @@ -60,19 +60,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt5350_poray_x5.dts b/target/linux/ramips/dts/rt5350_poray_x5.dts index 04387a63ca..d441fd3144 100644 --- a/target/linux/ramips/dts/rt5350_poray_x5.dts +++ b/target/linux/ramips/dts/rt5350_poray_x5.dts @@ -100,19 +100,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt5350_poray_x8.dts b/target/linux/ramips/dts/rt5350_poray_x8.dts index d8fcb67cb8..f02eac27b1 100644 --- a/target/linux/ramips/dts/rt5350_poray_x8.dts +++ b/target/linux/ramips/dts/rt5350_poray_x8.dts @@ -61,19 +61,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt5350_tenda_3g150b.dts b/target/linux/ramips/dts/rt5350_tenda_3g150b.dts index cf9b1338b9..93dc25007e 100644 --- a/target/linux/ramips/dts/rt5350_tenda_3g150b.dts +++ b/target/linux/ramips/dts/rt5350_tenda_3g150b.dts @@ -79,19 +79,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt5350_trendnet_tew-714tru.dts b/target/linux/ramips/dts/rt5350_trendnet_tew-714tru.dts index 6d7d92cbc7..2810b7a701 100644 --- a/target/linux/ramips/dts/rt5350_trendnet_tew-714tru.dts +++ b/target/linux/ramips/dts/rt5350_trendnet_tew-714tru.dts @@ -82,19 +82,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt5350_unbranded_a5-v11.dts b/target/linux/ramips/dts/rt5350_unbranded_a5-v11.dts index 8f71cc5bf1..64fd8c6b15 100644 --- a/target/linux/ramips/dts/rt5350_unbranded_a5-v11.dts +++ b/target/linux/ramips/dts/rt5350_unbranded_a5-v11.dts @@ -84,19 +84,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt5350_vocore_vocore.dtsi b/target/linux/ramips/dts/rt5350_vocore_vocore.dtsi index 788c86f870..f3ef0edfe4 100644 --- a/target/linux/ramips/dts/rt5350_vocore_vocore.dtsi +++ b/target/linux/ramips/dts/rt5350_vocore_vocore.dtsi @@ -182,19 +182,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt5350_wansview_ncs601w.dts b/target/linux/ramips/dts/rt5350_wansview_ncs601w.dts index 9f0cecdb9b..fd3af22eb3 100644 --- a/target/linux/ramips/dts/rt5350_wansview_ncs601w.dts +++ b/target/linux/ramips/dts/rt5350_wansview_ncs601w.dts @@ -31,19 +31,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt5350_wiznet_wizfi630a.dts b/target/linux/ramips/dts/rt5350_wiznet_wizfi630a.dts index 8611c50b14..192c403a87 100644 --- a/target/linux/ramips/dts/rt5350_wiznet_wizfi630a.dts +++ b/target/linux/ramips/dts/rt5350_wiznet_wizfi630a.dts @@ -100,19 +100,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt5350_zorlik_zl5900v2.dts b/target/linux/ramips/dts/rt5350_zorlik_zl5900v2.dts index 69b725356e..00fbb5e927 100644 --- a/target/linux/ramips/dts/rt5350_zorlik_zl5900v2.dts +++ b/target/linux/ramips/dts/rt5350_zorlik_zl5900v2.dts @@ -66,19 +66,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt5350_zyxel_keenetic-4g-b.dts b/target/linux/ramips/dts/rt5350_zyxel_keenetic-4g-b.dts index 1fd52ba79f..9e1e47c099 100644 --- a/target/linux/ramips/dts/rt5350_zyxel_keenetic-4g-b.dts +++ b/target/linux/ramips/dts/rt5350_zyxel_keenetic-4g-b.dts @@ -89,19 +89,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt5350_zyxel_keenetic-lite-b.dts b/target/linux/ramips/dts/rt5350_zyxel_keenetic-lite-b.dts index 2c8b97f8a6..6effb4f075 100644 --- a/target/linux/ramips/dts/rt5350_zyxel_keenetic-lite-b.dts +++ b/target/linux/ramips/dts/rt5350_zyxel_keenetic-lite-b.dts @@ -73,19 +73,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/dts/rt5350_zyxel_keenetic-start.dts b/target/linux/ramips/dts/rt5350_zyxel_keenetic-start.dts index 38e2315edb..8b1e0584b6 100644 --- a/target/linux/ramips/dts/rt5350_zyxel_keenetic-start.dts +++ b/target/linux/ramips/dts/rt5350_zyxel_keenetic-start.dts @@ -75,19 +75,22 @@ }; factory: partition@40000 { - compatible = "nvmem-cells"; label = "factory"; reg = <0x40000 0x10000>; - #address-cells = <1>; - #size-cells = <1>; read-only; - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x200>; - }; + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; - macaddr_factory_28: macaddr@28 { - reg = <0x28 0x6>; + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; }; }; diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index 1800db1f2f..1845aee614 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -616,6 +616,18 @@ define Device/cudy_wr1300-v2 endef TARGET_DEVICES += cudy_wr1300-v2 +define Device/cudy_wr1300-v3 + $(Device/dsa-migration) + IMAGE_SIZE := 15872k + DEVICE_VENDOR := Cudy + DEVICE_MODEL := WR1300 + DEVICE_VARIANT := v3 + DEVICE_PACKAGES := kmod-mt7603 kmod-mt7615e kmod-mt7663-firmware-ap \ + -uboot-envtools + SUPPORTED_DEVICES += cudy,wr1300 R30 +endef +TARGET_DEVICES += cudy_wr1300-v3 + define Device/cudy_wr2100 $(Device/dsa-migration) DEVICE_VENDOR := Cudy @@ -2388,6 +2400,20 @@ define Device/tplink_er605-v2 endef TARGET_DEVICES += tplink_er605-v2 +define Device/tplink_ex220-v1 + $(Device/dsa-migration) + DEVICE_VENDOR := TP-Link + DEVICE_MODEL := EX220 + DEVICE_VARIANT := v1 + DEVICE_PACKAGES := kmod-mt7915-firmware -uboot-envtools + TPLINK_BOARD_ID := EX220-V1 + KERNEL_LOADADDR := 0x82000000 + KERNEL := kernel-bin | relocate-kernel 0x80001000 | lzma | \ + fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb + IMAGE_SIZE := 15744k +endef +TARGET_DEVICES += tplink_ex220-v1 + define Device/tplink_mr600-v2-eu $(Device/dsa-migration) $(Device/tplink-v2) diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds index eff47832fd..01f39d94d1 100644 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds @@ -193,7 +193,8 @@ snr,snr-cpe-me1) tplink,archer-a6-v3|\ tplink,archer-ax23-v1|\ tplink,archer-c6-v3|\ -tplink,archer-c6u-v1) +tplink,archer-c6u-v1|\ +tplink,ex220-v1) ucidef_set_led_netdev "lan" "LAN" "green:lan" "br-lan" ucidef_set_led_netdev "wan" "WAN" "green:wan" "wan" ;; diff --git a/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac b/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac index b6cf9052df..8a977e68ae 100644 --- a/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac +++ b/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac @@ -180,6 +180,10 @@ case "$board" in hw_mac_addr="$(mtd_get_mac_binary product-info 0x8)" macaddr_add "$hw_mac_addr" "$PHYNBR" > "/sys${DEVPATH}/macaddress" ;; + tplink,ex220-v1) + hw_mac_addr="$(mtd_get_mac_binary rom_file 0xf100)" + [ "$PHYNBR" = "1" ] && macaddr_add "$hw_mac_addr" 2 > "/sys${DEVPATH}/macaddress" + ;; yuncore,ax820) [ "$PHYNBR" = "1" ] && \ macaddr_setbit_la "$(mtd_get_mac_binary Factory 0xe000)" > /sys${DEVPATH}/macaddress diff --git a/target/linux/ramips/mt76x8/config-5.15 b/target/linux/ramips/mt76x8/config-5.15 index bd1d3688b8..6d6759a7c5 100644 --- a/target/linux/ramips/mt76x8/config-5.15 +++ b/target/linux/ramips/mt76x8/config-5.15 @@ -162,6 +162,7 @@ CONFIG_REGMAP_MMIO=y CONFIG_REGULATOR=y CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_RESET_CONTROLLER=y +CONFIG_RTC_CLASS=y CONFIG_SERIAL_8250_NR_UARTS=3 CONFIG_SERIAL_8250_RUNTIME_UARTS=3 CONFIG_SERIAL_MCTRL_GPIO=y