diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 2f80a62e7e..1bb0fe9911 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -6,13 +6,13 @@ ifdef CONFIG_TESTING_KERNEL KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER) endif -LINUX_VERSION-4.9 = .205 -LINUX_VERSION-4.14 = .156 -LINUX_VERSION-4.19 = .86 +LINUX_VERSION-4.9 = .206 +LINUX_VERSION-4.14 = .158 +LINUX_VERSION-4.19 = .88 -LINUX_KERNEL_HASH-4.9.205 = 98b9e8644706acc0cf51022372bb263b59a1d2bbe3ccd7ce6bd9bc7378c78b05 -LINUX_KERNEL_HASH-4.14.156 = f8889feb0cbd7df36ff35bd4c72c1e2010567621bfcb218fcfa501bc5c7787c0 -LINUX_KERNEL_HASH-4.19.86 = bf2cbba319d43d1bd9e876ac0b55ab83118d1a1e61cce3c929d5371f7567bff6 +LINUX_KERNEL_HASH-4.9.206 = 1df27899a9bc4dd874f3830ab9e7b638f0026dffd67a2e230444e5d2805ccad6 +LINUX_KERNEL_HASH-4.14.158 = 0d49ec72e273f6fc7462ad56849b2285f13fd5f4185e8f932a0074fc2eca1bb3 +LINUX_KERNEL_HASH-4.19.88 = c1923b6bd166e6dd07be860c15f59e8273aaa8692bc2a1fce1d31b826b9b3fbe remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) diff --git a/package/boot/uboot-sunxi/Makefile b/package/boot/uboot-sunxi/Makefile index 2c414f8c9e..eef4c56f53 100644 --- a/package/boot/uboot-sunxi/Makefile +++ b/package/boot/uboot-sunxi/Makefile @@ -28,67 +28,67 @@ endef define U-Boot/A10-OLinuXino-Lime BUILD_SUBTARGET:=cortexa8 NAME:=A10 OLinuXino LIME - BUILD_DEVICES:=sun4i-a10-olinuxino-lime + BUILD_DEVICES:=olimex_a10-olinuxino-lime endef define U-Boot/A13-OLinuXino BUILD_SUBTARGET:=cortexa8 NAME:=A13 OlinuXino - BUILD_DEVICES:=sun5i-a13-olinuxino + BUILD_DEVICES:=olimex_a13-olinuxino endef define U-Boot/A20-OLinuXino-Lime BUILD_SUBTARGET:=cortexa7 NAME:=A20 OLinuXino LIME - BUILD_DEVICES:=sun7i-a20-olinuxino-lime + BUILD_DEVICES:=olimex_a20-olinuxino-lime endef define U-Boot/A20-OLinuXino-Lime2 BUILD_SUBTARGET:=cortexa7 NAME:=A20 OLinuXino LIME2 - BUILD_DEVICES:=sun7i-a20-olinuxino-lime2 + BUILD_DEVICES:=olimex_a20-olinuxino-lime2 endef define U-Boot/A20-OLinuXino-Lime2-eMMC BUILD_SUBTARGET:=cortexa7 NAME:=A20 OLinuXino LIME2 eMMC - BUILD_DEVICES:=sun7i-a20-olinuxino-lime2-emmc + BUILD_DEVICES:=olimex_a20-olinuxino-lime2-emmc endef define U-Boot/A20-OLinuXino_MICRO BUILD_SUBTARGET:=cortexa7 NAME:=A20 OLinuXino MICRO - BUILD_DEVICES:=sun7i-a20-olinuxino-micro + BUILD_DEVICES:=olimex_a20-olinuxino-micro endef define U-Boot/Bananapi BUILD_SUBTARGET:=cortexa7 NAME:=Bananapi - BUILD_DEVICES:=sun7i-a20-bananapi + BUILD_DEVICES:=lemaker_bananapi endef define U-Boot/Bananapro BUILD_SUBTARGET:=cortexa7 NAME:=Bananapro - BUILD_DEVICES:=sun7i-a20-bananapro + BUILD_DEVICES:=lemaker_bananapro endef define U-Boot/Cubieboard BUILD_SUBTARGET:=cortexa8 NAME:=Cubieboard - BUILD_DEVICES:=sun4i-a10-cubieboard + BUILD_DEVICES:=cubietech_a10-cubieboard endef define U-Boot/Cubieboard2 BUILD_SUBTARGET:=cortexa7 NAME:=Cubieboard2 - BUILD_DEVICES:=sun7i-a20-cubieboard2 + BUILD_DEVICES:=cubietech_cubieboard2 endef define U-Boot/Cubietruck BUILD_SUBTARGET:=cortexa7 NAME:=Cubietruck - BUILD_DEVICES:=sun7i-a20-cubietruck + BUILD_DEVICES:=cubietech_cubietruck endef define U-Boot/Hummingbird_A31 @@ -99,91 +99,97 @@ endef define U-Boot/Marsboard_A10 BUILD_SUBTARGET:=cortexa8 NAME:=Marsboard - BUILD_DEVICES:=sun4i-a10-marsboard + BUILD_DEVICES:=marsboard_a10-marsboard endef define U-Boot/Mele_M9 BUILD_SUBTARGET:=cortexa7 NAME:=Mele M9 (A31) - BUILD_DEVICES:=sun6i-a31-m9 + BUILD_DEVICES:=mele_m9 endef define U-Boot/OLIMEX_A13_SOM BUILD_SUBTARGET:=cortexa8 NAME:=Olimex A13 SOM - BUILD_DEVICES:=sun5i-a13-olimex-som + BUILD_DEVICES:=olimex_a13-olimex-som endef define U-Boot/Linksprite_pcDuino BUILD_SUBTARGET:=cortexa8 NAME:=Linksprite pcDuino - BUILD_DEVICES:=sun4i-a10-pcduino + BUILD_DEVICES:=linksprite_a10-pcduino endef define U-Boot/Linksprite_pcDuino3 BUILD_SUBTARGET:=cortexa7 NAME:=Linksprite pcDuino3 - BUILD_DEVICES:=sun7i-a20-pcduino3 + BUILD_DEVICES:=linksprite_pcduino3 endef define U-Boot/Lamobo_R1 BUILD_SUBTARGET:=cortexa7 NAME:=Lamobo R1 - BUILD_DEVICES:=sun7i-a20-lamobo-r1 + BUILD_DEVICES:=lamobo_lamobo-r1 endef define U-Boot/nanopi_m1_plus BUILD_SUBTARGET:=cortexa7 NAME:=NanoPi M1 Plus (H3) - BUILD_DEVICES:=sun8i-h3-nanopi-m1-plus + BUILD_DEVICES:=friendlyarm_nanopi-m1-plus +endef + +define U-Boot/nanopi_neo_air + BUILD_SUBTARGET:=cortexa7 + NAME:=U-Boot for NanoPi NEO Air (H3) + BUILD_DEVICES:=friendlyarm_nanopi-neo-air endef define U-Boot/nanopi_neo BUILD_SUBTARGET:=cortexa7 NAME:=U-Boot for NanoPi NEO (H3) - BUILD_DEVICES:=sun8i-h3-nanopi-neo + BUILD_DEVICES:=friendlyarm_nanopi-neo endef define U-Boot/orangepi_r1 BUILD_SUBTARGET:=cortexa7 NAME:=Orange Pi R1 (H2+) - BUILD_DEVICES:=sun8i-h2-plus-orangepi-r1 + BUILD_DEVICES:=xunlong_orangepi-r1 endef define U-Boot/orangepi_zero BUILD_SUBTARGET:=cortexa7 NAME:=Orange Pi Zero (H2+) - BUILD_DEVICES:=sun8i-h2-plus-orangepi-zero + BUILD_DEVICES:=xunlong_orangepi-zero endef define U-Boot/orangepi_one BUILD_SUBTARGET:=cortexa7 NAME:=Orange Pi One (H3) - BUILD_DEVICES:=sun8i-h3-orangepi-one + BUILD_DEVICES:=xunlong_orangepi-one endef define U-Boot/orangepi_pc BUILD_SUBTARGET:=cortexa7 NAME:=Orange Pi PC (H3) - BUILD_DEVICES:=sun8i-h3-orangepi-pc + BUILD_DEVICES:=xunlong_orangepi-pc endef define U-Boot/orangepi_pc_plus BUILD_SUBTARGET:=cortexa7 NAME:=Orange Pi PC Plus (H3) - BUILD_DEVICES:=sun8i-h3-orangepi-pc-plus + BUILD_DEVICES:=xunlong_orangepi-pc-plus endef define U-Boot/orangepi_plus BUILD_SUBTARGET:=cortexa7 NAME:=Orange Pi Plus (H3) - BUILD_DEVICES:=sun8i-h3-orangepi-plus + BUILD_DEVICES:=xunlong_orangepi-plus endef define U-Boot/orangepi_2 BUILD_SUBTARGET:=cortexa7 NAME:=Orange Pi 2 (H3) - BUILD_DEVICES:=sun8i-h3-orangepi-2 + BUILD_DEVICES:=xunlong_orangepi-2 endef define U-Boot/pangolin @@ -195,7 +201,7 @@ endef define U-Boot/nanopi_neo_plus2 BUILD_SUBTARGET:=cortexa53 NAME:=NanoPi NEO Plus2 (H5) - BUILD_DEVICES:=sun50i-h5-nanopi-neo-plus2 + BUILD_DEVICES:=friendlyarm_nanopi-neo-plus2 DEPENDS:=+PACKAGE_u-boot-nanopi_neo_plus2:arm-trusted-firmware-sunxi UENV:=a64 endef @@ -203,7 +209,7 @@ endef define U-Boot/nanopi_neo2 BUILD_SUBTARGET:=cortexa53 NAME:=NanoPi NEO2 (H5) - BUILD_DEVICES:=sun50i-h5-nanopi-neo2 + BUILD_DEVICES:=friendlyarm_nanopi-neo2 DEPENDS:=+PACKAGE_u-boot-nanopi_neo2:arm-trusted-firmware-sunxi UENV:=a64 endef @@ -211,7 +217,7 @@ endef define U-Boot/pine64_plus BUILD_SUBTARGET:=cortexa53 NAME:=Pine64 Plus A64 - BUILD_DEVICES:=sun50i-a64-pine64-plus + BUILD_DEVICES:=pine64_pine64-plus DEPENDS:=+PACKAGE_u-boot-pine64_plus:arm-trusted-firmware-sunxi UENV:=a64 endef @@ -219,13 +225,13 @@ endef define U-Boot/Sinovoip_BPI_M2_Plus BUILD_SUBTARGET:=cortexa7 NAME:=Bananapi M2 Plus - BUILD_DEVICES:=sun8i-h3-bananapi-m2-plus + BUILD_DEVICES:=sinovoip_bananapi-m2-plus endef define U-Boot/sopine_baseboard BUILD_SUBTARGET:=cortexa53 NAME:=Sopine Baseboard - BUILD_DEVICES:=sun50i-a64-sopine-baseboard + BUILD_DEVICES:=pine64_sopine-baseboard DEPENDS:=+PACKAGE_u-boot-sopine_baseboard:arm-trusted-firmware-sunxi UENV:=a64 endef @@ -234,7 +240,7 @@ endef define U-Boot/orangepi_zero_plus BUILD_SUBTARGET:=cortexa53 NAME:=Xunlong Orange Pi Zero Plus - BUILD_DEVICES:=sun50i-h5-orangepi-zero-plus + BUILD_DEVICES:=xunlong_orangepi-zero-plus DEPENDS:=+PACKAGE_u-boot-orangepi_zero_plus:arm-trusted-firmware-sunxi UENV:=a64 endef @@ -242,7 +248,7 @@ endef define U-Boot/orangepi_pc2 BUILD_SUBTARGET:=cortexa53 NAME:=Xunlong Orange Pi PC2 - BUILD_DEVICES:=sun50i-h5-orangepi-pc2 + BUILD_DEVICES:=xunlong_orangepi-pc2 DEPENDS:=+PACKAGE_u-boot-orangepi_pc2:arm-trusted-firmware-sunxi UENV:=a64 endef @@ -250,7 +256,7 @@ endef define U-Boot/Sinovoip_BPI_M2_Ultra BUILD_SUBTARGET:=cortexa7 NAME:=Bananapi M2 Ultra - BUILD_DEVICES:=sun8i-r40-bananapi-m2-ultra + BUILD_DEVICES:=lemaker_bananapi-m2-ultra endef UBOOT_TARGETS := \ @@ -274,6 +280,7 @@ UBOOT_TARGETS := \ Lamobo_R1 \ nanopi_m1_plus \ nanopi_neo \ + nanopi_neo_air \ nanopi_neo_plus2 \ nanopi_neo2 \ orangepi_zero \ diff --git a/package/firmware/ath10k-firmware/Makefile b/package/firmware/ath10k-firmware/Makefile index b9fc08ab9f..a57fcb59ba 100644 --- a/package/firmware/ath10k-firmware/Makefile +++ b/package/firmware/ath10k-firmware/Makefile @@ -64,92 +64,92 @@ define Download/ct-firmware-htt URL_FILE:=$($(1)_FIRMWARE_FILE_CT_HTT) endef -QCA988X_FIRMWARE_FILE_CT:=firmware-2-ct-full-community-22.bin.lede.012 +QCA988X_FIRMWARE_FILE_CT:=firmware-2-ct-full-community-22.bin.lede.013 define Download/ath10k-firmware-qca988x-ct $(call Download/ct-firmware,QCA988X,) - HASH:=3b2c584f7070c3e286ce27a370cc181d70b45f9cdaa462fb4f44c6c20d2ee8c1 + HASH:=19db86003509dedb8ace339c183813ca637d65af24d00666411d1590efe33e13 endef $(eval $(call Download,ath10k-firmware-qca988x-ct)) -QCA988X_FIRMWARE_FILE_CT_HTT:=firmware-2-ct-full-htt-mgt-community-22.bin.lede.012 +QCA988X_FIRMWARE_FILE_CT_HTT:=firmware-2-ct-full-htt-mgt-community-22.bin.lede.013 define Download/ath10k-firmware-qca988x-ct-htt $(call Download/ct-firmware-htt,QCA988X,) - HASH:=a7042b2c90de82b21e87f243411b6fb12142bb4fb28266ea92cdf3101557b6de + HASH:=454e67dab545e720369a07be2fee16de008c76db4ab3119e7760bf9f7504c066 endef $(eval $(call Download,ath10k-firmware-qca988x-ct-htt)) -QCA9887_FIRMWARE_FILE_CT:=firmware-2-ct-full-community-22.bin.lede.012 +QCA9887_FIRMWARE_FILE_CT:=firmware-2-ct-full-community-22.bin.lede.013 define Download/ath10k-firmware-qca9887-ct $(call Download/ct-firmware,QCA9887,ath10k-9887) - HASH:=c3f891b2cd4e225e1c635a328af3dce94481b096432020e445f71144dda749d5 + HASH:=b3c738328427e124701a5735d65cde0f60e4172ae5bc23b00e5b16df7995dbd4 endef $(eval $(call Download,ath10k-firmware-qca9887-ct)) -QCA9887_FIRMWARE_FILE_CT_HTT:=firmware-2-ct-full-htt-mgt-community-22.bin.lede.012 +QCA9887_FIRMWARE_FILE_CT_HTT:=firmware-2-ct-full-htt-mgt-community-22.bin.lede.013 define Download/ath10k-firmware-qca9887-ct-htt $(call Download/ct-firmware-htt,QCA9887,ath10k-9887) - HASH:=f5e9825279d590a2362f44aef4ced345376cccd65d9b826c131d4dbcef4e689c + HASH:=4432ccee23133bbaa4a5552e50a1e7e889b257362603e05530e751b67c29b7b5 endef $(eval $(call Download,ath10k-firmware-qca9887-ct-htt)) -QCA99X0_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-12.bin-lede.012 +QCA99X0_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-12.bin-lede.013 define Download/ath10k-firmware-qca99x0-ct $(call Download/ct-firmware,QCA99X0,ath10k-10-4b) - HASH:=4b90fa91dcab68350fe695b3c918cb9a4fb09c2b419519b8b84b71da4cfde5e8 + HASH:=6fa74a3fc87cba97dbc4a7213b760f8d997cd9c5f11900d47d387b23764cf20a endef $(eval $(call Download,ath10k-firmware-qca99x0-ct)) -QCA99X0_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-full-htt-mgt-community-12.bin-lede.012 +QCA99X0_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-full-htt-mgt-community-12.bin-lede.013 define Download/ath10k-firmware-qca99x0-ct-htt $(call Download/ct-firmware-htt,QCA99X0,ath10k-10-4b) - HASH:=6dd40233fe99d99c69781d6514cf9ba7862b3f66c647f7921ca8be6100799986 + HASH:=68e92820c51270eba4f68b24654c4a9408902b2600762b70204f4cb5419bb714 endef $(eval $(call Download,ath10k-firmware-qca99x0-ct-htt)) -QCA9984_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-12.bin-lede.012 +QCA9984_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-12.bin-lede.013 define Download/ath10k-firmware-qca9984-ct $(call Download/ct-firmware,QCA9984,ath10k-9984-10-4b) - HASH:=2551f5c0bfa6c1b1222bd9452e14f60b8e29c8c0fe85de8af95393f31d544ea3 + HASH:=08aeb883bd2d9258e8f1907cca8a0d2eda1c559a66e228dadffd6798f6877c7d endef $(eval $(call Download,ath10k-firmware-qca9984-ct)) -QCA9984_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-full-htt-mgt-community-12.bin-lede.012 +QCA9984_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-full-htt-mgt-community-12.bin-lede.013 define Download/ath10k-firmware-qca9984-ct-htt $(call Download/ct-firmware-htt,QCA9984,ath10k-9984-10-4b) - HASH:=90f947257e1f42496b22cbdd29be99fbc8ea8700045b4ed2380acc980b4c247b + HASH:=38ed59a2b3c66c10926706a21ae2d3aeaf83e589f19345a8f48d6520522e4fde endef $(eval $(call Download,ath10k-firmware-qca9984-ct-htt)) -QCA4019_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-12.bin-lede.012 +QCA4019_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-12.bin-lede.013 define Download/ath10k-firmware-qca4019-ct $(call Download/ct-firmware,QCA4019,ath10k-4019-10-4b) - HASH:=cd85fc9df8b3652f7b12c2ab745b2a9691dca5ca38f8d65a02003e938ad8b570 + HASH:=feca75fe89af9a3e998047f85ff3428676f4d574b770d51773bb419d0dd98e5a endef $(eval $(call Download,ath10k-firmware-qca4019-ct)) -QCA4019_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-full-htt-mgt-community-12.bin-lede.012 +QCA4019_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-full-htt-mgt-community-12.bin-lede.013 define Download/ath10k-firmware-qca4019-ct-htt $(call Download/ct-firmware-htt,QCA4019,ath10k-4019-10-4b) - HASH:=67a923cda6ec3936ef23ec6c30c80dfc9bfd2cee73a142d2e308e8f035b8ed3a + HASH:=6a4977689343f43edd934823512f031fd1a026e872004343b9952077f9607cb0 endef $(eval $(call Download,ath10k-firmware-qca4019-ct-htt)) -QCA9888_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-12.bin-lede.012 +QCA9888_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-12.bin-lede.013 define Download/ath10k-firmware-qca9888-ct $(call Download/ct-firmware,QCA9888,ath10k-9888-10-4b) - HASH:=4bdb71b50c68f1a07c88d21f84a6c054fe1b8cb5bacd089a6b9f0a56448535d3 + HASH:=d6a59c17bfbec1abc8498762d9f00b2449cab352feb8bef8b621771168376dbf endef $(eval $(call Download,ath10k-firmware-qca9888-ct)) -QCA9888_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-full-htt-mgt-community-12.bin-lede.012 +QCA9888_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-full-htt-mgt-community-12.bin-lede.013 define Download/ath10k-firmware-qca9888-ct-htt $(call Download/ct-firmware-htt,QCA9888,ath10k-9888-10-4b) - HASH:=e1f0242a91af58ec5628bb4f7c015f6c8dba55f92e2813f8f0b97c86ec496d2d + HASH:=fe242c0d56494975d7a1aeb6969d90cc21cb133fba99040d4da7a25fdb90d92c endef $(eval $(call Download,ath10k-firmware-qca9888-ct-htt)) diff --git a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh index 91d50c3537..18033e9d56 100644 --- a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh +++ b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh @@ -19,6 +19,8 @@ NEWAPLIST= OLDAPLIST= NEWSPLIST= OLDSPLIST= +NEWUMLIST= +OLDUMLIST= drv_mac80211_init_device_config() { hostapd_common_add_device_config @@ -666,6 +668,8 @@ mac80211_setup_adhoc() { local enable=$1 json_get_vars bssid ssid key mcast_rate + NEWUMLIST="${NEWUMLIST}$ifname " + [ "$enable" = 0 ] && { ip link set dev "$ifname" down return 0 @@ -712,6 +716,8 @@ mac80211_setup_mesh() { local enable=$1 json_get_vars ssid mesh_id mcast_rate + NEWUMLIST="${NEWUMLIST}$ifname " + [ "$enable" = 0 ] && { ip link set dev "$ifname" down return 0 @@ -800,7 +806,7 @@ mac80211_vap_cleanup() { local vaps="$2" for wdev in $vaps; do - ubus call ${service}.${phy} config_remove "{\"iface\":\"$wdev\"}" + [ "$service" != "none" ] && ubus call ${service}.${phy} config_remove "{\"iface\":\"$wdev\"}" ip link set dev "$wdev" down 2>/dev/null iw dev "$wdev" del done @@ -813,6 +819,7 @@ mac80211_interface_cleanup() { mac80211_vap_cleanup hostapd "${primary_ap}" mac80211_vap_cleanup wpa_supplicant "$(uci -q -P /var/state get wireless._${phy}.splist)" + mac80211_vap_cleanup none "$(uci -q -P /var/state get wireless._${phy}.umlist)" } mac80211_set_noscan() { @@ -845,6 +852,28 @@ drv_mac80211_setup() { wireless_set_data phy="$phy" } + OLDAPLIST=$(uci -q -P /var/state get wireless._${phy}.aplist) + OLDSPLIST=$(uci -q -P /var/state get wireless._${phy}.splist) + OLDUMLIST=$(uci -q -P /var/state get wireless._${phy}.umlist) + + local wdev + local cwdev + local found + + for wdev in $(list_phy_interfaces "$phy"); do + found=0 + for cwdev in $OLDAPLIST $OLDSPLIST $OLDUMLIST; do + if [ "$wdev" = "$cwdev" ]; then + found=1 + break + fi + done + if [ "$found" = "0" ]; then + ip link set dev "$wdev" down + iw dev "$wdev" del + fi + done + # convert channel to frequency [ "$auto_channel" -gt 0 ] || freq="$(get_freq "$phy" "$channel")" @@ -896,8 +925,7 @@ drv_mac80211_setup() { for_each_interface "sta adhoc mesh monitor" mac80211_prepare_vif NEWAPLIST= for_each_interface "ap" mac80211_prepare_vif - OLDAPLIST=$(uci -q -P /var/state get wireless._${phy}.aplist) - NEW_MD5=$(md5sum ${hostapd_conf_file}) + NEW_MD5=$(test -e "${hostapd_conf_file}" && md5sum ${hostapd_conf_file}) OLD_MD5=$(uci -q -P /var/state get wireless._${phy}.md5) if [ "${NEWAPLIST}" != "${OLDAPLIST}" ]; then mac80211_vap_cleanup hostapd "${OLDAPLIST}" @@ -912,7 +940,10 @@ drv_mac80211_setup() { } else add_ap=1 + ubus wait_for hostapd.$phy ubus call hostapd.${phy} config_add "{\"iface\":\"$primary_ap\", \"config\":\"${hostapd_conf_file}\"}" + local hostapd_pid=$(ubus call service list '{"name": "hostapd"}' | jsonfilter -l 1 -e "@['hostapd'].instances['hostapd-${phy}'].pid") + wireless_add_process "$hostapd_pid" "/usr/sbin/hostapd" 1 fi ret="$?" [ "$ret" != 0 ] && { @@ -927,10 +958,12 @@ drv_mac80211_setup() { for_each_interface "ap" mac80211_setup_vif NEWSPLIST= - OLDSPLIST=$(uci -q -P /var/state get wireless._${phy}.splist) + NEWUMLIST= + for_each_interface "sta adhoc mesh monitor" mac80211_setup_vif uci -q -P /var/state set wireless._${phy}.splist="${NEWSPLIST}" + uci -q -P /var/state set wireless._${phy}.umlist="${NEWUMLIST}" local foundvap local dropvap="" @@ -945,6 +978,15 @@ drv_mac80211_setup() { wireless_set_up } +list_phy_interfaces() { + local phy="$1" + if [ -d "/sys/class/ieee80211/${phy}/device/net" ]; then + ls "/sys/class/ieee80211/${phy}/device/net" 2>/dev/null; + else + ls "/sys/class/ieee80211/${phy}/device" 2>/dev/null | grep net: | sed -e 's,net:,,g' + fi +} + drv_mac80211_teardown() { wireless_process_kill_all diff --git a/package/network/services/hostapd/files/hostapd-basic.config b/package/network/services/hostapd/files/hostapd-basic.config index 461b178433..19ea850f6b 100644 --- a/package/network/services/hostapd/files/hostapd-basic.config +++ b/package/network/services/hostapd/files/hostapd-basic.config @@ -394,3 +394,8 @@ CONFIG_TLS=internal # Services can connect to the bus and provide methods # that can be called by other services or clients. CONFIG_UBUS=y + +# OpenWrt patch 380-disable-ctrl-iface-mib.patch +# leads to the MIB only being compiled in if +# CONFIG_CTRL_IFACE_MIB is enabled. +#CONFIG_CTRL_IFACE_MIB=y diff --git a/package/network/services/hostapd/files/hostapd-full.config b/package/network/services/hostapd/files/hostapd-full.config index 5c9fbed2e4..0ecce423e7 100644 --- a/package/network/services/hostapd/files/hostapd-full.config +++ b/package/network/services/hostapd/files/hostapd-full.config @@ -394,3 +394,8 @@ CONFIG_TAXONOMY=y # Services can connect to the bus and provide methods # that can be called by other services or clients. CONFIG_UBUS=y + +# OpenWrt patch 380-disable-ctrl-iface-mib.patch +# leads to the MIB only being compiled in if +# CONFIG_CTRL_IFACE_MIB is enabled. +CONFIG_CTRL_IFACE_MIB=y diff --git a/package/network/services/hostapd/files/hostapd-mini.config b/package/network/services/hostapd/files/hostapd-mini.config index f31e6467b0..d9511441e6 100644 --- a/package/network/services/hostapd/files/hostapd-mini.config +++ b/package/network/services/hostapd/files/hostapd-mini.config @@ -394,3 +394,8 @@ CONFIG_TLS=internal # Services can connect to the bus and provide methods # that can be called by other services or clients. CONFIG_UBUS=y + +# OpenWrt patch 380-disable-ctrl-iface-mib.patch +# leads to the MIB only being compiled in if +# CONFIG_CTRL_IFACE_MIB is enabled. +#CONFIG_CTRL_IFACE_MIB=y diff --git a/package/network/services/hostapd/files/hostapd.hotplug b/package/network/services/hostapd/files/hostapd.hotplug index d568b3c85a..c319d42c1a 100644 --- a/package/network/services/hostapd/files/hostapd.hotplug +++ b/package/network/services/hostapd/files/hostapd.hotplug @@ -1,14 +1,46 @@ #!/bin/sh -[ ${ACTION} = "remove" -a -n "${DEVICENAME}" ] && { - kill $(cat /var/run/hostapd-${DEVICENAME}.pid) - rm -rf /var/run/hostapd-${DEVICENAME}.pid /var/run/hostapd-${DEVICENAME}/ - kill $(cat /var/run/wpa_supplicant-${DEVICENAME}.pid) - rm -rf /var/run/wpa_supplicant-${DEVICENAME}.pid /var/run/wpa_supplicant-${DEVICENAME}/ +initscript="$0" + +. /lib/functions.sh +. /lib/functions/procd.sh + +cd /sys/class/ieee80211 + +procd_lock() { + return 0 } -[ ${ACTION} = "add" -a -n "${DEVICENAME}" ] && { - /usr/sbin/hostapd -s -n ${DEVICENAME} -P /var/run/hostapd-${DEVICENAME}.pid -g /var/run/hostapd-${DEVICENAME}/global -B & - mkdir -p /var/run/wpa_supplicant-${DEVICENAME} - /usr/sbin/wpa_supplicant -s -n ${DEVICENAME} -P /var/run/wpa_supplicant-${DEVICENAME}.pid -g /var/run/wpa_supplicant-${DEVICENAME}/global -B & +service_triggers() { + return 0 } + +service_data() { + return 0 +} + +procd_open_service hostapd + +for phy in phy*; do + [ -d "$phy" ] || continue + + mkdir -p /var/run/wpa_supplicant-$phy /var/run/hostapd-$phy + + if [ -x "/usr/sbin/hostapd" ]; then + procd_open_instance hostapd-$phy + procd_set_param command /usr/sbin/hostapd -s -n $phy -g /var/run/hostapd-${phy}/global + procd_set_param CREATE_TIME="$(date -r $phy)" # force restart on recreated phy + procd_set_param respawn + procd_close_instance + fi + + if [ -x "/usr/sbin/wpa_supplicant" ]; then + procd_open_instance supplicant-$phy + procd_set_param command /usr/sbin/wpa_supplicant -s -n $phy -g /var/run/wpa_supplicant-${phy}/global + procd_set_param CREATE_TIME="$(date -r $phy)" # force restart on recreated phy + procd_set_param respawn + procd_close_instance + fi +done + +procd_close_service set diff --git a/package/network/services/hostapd/files/hostapd.sh b/package/network/services/hostapd/files/hostapd.sh index f03b98ff85..4bf6a6c971 100644 --- a/package/network/services/hostapd/files/hostapd.sh +++ b/package/network/services/hostapd/files/hostapd.sh @@ -958,6 +958,7 @@ wpa_supplicant_run() { _wpa_supplicant_common "$ifname" + ubus wait_for wpa_supplicant.$phy ubus call wpa_supplicant.$phy config_add "{ \ \"driver\": \"${_w_driver:-wext}\", \"ctrl\": \"$_rpath\", \ \"iface\": \"$ifname\", \"config\": \"$_config\" \ @@ -969,6 +970,9 @@ wpa_supplicant_run() { [ "$ret" != 0 ] && wireless_setup_vif_failed WPA_SUPPLICANT_FAILED + local supplicant_pid=$(ubus call service list '{"name": "hostapd"}' | jsonfilter -l 1 -e "@['hostapd'].instances['supplicant-${phy}'].pid") + wireless_add_process "$supplicant_pid" "/usr/sbin/wpa_supplicant" 1 + return $ret } diff --git a/package/network/services/hostapd/files/wpa_supplicant-basic.config b/package/network/services/hostapd/files/wpa_supplicant-basic.config index e2bd1866c4..a9da65deed 100644 --- a/package/network/services/hostapd/files/wpa_supplicant-basic.config +++ b/package/network/services/hostapd/files/wpa_supplicant-basic.config @@ -618,3 +618,8 @@ CONFIG_GETRANDOM=y # Services can connect to the bus and provide methods # that can be called by other services or clients. CONFIG_UBUS=y + +# OpenWrt patch 380-disable-ctrl-iface-mib.patch +# leads to the MIB only being compiled in if +# CONFIG_CTRL_IFACE_MIB is enabled. +#CONFIG_CTRL_IFACE_MIB=y diff --git a/package/network/services/hostapd/files/wpa_supplicant-full.config b/package/network/services/hostapd/files/wpa_supplicant-full.config index e5a6752a8e..982f4d5534 100644 --- a/package/network/services/hostapd/files/wpa_supplicant-full.config +++ b/package/network/services/hostapd/files/wpa_supplicant-full.config @@ -618,3 +618,8 @@ CONFIG_IBSS_RSN=y # Services can connect to the bus and provide methods # that can be called by other services or clients. CONFIG_UBUS=y + +# OpenWrt patch 380-disable-ctrl-iface-mib.patch +# leads to the MIB only being compiled in if +# CONFIG_CTRL_IFACE_MIB is enabled. +CONFIG_CTRL_IFACE_MIB=y diff --git a/package/network/services/hostapd/files/wpa_supplicant-mini.config b/package/network/services/hostapd/files/wpa_supplicant-mini.config index 6af4693c53..850d22febc 100644 --- a/package/network/services/hostapd/files/wpa_supplicant-mini.config +++ b/package/network/services/hostapd/files/wpa_supplicant-mini.config @@ -618,3 +618,8 @@ CONFIG_GETRANDOM=y # Services can connect to the bus and provide methods # that can be called by other services or clients. CONFIG_UBUS=y + +# OpenWrt patch 380-disable-ctrl-iface-mib.patch +# leads to the MIB only being compiled in if +# CONFIG_CTRL_IFACE_MIB is enabled. +#CONFIG_CTRL_IFACE_MIB=y diff --git a/package/network/services/hostapd/files/wpa_supplicant-p2p.config b/package/network/services/hostapd/files/wpa_supplicant-p2p.config index b0ca395a5e..5156048284 100644 --- a/package/network/services/hostapd/files/wpa_supplicant-p2p.config +++ b/package/network/services/hostapd/files/wpa_supplicant-p2p.config @@ -618,3 +618,8 @@ CONFIG_IBSS_RSN=y # Services can connect to the bus and provide methods # that can be called by other services or clients. CONFIG_UBUS=y + +# OpenWrt patch 380-disable-ctrl-iface-mib.patch +# leads to the MIB only being compiled in if +# CONFIG_CTRL_IFACE_MIB is enabled. +#CONFIG_CTRL_IFACE_MIB=y diff --git a/package/network/services/hostapd/patches/700-wifi-reload.patch b/package/network/services/hostapd/patches/700-wifi-reload.patch index c5ba631a0f..b21ae85451 100644 --- a/package/network/services/hostapd/patches/700-wifi-reload.patch +++ b/package/network/services/hostapd/patches/700-wifi-reload.patch @@ -87,7 +87,7 @@ hapd->iconf = conf; hapd->conf = bss; hapd->iface = hapd_iface; -+ if (bss->config_id) ++ if (bss && bss->config_id) + hapd->config_id = strdup(bss->config_id); + else + hapd->config_id = NULL; diff --git a/target/linux/ar71xx/patches-4.14/910-unaligned_access_hacks.patch b/target/linux/ar71xx/patches-4.14/910-unaligned_access_hacks.patch index fbad39a5cc..9d1e4e524e 100644 --- a/target/linux/ar71xx/patches-4.14/910-unaligned_access_hacks.patch +++ b/target/linux/ar71xx/patches-4.14/910-unaligned_access_hacks.patch @@ -223,7 +223,7 @@ #include #include #include -@@ -819,10 +820,10 @@ static void tcp_v6_send_response(const s +@@ -820,10 +821,10 @@ static void tcp_v6_send_response(const s topt = (__be32 *)(t1 + 1); if (tsecr) { diff --git a/target/linux/at91/config-4.14 b/target/linux/at91/config-4.14 index ca526b9d74..b1b49054ab 100644 --- a/target/linux/at91/config-4.14 +++ b/target/linux/at91/config-4.14 @@ -315,8 +315,6 @@ CONFIG_LEDS_TRIGGER_CPU=y # CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set CONFIG_LEDS_TRIGGER_GPIO=y CONFIG_LEDS_TRIGGER_HEARTBEAT=y -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=4 CONFIG_LIBFDT=y CONFIG_LOCALVERSION_AUTO=y CONFIG_LOG_BUF_SHIFT=16 @@ -556,10 +554,6 @@ CONFIG_VIDEOMODE_HELPERS=y CONFIG_VIDEO_DEV=y CONFIG_VIDEO_V4L2=y CONFIG_VM_EVENT_COUNTERS=y -CONFIG_VT=y -CONFIG_VT_CONSOLE=y -CONFIG_VT_CONSOLE_SLEEP=y -# CONFIG_VT_HW_CONSOLE_BINDING is not set CONFIG_WATCHDOG_CORE=y # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set CONFIG_ZBOOT_ROM_BSS=0x0 diff --git a/target/linux/ath79/dts/ar7161_adtran_bsap1880.dtsi b/target/linux/ath79/dts/ar7161_adtran_bsap1880.dtsi index f5dfa77912..b60718dd7f 100644 --- a/target/linux/ath79/dts/ar7161_adtran_bsap1880.dtsi +++ b/target/linux/ath79/dts/ar7161_adtran_bsap1880.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/ar7161_buffalo_wzr-hp-ag300h.dts b/target/linux/ath79/dts/ar7161_buffalo_wzr-hp-ag300h.dts index 2e00de8887..e87f422051 100644 --- a/target/linux/ath79/dts/ar7161_buffalo_wzr-hp-ag300h.dts +++ b/target/linux/ath79/dts/ar7161_buffalo_wzr-hp-ag300h.dts @@ -47,7 +47,7 @@ usb { label = "buffalo:green:usb"; gpios = <&ath9k0 3 GPIO_ACTIVE_LOW>; - trigger-sources = <&usb_ochi_port>, <&usb_echi_port>; + trigger-sources = <&usb_ohci_port>, <&usb_ehci_port>; linux,default-trigger = "usbport"; }; @@ -180,7 +180,7 @@ #size-cells = <0>; status = "okay"; - usb_ochi_port: port@1 { + usb_ohci_port: port@1 { reg = <1>; #trigger-source-cells = <0>; }; @@ -191,7 +191,7 @@ #size-cells = <0>; status = "okay"; - usb_echi_port: port@1 { + usb_ehci_port: port@1 { reg = <1>; #trigger-source-cells = <0>; }; diff --git a/target/linux/ath79/dts/ar7161_dlink_dir-825-b1.dts b/target/linux/ath79/dts/ar7161_dlink_dir-825-b1.dts index 92de193aba..5e35dddd4b 100644 --- a/target/linux/ath79/dts/ar7161_dlink_dir-825-b1.dts +++ b/target/linux/ath79/dts/ar7161_dlink_dir-825-b1.dts @@ -34,7 +34,7 @@ usb { label = "d-link:blue:usb"; gpios = <&gpio 0 GPIO_ACTIVE_LOW>; - trigger-sources = <&usb_ochi_port>, <&usb_echi_port>; + trigger-sources = <&usb_ohci_port>, <&usb_ehci_port>; linux,default-trigger = "usbport"; }; @@ -123,7 +123,7 @@ #size-cells = <0>; status = "okay"; - usb_ochi_port: port@1 { + usb_ohci_port: port@1 { reg = <1>; #trigger-source-cells = <0>; }; @@ -134,7 +134,7 @@ #size-cells = <0>; status = "okay"; - usb_echi_port: port@1 { + usb_ehci_port: port@1 { reg = <1>; #trigger-source-cells = <0>; }; diff --git a/target/linux/ath79/dts/ar7161_netgear_wndr3700.dtsi b/target/linux/ath79/dts/ar7161_netgear_wndr3700.dtsi index 08b3c77b39..ab4f37da11 100644 --- a/target/linux/ath79/dts/ar7161_netgear_wndr3700.dtsi +++ b/target/linux/ath79/dts/ar7161_netgear_wndr3700.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include @@ -32,7 +31,7 @@ usb_led { label = "netgear:green:usb"; resets = <&rst 12>; - trigger-sources = <&usb_ochi_port>, <&usb_echi_port>; + trigger-sources = <&usb_ohci_port>, <&usb_ehci_port>; linux,default-trigger = "usbport"; }; }; @@ -134,7 +133,7 @@ #size-cells = <0>; status = "okay"; - usb_ochi_port: port@1 { + usb_ohci_port: port@1 { reg = <1>; #trigger-source-cells = <0>; }; @@ -145,7 +144,7 @@ #size-cells = <0>; status = "okay"; - usb_echi_port: port@1 { + usb_ehci_port: port@1 { reg = <1>; #trigger-source-cells = <0>; }; diff --git a/target/linux/ath79/dts/ar7161_ubnt_routerstation.dtsi b/target/linux/ath79/dts/ar7161_ubnt_routerstation.dtsi index 4f52e3cc40..fc5d8335b5 100644 --- a/target/linux/ath79/dts/ar7161_ubnt_routerstation.dtsi +++ b/target/linux/ath79/dts/ar7161_ubnt_routerstation.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include @@ -86,7 +85,7 @@ #address-cells = <1>; #size-cells = <0>; - usb_ochi_port: port@1 { + usb_ohci_port: port@1 { reg = <1>; #trigger-source-cells = <0>; }; @@ -97,7 +96,7 @@ #address-cells = <1>; #size-cells = <0>; - usb_echi_port: port@1 { + usb_ehci_port: port@1 { reg = <1>; #trigger-source-cells = <0>; }; diff --git a/target/linux/ath79/dts/ar7240_netgear_wnr612-v2.dtsi b/target/linux/ath79/dts/ar7240_netgear_wnr612-v2.dtsi index 4ce7a0ec3d..a7e6b49c1f 100644 --- a/target/linux/ath79/dts/ar7240_netgear_wnr612-v2.dtsi +++ b/target/linux/ath79/dts/ar7240_netgear_wnr612-v2.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/ar7241_netgear_wnr2200.dtsi b/target/linux/ath79/dts/ar7241_netgear_wnr2200.dtsi index 4c5ae697d6..49b869f718 100644 --- a/target/linux/ath79/dts/ar7241_netgear_wnr2200.dtsi +++ b/target/linux/ath79/dts/ar7241_netgear_wnr2200.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/ar7242_buffalo_wzr-bhr.dtsi b/target/linux/ath79/dts/ar7242_buffalo_wzr-bhr.dtsi index 4a848cb896..589896d9f8 100644 --- a/target/linux/ath79/dts/ar7242_buffalo_wzr-bhr.dtsi +++ b/target/linux/ath79/dts/ar7242_buffalo_wzr-bhr.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/ar9331_tplink_tl-wr703n_tl-mr10u.dtsi b/target/linux/ath79/dts/ar9331_tplink_tl-wr703n_tl-mr10u.dtsi index a8e0331f08..2bacd08245 100644 --- a/target/linux/ath79/dts/ar9331_tplink_tl-wr703n_tl-mr10u.dtsi +++ b/target/linux/ath79/dts/ar9331_tplink_tl-wr703n_tl-mr10u.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/ar9331_tplink_tl-wr741nd-v4.dtsi b/target/linux/ath79/dts/ar9331_tplink_tl-wr741nd-v4.dtsi index 4fb06494a4..4f11d5d7a4 100644 --- a/target/linux/ath79/dts/ar9331_tplink_tl-wr741nd-v4.dtsi +++ b/target/linux/ath79/dts/ar9331_tplink_tl-wr741nd-v4.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/ar9341_tplink.dtsi b/target/linux/ath79/dts/ar9341_tplink.dtsi index f99b6da67e..0a950bd1a6 100644 --- a/target/linux/ath79/dts/ar9341_tplink.dtsi +++ b/target/linux/ath79/dts/ar9341_tplink.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/ar9344_dlink_dir-8x5.dtsi b/target/linux/ath79/dts/ar9344_dlink_dir-8x5.dtsi index 2dd2297e87..9d9af23bab 100644 --- a/target/linux/ath79/dts/ar9344_dlink_dir-8x5.dtsi +++ b/target/linux/ath79/dts/ar9344_dlink_dir-8x5.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/ar9344_netgear_wndr.dtsi b/target/linux/ath79/dts/ar9344_netgear_wndr.dtsi index 16a4e3f6e8..18b9ae1778 100644 --- a/target/linux/ath79/dts/ar9344_netgear_wndr.dtsi +++ b/target/linux/ath79/dts/ar9344_netgear_wndr.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/ar9344_tplink_cpe.dtsi b/target/linux/ath79/dts/ar9344_tplink_cpe.dtsi index d002dfeb3c..27a8d0aa13 100644 --- a/target/linux/ath79/dts/ar9344_tplink_cpe.dtsi +++ b/target/linux/ath79/dts/ar9344_tplink_cpe.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/ar9344_tplink_cpe_1port.dtsi b/target/linux/ath79/dts/ar9344_tplink_cpe_1port.dtsi index 653efdee17..057ba4572f 100644 --- a/target/linux/ath79/dts/ar9344_tplink_cpe_1port.dtsi +++ b/target/linux/ath79/dts/ar9344_tplink_cpe_1port.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include "ar9344_tplink_cpe.dtsi" diff --git a/target/linux/ath79/dts/ar9344_tplink_cpe_2port.dtsi b/target/linux/ath79/dts/ar9344_tplink_cpe_2port.dtsi index e97e49d718..8a1332c9c5 100644 --- a/target/linux/ath79/dts/ar9344_tplink_cpe_2port.dtsi +++ b/target/linux/ath79/dts/ar9344_tplink_cpe_2port.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include "ar9344_tplink_cpe.dtsi" diff --git a/target/linux/ath79/dts/ar9344_tplink_tl-wdr4300-v1-il.dts b/target/linux/ath79/dts/ar9344_tplink_tl-wdr4300-v1-il.dts new file mode 100644 index 0000000000..a84285d69a --- /dev/null +++ b/target/linux/ath79/dts/ar9344_tplink_tl-wdr4300-v1-il.dts @@ -0,0 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "ar9344_tplink_tl-wdr4300.dtsi" + +/ { + model = "TP-Link TL-WDR4300 v1 (IL)"; + compatible = "tplink,tl-wdr4300-v1-il", "qca,ar9344"; +}; diff --git a/target/linux/ath79/dts/qca9531_glinet_gl-ar300m.dtsi b/target/linux/ath79/dts/qca9531_glinet_gl-ar300m.dtsi index 72bc2a6466..f06305c47f 100644 --- a/target/linux/ath79/dts/qca9531_glinet_gl-ar300m.dtsi +++ b/target/linux/ath79/dts/qca9531_glinet_gl-ar300m.dtsi @@ -1,4 +1,3 @@ -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/qca9533_tplink_cpe210.dtsi b/target/linux/ath79/dts/qca9533_tplink_cpe210.dtsi index cb329a9a66..5edd2adc83 100644 --- a/target/linux/ath79/dts/qca9533_tplink_cpe210.dtsi +++ b/target/linux/ath79/dts/qca9533_tplink_cpe210.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include "qca9533_tplink_cpexxx.dtsi" diff --git a/target/linux/ath79/dts/qca9533_tplink_cpexxx.dtsi b/target/linux/ath79/dts/qca9533_tplink_cpexxx.dtsi index 50d34c7c90..e0505e5724 100644 --- a/target/linux/ath79/dts/qca9533_tplink_cpexxx.dtsi +++ b/target/linux/ath79/dts/qca9533_tplink_cpexxx.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/qca9533_tplink_tl-wr841-v11.dtsi b/target/linux/ath79/dts/qca9533_tplink_tl-wr841-v11.dtsi index ca95981008..a0d0afcccf 100644 --- a/target/linux/ath79/dts/qca9533_tplink_tl-wr841-v11.dtsi +++ b/target/linux/ath79/dts/qca9533_tplink_tl-wr841-v11.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include "qca9533_tplink_tl-wr841.dtsi" diff --git a/target/linux/ath79/dts/qca9533_tplink_tl-wr841.dtsi b/target/linux/ath79/dts/qca9533_tplink_tl-wr841.dtsi index e3d244ee7b..9f1bef3d4d 100644 --- a/target/linux/ath79/dts/qca9533_tplink_tl-wr841.dtsi +++ b/target/linux/ath79/dts/qca9533_tplink_tl-wr841.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/qca953x_tplink_tl-wr810n.dtsi b/target/linux/ath79/dts/qca953x_tplink_tl-wr810n.dtsi index c5fd7166a0..d08b4d65a5 100644 --- a/target/linux/ath79/dts/qca953x_tplink_tl-wr810n.dtsi +++ b/target/linux/ath79/dts/qca953x_tplink_tl-wr810n.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/qca9557_iodata_wn-ac-dgr.dtsi b/target/linux/ath79/dts/qca9557_iodata_wn-ac-dgr.dtsi index 970a144dbc..b43ab2c6b6 100644 --- a/target/linux/ath79/dts/qca9557_iodata_wn-ac-dgr.dtsi +++ b/target/linux/ath79/dts/qca9557_iodata_wn-ac-dgr.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/qca9558_comfast_cf-wr650ac.dtsi b/target/linux/ath79/dts/qca9558_comfast_cf-wr650ac.dtsi index 39fae74b83..8ee967ab9f 100644 --- a/target/linux/ath79/dts/qca9558_comfast_cf-wr650ac.dtsi +++ b/target/linux/ath79/dts/qca9558_comfast_cf-wr650ac.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/qca9558_devolo_dvl1xxx.dtsi b/target/linux/ath79/dts/qca9558_devolo_dvl1xxx.dtsi index ea752661ba..2cdb1b8373 100644 --- a/target/linux/ath79/dts/qca9558_devolo_dvl1xxx.dtsi +++ b/target/linux/ath79/dts/qca9558_devolo_dvl1xxx.dtsi @@ -10,8 +10,6 @@ * antennas and number of spatial streams. */ -/dts-v1/; - #include #include diff --git a/target/linux/ath79/dts/qca9558_netgear_ex7300.dtsi b/target/linux/ath79/dts/qca9558_netgear_ex7300.dtsi index 170563b6a7..bbb43354c4 100644 --- a/target/linux/ath79/dts/qca9558_netgear_ex7300.dtsi +++ b/target/linux/ath79/dts/qca9558_netgear_ex7300.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/qca9558_tplink_archer-c.dtsi b/target/linux/ath79/dts/qca9558_tplink_archer-c.dtsi index 3defa554de..9f5d7a6fcf 100644 --- a/target/linux/ath79/dts/qca9558_tplink_archer-c.dtsi +++ b/target/linux/ath79/dts/qca9558_tplink_archer-c.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/qca9558_tplink_rex5x.dtsi b/target/linux/ath79/dts/qca9558_tplink_rex5x.dtsi index 2bc0f38f02..17e172d547 100644 --- a/target/linux/ath79/dts/qca9558_tplink_rex5x.dtsi +++ b/target/linux/ath79/dts/qca9558_tplink_rex5x.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/qca9558_tplink_tl-wr1043nd.dtsi b/target/linux/ath79/dts/qca9558_tplink_tl-wr1043nd.dtsi index 4c3a3230fe..a3f2b11212 100644 --- a/target/linux/ath79/dts/qca9558_tplink_tl-wr1043nd.dtsi +++ b/target/linux/ath79/dts/qca9558_tplink_tl-wr1043nd.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/qca9561_tplink_archer-c6x.dtsi b/target/linux/ath79/dts/qca9561_tplink_archer-c6x.dtsi index 719a9d065a..cee30a13b6 100644 --- a/target/linux/ath79/dts/qca9561_tplink_archer-c6x.dtsi +++ b/target/linux/ath79/dts/qca9561_tplink_archer-c6x.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/qca9563_dlink_dir-842-c.dtsi b/target/linux/ath79/dts/qca9563_dlink_dir-842-c.dtsi index ac8fe3ae0a..2482874c99 100644 --- a/target/linux/ath79/dts/qca9563_dlink_dir-842-c.dtsi +++ b/target/linux/ath79/dts/qca9563_dlink_dir-842-c.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/qca9563_elecom_wrc-ghbk2-i.dtsi b/target/linux/ath79/dts/qca9563_elecom_wrc-ghbk2-i.dtsi index f04304ee4c..9395c7b26f 100644 --- a/target/linux/ath79/dts/qca9563_elecom_wrc-ghbk2-i.dtsi +++ b/target/linux/ath79/dts/qca9563_elecom_wrc-ghbk2-i.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/qca9563_glinet_gl-ar750s.dtsi b/target/linux/ath79/dts/qca9563_glinet_gl-ar750s.dtsi index 8250db55ad..3e30a0fd0b 100644 --- a/target/linux/ath79/dts/qca9563_glinet_gl-ar750s.dtsi +++ b/target/linux/ath79/dts/qca9563_glinet_gl-ar750s.dtsi @@ -1,7 +1,5 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; - #include #include diff --git a/target/linux/ath79/dts/qca9563_tplink_archer-x7-v5.dtsi b/target/linux/ath79/dts/qca9563_tplink_archer-x7-v5.dtsi index 3049c8bc20..8d6e1ed9f9 100644 --- a/target/linux/ath79/dts/qca9563_tplink_archer-x7-v5.dtsi +++ b/target/linux/ath79/dts/qca9563_tplink_archer-x7-v5.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/qca9563_tplink_tl-wr1043n.dtsi b/target/linux/ath79/dts/qca9563_tplink_tl-wr1043n.dtsi index ba56cf23b8..47480481fa 100644 --- a/target/linux/ath79/dts/qca9563_tplink_tl-wr1043n.dtsi +++ b/target/linux/ath79/dts/qca9563_tplink_tl-wr1043n.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/qca9563_yuncore_xd4200.dtsi b/target/linux/ath79/dts/qca9563_yuncore_xd4200.dtsi index 2f7964de90..bd6b24209b 100644 --- a/target/linux/ath79/dts/qca9563_yuncore_xd4200.dtsi +++ b/target/linux/ath79/dts/qca9563_yuncore_xd4200.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/tp9343_tplink_tl-wr940n-v3.dtsi b/target/linux/ath79/dts/tp9343_tplink_tl-wr940n-v3.dtsi index f5543e4f89..dcb450a2d3 100644 --- a/target/linux/ath79/dts/tp9343_tplink_tl-wr940n-v3.dtsi +++ b/target/linux/ath79/dts/tp9343_tplink_tl-wr940n-v3.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include "tp9343_tplink_tl-wr94x.dtsi" diff --git a/target/linux/ath79/dts/tp9343_tplink_tl-wr94x.dtsi b/target/linux/ath79/dts/tp9343_tplink_tl-wr94x.dtsi index c6bb8a2417..fb5941657d 100644 --- a/target/linux/ath79/dts/tp9343_tplink_tl-wr94x.dtsi +++ b/target/linux/ath79/dts/tp9343_tplink_tl-wr94x.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network b/target/linux/ath79/generic/base-files/etc/board.d/02_network index 938213eadc..77e2db762f 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network @@ -212,7 +212,8 @@ ath79_setup_interfaces() tplink,archer-c7-v4|\ tplink,archer-c7-v5|\ tplink,tl-wdr3600-v1|\ - tplink,tl-wdr4300-v1) + tplink,tl-wdr4300-v1|\ + tplink,tl-wdr4300-v1-il) ucidef_add_switch "switch0" \ "0@eth0" "2:lan:1" "3:lan:2" "4:lan:3" "5:lan:4" "1:wan" ;; diff --git a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom index f04fb64fc9..84d840569b 100644 --- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom +++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom @@ -72,6 +72,7 @@ case "$FIRMWARE" in tplink,tl-wdr3500-v1|\ tplink,tl-wdr3600-v1|\ tplink,tl-wdr4300-v1|\ + tplink,tl-wdr4300-v1-il|\ tplink,tl-wdr4900-v2|\ winchannel,wb2000) caldata_extract "art" 0x5000 0x440 diff --git a/target/linux/ath79/image/generic-tp-link.mk b/target/linux/ath79/image/generic-tp-link.mk index f5e1a90418..8915552322 100644 --- a/target/linux/ath79/image/generic-tp-link.mk +++ b/target/linux/ath79/image/generic-tp-link.mk @@ -399,6 +399,17 @@ define Device/tplink_tl-wdr4300-v1 endef TARGET_DEVICES += tplink_tl-wdr4300-v1 +define Device/tplink_tl-wdr4300-v1-il + $(Device/tplink-8mlzma) + ATH_SOC := ar9344 + DEVICE_MODEL := TL-WDR4300 + DEVICE_VARIANT := v1 (IL) + DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport + TPLINK_HWID := 0x43008001 + SUPPORTED_DEVICES += tl-wdr4300 +endef +TARGET_DEVICES += tplink_tl-wdr4300-v1-il + define Device/tplink_tl-wdr4900-v2 $(Device/tplink-8mlzma) ATH_SOC := qca9558 diff --git a/target/linux/ath79/image/generic-ubnt.mk b/target/linux/ath79/image/generic-ubnt.mk index e75b9ea770..59c22b8af4 100644 --- a/target/linux/ath79/image/generic-ubnt.mk +++ b/target/linux/ath79/image/generic-ubnt.mk @@ -36,8 +36,6 @@ endef define Device/ubnt DEVICE_VENDOR := Ubiquiti DEVICE_PACKAGES := kmod-usb2 - UBNT_BOARD := XM - UBNT_VERSION := 6.0.0 IMAGES += factory.bin IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \ append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | mkubntimage-split @@ -45,53 +43,58 @@ endef define Device/ubnt-bz $(Device/ubnt) - IMAGE_SIZE := 7448k - UBNT_TYPE := BZ - UBNT_CHIP := ar7240 ATH_SOC := ar7241 + IMAGE_SIZE := 7448k + UBNT_BOARD := XM + UBNT_CHIP := ar7240 + UBNT_TYPE := BZ + UBNT_VERSION := 6.0.0 endef define Device/ubnt-wa $(Device/ubnt) - IMAGE_SIZE := 15744k - UBNT_TYPE := WA - UBNT_CHIP := ar934x - UBNT_BOARD := WA - UBNT_VERSION := 8.5.0 ATH_SOC := ar9342 + IMAGE_SIZE := 15744k + UBNT_BOARD := WA + UBNT_CHIP := ar934x + UBNT_TYPE := WA + UBNT_VERSION := 8.5.0 endef define Device/ubnt-xm $(Device/ubnt) + ATH_SOC := ar7241 DEVICE_VARIANT := XM DEVICE_PACKAGES += kmod-usb-ohci IMAGE_SIZE := 7448k - UBNT_TYPE := XM + UBNT_BOARD := XM UBNT_CHIP := ar7240 - ATH_SOC := ar7241 + UBNT_TYPE := XM + UBNT_VERSION := 6.0.0 KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma | uImage lzma endef define Device/ubnt-xw $(Device/ubnt) + ATH_SOC := ar9342 DEVICE_VARIANT := XW IMAGE_SIZE := 7552k - UBNT_TYPE := XW - UBNT_CHIP := ar934x UBNT_BOARD := XM - UBNT_VERSION := 6.0.4 + UBNT_CHIP := ar934x UBNT_REVISION := 42.$(UBNT_REVISION) - ATH_SOC := ar9342 + UBNT_TYPE := XW + UBNT_VERSION := 6.0.4 endef define Device/ubnt_acb-isp $(Device/ubnt) ATH_SOC := qca9533 - IMAGE_SIZE := 15744k DEVICE_MODEL := airCube ISP + IMAGE_SIZE := 15744k UBNT_BOARD := ACB-ISP - UBNT_TYPE := ACB UBNT_CHIP := qca9533 + UBNT_TYPE := ACB + UBNT_VERSION := 6.0.0 IMAGES := sysupgrade.bin endef TARGET_DEVICES += ubnt_acb-isp diff --git a/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch b/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch index 5d9b84eb9f..17ee82fe79 100644 --- a/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch +++ b/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch @@ -214,7 +214,7 @@ #include #include #include -@@ -819,10 +820,10 @@ static void tcp_v6_send_response(const s +@@ -820,10 +821,10 @@ static void tcp_v6_send_response(const s topt = (__be32 *)(t1 + 1); if (tsecr) { diff --git a/target/linux/ath79/patches-4.19/910-unaligned_access_hacks.patch b/target/linux/ath79/patches-4.19/910-unaligned_access_hacks.patch index ad7b12d650..7784801c8c 100644 --- a/target/linux/ath79/patches-4.19/910-unaligned_access_hacks.patch +++ b/target/linux/ath79/patches-4.19/910-unaligned_access_hacks.patch @@ -214,7 +214,7 @@ #include #include #include -@@ -836,10 +837,10 @@ static void tcp_v6_send_response(const s +@@ -837,10 +838,10 @@ static void tcp_v6_send_response(const s topt = (__be32 *)(t1 + 1); if (tsecr) { diff --git a/target/linux/brcm2708/patches-4.19/950-0030-mm-Remove-the-PFN-busy-warning.patch b/target/linux/brcm2708/patches-4.19/950-0030-mm-Remove-the-PFN-busy-warning.patch index cfc52ead26..f08379057f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0030-mm-Remove-the-PFN-busy-warning.patch +++ b/target/linux/brcm2708/patches-4.19/950-0030-mm-Remove-the-PFN-busy-warning.patch @@ -14,7 +14,7 @@ Signed-off-by: Eric Anholt --- a/mm/page_alloc.c +++ b/mm/page_alloc.c -@@ -7980,8 +7980,6 @@ int alloc_contig_range(unsigned long sta +@@ -7977,8 +7977,6 @@ int alloc_contig_range(unsigned long sta /* Make sure the range is really isolated. */ if (test_pages_isolated(outer_start, end, false)) { diff --git a/target/linux/brcm2708/patches-4.19/950-0038-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch b/target/linux/brcm2708/patches-4.19/950-0038-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch index e3aeded95c..307e82ede4 100644 --- a/target/linux/brcm2708/patches-4.19/950-0038-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch +++ b/target/linux/brcm2708/patches-4.19/950-0038-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch @@ -11,7 +11,7 @@ Signed-off-by: Noralf Tronnes --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -@@ -352,7 +352,7 @@ static const struct gpio_chip bcm2835_gp +@@ -350,7 +350,7 @@ static const struct gpio_chip bcm2835_gp .get_direction = bcm2835_gpio_get_direction, .get = bcm2835_gpio_get, .set = bcm2835_gpio_set, diff --git a/target/linux/brcm2708/patches-4.19/950-0044-MMC-added-alternative-MMC-driver.patch b/target/linux/brcm2708/patches-4.19/950-0044-MMC-added-alternative-MMC-driver.patch index af67d42f8d..25f587b2d7 100644 --- a/target/linux/brcm2708/patches-4.19/950-0044-MMC-added-alternative-MMC-driver.patch +++ b/target/linux/brcm2708/patches-4.19/950-0044-MMC-added-alternative-MMC-driver.patch @@ -125,7 +125,7 @@ Signed-off-by: Phil Elwell static inline int mmc_blk_part_switch(struct mmc_card *card, unsigned int part_type); -@@ -2919,6 +2926,7 @@ static int mmc_blk_probe(struct mmc_card +@@ -2913,6 +2920,7 @@ static int mmc_blk_probe(struct mmc_card { struct mmc_blk_data *md, *part_md; char cap_str[10]; @@ -133,7 +133,7 @@ Signed-off-by: Phil Elwell /* * Check that the card supports the command class(es) we need. -@@ -2926,7 +2934,16 @@ static int mmc_blk_probe(struct mmc_card +@@ -2920,7 +2928,16 @@ static int mmc_blk_probe(struct mmc_card if (!(card->csd.cmdclass & CCC_BLOCK_READ)) return -ENODEV; @@ -151,7 +151,7 @@ Signed-off-by: Phil Elwell card->complete_wq = alloc_workqueue("mmc_complete", WQ_MEM_RECLAIM | WQ_HIGHPRI, 0); -@@ -2941,9 +2958,14 @@ static int mmc_blk_probe(struct mmc_card +@@ -2935,9 +2952,14 @@ static int mmc_blk_probe(struct mmc_card string_get_size((u64)get_capacity(md->disk), 512, STRING_UNITS_2, cap_str, sizeof(cap_str)); diff --git a/target/linux/brcm2708/patches-4.19/950-0093-brcm-adds-support-for-BCM43341-wifi.patch b/target/linux/brcm2708/patches-4.19/950-0093-brcm-adds-support-for-BCM43341-wifi.patch index d61948995c..4251ecafef 100644 --- a/target/linux/brcm2708/patches-4.19/950-0093-brcm-adds-support-for-BCM43341-wifi.patch +++ b/target/linux/brcm2708/patches-4.19/950-0093-brcm-adds-support-for-BCM43341-wifi.patch @@ -57,7 +57,7 @@ Signed-off-by: Phil Elwell cfg->pwr_save = enabled; if (!check_vif_up(ifp->vif)) { -@@ -6776,12 +6778,18 @@ static s32 brcmf_translate_country_code( +@@ -6786,12 +6788,18 @@ static s32 brcmf_translate_country_code( struct brcmfmac_pd_cc *country_codes; struct brcmfmac_pd_cc_entry *cc; s32 found_index; @@ -78,7 +78,7 @@ Signed-off-by: Phil Elwell } if ((alpha2[0] == ccreq->country_abbrev[0]) && -@@ -6805,10 +6813,14 @@ static s32 brcmf_translate_country_code( +@@ -6815,10 +6823,14 @@ static s32 brcmf_translate_country_code( brcmf_dbg(TRACE, "No country code match found\n"); return -EINVAL; } @@ -109,7 +109,7 @@ Signed-off-by: Phil Elwell --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -@@ -608,6 +608,7 @@ BRCMF_FW_DEF(4329, "brcmfmac4329-sdio"); +@@ -614,6 +614,7 @@ BRCMF_FW_DEF(4329, "brcmfmac4329-sdio"); BRCMF_FW_DEF(4330, "brcmfmac4330-sdio"); BRCMF_FW_DEF(4334, "brcmfmac4334-sdio"); BRCMF_FW_DEF(43340, "brcmfmac43340-sdio"); @@ -117,7 +117,7 @@ Signed-off-by: Phil Elwell BRCMF_FW_DEF(4335, "brcmfmac4335-sdio"); BRCMF_FW_DEF(43362, "brcmfmac43362-sdio"); BRCMF_FW_DEF(4339, "brcmfmac4339-sdio"); -@@ -628,7 +629,7 @@ static const struct brcmf_firmware_mappi +@@ -634,7 +635,7 @@ static const struct brcmf_firmware_mappi BRCMF_FW_ENTRY(BRCM_CC_4330_CHIP_ID, 0xFFFFFFFF, 4330), BRCMF_FW_ENTRY(BRCM_CC_4334_CHIP_ID, 0xFFFFFFFF, 4334), BRCMF_FW_ENTRY(BRCM_CC_43340_CHIP_ID, 0xFFFFFFFF, 43340), diff --git a/target/linux/brcm2708/patches-4.19/950-0094-brcmfmac-Mute-expected-startup-errors.patch b/target/linux/brcm2708/patches-4.19/950-0094-brcmfmac-Mute-expected-startup-errors.patch index 27e6a201a5..8111f9d42c 100644 --- a/target/linux/brcm2708/patches-4.19/950-0094-brcmfmac-Mute-expected-startup-errors.patch +++ b/target/linux/brcm2708/patches-4.19/950-0094-brcmfmac-Mute-expected-startup-errors.patch @@ -13,7 +13,7 @@ Signed-off-by: Phil Elwell --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -@@ -6844,6 +6844,8 @@ static void brcmf_cfg80211_reg_notifier( +@@ -6854,6 +6854,8 @@ static void brcmf_cfg80211_reg_notifier( /* ignore non-ISO3166 country codes */ for (i = 0; i < 2; i++) if (req->alpha2[i] < 'A' || req->alpha2[i] > 'Z') { diff --git a/target/linux/brcm2708/patches-4.19/950-0349-Revert-brcmfmac-Mute-expected-startup-errors.patch b/target/linux/brcm2708/patches-4.19/950-0349-Revert-brcmfmac-Mute-expected-startup-errors.patch index 9c979c3e97..97073abff4 100644 --- a/target/linux/brcm2708/patches-4.19/950-0349-Revert-brcmfmac-Mute-expected-startup-errors.patch +++ b/target/linux/brcm2708/patches-4.19/950-0349-Revert-brcmfmac-Mute-expected-startup-errors.patch @@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -@@ -6844,8 +6844,6 @@ static void brcmf_cfg80211_reg_notifier( +@@ -6854,8 +6854,6 @@ static void brcmf_cfg80211_reg_notifier( /* ignore non-ISO3166 country codes */ for (i = 0; i < 2; i++) if (req->alpha2[i] < 'A' || req->alpha2[i] > 'Z') { diff --git a/target/linux/brcm2708/patches-4.19/950-0541-bcmgenet-Better-coalescing-parameter-defaults.patch b/target/linux/brcm2708/patches-4.19/950-0541-bcmgenet-Better-coalescing-parameter-defaults.patch index 0e2657c423..f91643342f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0541-bcmgenet-Better-coalescing-parameter-defaults.patch +++ b/target/linux/brcm2708/patches-4.19/950-0541-bcmgenet-Better-coalescing-parameter-defaults.patch @@ -18,7 +18,7 @@ Signed-off-by: Phil Elwell --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c -@@ -2149,7 +2149,7 @@ static void bcmgenet_init_tx_ring(struct +@@ -2147,7 +2147,7 @@ static void bcmgenet_init_tx_ring(struct bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_PROD_INDEX); bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_CONS_INDEX); diff --git a/target/linux/brcm2708/patches-4.19/950-0542-net-genet-enable-link-energy-detect-powerdown-for-ex.patch b/target/linux/brcm2708/patches-4.19/950-0542-net-genet-enable-link-energy-detect-powerdown-for-ex.patch index c29457500e..02b5701099 100644 --- a/target/linux/brcm2708/patches-4.19/950-0542-net-genet-enable-link-energy-detect-powerdown-for-ex.patch +++ b/target/linux/brcm2708/patches-4.19/950-0542-net-genet-enable-link-energy-detect-powerdown-for-ex.patch @@ -20,7 +20,7 @@ Signed-off-by: Jonathan Bell --- a/drivers/net/ethernet/broadcom/genet/bcmmii.c +++ b/drivers/net/ethernet/broadcom/genet/bcmmii.c -@@ -285,6 +285,8 @@ int bcmgenet_mii_probe(struct net_device +@@ -318,6 +318,8 @@ int bcmgenet_mii_probe(struct net_device /* Communicate the integrated PHY revision */ if (priv->internal_phy) phy_flags = priv->gphy_rev; diff --git a/target/linux/brcm2708/patches-4.19/950-0549-pinctrl-bcm2835-Add-support-for-BCM2838.patch b/target/linux/brcm2708/patches-4.19/950-0549-pinctrl-bcm2835-Add-support-for-BCM2838.patch index d7103c5822..655937e303 100644 --- a/target/linux/brcm2708/patches-4.19/950-0549-pinctrl-bcm2835-Add-support-for-BCM2838.patch +++ b/target/linux/brcm2708/patches-4.19/950-0549-pinctrl-bcm2835-Add-support-for-BCM2838.patch @@ -28,7 +28,7 @@ compatibility for the device-tree configuration has been retained. #define FSEL_REG(p) (GPFSEL0 + (((p) / 10) * 4)) #define FSEL_SHIFT(p) (((p) % 10) * 3) #define GPIO_REG_OFFSET(p) ((p) / 32) -@@ -917,21 +923,45 @@ static void bcm2835_pull_config_set(stru +@@ -915,21 +921,45 @@ static void bcm2835_pull_config_set(stru unsigned int pin, unsigned int arg) { u32 off, bit; diff --git a/target/linux/brcm47xx/base-files/etc/board.d/01_network b/target/linux/brcm47xx/base-files/etc/board.d/01_network index 6fbd76fc10..a14986356a 100755 --- a/target/linux/brcm47xx/base-files/etc/board.d/01_network +++ b/target/linux/brcm47xx/base-files/etc/board.d/01_network @@ -170,7 +170,8 @@ configure_by_model() { ;; "Asus RT-N16"* | \ - "Linksys E3000 V1") + "Linksys E3000 V1" | \ + "Netgear WNR3500L") ucidef_add_switch "switch0" \ "0:wan" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "8@eth0" ;; diff --git a/target/linux/gemini/patches-4.19/0004-boot-sq201-from-sda1.patch b/target/linux/gemini/patches-4.19/0004-boot-sq201-from-sda1.patch deleted file mode 100644 index d2fa02a957..0000000000 --- a/target/linux/gemini/patches-4.19/0004-boot-sq201-from-sda1.patch +++ /dev/null @@ -1,20 +0,0 @@ -From 95be54e285767c5209bb51df923373f78b8c4099 Mon Sep 17 00:00:00 2001 -From: Linus Walleij -Date: Mon, 16 Jul 2018 23:36:30 +0200 -Subject: [PATCH 04/18] boot sq201 from sda1 - ---- - arch/arm/boot/dts/gemini-sq201.dts | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/arch/arm/boot/dts/gemini-sq201.dts -+++ b/arch/arm/boot/dts/gemini-sq201.dts -@@ -20,7 +20,7 @@ - }; - - chosen { -- bootargs = "console=ttyS0,115200n8"; -+ bootargs = "console=ttyS0,115200n8 root=/dev/sda1 rw rootwait"; - stdout-path = &uart0; - }; - diff --git a/target/linux/gemini/patches-4.19/0008-ARM-dts-Enable-Gemini-flash-access.patch b/target/linux/gemini/patches-4.19/0008-ARM-dts-Enable-Gemini-flash-access.patch index 302945ff45..92e2e65c71 100644 --- a/target/linux/gemini/patches-4.19/0008-ARM-dts-Enable-Gemini-flash-access.patch +++ b/target/linux/gemini/patches-4.19/0008-ARM-dts-Enable-Gemini-flash-access.patch @@ -121,7 +121,7 @@ Signed-off-by: Linus Walleij /* 16MB of flash */ reg = <0x30000000 0x01000000>; -@@ -184,9 +177,7 @@ +@@ -157,9 +150,7 @@ mux { function = "gpio0"; groups = "gpio0fgrp", @@ -132,7 +132,7 @@ Signed-off-by: Linus Walleij }; }; /* -@@ -199,6 +190,18 @@ +@@ -172,6 +163,18 @@ groups = "gpio1dgrp"; }; }; diff --git a/target/linux/gemini/patches-4.19/0011-ARM-dts-Fix-up-SQ201-flash-access.patch b/target/linux/gemini/patches-4.19/0011-ARM-dts-Fix-up-SQ201-flash-access.patch index 578e970c0f..9dc5f65f7d 100644 --- a/target/linux/gemini/patches-4.19/0011-ARM-dts-Fix-up-SQ201-flash-access.patch +++ b/target/linux/gemini/patches-4.19/0011-ARM-dts-Fix-up-SQ201-flash-access.patch @@ -19,50 +19,8 @@ Signed-off-by: Linus Walleij }; chosen { -- bootargs = "console=ttyS0,115200n8 root=/dev/sda1 rw rootwait"; +- bootargs = "console=ttyS0,115200n8 root=/dev/mtdblock2 rw rootfstype=squashfs,jffs2 rootwait"; + bootargs = "console=ttyS0,115200n8 root=/dev/mtdblock3 rw rootfstype=squashfs,jffs2 rootwait"; stdout-path = &uart0; }; -@@ -131,37 +131,10 @@ - /* 16MB of flash */ - reg = <0x30000000 0x01000000>; - -- partition@0 { -- label = "RedBoot"; -- reg = <0x00000000 0x00120000>; -- read-only; -- }; -- partition@120000 { -- label = "Kernel"; -- reg = <0x00120000 0x00200000>; -- }; -- partition@320000 { -- label = "Ramdisk"; -- reg = <0x00320000 0x00600000>; -- }; -- partition@920000 { -- label = "Application"; -- reg = <0x00920000 0x00600000>; -- }; -- partition@f20000 { -- label = "VCTL"; -- reg = <0x00f20000 0x00020000>; -- read-only; -- }; -- partition@f40000 { -- label = "CurConf"; -- reg = <0x00f40000 0x000a0000>; -- read-only; -- }; -- partition@fe0000 { -- label = "FIS directory"; -- reg = <0x00fe0000 0x00020000>; -- read-only; -+ partitions { -+ compatible = "redboot-fis"; -+ /* Eraseblock at 0xfe0000 */ -+ fis-index-block = <0x1fc>; - }; - }; - diff --git a/target/linux/generic/backport-4.14/030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch b/target/linux/generic/backport-4.14/030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch index b708fda5ca..817b112f90 100644 --- a/target/linux/generic/backport-4.14/030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch +++ b/target/linux/generic/backport-4.14/030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch @@ -30,7 +30,7 @@ Signed-off-by: Johan Hovold --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c -@@ -1965,7 +1965,8 @@ static const struct usb_device_id option +@@ -1968,7 +1968,8 @@ static const struct usb_device_id option { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d01, 0xff) }, /* D-Link DWM-156 (variant) */ { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d02, 0xff) }, { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d03, 0xff) }, diff --git a/target/linux/generic/backport-4.14/041-v4.17-0001-mtd-partitions-add-of_match_table-parser-matching-fo.patch b/target/linux/generic/backport-4.14/041-v4.17-0001-mtd-partitions-add-of_match_table-parser-matching-fo.patch index bd39a2625e..765b6b95df 100644 --- a/target/linux/generic/backport-4.14/041-v4.17-0001-mtd-partitions-add-of_match_table-parser-matching-fo.patch +++ b/target/linux/generic/backport-4.14/041-v4.17-0001-mtd-partitions-add-of_match_table-parser-matching-fo.patch @@ -55,7 +55,7 @@ Signed-off-by: Boris Brezillon #include "mtdcore.h" -@@ -894,6 +895,92 @@ static int mtd_part_do_parse(struct mtd_ +@@ -919,6 +920,92 @@ static int mtd_part_do_parse(struct mtd_ } /** @@ -148,7 +148,7 @@ Signed-off-by: Boris Brezillon * parse_mtd_partitions - parse MTD partitions * @master: the master partition (describes whole MTD device) * @types: names of partition parsers to try or %NULL -@@ -925,19 +1012,30 @@ int parse_mtd_partitions(struct mtd_info +@@ -950,19 +1037,30 @@ int parse_mtd_partitions(struct mtd_info types = default_mtd_part_types; for ( ; *types; types++) { diff --git a/target/linux/generic/backport-4.14/041-v4.17-0002-mtd-rename-ofpart-parser-to-fixed-partitions-as-it-f.patch b/target/linux/generic/backport-4.14/041-v4.17-0002-mtd-rename-ofpart-parser-to-fixed-partitions-as-it-f.patch index 66b67d7676..22ad40bf44 100644 --- a/target/linux/generic/backport-4.14/041-v4.17-0002-mtd-rename-ofpart-parser-to-fixed-partitions-as-it-f.patch +++ b/target/linux/generic/backport-4.14/041-v4.17-0002-mtd-rename-ofpart-parser-to-fixed-partitions-as-it-f.patch @@ -22,7 +22,7 @@ Signed-off-by: Boris Brezillon --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c -@@ -940,7 +940,7 @@ static int mtd_part_of_parse(struct mtd_ +@@ -965,7 +965,7 @@ static int mtd_part_of_parse(struct mtd_ struct device_node *np; struct property *prop; const char *compat; @@ -31,7 +31,7 @@ Signed-off-by: Boris Brezillon int ret, err = 0; np = of_get_child_by_name(mtd_get_of_node(master), "partitions"); -@@ -960,7 +960,7 @@ static int mtd_part_of_parse(struct mtd_ +@@ -985,7 +985,7 @@ static int mtd_part_of_parse(struct mtd_ of_node_put(np); /* diff --git a/target/linux/generic/backport-4.14/042-v4.18-0001-mtd-move-code-adding-registering-partitions-to-the-p.patch b/target/linux/generic/backport-4.14/042-v4.18-0001-mtd-move-code-adding-registering-partitions-to-the-p.patch index 83077431b8..d017fd452b 100644 --- a/target/linux/generic/backport-4.14/042-v4.18-0001-mtd-move-code-adding-registering-partitions-to-the-p.patch +++ b/target/linux/generic/backport-4.14/042-v4.18-0001-mtd-move-code-adding-registering-partitions-to-the-p.patch @@ -98,7 +98,7 @@ Signed-off-by: Boris Brezillon } static struct mtd_part *allocate_partition(struct mtd_info *parent, -@@ -981,30 +968,27 @@ static int mtd_part_of_parse(struct mtd_ +@@ -1006,30 +993,27 @@ static int mtd_part_of_parse(struct mtd_ } /** @@ -136,7 +136,7 @@ Signed-off-by: Boris Brezillon struct mtd_part_parser *parser; int ret, err = 0; -@@ -1018,7 +1002,7 @@ int parse_mtd_partitions(struct mtd_info +@@ -1043,7 +1027,7 @@ int parse_mtd_partitions(struct mtd_info * handled in a separated function. */ if (!strcmp(*types, "ofpart")) { @@ -145,7 +145,7 @@ Signed-off-by: Boris Brezillon } else { pr_debug("%s: parsing partitions %s\n", master->name, *types); -@@ -1029,13 +1013,17 @@ int parse_mtd_partitions(struct mtd_info +@@ -1054,13 +1038,17 @@ int parse_mtd_partitions(struct mtd_info parser ? parser->name : NULL); if (!parser) continue; diff --git a/target/linux/generic/backport-4.14/046-v4.19-mtd-partitions-use-DT-info-for-parsing-partitions-wi.patch b/target/linux/generic/backport-4.14/046-v4.19-mtd-partitions-use-DT-info-for-parsing-partitions-wi.patch index 1bb3563f15..eff1a01692 100644 --- a/target/linux/generic/backport-4.14/046-v4.19-mtd-partitions-use-DT-info-for-parsing-partitions-wi.patch +++ b/target/linux/generic/backport-4.14/046-v4.19-mtd-partitions-use-DT-info-for-parsing-partitions-wi.patch @@ -55,9 +55,9 @@ Signed-off-by: Boris Brezillon static struct mtd_part *allocate_partition(struct mtd_info *parent, const struct mtd_partition *part, int partno, uint64_t cur_offset) -@@ -783,8 +767,8 @@ int add_mtd_partitions(struct mtd_info * +@@ -803,8 +787,8 @@ int add_mtd_partitions(struct mtd_info * + } - add_mtd_device(&slave->mtd); mtd_add_partition_attrs(slave); - if (parts[i].types) - mtd_parse_part(slave, parts[i].types); @@ -66,7 +66,7 @@ Signed-off-by: Boris Brezillon cur_offset = slave->offset + slave->mtd.size; } -@@ -860,6 +844,12 @@ static const char * const default_mtd_pa +@@ -885,6 +869,12 @@ static const char * const default_mtd_pa NULL }; @@ -79,7 +79,7 @@ Signed-off-by: Boris Brezillon static int mtd_part_do_parse(struct mtd_part_parser *parser, struct mtd_info *master, struct mtd_partitions *pparts, -@@ -930,7 +920,9 @@ static int mtd_part_of_parse(struct mtd_ +@@ -955,7 +945,9 @@ static int mtd_part_of_parse(struct mtd_ const char *fixed = "fixed-partitions"; int ret, err = 0; @@ -90,7 +90,7 @@ Signed-off-by: Boris Brezillon of_property_for_each_string(np, "compatible", prop, compat) { parser = mtd_part_get_compatible_parser(compat); if (!parser) -@@ -993,7 +985,8 @@ int parse_mtd_partitions(struct mtd_info +@@ -1018,7 +1010,8 @@ int parse_mtd_partitions(struct mtd_info int ret, err = 0; if (!types) diff --git a/target/linux/generic/backport-4.19/500-v4.20-ubifs-Fix-default-compression-selection-in-ubifs.patch b/target/linux/generic/backport-4.19/500-v4.20-ubifs-Fix-default-compression-selection-in-ubifs.patch deleted file mode 100644 index 7bd3ed9fad..0000000000 --- a/target/linux/generic/backport-4.19/500-v4.20-ubifs-Fix-default-compression-selection-in-ubifs.patch +++ /dev/null @@ -1,46 +0,0 @@ -From d62e98ed1efcaa94caa004f622944afdce5f1c3c Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Sun, 9 Dec 2018 18:12:13 +0100 -Subject: [PATCH] ubifs: Fix default compression selection in ubifs - -When ubifs is build without the LZO compressor and no compressor is -given the creation of the default file system will fail. before -selection the LZO compressor check if it is present and if not fall back -to the zlib or none. - -Signed-off-by: Gabor Juhos -Signed-off-by: Hauke Mehrtens -Signed-off-by: Richard Weinberger ---- - fs/ubifs/sb.c | 13 ++++++++++++- - 1 file changed, 12 insertions(+), 1 deletion(-) - ---- a/fs/ubifs/sb.c -+++ b/fs/ubifs/sb.c -@@ -63,6 +63,17 @@ - /* Default time granularity in nanoseconds */ - #define DEFAULT_TIME_GRAN 1000000000 - -+static int get_default_compressor(struct ubifs_info *c) -+{ -+ if (ubifs_compr_present(c, UBIFS_COMPR_LZO)) -+ return UBIFS_COMPR_LZO; -+ -+ if (ubifs_compr_present(c, UBIFS_COMPR_ZLIB)) -+ return UBIFS_COMPR_ZLIB; -+ -+ return UBIFS_COMPR_NONE; -+} -+ - /** - * create_default_filesystem - format empty UBI volume. - * @c: UBIFS file-system description object -@@ -186,7 +197,7 @@ static int create_default_filesystem(str - if (c->mount_opts.override_compr) - sup->default_compr = cpu_to_le16(c->mount_opts.compr_type); - else -- sup->default_compr = cpu_to_le16(UBIFS_COMPR_LZO); -+ sup->default_compr = cpu_to_le16(get_default_compressor(c)); - - generate_random_uuid(sup->uuid); - diff --git a/target/linux/generic/backport-4.9/065-v4.13-0002-mtd-partitions-factor-out-code-calling-parser.patch b/target/linux/generic/backport-4.9/065-v4.13-0002-mtd-partitions-factor-out-code-calling-parser.patch index d312e081a9..70c1462d3f 100644 --- a/target/linux/generic/backport-4.9/065-v4.13-0002-mtd-partitions-factor-out-code-calling-parser.patch +++ b/target/linux/generic/backport-4.9/065-v4.13-0002-mtd-partitions-factor-out-code-calling-parser.patch @@ -18,7 +18,7 @@ Acked-by: Brian Norris --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c -@@ -807,6 +807,27 @@ static const char * const default_mtd_pa +@@ -832,6 +832,27 @@ static const char * const default_mtd_pa NULL }; @@ -46,7 +46,7 @@ Acked-by: Brian Norris /** * parse_mtd_partitions - parse MTD partitions * @master: the master partition (describes whole MTD device) -@@ -847,16 +868,10 @@ int parse_mtd_partitions(struct mtd_info +@@ -872,16 +893,10 @@ int parse_mtd_partitions(struct mtd_info parser ? parser->name : NULL); if (!parser) continue; diff --git a/target/linux/generic/backport-4.9/065-v4.13-0003-mtd-partitions-add-helper-for-deleting-partition.patch b/target/linux/generic/backport-4.9/065-v4.13-0003-mtd-partitions-add-helper-for-deleting-partition.patch index d93f4ba4b5..dea64a1f6d 100644 --- a/target/linux/generic/backport-4.9/065-v4.13-0003-mtd-partitions-add-helper-for-deleting-partition.patch +++ b/target/linux/generic/backport-4.9/065-v4.13-0003-mtd-partitions-add-helper-for-deleting-partition.patch @@ -54,7 +54,7 @@ Signed-off-by: Brian Norris static struct mtd_part *allocate_partition(struct mtd_info *master, const struct mtd_partition *part, int partno, uint64_t cur_offset) -@@ -675,6 +649,48 @@ int mtd_add_partition(struct mtd_info *m +@@ -686,6 +660,48 @@ err_remove_part: } EXPORT_SYMBOL_GPL(mtd_add_partition); @@ -103,7 +103,7 @@ Signed-off-by: Brian Norris int mtd_del_partition(struct mtd_info *master, int partno) { struct mtd_part *slave, *next; -@@ -686,12 +702,7 @@ int mtd_del_partition(struct mtd_info *m +@@ -697,12 +713,7 @@ int mtd_del_partition(struct mtd_info *m (slave->mtd.index == partno)) { sysfs_remove_files(&slave->mtd.dev.kobj, mtd_partition_attrs); diff --git a/target/linux/generic/backport-4.9/065-v4.13-0004-mtd-partitions-remove-sysfs-files-when-deleting-all-.patch b/target/linux/generic/backport-4.9/065-v4.13-0004-mtd-partitions-remove-sysfs-files-when-deleting-all-.patch index 0f1b502b70..72edb25cc3 100644 --- a/target/linux/generic/backport-4.9/065-v4.13-0004-mtd-partitions-remove-sysfs-files-when-deleting-all-.patch +++ b/target/linux/generic/backport-4.9/065-v4.13-0004-mtd-partitions-remove-sysfs-files-when-deleting-all-.patch @@ -25,7 +25,7 @@ Signed-off-by: Brian Norris --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c -@@ -660,6 +660,8 @@ static int __mtd_del_partition(struct mt +@@ -671,6 +671,8 @@ static int __mtd_del_partition(struct mt { int err; @@ -34,7 +34,7 @@ Signed-off-by: Brian Norris err = del_mtd_device(&priv->mtd); if (err) return err; -@@ -700,8 +702,6 @@ int mtd_del_partition(struct mtd_info *m +@@ -711,8 +713,6 @@ int mtd_del_partition(struct mtd_info *m list_for_each_entry_safe(slave, next, &mtd_partitions, list) if ((slave->master == master) && (slave->mtd.index == partno)) { diff --git a/target/linux/generic/backport-4.9/065-v4.13-0005-mtd-partitions-rename-master-to-the-parent-where-app.patch b/target/linux/generic/backport-4.9/065-v4.13-0005-mtd-partitions-rename-master-to-the-parent-where-app.patch index 7951227654..490eaa2e7c 100644 --- a/target/linux/generic/backport-4.9/065-v4.13-0005-mtd-partitions-rename-master-to-the-parent-where-app.patch +++ b/target/linux/generic/backport-4.9/065-v4.13-0005-mtd-partitions-rename-master-to-the-parent-where-app.patch @@ -578,7 +578,7 @@ Signed-off-by: Brian Norris if (IS_ERR(new)) return PTR_ERR(new); -@@ -683,7 +689,7 @@ int del_mtd_partitions(struct mtd_info * +@@ -694,7 +700,7 @@ int del_mtd_partitions(struct mtd_info * mutex_lock(&mtd_partitions_mutex); list_for_each_entry_safe(slave, next, &mtd_partitions, list) @@ -587,7 +587,7 @@ Signed-off-by: Brian Norris ret = __mtd_del_partition(slave); if (ret < 0) err = ret; -@@ -700,7 +706,7 @@ int mtd_del_partition(struct mtd_info *m +@@ -711,7 +717,7 @@ int mtd_del_partition(struct mtd_info *m mutex_lock(&mtd_partitions_mutex); list_for_each_entry_safe(slave, next, &mtd_partitions, list) @@ -596,7 +596,7 @@ Signed-off-by: Brian Norris (slave->mtd.index == partno)) { ret = __mtd_del_partition(slave); break; -@@ -933,6 +939,6 @@ uint64_t mtd_get_device_size(const struc +@@ -958,6 +964,6 @@ uint64_t mtd_get_device_size(const struc if (!mtd_is_partition(mtd)) return mtd->size; diff --git a/target/linux/generic/backport-4.9/065-v4.13-0006-mtd-partitions-add-support-for-subpartitions.patch b/target/linux/generic/backport-4.9/065-v4.13-0006-mtd-partitions-add-support-for-subpartitions.patch index 0d3e10ac20..578e59a8a1 100644 --- a/target/linux/generic/backport-4.9/065-v4.13-0006-mtd-partitions-add-support-for-subpartitions.patch +++ b/target/linux/generic/backport-4.9/065-v4.13-0006-mtd-partitions-add-support-for-subpartitions.patch @@ -31,7 +31,7 @@ Signed-off-by: Brian Norris &parent->dev : parent->dev.parent; slave->mtd.dev.of_node = part->of_node; -@@ -664,8 +664,17 @@ EXPORT_SYMBOL_GPL(mtd_add_partition); +@@ -675,8 +675,17 @@ EXPORT_SYMBOL_GPL(mtd_add_partition); */ static int __mtd_del_partition(struct mtd_part *priv) { @@ -49,7 +49,7 @@ Signed-off-by: Brian Norris sysfs_remove_files(&priv->mtd.dev.kobj, mtd_partition_attrs); err = del_mtd_device(&priv->mtd); -@@ -680,16 +689,16 @@ static int __mtd_del_partition(struct mt +@@ -691,16 +700,16 @@ static int __mtd_del_partition(struct mt /* * This function unregisters and destroy all slave MTD objects which are @@ -69,7 +69,7 @@ Signed-off-by: Brian Norris ret = __mtd_del_partition(slave); if (ret < 0) err = ret; -@@ -699,14 +708,14 @@ int del_mtd_partitions(struct mtd_info * +@@ -710,14 +719,14 @@ int del_mtd_partitions(struct mtd_info * return err; } @@ -86,7 +86,7 @@ Signed-off-by: Brian Norris (slave->mtd.index == partno)) { ret = __mtd_del_partition(slave); break; -@@ -939,6 +948,6 @@ uint64_t mtd_get_device_size(const struc +@@ -964,6 +973,6 @@ uint64_t mtd_get_device_size(const struc if (!mtd_is_partition(mtd)) return mtd->size; diff --git a/target/linux/generic/backport-4.9/065-v4.13-0007-mtd-partitions-add-support-for-partition-parsers.patch b/target/linux/generic/backport-4.9/065-v4.13-0007-mtd-partitions-add-support-for-partition-parsers.patch index a28ee316fa..c4c517f238 100644 --- a/target/linux/generic/backport-4.9/065-v4.13-0007-mtd-partitions-add-support-for-partition-parsers.patch +++ b/target/linux/generic/backport-4.9/065-v4.13-0007-mtd-partitions-add-support-for-partition-parsers.patch @@ -76,9 +76,9 @@ Signed-off-by: Brian Norris static struct mtd_part *allocate_partition(struct mtd_info *parent, const struct mtd_partition *part, int partno, uint64_t cur_offset) -@@ -758,6 +787,8 @@ int add_mtd_partitions(struct mtd_info * +@@ -778,6 +807,8 @@ int add_mtd_partitions(struct mtd_info * + } - add_mtd_device(&slave->mtd); mtd_add_partition_attrs(slave); + if (parts[i].types) + mtd_parse_part(slave, parts[i].types); diff --git a/target/linux/generic/backport-4.9/067-v4.17-0001-mtd-partitions-add-of_match_table-parser-matching-fo.patch b/target/linux/generic/backport-4.9/067-v4.17-0001-mtd-partitions-add-of_match_table-parser-matching-fo.patch index 60eace2a34..cb464996b7 100644 --- a/target/linux/generic/backport-4.9/067-v4.17-0001-mtd-partitions-add-of_match_table-parser-matching-fo.patch +++ b/target/linux/generic/backport-4.9/067-v4.17-0001-mtd-partitions-add-of_match_table-parser-matching-fo.patch @@ -55,7 +55,7 @@ Signed-off-by: Boris Brezillon #include "mtdcore.h" -@@ -886,6 +887,92 @@ static int mtd_part_do_parse(struct mtd_ +@@ -911,6 +912,92 @@ static int mtd_part_do_parse(struct mtd_ } /** @@ -148,7 +148,7 @@ Signed-off-by: Boris Brezillon * parse_mtd_partitions - parse MTD partitions * @master: the master partition (describes whole MTD device) * @types: names of partition parsers to try or %NULL -@@ -917,19 +1004,30 @@ int parse_mtd_partitions(struct mtd_info +@@ -942,19 +1029,30 @@ int parse_mtd_partitions(struct mtd_info types = default_mtd_part_types; for ( ; *types; types++) { diff --git a/target/linux/generic/backport-4.9/067-v4.17-0002-mtd-rename-ofpart-parser-to-fixed-partitions-as-it-f.patch b/target/linux/generic/backport-4.9/067-v4.17-0002-mtd-rename-ofpart-parser-to-fixed-partitions-as-it-f.patch index 59f53df101..b22ddfabd8 100644 --- a/target/linux/generic/backport-4.9/067-v4.17-0002-mtd-rename-ofpart-parser-to-fixed-partitions-as-it-f.patch +++ b/target/linux/generic/backport-4.9/067-v4.17-0002-mtd-rename-ofpart-parser-to-fixed-partitions-as-it-f.patch @@ -22,7 +22,7 @@ Signed-off-by: Boris Brezillon --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c -@@ -932,7 +932,7 @@ static int mtd_part_of_parse(struct mtd_ +@@ -957,7 +957,7 @@ static int mtd_part_of_parse(struct mtd_ struct device_node *np; struct property *prop; const char *compat; @@ -31,7 +31,7 @@ Signed-off-by: Boris Brezillon int ret, err = 0; np = of_get_child_by_name(mtd_get_of_node(master), "partitions"); -@@ -952,7 +952,7 @@ static int mtd_part_of_parse(struct mtd_ +@@ -977,7 +977,7 @@ static int mtd_part_of_parse(struct mtd_ of_node_put(np); /* diff --git a/target/linux/generic/backport-4.9/068-v4.18-0001-mtd-move-code-adding-registering-partitions-to-the-p.patch b/target/linux/generic/backport-4.9/068-v4.18-0001-mtd-move-code-adding-registering-partitions-to-the-p.patch index 29aa3b9e8d..4bedd54a03 100644 --- a/target/linux/generic/backport-4.9/068-v4.18-0001-mtd-move-code-adding-registering-partitions-to-the-p.patch +++ b/target/linux/generic/backport-4.9/068-v4.18-0001-mtd-move-code-adding-registering-partitions-to-the-p.patch @@ -98,7 +98,7 @@ Signed-off-by: Boris Brezillon } static struct mtd_part *allocate_partition(struct mtd_info *parent, -@@ -973,30 +960,27 @@ static int mtd_part_of_parse(struct mtd_ +@@ -998,30 +985,27 @@ static int mtd_part_of_parse(struct mtd_ } /** @@ -136,7 +136,7 @@ Signed-off-by: Boris Brezillon struct mtd_part_parser *parser; int ret, err = 0; -@@ -1010,7 +994,7 @@ int parse_mtd_partitions(struct mtd_info +@@ -1035,7 +1019,7 @@ int parse_mtd_partitions(struct mtd_info * handled in a separated function. */ if (!strcmp(*types, "ofpart")) { @@ -145,7 +145,7 @@ Signed-off-by: Boris Brezillon } else { pr_debug("%s: parsing partitions %s\n", master->name, *types); -@@ -1021,13 +1005,17 @@ int parse_mtd_partitions(struct mtd_info +@@ -1046,13 +1030,17 @@ int parse_mtd_partitions(struct mtd_info parser ? parser->name : NULL); if (!parser) continue; diff --git a/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch b/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch index 6052bf5777..d8d8ad5ea4 100644 --- a/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch +++ b/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch @@ -137,7 +137,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/can/c_can/c_can.c +++ b/drivers/net/can/c_can/c_can.c -@@ -1079,7 +1079,7 @@ static int c_can_poll(struct napi_struct +@@ -1105,7 +1105,7 @@ static int c_can_poll(struct napi_struct end: if (work_done < quota) { @@ -313,7 +313,7 @@ Signed-off-by: David S. Miller } --- a/drivers/net/ethernet/atheros/atl1e/atl1e_main.c +++ b/drivers/net/ethernet/atheros/atl1e/atl1e_main.c -@@ -1532,7 +1532,7 @@ static int atl1e_clean(struct napi_struc +@@ -1534,7 +1534,7 @@ static int atl1e_clean(struct napi_struc /* If no Tx and not enough Rx work done, exit the polling mode */ if (work_done < budget) { quit_polling: diff --git a/target/linux/generic/backport-4.9/402-v4.19-mtd-partitions-use-DT-info-for-parsing-partitions-wi.patch b/target/linux/generic/backport-4.9/402-v4.19-mtd-partitions-use-DT-info-for-parsing-partitions-wi.patch index 4186f5599f..758de9fdf3 100644 --- a/target/linux/generic/backport-4.9/402-v4.19-mtd-partitions-use-DT-info-for-parsing-partitions-wi.patch +++ b/target/linux/generic/backport-4.9/402-v4.19-mtd-partitions-use-DT-info-for-parsing-partitions-wi.patch @@ -55,9 +55,9 @@ Signed-off-by: Boris Brezillon static struct mtd_part *allocate_partition(struct mtd_info *parent, const struct mtd_partition *part, int partno, uint64_t cur_offset) -@@ -775,8 +759,8 @@ int add_mtd_partitions(struct mtd_info * +@@ -795,8 +779,8 @@ int add_mtd_partitions(struct mtd_info * + } - add_mtd_device(&slave->mtd); mtd_add_partition_attrs(slave); - if (parts[i].types) - mtd_parse_part(slave, parts[i].types); @@ -66,7 +66,7 @@ Signed-off-by: Boris Brezillon cur_offset = slave->offset + slave->mtd.size; } -@@ -852,6 +836,12 @@ static const char * const default_mtd_pa +@@ -877,6 +861,12 @@ static const char * const default_mtd_pa NULL }; @@ -79,7 +79,7 @@ Signed-off-by: Boris Brezillon static int mtd_part_do_parse(struct mtd_part_parser *parser, struct mtd_info *master, struct mtd_partitions *pparts, -@@ -922,7 +912,9 @@ static int mtd_part_of_parse(struct mtd_ +@@ -947,7 +937,9 @@ static int mtd_part_of_parse(struct mtd_ const char *fixed = "fixed-partitions"; int ret, err = 0; @@ -90,7 +90,7 @@ Signed-off-by: Boris Brezillon of_property_for_each_string(np, "compatible", prop, compat) { parser = mtd_part_get_compatible_parser(compat); if (!parser) -@@ -985,7 +977,8 @@ int parse_mtd_partitions(struct mtd_info +@@ -1010,7 +1002,8 @@ int parse_mtd_partitions(struct mtd_info int ret, err = 0; if (!types) diff --git a/target/linux/generic/hack-4.14/930-crashlog.patch b/target/linux/generic/hack-4.14/930-crashlog.patch index 1479a4c06d..9d09dbd760 100644 --- a/target/linux/generic/hack-4.14/930-crashlog.patch +++ b/target/linux/generic/hack-4.14/930-crashlog.patch @@ -54,7 +54,7 @@ Signed-off-by: Felix Fietkau depends on BROKEN || !FRV --- a/kernel/Makefile +++ b/kernel/Makefile -@@ -113,6 +113,7 @@ obj-$(CONFIG_CONTEXT_TRACKING) += contex +@@ -110,6 +110,7 @@ obj-$(CONFIG_CONTEXT_TRACKING) += contex obj-$(CONFIG_TORTURE_TEST) += torture.o obj-$(CONFIG_HAS_IOMEM) += memremap.o diff --git a/target/linux/generic/hack-4.19/902-debloat_proc.patch b/target/linux/generic/hack-4.19/902-debloat_proc.patch index ec976c165b..4bd4d22168 100644 --- a/target/linux/generic/hack-4.19/902-debloat_proc.patch +++ b/target/linux/generic/hack-4.19/902-debloat_proc.patch @@ -327,7 +327,7 @@ Signed-off-by: Felix Fietkau --- a/net/core/sock.c +++ b/net/core/sock.c -@@ -3485,6 +3485,8 @@ static __net_initdata struct pernet_oper +@@ -3486,6 +3486,8 @@ static __net_initdata struct pernet_oper static int __init proto_init(void) { diff --git a/target/linux/generic/hack-4.19/930-crashlog.patch b/target/linux/generic/hack-4.19/930-crashlog.patch index 1562df44a4..bb16f22915 100644 --- a/target/linux/generic/hack-4.19/930-crashlog.patch +++ b/target/linux/generic/hack-4.19/930-crashlog.patch @@ -54,7 +54,7 @@ Signed-off-by: Felix Fietkau help --- a/kernel/Makefile +++ b/kernel/Makefile -@@ -117,6 +117,7 @@ obj-$(CONFIG_TORTURE_TEST) += torture.o +@@ -114,6 +114,7 @@ obj-$(CONFIG_TORTURE_TEST) += torture.o obj-$(CONFIG_HAS_IOMEM) += iomem.o obj-$(CONFIG_ZONE_DEVICE) += memremap.o obj-$(CONFIG_RSEQ) += rseq.o diff --git a/target/linux/generic/pending-4.14/161-mtd-part-add-generic-parsing-of-linux-part-probe.patch b/target/linux/generic/pending-4.14/161-mtd-part-add-generic-parsing-of-linux-part-probe.patch index 5e70756c4e..bf0c289227 100644 --- a/target/linux/generic/pending-4.14/161-mtd-part-add-generic-parsing-of-linux-part-probe.patch +++ b/target/linux/generic/pending-4.14/161-mtd-part-add-generic-parsing-of-linux-part-probe.patch @@ -110,7 +110,7 @@ Signed-off-by: Hauke Mehrtens #include #include -@@ -844,6 +845,37 @@ void deregister_mtd_parser(struct mtd_pa +@@ -869,6 +870,37 @@ void deregister_mtd_parser(struct mtd_pa } EXPORT_SYMBOL_GPL(deregister_mtd_parser); @@ -148,7 +148,7 @@ Signed-off-by: Hauke Mehrtens /* * Do not forget to update 'parse_mtd_partitions()' kerneldoc comment if you * are changing this array! -@@ -993,6 +1025,13 @@ int parse_mtd_partitions(struct mtd_info +@@ -1018,6 +1050,13 @@ int parse_mtd_partitions(struct mtd_info struct mtd_partitions pparts = { }; struct mtd_part_parser *parser; int ret, err = 0; @@ -162,7 +162,7 @@ Signed-off-by: Hauke Mehrtens if (!types) types = mtd_is_partition(master) ? default_subpartition_types : -@@ -1034,6 +1073,7 @@ int parse_mtd_partitions(struct mtd_info +@@ -1059,6 +1098,7 @@ int parse_mtd_partitions(struct mtd_info if (ret < 0 && !err) err = ret; } diff --git a/target/linux/generic/pending-4.14/400-mtd-add-rootfs-split-support.patch b/target/linux/generic/pending-4.14/400-mtd-add-rootfs-split-support.patch index 5f8899ea61..10ad99585d 100644 --- a/target/linux/generic/pending-4.14/400-mtd-add-rootfs-split-support.patch +++ b/target/linux/generic/pending-4.14/400-mtd-add-rootfs-split-support.patch @@ -60,15 +60,15 @@ Signed-off-by: Felix Fietkau /* * Given a pointer to the MTD object in the mtd_part structure, we can retrieve * the pointer to that structure. -@@ -668,6 +672,7 @@ int mtd_add_partition(struct mtd_info *p - mutex_unlock(&mtd_partitions_mutex); +@@ -671,6 +675,7 @@ int mtd_add_partition(struct mtd_info *p + if (ret) + goto err_remove_part; - add_mtd_device(&new->mtd); + mtd_partition_split(parent, new); - mtd_add_partition_attrs(new); -@@ -746,6 +751,29 @@ int mtd_del_partition(struct mtd_info *m + return 0; +@@ -757,6 +762,29 @@ int mtd_del_partition(struct mtd_info *m } EXPORT_SYMBOL_GPL(mtd_del_partition); @@ -98,10 +98,10 @@ Signed-off-by: Felix Fietkau /* * This function, given a master MTD object and a partition table, creates * and registers slave MTD objects which are bound to the master according to -@@ -777,6 +805,7 @@ int add_mtd_partitions(struct mtd_info * - mutex_unlock(&mtd_partitions_mutex); +@@ -797,6 +825,7 @@ int add_mtd_partitions(struct mtd_info * + goto err_del_partitions; + } - add_mtd_device(&slave->mtd); + mtd_partition_split(master, slave); mtd_add_partition_attrs(slave); /* Look for subpartitions */ diff --git a/target/linux/generic/pending-4.14/401-mtd-add-support-for-different-partition-parser-types.patch b/target/linux/generic/pending-4.14/401-mtd-add-support-for-different-partition-parser-types.patch index 359c4c167b..057d473684 100644 --- a/target/linux/generic/pending-4.14/401-mtd-add-support-for-different-partition-parser-types.patch +++ b/target/linux/generic/pending-4.14/401-mtd-add-support-for-different-partition-parser-types.patch @@ -20,7 +20,7 @@ Signed-off-by: Gabor Juhos /* * Given a pointer to the MTD object in the mtd_part structure, we can retrieve -@@ -751,6 +755,36 @@ int mtd_del_partition(struct mtd_info *m +@@ -762,6 +766,36 @@ int mtd_del_partition(struct mtd_info *m } EXPORT_SYMBOL_GPL(mtd_del_partition); @@ -57,7 +57,7 @@ Signed-off-by: Gabor Juhos #ifdef CONFIG_MTD_SPLIT_FIRMWARE_NAME #define SPLIT_FIRMWARE_NAME CONFIG_MTD_SPLIT_FIRMWARE_NAME #else -@@ -1122,6 +1156,61 @@ void mtd_part_parser_cleanup(struct mtd_ +@@ -1147,6 +1181,61 @@ void mtd_part_parser_cleanup(struct mtd_ } } diff --git a/target/linux/generic/pending-4.14/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch b/target/linux/generic/pending-4.14/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch index e870663355..2cc06dd463 100644 --- a/target/linux/generic/pending-4.14/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch +++ b/target/linux/generic/pending-4.14/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch @@ -10,7 +10,7 @@ Signed-off-by: Gabor Juhos --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c -@@ -793,6 +793,7 @@ run_parsers_by_type(struct mtd_part *sla +@@ -804,6 +804,7 @@ run_parsers_by_type(struct mtd_part *sla static void split_firmware(struct mtd_info *master, struct mtd_part *part) { @@ -18,7 +18,7 @@ Signed-off-by: Gabor Juhos } static void mtd_partition_split(struct mtd_info *master, struct mtd_part *part) -@@ -802,6 +803,12 @@ static void mtd_partition_split(struct m +@@ -813,6 +814,12 @@ static void mtd_partition_split(struct m if (rootfs_found) return; diff --git a/target/linux/generic/pending-4.14/404-mtd-add-more-helper-functions.patch b/target/linux/generic/pending-4.14/404-mtd-add-more-helper-functions.patch index 94c59df01d..7b481ffb47 100644 --- a/target/linux/generic/pending-4.14/404-mtd-add-more-helper-functions.patch +++ b/target/linux/generic/pending-4.14/404-mtd-add-more-helper-functions.patch @@ -11,7 +11,7 @@ Signed-off-by: Gabor Juhos --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c -@@ -1235,6 +1235,24 @@ int mtd_is_partition(const struct mtd_in +@@ -1260,6 +1260,24 @@ int mtd_is_partition(const struct mtd_in } EXPORT_SYMBOL_GPL(mtd_is_partition); diff --git a/target/linux/generic/pending-4.14/920-mangle_bootargs.patch b/target/linux/generic/pending-4.14/920-mangle_bootargs.patch index adeb9f12f9..2f6a52c23d 100644 --- a/target/linux/generic/pending-4.14/920-mangle_bootargs.patch +++ b/target/linux/generic/pending-4.14/920-mangle_bootargs.patch @@ -31,7 +31,7 @@ Signed-off-by: Imre Kaloz help --- a/init/main.c +++ b/init/main.c -@@ -359,6 +359,29 @@ static inline void setup_nr_cpu_ids(void +@@ -358,6 +358,29 @@ static inline void setup_nr_cpu_ids(void static inline void smp_prepare_cpus(unsigned int maxcpus) { } #endif @@ -61,7 +61,7 @@ Signed-off-by: Imre Kaloz /* * We need to store the untouched command line for future reference. * We also need to store the touched command line since the parameter -@@ -540,6 +563,7 @@ asmlinkage __visible void __init start_k +@@ -539,6 +562,7 @@ asmlinkage __visible void __init start_k add_device_randomness(command_line, strlen(command_line)); boot_init_stack_canary(); mm_init_cpumask(&init_mm); diff --git a/target/linux/generic/pending-4.19/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch b/target/linux/generic/pending-4.19/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch index 1a416e7782..ec541a865c 100644 --- a/target/linux/generic/pending-4.19/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch +++ b/target/linux/generic/pending-4.19/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch @@ -71,7 +71,7 @@ Signed-off-by: Tobias Wolf --- a/mm/page_alloc.c +++ b/mm/page_alloc.c -@@ -6403,7 +6403,7 @@ static void __ref alloc_node_mem_map(str +@@ -6400,7 +6400,7 @@ static void __ref alloc_node_mem_map(str mem_map = NODE_DATA(0)->node_mem_map; #if defined(CONFIG_HAVE_MEMBLOCK_NODE_MAP) || defined(CONFIG_FLATMEM) if (page_to_pfn(mem_map) != pgdat->node_start_pfn) diff --git a/target/linux/generic/pending-4.19/400-mtd-add-rootfs-split-support.patch b/target/linux/generic/pending-4.19/400-mtd-add-rootfs-split-support.patch index e646224df2..bc783deb40 100644 --- a/target/linux/generic/pending-4.19/400-mtd-add-rootfs-split-support.patch +++ b/target/linux/generic/pending-4.19/400-mtd-add-rootfs-split-support.patch @@ -59,15 +59,15 @@ Signed-off-by: Felix Fietkau /* * Given a pointer to the MTD object in the mtd_part structure, we can retrieve * the pointer to that structure. -@@ -623,6 +627,7 @@ int mtd_add_partition(struct mtd_info *p - mutex_unlock(&mtd_partitions_mutex); +@@ -626,6 +630,7 @@ int mtd_add_partition(struct mtd_info *p + if (ret) + goto err_remove_part; - add_mtd_device(&new->mtd); + mtd_partition_split(parent, new); - mtd_add_partition_attrs(new); -@@ -701,6 +706,29 @@ int mtd_del_partition(struct mtd_info *m + return 0; +@@ -712,6 +717,29 @@ int mtd_del_partition(struct mtd_info *m } EXPORT_SYMBOL_GPL(mtd_del_partition); @@ -97,10 +97,10 @@ Signed-off-by: Felix Fietkau /* * This function, given a master MTD object and a partition table, creates * and registers slave MTD objects which are bound to the master according to -@@ -732,6 +760,7 @@ int add_mtd_partitions(struct mtd_info * - mutex_unlock(&mtd_partitions_mutex); +@@ -752,6 +780,7 @@ int add_mtd_partitions(struct mtd_info * + goto err_del_partitions; + } - add_mtd_device(&slave->mtd); + mtd_partition_split(master, slave); mtd_add_partition_attrs(slave); /* Look for subpartitions */ diff --git a/target/linux/generic/pending-4.19/401-mtd-add-support-for-different-partition-parser-types.patch b/target/linux/generic/pending-4.19/401-mtd-add-support-for-different-partition-parser-types.patch index 4026a2050b..a59659cda6 100644 --- a/target/linux/generic/pending-4.19/401-mtd-add-support-for-different-partition-parser-types.patch +++ b/target/linux/generic/pending-4.19/401-mtd-add-support-for-different-partition-parser-types.patch @@ -20,7 +20,7 @@ Signed-off-by: Gabor Juhos /* * Given a pointer to the MTD object in the mtd_part structure, we can retrieve -@@ -706,6 +710,36 @@ int mtd_del_partition(struct mtd_info *m +@@ -717,6 +721,36 @@ int mtd_del_partition(struct mtd_info *m } EXPORT_SYMBOL_GPL(mtd_del_partition); @@ -57,7 +57,7 @@ Signed-off-by: Gabor Juhos #ifdef CONFIG_MTD_SPLIT_FIRMWARE_NAME #define SPLIT_FIRMWARE_NAME CONFIG_MTD_SPLIT_FIRMWARE_NAME #else -@@ -1041,6 +1075,61 @@ void mtd_part_parser_cleanup(struct mtd_ +@@ -1066,6 +1100,61 @@ void mtd_part_parser_cleanup(struct mtd_ } } diff --git a/target/linux/generic/pending-4.19/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch b/target/linux/generic/pending-4.19/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch index 8a90ce6a8b..58d2e44574 100644 --- a/target/linux/generic/pending-4.19/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch +++ b/target/linux/generic/pending-4.19/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch @@ -10,7 +10,7 @@ Signed-off-by: Gabor Juhos --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c -@@ -748,6 +748,7 @@ run_parsers_by_type(struct mtd_part *sla +@@ -759,6 +759,7 @@ run_parsers_by_type(struct mtd_part *sla static void split_firmware(struct mtd_info *master, struct mtd_part *part) { @@ -18,7 +18,7 @@ Signed-off-by: Gabor Juhos } static void mtd_partition_split(struct mtd_info *master, struct mtd_part *part) -@@ -757,6 +758,12 @@ static void mtd_partition_split(struct m +@@ -768,6 +769,12 @@ static void mtd_partition_split(struct m if (rootfs_found) return; diff --git a/target/linux/generic/pending-4.19/404-mtd-add-more-helper-functions.patch b/target/linux/generic/pending-4.19/404-mtd-add-more-helper-functions.patch index 2e95e99f6d..e404ec1fb2 100644 --- a/target/linux/generic/pending-4.19/404-mtd-add-more-helper-functions.patch +++ b/target/linux/generic/pending-4.19/404-mtd-add-more-helper-functions.patch @@ -11,7 +11,7 @@ Signed-off-by: Gabor Juhos --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c -@@ -1154,6 +1154,24 @@ int mtd_is_partition(const struct mtd_in +@@ -1179,6 +1179,24 @@ int mtd_is_partition(const struct mtd_in } EXPORT_SYMBOL_GPL(mtd_is_partition); diff --git a/target/linux/generic/pending-4.19/920-mangle_bootargs.patch b/target/linux/generic/pending-4.19/920-mangle_bootargs.patch index 51af6b5d6b..0750ab77c2 100644 --- a/target/linux/generic/pending-4.19/920-mangle_bootargs.patch +++ b/target/linux/generic/pending-4.19/920-mangle_bootargs.patch @@ -31,7 +31,7 @@ Signed-off-by: Imre Kaloz help --- a/init/main.c +++ b/init/main.c -@@ -366,6 +366,29 @@ static inline void setup_nr_cpu_ids(void +@@ -365,6 +365,29 @@ static inline void setup_nr_cpu_ids(void static inline void smp_prepare_cpus(unsigned int maxcpus) { } #endif @@ -61,7 +61,7 @@ Signed-off-by: Imre Kaloz /* * We need to store the untouched command line for future reference. * We also need to store the touched command line since the parameter -@@ -558,6 +581,7 @@ asmlinkage __visible void __init start_k +@@ -557,6 +580,7 @@ asmlinkage __visible void __init start_k add_device_randomness(command_line, strlen(command_line)); boot_init_stack_canary(); mm_init_cpumask(&init_mm); diff --git a/target/linux/generic/pending-4.9/161-mtd-part-add-generic-parsing-of-linux-part-probe.patch b/target/linux/generic/pending-4.9/161-mtd-part-add-generic-parsing-of-linux-part-probe.patch index 64ed23170b..11a33b7ebf 100644 --- a/target/linux/generic/pending-4.9/161-mtd-part-add-generic-parsing-of-linux-part-probe.patch +++ b/target/linux/generic/pending-4.9/161-mtd-part-add-generic-parsing-of-linux-part-probe.patch @@ -114,7 +114,7 @@ Signed-off-by: Hauke Mehrtens #include #include -@@ -827,6 +828,42 @@ void deregister_mtd_parser(struct mtd_pa +@@ -852,6 +853,42 @@ void deregister_mtd_parser(struct mtd_pa EXPORT_SYMBOL_GPL(deregister_mtd_parser); /* @@ -157,7 +157,7 @@ Signed-off-by: Hauke Mehrtens * Do not forget to update 'parse_mtd_partitions()' kerneldoc comment if you * are changing this array! */ -@@ -975,6 +1012,13 @@ int parse_mtd_partitions(struct mtd_info +@@ -1000,6 +1037,13 @@ int parse_mtd_partitions(struct mtd_info struct mtd_partitions pparts = { }; struct mtd_part_parser *parser; int ret, err = 0; @@ -171,7 +171,7 @@ Signed-off-by: Hauke Mehrtens if (!types) types = mtd_is_partition(master) ? default_subpartition_types : -@@ -1016,6 +1060,7 @@ int parse_mtd_partitions(struct mtd_info +@@ -1041,6 +1085,7 @@ int parse_mtd_partitions(struct mtd_info if (ret < 0 && !err) err = ret; } diff --git a/target/linux/generic/pending-4.9/400-mtd-add-rootfs-split-support.patch b/target/linux/generic/pending-4.9/400-mtd-add-rootfs-split-support.patch index c9e3ca3713..4369ed3f4f 100644 --- a/target/linux/generic/pending-4.9/400-mtd-add-rootfs-split-support.patch +++ b/target/linux/generic/pending-4.9/400-mtd-add-rootfs-split-support.patch @@ -60,15 +60,15 @@ Signed-off-by: Felix Fietkau /* * Given a pointer to the MTD object in the mtd_part structure, we can retrieve * the pointer to that structure. -@@ -650,6 +654,7 @@ int mtd_add_partition(struct mtd_info *p - mutex_unlock(&mtd_partitions_mutex); +@@ -653,6 +657,7 @@ int mtd_add_partition(struct mtd_info *p + if (ret) + goto err_remove_part; - add_mtd_device(&new->mtd); + mtd_partition_split(parent, new); - mtd_add_partition_attrs(new); -@@ -728,6 +733,29 @@ int mtd_del_partition(struct mtd_info *m + return 0; +@@ -739,6 +744,29 @@ int mtd_del_partition(struct mtd_info *m } EXPORT_SYMBOL_GPL(mtd_del_partition); @@ -98,10 +98,10 @@ Signed-off-by: Felix Fietkau /* * This function, given a master MTD object and a partition table, creates * and registers slave MTD objects which are bound to the master according to -@@ -759,6 +787,7 @@ int add_mtd_partitions(struct mtd_info * - mutex_unlock(&mtd_partitions_mutex); +@@ -779,6 +807,7 @@ int add_mtd_partitions(struct mtd_info * + goto err_del_partitions; + } - add_mtd_device(&slave->mtd); + mtd_partition_split(master, slave); mtd_add_partition_attrs(slave); /* Look for subpartitions */ diff --git a/target/linux/generic/pending-4.9/401-mtd-add-support-for-different-partition-parser-types.patch b/target/linux/generic/pending-4.9/401-mtd-add-support-for-different-partition-parser-types.patch index 5a9d3f7560..eefba9f508 100644 --- a/target/linux/generic/pending-4.9/401-mtd-add-support-for-different-partition-parser-types.patch +++ b/target/linux/generic/pending-4.9/401-mtd-add-support-for-different-partition-parser-types.patch @@ -20,7 +20,7 @@ Signed-off-by: Gabor Juhos /* * Given a pointer to the MTD object in the mtd_part structure, we can retrieve -@@ -733,6 +737,36 @@ int mtd_del_partition(struct mtd_info *m +@@ -744,6 +748,36 @@ int mtd_del_partition(struct mtd_info *m } EXPORT_SYMBOL_GPL(mtd_del_partition); @@ -57,7 +57,7 @@ Signed-off-by: Gabor Juhos #ifdef CONFIG_MTD_SPLIT_FIRMWARE_NAME #define SPLIT_FIRMWARE_NAME CONFIG_MTD_SPLIT_FIRMWARE_NAME #else -@@ -1109,6 +1143,61 @@ void mtd_part_parser_cleanup(struct mtd_ +@@ -1134,6 +1168,61 @@ void mtd_part_parser_cleanup(struct mtd_ } } diff --git a/target/linux/generic/pending-4.9/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch b/target/linux/generic/pending-4.9/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch index 42d95360fd..6085cb8ffb 100644 --- a/target/linux/generic/pending-4.9/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch +++ b/target/linux/generic/pending-4.9/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch @@ -10,7 +10,7 @@ Signed-off-by: Gabor Juhos --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c -@@ -775,6 +775,7 @@ run_parsers_by_type(struct mtd_part *sla +@@ -786,6 +786,7 @@ run_parsers_by_type(struct mtd_part *sla static void split_firmware(struct mtd_info *master, struct mtd_part *part) { @@ -18,7 +18,7 @@ Signed-off-by: Gabor Juhos } static void mtd_partition_split(struct mtd_info *master, struct mtd_part *part) -@@ -784,6 +785,12 @@ static void mtd_partition_split(struct m +@@ -795,6 +796,12 @@ static void mtd_partition_split(struct m if (rootfs_found) return; diff --git a/target/linux/generic/pending-4.9/404-mtd-add-more-helper-functions.patch b/target/linux/generic/pending-4.9/404-mtd-add-more-helper-functions.patch index b59977455e..294a0f6f8b 100644 --- a/target/linux/generic/pending-4.9/404-mtd-add-more-helper-functions.patch +++ b/target/linux/generic/pending-4.9/404-mtd-add-more-helper-functions.patch @@ -11,7 +11,7 @@ Signed-off-by: Gabor Juhos --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c -@@ -1222,6 +1222,24 @@ int mtd_is_partition(const struct mtd_in +@@ -1247,6 +1247,24 @@ int mtd_is_partition(const struct mtd_in } EXPORT_SYMBOL_GPL(mtd_is_partition); diff --git a/target/linux/ipq806x/patches-4.14/0067-generic-Mangle-bootloader-s-kernel-arguments.patch b/target/linux/ipq806x/patches-4.14/0067-generic-Mangle-bootloader-s-kernel-arguments.patch index b6f1f47424..5d3243ccb4 100644 --- a/target/linux/ipq806x/patches-4.14/0067-generic-Mangle-bootloader-s-kernel-arguments.patch +++ b/target/linux/ipq806x/patches-4.14/0067-generic-Mangle-bootloader-s-kernel-arguments.patch @@ -168,7 +168,7 @@ Signed-off-by: Adrian Panella static int kernel_init(void *); extern void init_IRQ(void); -@@ -574,6 +578,18 @@ asmlinkage __visible void __init start_k +@@ -573,6 +577,18 @@ asmlinkage __visible void __init start_k page_alloc_init(); pr_notice("Kernel command line: %s\n", boot_command_line); diff --git a/target/linux/ixp4xx/config-4.9 b/target/linux/ixp4xx/config-4.9 index c9b1be9304..5623f907a6 100644 --- a/target/linux/ixp4xx/config-4.9 +++ b/target/linux/ixp4xx/config-4.9 @@ -150,8 +150,6 @@ CONFIG_IXP4XX_WATCHDOG=y CONFIG_LEDS_FSG=y CONFIG_LEDS_GPIO=y CONFIG_LEDS_LATCH=y -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 CONFIG_LZO_COMPRESS=y CONFIG_LZO_DECOMPRESS=y CONFIG_MACH_AP1000=y diff --git a/target/linux/kirkwood/config-4.14 b/target/linux/kirkwood/config-4.14 index d907573379..9481d0a3cf 100644 --- a/target/linux/kirkwood/config-4.14 +++ b/target/linux/kirkwood/config-4.14 @@ -199,8 +199,6 @@ CONFIG_KIRKWOOD_THERMAL=y CONFIG_LEDS_GPIO=y CONFIG_LEDS_NETXBIG=y CONFIG_LEDS_NS2=y -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 CONFIG_LIBFDT=y CONFIG_LZO_COMPRESS=y CONFIG_LZO_DECOMPRESS=y diff --git a/target/linux/kirkwood/config-4.19 b/target/linux/kirkwood/config-4.19 index a378fb0400..d7ea9e9eef 100644 --- a/target/linux/kirkwood/config-4.19 +++ b/target/linux/kirkwood/config-4.19 @@ -195,8 +195,6 @@ CONFIG_KIRKWOOD_THERMAL=y CONFIG_LEDS_GPIO=y CONFIG_LEDS_NETXBIG=y CONFIG_LEDS_NS2=y -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 CONFIG_LIBFDT=y CONFIG_LOCK_DEBUGGING_SUPPORT=y CONFIG_LZO_COMPRESS=y diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/FRITZ736X.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/FRITZ736X.dtsi index 57033eb4a9..f58a414a28 100644 --- a/target/linux/lantiq/files/arch/mips/boot/dts/FRITZ736X.dtsi +++ b/target/linux/lantiq/files/arch/mips/boot/dts/FRITZ736X.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include "vr9.dtsi" diff --git a/target/linux/lantiq/patches-4.19/0003-usb-dwc2-use-a-longer-core-rest-timeout-in-dwc2_core.patch b/target/linux/lantiq/patches-4.19/0003-usb-dwc2-use-a-longer-core-rest-timeout-in-dwc2_core.patch deleted file mode 100644 index dde7b3f23b..0000000000 --- a/target/linux/lantiq/patches-4.19/0003-usb-dwc2-use-a-longer-core-rest-timeout-in-dwc2_core.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 09bbf8c732e7a6ce290fc7c2d5a3e79ec6c3e8d2 Mon Sep 17 00:00:00 2001 -From: Mathias Kresin -Date: Wed, 3 Jul 2019 17:03:02 +0200 -Subject: [PATCH] usb: dwc2: use a longer core rest timeout in - dwc2_core_reset() - -Testing on different generations of Lantiq MIPS SoC based boards, showed -that it takes up to 1500 us until the core reset bit is cleared. - -The driver from the vendor SDK (ifxhcd) uses a 1 second timeout. Use the -same timeout to fix wrong hang detections and make the driver work for -Lantiq MIPS SoCs. - -Signed-off-by: Mathias Kresin ---- - drivers/usb/dwc2/core.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/usb/dwc2/core.c -+++ b/drivers/usb/dwc2/core.c -@@ -524,7 +524,7 @@ int dwc2_core_reset(struct dwc2_hsotg *h - greset |= GRSTCTL_CSFTRST; - dwc2_writel(hsotg, greset, GRSTCTL); - -- if (dwc2_hsotg_wait_bit_clear(hsotg, GRSTCTL, GRSTCTL_CSFTRST, 50)) { -+ if (dwc2_hsotg_wait_bit_clear(hsotg, GRSTCTL, GRSTCTL_CSFTRST, 10000)) { - dev_warn(hsotg->dev, "%s: HANG! Soft Reset timeout GRSTCTL GRSTCTL_CSFTRST\n", - __func__); - return -EBUSY; diff --git a/target/linux/layerscape/armv7/config-4.14 b/target/linux/layerscape/armv7/config-4.14 index 5e13f11ea0..2128e27b8f 100644 --- a/target/linux/layerscape/armv7/config-4.14 +++ b/target/linux/layerscape/armv7/config-4.14 @@ -419,8 +419,6 @@ CONFIG_KERNEL_GZIP=y # CONFIG_KERNEL_XZ is not set CONFIG_KEXEC=y CONFIG_KEXEC_CORE=y -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 CONFIG_LIBFDT=y CONFIG_LOCALVERSION_AUTO=y CONFIG_LOCK_SPIN_ON_OWNER=y diff --git a/target/linux/layerscape/armv8_64b/config-4.14 b/target/linux/layerscape/armv8_64b/config-4.14 index c981c0119e..54e6d4cd9d 100644 --- a/target/linux/layerscape/armv8_64b/config-4.14 +++ b/target/linux/layerscape/armv8_64b/config-4.14 @@ -553,8 +553,6 @@ CONFIG_KEYBOARD_ATKBD=y CONFIG_KEYBOARD_GPIO=y CONFIG_KSM=y # CONFIG_LCD_CLASS_DEVICE is not set -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=16 CONFIG_LIBCRC32C=y CONFIG_LIBFDT=y CONFIG_LOCALVERSION_AUTO=y diff --git a/target/linux/layerscape/patches-4.14/202-core-linux-support-layerscape.patch b/target/linux/layerscape/patches-4.14/202-core-linux-support-layerscape.patch index 49e528402c..7be95d49e4 100644 --- a/target/linux/layerscape/patches-4.14/202-core-linux-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.14/202-core-linux-support-layerscape.patch @@ -321,7 +321,7 @@ Signed-off-by: Yangbo Lu } else if (has_acpi_companion(dma_dev)) { --- a/drivers/gpu/ipu-v3/ipu-pre.c +++ b/drivers/gpu/ipu-v3/ipu-pre.c -@@ -124,7 +124,8 @@ ipu_pre_lookup_by_phandle(struct device +@@ -125,7 +125,8 @@ ipu_pre_lookup_by_phandle(struct device list_for_each_entry(pre, &ipu_pre_list, list) { if (pre_node == pre->dev->of_node) { mutex_unlock(&ipu_pre_list_mutex); diff --git a/target/linux/malta/config-4.14 b/target/linux/malta/config-4.14 index 45d2197ae1..6fc80b33c9 100644 --- a/target/linux/malta/config-4.14 +++ b/target/linux/malta/config-4.14 @@ -179,8 +179,6 @@ CONFIG_KALLSYMS=y CONFIG_KERNEL_GZIP=y # CONFIG_KERNEL_XZ is not set # CONFIG_LEDS_TRIGGER_TIMER is not set -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 CONFIG_LIBFDT=y CONFIG_MD=y # CONFIG_MDIO_BUS is not set diff --git a/target/linux/malta/config-4.19 b/target/linux/malta/config-4.19 index a04c60ccee..f66036e27b 100644 --- a/target/linux/malta/config-4.19 +++ b/target/linux/malta/config-4.19 @@ -187,8 +187,6 @@ CONFIG_JFFS2_FS_SECURITY=y CONFIG_KALLSYMS=y CONFIG_KERNEL_GZIP=y # CONFIG_KERNEL_XZ is not set -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 CONFIG_LIBFDT=y CONFIG_LOCK_DEBUGGING_SUPPORT=y CONFIG_MD=y diff --git a/target/linux/mediatek/patches-4.19/0101-pci-mediatek-backport-fix-pcie.patch b/target/linux/mediatek/patches-4.19/0101-pci-mediatek-backport-fix-pcie.patch index 9afcedaa77..d4c4ea7738 100644 --- a/target/linux/mediatek/patches-4.19/0101-pci-mediatek-backport-fix-pcie.patch +++ b/target/linux/mediatek/patches-4.19/0101-pci-mediatek-backport-fix-pcie.patch @@ -57,83 +57,7 @@ } static void mtk_pcie_port_free(struct mtk_pcie_port *port) -@@ -394,75 +395,6 @@ static struct pci_ops mtk_pcie_ops_v2 = - .write = mtk_pcie_config_write, - }; - --static int mtk_pcie_startup_port_v2(struct mtk_pcie_port *port) --{ -- struct mtk_pcie *pcie = port->pcie; -- struct resource *mem = &pcie->mem; -- const struct mtk_pcie_soc *soc = port->pcie->soc; -- u32 val; -- size_t size; -- int err; -- -- /* MT7622 platforms need to enable LTSSM and ASPM from PCIe subsys */ -- if (pcie->base) { -- val = readl(pcie->base + PCIE_SYS_CFG_V2); -- val |= PCIE_CSR_LTSSM_EN(port->slot) | -- PCIE_CSR_ASPM_L1_EN(port->slot); -- writel(val, pcie->base + PCIE_SYS_CFG_V2); -- } -- -- /* Assert all reset signals */ -- writel(0, port->base + PCIE_RST_CTRL); -- -- /* -- * Enable PCIe link down reset, if link status changed from link up to -- * link down, this will reset MAC control registers and configuration -- * space. -- */ -- writel(PCIE_LINKDOWN_RST_EN, port->base + PCIE_RST_CTRL); -- -- /* De-assert PHY, PE, PIPE, MAC and configuration reset */ -- val = readl(port->base + PCIE_RST_CTRL); -- val |= PCIE_PHY_RSTB | PCIE_PERSTB | PCIE_PIPE_SRSTB | -- PCIE_MAC_SRSTB | PCIE_CRSTB; -- writel(val, port->base + PCIE_RST_CTRL); -- -- /* Set up vendor ID and class code */ -- if (soc->need_fix_class_id) { -- val = PCI_VENDOR_ID_MEDIATEK; -- writew(val, port->base + PCIE_CONF_VEND_ID); -- -- val = PCI_CLASS_BRIDGE_HOST; -- writew(val, port->base + PCIE_CONF_CLASS_ID); -- } -- -- /* 100ms timeout value should be enough for Gen1/2 training */ -- err = readl_poll_timeout(port->base + PCIE_LINK_STATUS_V2, val, -- !!(val & PCIE_PORT_LINKUP_V2), 20, -- 100 * USEC_PER_MSEC); -- if (err) -- return -ETIMEDOUT; -- -- /* Set INTx mask */ -- val = readl(port->base + PCIE_INT_MASK); -- val &= ~INTX_MASK; -- writel(val, port->base + PCIE_INT_MASK); -- -- /* Set AHB to PCIe translation windows */ -- size = mem->end - mem->start; -- val = lower_32_bits(mem->start) | AHB2PCIE_SIZE(fls(size)); -- writel(val, port->base + PCIE_AHB_TRANS_BASE0_L); -- -- val = upper_32_bits(mem->start); -- writel(val, port->base + PCIE_AHB_TRANS_BASE0_H); -- -- /* Set PCIe to AXI translation memory space.*/ -- val = fls(0xffffffff) | WIN_ENABLE; -- writel(val, port->base + PCIE_AXI_WINDOW0); -- -- return 0; --} -- - static void mtk_compose_msi_msg(struct irq_data *data, struct msi_msg *msg) - { - struct mtk_pcie_port *port = irq_data_get_irq_chip_data(data); -@@ -601,6 +533,27 @@ static void mtk_pcie_enable_msi(struct m +@@ -532,6 +533,27 @@ static void mtk_pcie_enable_msi(struct m writel(val, port->base + PCIE_INT_MASK); } @@ -161,7 +85,7 @@ static int mtk_pcie_intx_map(struct irq_domain *domain, unsigned int irq, irq_hw_number_t hwirq) { -@@ -630,6 +583,7 @@ static int mtk_pcie_init_irq_domain(stru +@@ -561,6 +583,7 @@ static int mtk_pcie_init_irq_domain(stru port->irq_domain = irq_domain_add_linear(pcie_intc_node, PCI_NUM_INTX, &intx_domain_ops, port); @@ -169,16 +93,7 @@ if (!port->irq_domain) { dev_err(dev, "failed to get INTx IRQ domain\n"); return -ENODEV; -@@ -639,8 +593,6 @@ static int mtk_pcie_init_irq_domain(stru - ret = mtk_pcie_allocate_msi_domains(port); - if (ret) - return ret; -- -- mtk_pcie_enable_msi(port); - } - - return 0; -@@ -693,7 +645,7 @@ static int mtk_pcie_setup_irq(struct mtk +@@ -622,7 +645,7 @@ static int mtk_pcie_setup_irq(struct mtk struct mtk_pcie *pcie = port->pcie; struct device *dev = pcie->dev; struct platform_device *pdev = to_platform_device(dev); @@ -187,7 +102,7 @@ err = mtk_pcie_init_irq_domain(port, node); if (err) { -@@ -701,8 +653,81 @@ static int mtk_pcie_setup_irq(struct mtk +@@ -630,8 +653,9 @@ static int mtk_pcie_setup_irq(struct mtk return err; } @@ -196,82 +111,10 @@ + port->irq = platform_get_irq(pdev, port->slot); + irq_set_chained_handler_and_data(port->irq, + mtk_pcie_intr_handler, port); -+ -+ return 0; -+} -+ -+static int mtk_pcie_startup_port_v2(struct mtk_pcie_port *port) -+{ -+ struct mtk_pcie *pcie = port->pcie; -+ struct resource *mem = &pcie->mem; -+ const struct mtk_pcie_soc *soc = port->pcie->soc; -+ u32 val; -+ size_t size; -+ int err; -+ -+ /* MT7622 platforms need to enable LTSSM and ASPM from PCIe subsys */ -+ if (pcie->base) { -+ val = readl(pcie->base + PCIE_SYS_CFG_V2); -+ val |= PCIE_CSR_LTSSM_EN(port->slot) | -+ PCIE_CSR_ASPM_L1_EN(port->slot); -+ writel(val, pcie->base + PCIE_SYS_CFG_V2); -+ } -+ -+ /* Assert all reset signals */ -+ writel(0, port->base + PCIE_RST_CTRL); -+ -+ /* -+ * Enable PCIe link down reset, if link status changed from link up to -+ * link down, this will reset MAC control registers and configuration -+ * space. -+ */ -+ writel(PCIE_LINKDOWN_RST_EN, port->base + PCIE_RST_CTRL); -+ -+ /* De-assert PHY, PE, PIPE, MAC and configuration reset */ -+ val = readl(port->base + PCIE_RST_CTRL); -+ val |= PCIE_PHY_RSTB | PCIE_PERSTB | PCIE_PIPE_SRSTB | -+ PCIE_MAC_SRSTB | PCIE_CRSTB; -+ writel(val, port->base + PCIE_RST_CTRL); -+ -+ /* Set up vendor ID and class code */ -+ if (soc->need_fix_class_id) { -+ val = PCI_VENDOR_ID_MEDIATEK; -+ writew(val, port->base + PCIE_CONF_VEND_ID); -+ -+ val = PCI_CLASS_BRIDGE_PCI; -+ writew(val, port->base + PCIE_CONF_CLASS_ID); -+ } -+ -+ /* 100ms timeout value should be enough for Gen1/2 training */ -+ err = readl_poll_timeout(port->base + PCIE_LINK_STATUS_V2, val, -+ !!(val & PCIE_PORT_LINKUP_V2), 20, -+ 100 * USEC_PER_MSEC); -+ if (err) -+ return -ETIMEDOUT; -+ -+ /* Set INTx mask */ -+ val = readl(port->base + PCIE_INT_MASK); -+ val &= ~INTX_MASK; -+ writel(val, port->base + PCIE_INT_MASK); -+ -+ if (IS_ENABLED(CONFIG_PCI_MSI)) -+ mtk_pcie_enable_msi(port); -+ -+ /* Set AHB to PCIe translation windows */ -+ size = mem->end - mem->start; -+ val = lower_32_bits(mem->start) | AHB2PCIE_SIZE(fls(size)); -+ writel(val, port->base + PCIE_AHB_TRANS_BASE0_L); -+ -+ val = upper_32_bits(mem->start); -+ writel(val, port->base + PCIE_AHB_TRANS_BASE0_H); -+ -+ /* Set PCIe to AXI translation memory space.*/ -+ val = fls(0xffffffff) | WIN_ENABLE; -+ writel(val, port->base + PCIE_AXI_WINDOW0); return 0; } -@@ -903,49 +928,29 @@ static int mtk_pcie_parse_port(struct mt +@@ -904,49 +928,29 @@ static int mtk_pcie_parse_port(struct mt /* sys_ck might be divided into the following parts in some chips */ snprintf(name, sizeof(name), "ahb_ck%d", slot); @@ -336,7 +179,7 @@ snprintf(name, sizeof(name), "pcie-rst%d", slot); port->reset = devm_reset_control_get_optional_exclusive(dev, name); -@@ -998,10 +1003,8 @@ static int mtk_pcie_subsys_powerup(struc +@@ -999,10 +1003,8 @@ static int mtk_pcie_subsys_powerup(struc pcie->free_ck = NULL; } @@ -349,7 +192,7 @@ /* enable top level clock */ err = clk_prepare_enable(pcie->free_ck); -@@ -1013,10 +1016,8 @@ static int mtk_pcie_subsys_powerup(struc +@@ -1014,10 +1016,8 @@ static int mtk_pcie_subsys_powerup(struc return 0; err_free_ck: @@ -362,19 +205,16 @@ return err; } -@@ -1122,8 +1122,6 @@ +@@ -1122,36 +1122,6 @@ static int mtk_pcie_request_resources(st return err; err = devm_pci_remap_iospace(dev, &pcie->pio, pcie->io.start); - if (err) - return err; - - return 0; - } -@@ -1127,34 +1128,6 @@ static int mtk_pcie_request_resources(st - return 0; - } - +- +- return 0; +-} +- -static int mtk_pcie_register_host(struct pci_host_bridge *host) -{ - struct mtk_pcie *pcie = pci_host_bridge_priv(host); @@ -399,14 +239,10 @@ - pcie_bus_configure_settings(child); - - pci_bus_add_devices(host->bus); -- -- return 0; --} -- - static int mtk_pcie_probe(struct platform_device *pdev) - { - struct device *dev = &pdev->dev; -@@ -1181,7 +1154,14 @@ static int mtk_pcie_probe(struct platfor + + return 0; + } +@@ -1182,7 +1152,14 @@ static int mtk_pcie_probe(struct platfor if (err) goto put_resources; @@ -422,7 +258,7 @@ if (err) goto put_resources; -@@ -1194,6 +1174,80 @@ put_resources: +@@ -1195,6 +1172,80 @@ put_resources: return err; } @@ -503,7 +339,7 @@ static const struct mtk_pcie_soc mtk_pcie_soc_v1 = { .ops = &mtk_pcie_ops, .startup = mtk_pcie_startup_port, -@@ -1222,10 +1276,13 @@ static const struct of_device_id mtk_pci +@@ -1223,10 +1274,13 @@ static const struct of_device_id mtk_pci static struct platform_driver mtk_pcie_driver = { .probe = mtk_pcie_probe, diff --git a/target/linux/mpc85xx/base-files/etc/hotplug.d/ieee80211/10-fix-wifi-mac b/target/linux/mpc85xx/base-files/etc/hotplug.d/ieee80211/10-fix-wifi-mac index f153b53c8e..cd829cb471 100644 --- a/target/linux/mpc85xx/base-files/etc/hotplug.d/ieee80211/10-fix-wifi-mac +++ b/target/linux/mpc85xx/base-files/etc/hotplug.d/ieee80211/10-fix-wifi-mac @@ -12,6 +12,9 @@ PHYNBR=${DEVPATH##*/phy} board=$(board_name) case "$board" in +enterasys,ws-ap3710i) + echo $(mtd_get_mac_ascii cfg2 RADIOADDR${PHYNBR}) > /sys${DEVPATH}/macaddress + ;; ocedo,panda) WMAC=wmac$(($PHYNBR + 1)) MAC=$(mtd_get_mac_ascii uboot-env0 ${WMAC}) diff --git a/target/linux/mpc85xx/config-4.14 b/target/linux/mpc85xx/config-4.14 index f2337210d4..479d6ee79f 100644 --- a/target/linux/mpc85xx/config-4.14 +++ b/target/linux/mpc85xx/config-4.14 @@ -186,8 +186,6 @@ CONFIG_ISA_DMA_API=y CONFIG_KERNEL_GZIP=y CONFIG_KERNEL_START=0xc0000000 # CONFIG_KSI8560 is not set -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 CONFIG_LIBFDT=y CONFIG_LOWMEM_CAM_NUM=3 CONFIG_LOWMEM_SIZE=0x30000000 diff --git a/target/linux/mpc85xx/config-4.19 b/target/linux/mpc85xx/config-4.19 index df4d741c27..6395ad72ff 100644 --- a/target/linux/mpc85xx/config-4.19 +++ b/target/linux/mpc85xx/config-4.19 @@ -173,8 +173,6 @@ CONFIG_ISA_DMA_API=y CONFIG_KERNEL_GZIP=y CONFIG_KERNEL_START=0xc0000000 # CONFIG_KSI8560 is not set -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 CONFIG_LIBFDT=y CONFIG_LOCK_DEBUGGING_SUPPORT=y CONFIG_LOWMEM_CAM_NUM=3 @@ -320,6 +318,7 @@ CONFIG_VDSO32=y # CONFIG_VIRT_CPU_ACCOUNTING_NATIVE is not set CONFIG_VM_EVENT_COUNTERS=y CONFIG_WATCHDOG_CORE=y +# CONFIG_WS_AP3710I is not set # CONFIG_XES_MPC85xx is not set # CONFIG_XPS_USB_HCD_XILINX is not set CONFIG_XZ_DEC_BCJ=y diff --git a/target/linux/mpc85xx/files/arch/powerpc/boot/dts/ws-ap3710i.dts b/target/linux/mpc85xx/files/arch/powerpc/boot/dts/ws-ap3710i.dts new file mode 100644 index 0000000000..ebaac417eb --- /dev/null +++ b/target/linux/mpc85xx/files/arch/powerpc/boot/dts/ws-ap3710i.dts @@ -0,0 +1,172 @@ +// SPDX-License-Identifier: GPL-2.0-or-later or MIT + +/include/ "fsl/p1020si-pre.dtsi" +/ { + model = "Enterasys WS-AP3710i"; + compatible = "enterasys,ws-ap3710i"; + + aliases { + led-boot = &led_power_green; + led-failsafe = &led_power_red; + led-running = &led_power_green; + led-upgrade = &led_power_red; + label-mac-device = &enet0; + }; + + memory { + device_type = "memory"; + }; + + leds { + compatible = "gpio-leds"; + + wifi1 { + gpios = <&gpio0 3 0>; + label = "ws-ap3710i:green:radio1"; + linux,default-trigger = "phy0tpt"; + }; + + wifi2 { + gpios = <&gpio0 4 0>; + label = "ws-ap3710i:green:radio2"; + linux,default-trigger = "phy1tpt"; + }; + + led_power_green: power_green { + gpios = <&gpio0 8 0>; + label = "ws-ap3710i:green:power"; + }; + + led_power_red: power_red { + gpios = <&gpio0 9 0>; + label = "ws-ap3710i:red:power"; + }; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "Reset button"; + gpios = <&gpio0 1 1>; /* active low */ + linux,code = <0x198>; /* KEY_RESTART */ + }; + }; + + lbc: localbus@ffe05000 { + reg = <0 0xffe05000 0 0x1000>; + ranges = <0x0 0x0 0x0 0xee000000 0x2000000>; + + nor@0,0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "cfi-flash"; + reg = <0x0 0x0 0x2000000>; + bank-width = <2>; + device-width = <1>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + compatible = "denx,fit"; + reg = <0x0 0x1d80000>; + label = "firmware"; + }; + + partition@1d80000 { + reg = <0x1d80000 0x80000>; + label = "u-boot"; + read-only; + }; + + partition@1e00000 { + reg = <0x1e00000 0x100000>; + label = "nvram"; + read-only; + }; + + partition@1f00000 { + reg = <0x1f00000 0x20000>; + label = "cfg2"; + read-only; + }; + + partition@1f20000 { + reg = <0x1f20000 0x20000>; + label = "cfg1"; + read-only; + }; + }; + }; + }; + + soc: soc@ffe00000 { + ranges = <0x0 0x0 0xffe00000 0x100000>; + + gpio0: gpio-controller@fc00 { + }; + + mdio@24000 { + phy4: ethernet-phy@4 { + reg = <0x4>; + reset-gpios = <&gpio0 2 1>; + }; + }; + + enet0: ethernet@b0000 { + phy-connection-type = "rgmii-id"; + phy-handle = <&phy4>; + }; + + enet1: ethernet@b1000 { + status = "disabled"; + }; + + enet2: ethernet@b2000 { + status = "disabled"; + }; + + usb@22000 { + status = "disabled"; + }; + + usb@23000 { + status = "disabled"; + }; + }; + + pci0: pcie@ffe09000 { + ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000 + 0x1000000 0x0 0x00000000 0 0xffc10000 0x0 0x10000>; + reg = <0 0xffe09000 0 0x1000>; + pcie@0 { + ranges = <0x2000000 0x0 0xa0000000 + 0x2000000 0x0 0xa0000000 + 0x0 0x20000000 + + 0x1000000 0x0 0x0 + 0x1000000 0x0 0x0 + 0x0 0x100000>; + }; + }; + + pci1: pcie@ffe0a000 { + reg = <0 0xffe0a000 0 0x1000>; + ranges = <0x2000000 0x0 0x80000000 0 0x80000000 0x0 0x20000000 + 0x1000000 0x0 0x00000000 0 0xffc00000 0x0 0x10000>; + pcie@0 { + ranges = <0x2000000 0x0 0x80000000 + 0x2000000 0x0 0x80000000 + 0x0 0x20000000 + + 0x1000000 0x0 0x0 + 0x1000000 0x0 0x0 + 0x0 0x100000>; + }; + }; + +}; +/include/ "fsl/p1020si-post.dtsi" diff --git a/target/linux/mpc85xx/files/arch/powerpc/platforms/85xx/ws-ap3710i.c b/target/linux/mpc85xx/files/arch/powerpc/platforms/85xx/ws-ap3710i.c new file mode 100644 index 0000000000..a2900868b9 --- /dev/null +++ b/target/linux/mpc85xx/files/arch/powerpc/platforms/85xx/ws-ap3710i.c @@ -0,0 +1,91 @@ +// SPDX-License-Identifier: GPL-2.0+ + +/* + * Enterasys WS-AP3710i Board Setup + * + * Copyright (C) 2019 David Bauer + * + * Based on: + * mpc85xx_rdb.c: + * MPC85xx RDB Board Setup + * Copyright 2013 Freescale Semiconductor Inc. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + */ + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include "smp.h" + +#include "mpc85xx.h" + +void __init ws_ap3710i_pic_init(void) +{ + struct mpic *mpic; + + mpic = mpic_alloc(NULL, 0, + MPIC_BIG_ENDIAN | + MPIC_SINGLE_DEST_CPU, + 0, 256, " OpenPIC "); + + BUG_ON(mpic == NULL); + mpic_init(mpic); +} + +/* + * Setup the architecture + */ +static void __init ws_ap3710i_setup_arch(void) +{ + if (ppc_md.progress) + ppc_md.progress("ws_ap3710i_setup_arch()", 0); + + mpc85xx_smp_init(); + + fsl_pci_assign_primary(); + + pr_info("WS-AP3710i board from Enterasys\n"); +} + +machine_arch_initcall(ws_ap3710i, mpc85xx_common_publish_devices); + +/* + * Called very early, device-tree isn't unflattened + */ +static int __init ws_ap3710i_probe(void) +{ + if (of_machine_is_compatible("enterasys,ws-ap3710i")) + return 1; + return 0; +} + +define_machine(ws_ap3710i) { + .name = "P1020 RDB", + .probe = ws_ap3710i_probe, + .setup_arch = ws_ap3710i_setup_arch, + .init_IRQ = ws_ap3710i_pic_init, +#ifdef CONFIG_PCI + .pcibios_fixup_bus = fsl_pcibios_fixup_bus, + .pcibios_fixup_phb = fsl_pcibios_fixup_phb, +#endif + .get_irq = mpic_get_irq, + .calibrate_decr = generic_calibrate_decr, + .progress = udbg_progress, +}; diff --git a/target/linux/mpc85xx/image/Makefile b/target/linux/mpc85xx/image/Makefile index ee1663018e..5ca16909e7 100644 --- a/target/linux/mpc85xx/image/Makefile +++ b/target/linux/mpc85xx/image/Makefile @@ -102,6 +102,16 @@ define Device/aerohive_hiveap-330 endef TARGET_DEVICES += aerohive_hiveap-330 +define Device/enterasys_ws-ap3710i + DEVICE_VENDOR := Enterasys + DEVICE_MODEL := WS-AP3710i + BLOCKSIZE := 128k + KERNEL = kernel-bin | lzma | fit lzma $(KDIR)/image-$$(DEVICE_DTS).dtb + IMAGES := sysupgrade.bin + IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata +endef +TARGET_DEVICES += enterasys_ws-ap3710i + define Device/ocedo_panda DEVICE_VENDOR := OCEDO DEVICE_MODEL := Panda diff --git a/target/linux/mpc85xx/p1020/config-default b/target/linux/mpc85xx/p1020/config-default index 01c18e4d59..2ad3f75bee 100644 --- a/target/linux/mpc85xx/p1020/config-default +++ b/target/linux/mpc85xx/p1020/config-default @@ -23,6 +23,8 @@ CONFIG_MTD_NAND=y CONFIG_MTD_NAND_ECC=y CONFIG_MTD_NAND_FSL_ELBC=y CONFIG_MTD_PHYSMAP=y +CONFIG_MTD_SPLIT_FIRMWARE=y +CONFIG_MTD_SPLIT_FIT_FW=y CONFIG_MTD_UBI=y CONFIG_MTD_UBI_BEB_LIMIT=20 CONFIG_MTD_UBI_BLOCK=y @@ -51,4 +53,5 @@ CONFIG_UBIFS_FS=y CONFIG_UBIFS_FS_ADVANCED_COMPR=y CONFIG_UBIFS_FS_LZO=y CONFIG_UBIFS_FS_ZLIB=y +CONFIG_WS_AP3710I=y CONFIG_XPS=y diff --git a/target/linux/mpc85xx/patches-4.19/106-powerpc-85xx-ws-ap3710i-support.patch b/target/linux/mpc85xx/patches-4.19/106-powerpc-85xx-ws-ap3710i-support.patch new file mode 100644 index 0000000000..4bacedbcd7 --- /dev/null +++ b/target/linux/mpc85xx/patches-4.19/106-powerpc-85xx-ws-ap3710i-support.patch @@ -0,0 +1,30 @@ +--- a/arch/powerpc/platforms/85xx/Kconfig ++++ b/arch/powerpc/platforms/85xx/Kconfig +@@ -71,6 +71,17 @@ config PANDA + This board is a Concurrent Dual-Band wireless access point with a + Freescale P1020 SoC. + ++config WS_AP3710I ++ bool "Enterasys WS-AP3710i" ++ select DEFAULT_UIMAGE ++ select ARCH_REQUIRE_GPIOLIB ++ select GPIO_MPC8XXX ++ help ++ This option enables support for the Enterasys WS-AP3710i board. ++ ++ This board is a Concurrent Dual-Band wireless access point with a ++ Freescale P1020 SoC. ++ + config MPC8540_ADS + bool "Freescale MPC8540 ADS" + select DEFAULT_UIMAGE +--- a/arch/powerpc/platforms/85xx/Makefile ++++ b/arch/powerpc/platforms/85xx/Makefile +@@ -24,6 +24,7 @@ obj-$(CONFIG_P1022_RDK) += p1022_rdk.o + obj-$(CONFIG_P1023_RDB) += p1023_rdb.o + obj-$(CONFIG_PANDA) += panda.o + obj-$(CONFIG_TWR_P102x) += twr_p102x.o ++obj-$(CONFIG_WS_AP3710I) += ws-ap3710i.o + obj-$(CONFIG_CORENET_GENERIC) += corenet_generic.o + obj-$(CONFIG_FB_FSL_DIU) += t1042rdb_diu.o + obj-$(CONFIG_RED_15W_REV1) += red15w_rev1.o diff --git a/target/linux/mvebu/patches-4.14/006-mvebu-Mangle-bootloader-s-kernel-arguments.patch b/target/linux/mvebu/patches-4.14/006-mvebu-Mangle-bootloader-s-kernel-arguments.patch index d15794f2e3..8f11632d04 100644 --- a/target/linux/mvebu/patches-4.14/006-mvebu-Mangle-bootloader-s-kernel-arguments.patch +++ b/target/linux/mvebu/patches-4.14/006-mvebu-Mangle-bootloader-s-kernel-arguments.patch @@ -180,7 +180,7 @@ Signed-off-by: Michael Gray static int kernel_init(void *); extern void init_IRQ(void); -@@ -574,6 +578,18 @@ asmlinkage __visible void __init start_k +@@ -573,6 +577,18 @@ asmlinkage __visible void __init start_k page_alloc_init(); pr_notice("Kernel command line: %s\n", boot_command_line); diff --git a/target/linux/mvebu/patches-4.19/006-mvebu-Mangle-bootloader-s-kernel-arguments.patch b/target/linux/mvebu/patches-4.19/006-mvebu-Mangle-bootloader-s-kernel-arguments.patch index 6172e6fe45..0cb9e99602 100644 --- a/target/linux/mvebu/patches-4.19/006-mvebu-Mangle-bootloader-s-kernel-arguments.patch +++ b/target/linux/mvebu/patches-4.19/006-mvebu-Mangle-bootloader-s-kernel-arguments.patch @@ -180,7 +180,7 @@ Signed-off-by: Michael Gray static int kernel_init(void *); extern void init_IRQ(void); -@@ -592,6 +596,18 @@ asmlinkage __visible void __init start_k +@@ -591,6 +595,18 @@ asmlinkage __visible void __init start_k page_alloc_init(); pr_notice("Kernel command line: %s\n", boot_command_line); diff --git a/target/linux/oxnas/config-4.14 b/target/linux/oxnas/config-4.14 index 5ff868ad87..7ea24a91a6 100644 --- a/target/linux/oxnas/config-4.14 +++ b/target/linux/oxnas/config-4.14 @@ -231,8 +231,6 @@ CONFIG_LEDS_TRIGGER_GPIO=y CONFIG_LEDS_TRIGGER_HEARTBEAT=y # CONFIG_LEDS_TRIGGER_NETDEV is not set CONFIG_LEDS_TRIGGER_ONESHOT=y -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 CONFIG_LIBFDT=y CONFIG_LOCALVERSION_AUTO=y CONFIG_LZ4_DECOMPRESS=y @@ -352,10 +350,6 @@ CONFIG_VFAT_FS=y # CONFIG_VFP is not set # CONFIG_VLAN_8021Q is not set CONFIG_VM_EVENT_COUNTERS=y -CONFIG_VT=y -CONFIG_VT_CONSOLE=y -CONFIG_VT_CONSOLE_SLEEP=y -# CONFIG_VT_HW_CONSOLE_BINDING is not set # CONFIG_WATCHDOG is not set # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set CONFIG_XZ_DEC_ARM=y diff --git a/target/linux/oxnas/patches-4.14/996-generic-Mangle-bootloader-s-kernel-arguments.patch b/target/linux/oxnas/patches-4.14/996-generic-Mangle-bootloader-s-kernel-arguments.patch index 3758ca0dc3..d3b047f3c4 100644 --- a/target/linux/oxnas/patches-4.14/996-generic-Mangle-bootloader-s-kernel-arguments.patch +++ b/target/linux/oxnas/patches-4.14/996-generic-Mangle-bootloader-s-kernel-arguments.patch @@ -168,7 +168,7 @@ Signed-off-by: Adrian Panella static int kernel_init(void *); extern void init_IRQ(void); -@@ -574,6 +578,18 @@ asmlinkage __visible void __init start_k +@@ -573,6 +577,18 @@ asmlinkage __visible void __init start_k page_alloc_init(); pr_notice("Kernel command line: %s\n", boot_command_line); diff --git a/target/linux/ramips/dts/mt7620a_edimax_ew-747x.dtsi b/target/linux/ramips/dts/mt7620a_edimax_ew-747x.dtsi index b7d8087d5a..52c0ac0925 100644 --- a/target/linux/ramips/dts/mt7620a_edimax_ew-747x.dtsi +++ b/target/linux/ramips/dts/mt7620a_edimax_ew-747x.dtsi @@ -1,7 +1,5 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; - #include "mt7620a.dtsi" #include 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 bc47f52d23..23719c3f35 100644 --- a/target/linux/ramips/dts/mt7620a_tplink_archer-c20-v1.dts +++ b/target/linux/ramips/dts/mt7620a_tplink_archer-c20-v1.dts @@ -1,9 +1,6 @@ /dts-v1/; -#include "mt7620a.dtsi" - -#include -#include +#include "mt7620a_tplink_archer.dtsi" / { compatible = "tplink,archer-c20-v1", "ralink,mt7620a-soc"; @@ -16,10 +13,6 @@ led-upgrade = &led_power; }; - chosen { - bootargs = "console=ttyS0,115200"; - }; - leds { compatible = "gpio-leds"; @@ -66,86 +59,6 @@ gpios = <&gpio1 15 GPIO_ACTIVE_LOW>; }; }; - - keys { - compatible = "gpio-keys"; - - reset { - label = "reset"; - gpios = <&gpio0 13 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - - rfkill { - label = "rfkill"; - gpios = <&gpio0 2 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; -}; - -&gpio1 { - status = "okay"; -}; - -&gpio2 { - status = "okay"; -}; - -&gpio3 { - status = "okay"; -}; - -&spi0 { - status = "okay"; - - m25p80@0 { - compatible = "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <10000000>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition@0 { - label = "u-boot"; - reg = <0x0 0x20000>; - read-only; - }; - - partition@20000 { - compatible = "tplink,firmware"; - label = "firmware"; - reg = <0x20000 0x7a0000>; - }; - - partition@7c0000 { - label = "config"; - reg = <0x7c0000 0x10000>; - read-only; - }; - - rom: partition@7d0000 { - label = "rom"; - reg = <0x7d0000 0x10000>; - read-only; - }; - - partition@7e0000 { - label = "romfile"; - reg = <0x7e0000 0x10000>; - read-only; - }; - - radio: partition@7f0000 { - label = "radio"; - reg = <0x7f0000 0x10000>; - read-only; - }; - }; - }; }; &pinctrl { @@ -157,42 +70,15 @@ }; }; -ðernet { - pinctrl-names = "default"; - mtd-mac-address = <&rom 0xf100>; - mediatek,portmap = "wllll"; - }; - -&ehci { - status = "okay"; -}; - -&ohci { - status = "okay"; -}; - -&gsw { - mediatek,port4 = "ephy"; -}; - &wmac { - ralink,mtd-eeprom = <&radio 0>; - mtd-mac-address = <&rom 0xf100>; - mtd-mac-address-increment = <(-2)>; pinctrl-names = "default"; pinctrl-0 = <&pa_pins>; + + mtd-mac-address = <&rom 0xf100>; + mtd-mac-address-increment = <(-2)>; }; -&pcie { - status = "okay"; -}; - -&pcie0 { - mt76@0,0 { - reg = <0x0000 0 0 0 0>; - mediatek,mtd-eeprom = <&radio 0x8000>; - ieee80211-freq-limit = <5000000 6000000>; - mtd-mac-address = <&rom 0xf100>; - mtd-mac-address-increment = <(-1)>; - }; +&wifi { + mtd-mac-address = <&rom 0xf100>; + mtd-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 1da2f483dc..975e0af661 100644 --- a/target/linux/ramips/dts/mt7620a_tplink_archer-c20i.dts +++ b/target/linux/ramips/dts/mt7620a_tplink_archer-c20i.dts @@ -1,16 +1,13 @@ /dts-v1/; -#include "mt7620a.dtsi" - -#include -#include +#include "mt7620a_tplink_archer.dtsi" / { compatible = "tplink,archer-c20i", "ralink,mt7620a-soc"; model = "TP-Link Archer C20i"; - chosen { - bootargs = "console=ttyS0,115200"; + aliases { + label-mac-device = ðernet; }; leds { @@ -43,82 +40,6 @@ gpios = <&gpio3 0 GPIO_ACTIVE_LOW>; }; }; - - keys { - compatible = "gpio-keys"; - - rfkill { - label = "rfkill"; - gpios = <&gpio0 2 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - - reset_wps { - label = "reset_wps"; - gpios = <&gpio0 13 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; -}; - -&gpio1 { - status = "okay"; -}; - -&gpio2 { - status = "okay"; -}; - -&gpio3 { - status = "okay"; -}; - -&spi0 { - status = "okay"; - - m25p80@0 { - compatible = "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <10000000>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition@0 { - label = "u-boot"; - reg = <0x0 0x20000>; - read-only; - }; - - partition@20000 { - compatible = "tplink,firmware"; - label = "firmware"; - reg = <0x20000 0x7a0000>; - }; - - partition@7c0000 { - label = "config"; - reg = <0x7c0000 0x10000>; - }; - - rom: partition@7d0000 { - label = "rom"; - reg = <0x7d0000 0x10000>; - }; - - partition@7e0000 { - label = "romfile"; - reg = <0x7e0000 0x10000>; - }; - - radio: partition@7f0000 { - label = "radio"; - reg = <0x7f0000 0x10000>; - }; - }; - }; }; &pinctrl { @@ -129,37 +50,3 @@ }; }; }; - -ðernet { - pinctrl-names = "default"; - mtd-mac-address = <&rom 0xf100>; - mediatek,portmap = "wllll"; - }; - -&ehci { - status = "okay"; -}; - -&ohci { - status = "okay"; -}; - -&gsw { - mediatek,port4 = "ephy"; -}; - -&wmac { - ralink,mtd-eeprom = <&radio 0>; -}; - -&pcie { - status = "okay"; -}; - -&pcie0 { - mt76@0,0 { - reg = <0x0000 0 0 0 0>; - mediatek,mtd-eeprom = <&radio 32768>; - ieee80211-freq-limit = <5000000 6000000>; - }; -}; 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 c23538ca52..77885853ef 100644 --- a/target/linux/ramips/dts/mt7620a_tplink_archer-c50-v1.dts +++ b/target/linux/ramips/dts/mt7620a_tplink_archer-c50-v1.dts @@ -1,9 +1,6 @@ /dts-v1/; -#include "mt7620a.dtsi" - -#include -#include +#include "mt7620a_tplink_archer.dtsi" / { compatible = "tplink,archer-c50-v1", "ralink,mt7620a-soc"; @@ -16,10 +13,6 @@ led-upgrade = &led_power; }; - chosen { - bootargs = "console=ttyS0,115200"; - }; - leds { compatible = "gpio-leds"; @@ -66,86 +59,6 @@ gpios = <&gpio1 15 GPIO_ACTIVE_LOW>; }; }; - - keys { - compatible = "gpio-keys"; - - reset { - label = "reset"; - gpios = <&gpio0 13 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - - rfkill { - label = "rfkill"; - gpios = <&gpio0 2 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; -}; - -&gpio1 { - status = "okay"; -}; - -&gpio2 { - status = "okay"; -}; - -&gpio3 { - status = "okay"; -}; - -&spi0 { - status = "okay"; - - m25p80@0 { - compatible = "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <10000000>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition@0 { - label = "u-boot"; - reg = <0x0 0x20000>; - read-only; - }; - - partition@20000 { - compatible = "tplink,firmware"; - label = "firmware"; - reg = <0x20000 0x7a0000>; - }; - - partition@7c0000 { - label = "config"; - reg = <0x7c0000 0x10000>; - read-only; - }; - - rom: partition@7d0000 { - label = "rom"; - reg = <0x7d0000 0x10000>; - read-only; - }; - - partition@7e0000 { - label = "romfile"; - reg = <0x7e0000 0x10000>; - read-only; - }; - - radio: partition@7f0000 { - label = "radio"; - reg = <0x7f0000 0x10000>; - read-only; - }; - }; - }; }; &pinctrl { @@ -157,42 +70,15 @@ }; }; -ðernet { - pinctrl-names = "default"; - mtd-mac-address = <&rom 0xf100>; - mediatek,portmap = "wllll"; - }; - -&ehci { - status = "okay"; -}; - -&ohci { - status = "okay"; -}; - -&gsw { - mediatek,port4 = "ephy"; -}; - &wmac { - ralink,mtd-eeprom = <&radio 0>; - mtd-mac-address = <&rom 0xf100>; - mtd-mac-address-increment = <(-2)>; pinctrl-names = "default"; pinctrl-0 = <&pa_pins>; + + mtd-mac-address = <&rom 0xf100>; + mtd-mac-address-increment = <(-2)>; }; -&pcie { - status = "okay"; -}; - -&pcie0 { - mt76@0,0 { - reg = <0x0000 0 0 0 0>; - mediatek,mtd-eeprom = <&radio 32768>; - ieee80211-freq-limit = <5000000 6000000>; - mtd-mac-address = <&rom 0xf100>; - mtd-mac-address-increment = <(-1)>; - }; +&wifi { + mtd-mac-address = <&rom 0xf100>; + mtd-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 4beb737606..21fc3a1858 100644 --- a/target/linux/ramips/dts/mt7620a_tplink_archer-mr200.dts +++ b/target/linux/ramips/dts/mt7620a_tplink_archer-mr200.dts @@ -187,7 +187,7 @@ }; &wmac { - ralink,mtd-eeprom = <&radio 0>; + ralink,mtd-eeprom = <&radio 0x0>; }; &pcie { @@ -197,6 +197,6 @@ &pcie0 { mt76@0,0 { reg = <0x0000 0 0 0 0>; - mediatek,mtd-eeprom = <&radio 32768>; + mediatek,mtd-eeprom = <&radio 0x8000>; }; }; diff --git a/target/linux/ramips/dts/mt7620a_tplink_archer.dtsi b/target/linux/ramips/dts/mt7620a_tplink_archer.dtsi new file mode 100644 index 0000000000..dd213ad219 --- /dev/null +++ b/target/linux/ramips/dts/mt7620a_tplink_archer.dtsi @@ -0,0 +1,124 @@ +#include "mt7620a.dtsi" + +#include +#include + +/ { + chosen { + bootargs = "console=ttyS0,115200"; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&gpio0 13 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + + rfkill { + label = "rfkill"; + gpios = <&gpio0 2 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; +}; + +&gpio1 { + status = "okay"; +}; + +&gpio2 { + status = "okay"; +}; + +&gpio3 { + status = "okay"; +}; + +&spi0 { + status = "okay"; + + m25p80@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <10000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x20000>; + read-only; + }; + + partition@20000 { + compatible = "tplink,firmware"; + label = "firmware"; + reg = <0x20000 0x7a0000>; + }; + + partition@7c0000 { + label = "config"; + reg = <0x7c0000 0x10000>; + read-only; + }; + + rom: partition@7d0000 { + label = "rom"; + reg = <0x7d0000 0x10000>; + read-only; + }; + + partition@7e0000 { + label = "romfile"; + reg = <0x7e0000 0x10000>; + read-only; + }; + + radio: partition@7f0000 { + label = "radio"; + reg = <0x7f0000 0x10000>; + read-only; + }; + }; + }; +}; + +ðernet { + pinctrl-names = "default"; + mtd-mac-address = <&rom 0xf100>; + mediatek,portmap = "wllll"; +}; + +&ehci { + status = "okay"; +}; + +&ohci { + status = "okay"; +}; + +&gsw { + mediatek,port4 = "ephy"; +}; + +&wmac { + ralink,mtd-eeprom = <&radio 0x0>; +}; + +&pcie { + status = "okay"; +}; + +&pcie0 { + wifi: mt76@0,0 { + reg = <0x0000 0 0 0 0>; + mediatek,mtd-eeprom = <&radio 0x8000>; + ieee80211-freq-limit = <5000000 6000000>; + }; +}; diff --git a/target/linux/ramips/dts/mt7620a_zbtlink_zbt-we1026-h.dtsi b/target/linux/ramips/dts/mt7620a_zbtlink_zbt-we1026-h.dtsi index 800e8e6e03..f8f9bc754a 100644 --- a/target/linux/ramips/dts/mt7620a_zbtlink_zbt-we1026-h.dtsi +++ b/target/linux/ramips/dts/mt7620a_zbtlink_zbt-we1026-h.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include "mt7620a_zbtlink_zbt-we1026.dtsi" diff --git a/target/linux/ramips/dts/mt7621_asiarf_ap7621.dtsi b/target/linux/ramips/dts/mt7621_asiarf_ap7621.dtsi index eb5a60bcdc..db83f99c3a 100644 --- a/target/linux/ramips/dts/mt7621_asiarf_ap7621.dtsi +++ b/target/linux/ramips/dts/mt7621_asiarf_ap7621.dtsi @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include "mt7621.dtsi" #include diff --git a/target/linux/ramips/dts/mt7621_asus_rt-acx5p.dtsi b/target/linux/ramips/dts/mt7621_asus_rt-acx5p.dtsi index e8b11e5d59..8eaf55dbc7 100644 --- a/target/linux/ramips/dts/mt7621_asus_rt-acx5p.dtsi +++ b/target/linux/ramips/dts/mt7621_asus_rt-acx5p.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include "mt7621.dtsi" diff --git a/target/linux/ramips/dts/mt7621_elecom_wrc-gst.dtsi b/target/linux/ramips/dts/mt7621_elecom_wrc-gst.dtsi index 1776db8fc0..b4aaec46fc 100644 --- a/target/linux/ramips/dts/mt7621_elecom_wrc-gst.dtsi +++ b/target/linux/ramips/dts/mt7621_elecom_wrc-gst.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0 -/dts-v1/; #include "mt7621.dtsi" diff --git a/target/linux/ramips/dts/mt7621_iptime_a6ns-m.dts b/target/linux/ramips/dts/mt7621_iptime_a6ns-m.dts new file mode 100644 index 0000000000..92e2d9908c --- /dev/null +++ b/target/linux/ramips/dts/mt7621_iptime_a6ns-m.dts @@ -0,0 +1,142 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "mt7621.dtsi" + +#include +#include + +/ { + compatible = "iptime,a6ns-m", "mediatek,mt7621-soc"; + model = "ipTIME A6ns-M"; + + aliases { + led-boot = &led_cpu; + led-failsafe = &led_cpu; + led-running = &led_cpu; + led-upgrade = &led_cpu; + label-mac-device = ðernet; + }; + + chosen { + bootargs = "console=ttyS0,57600"; + }; + + leds { + compatible = "gpio-leds"; + + usb { + label = "a6ns-m:blue:usb"; + gpios = <&gpio0 7 GPIO_ACTIVE_LOW>; + trigger-sources = <&xhci_ehci_port1>; + linux,default-trigger = "usbport"; + }; + + wlan5g { + label = "a6ns-m:blue:wlan5g"; + gpios = <&gpio0 14 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy0radio"; + }; + + wlan2g { + label = "a6ns-m:blue:wlan2g"; + gpios = <&gpio0 17 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy1radio"; + }; + + led_cpu: cpu { + label = "a6ns-m:blue:cpu"; + gpios = <&gpio0 18 GPIO_ACTIVE_LOW>; + }; + }; + + keys { + compatible = "gpio-keys"; + + wps { + label = "wps"; + gpios = <&gpio0 3 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + + reset { + label = "reset"; + gpios = <&gpio0 4 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; +}; + +&spi0 { + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <80000000>; + m25p,fast-read; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + uboot: partition@0 { + label = "u-boot"; + reg = <0x0 0x20000>; + read-only; + }; + + partition@20000 { + label = "config"; + reg = <0x20000 0x10000>; + read-only; + }; + + factory: partition@30000 { + label = "factory"; + reg = <0x30000 0x10000>; + read-only; + }; + + partition@40000 { + compatible = "denx,uimage"; + label = "firmware"; + reg = <0x40000 0xfc0000>; + }; + }; + }; +}; + +&state_default { + gpio { + ralink,group = "i2c", "uart3", "jtag", "wdt"; + ralink,function = "gpio"; + }; +}; + +ðernet { + mtd-mac-address = <&uboot 0x1fc20>; +}; + +&pcie { + status = "okay"; +}; + +&pcie0 { + wifi@0,0 { + compatible = "mediatek,mt76"; + reg = <0x0000 0 0 0 0>; + mediatek,mtd-eeprom = <&factory 0x0>; + ieee80211-freq-limit = <5000000 6000000>; + }; +}; + +&pcie1 { + wifi@0,0 { + compatible = "mediatek,mt76"; + reg = <0x0000 0 0 0 0>; + mediatek,mtd-eeprom = <&factory 0x8000>; + ieee80211-freq-limit = <2400000 2500000>; + }; +}; diff --git a/target/linux/ramips/dts/mt7621_jcg_jhr-ac876m.dts b/target/linux/ramips/dts/mt7621_jcg_jhr-ac876m.dts new file mode 100644 index 0000000000..e3266ebbcb --- /dev/null +++ b/target/linux/ramips/dts/mt7621_jcg_jhr-ac876m.dts @@ -0,0 +1,144 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "mt7621.dtsi" + +#include +#include + +/ { + compatible = "jcg,jhr-ac876m", "mediatek,mt7621-soc"; + model = "JCG JHR-AC876M"; + + aliases { + led-boot = &led_wps; + led-failsafe = &led_wps; + led-running = &led_wps; + led-upgrade = &led_wps; + }; + + chosen { + bootargs = "console=ttyS0,57600"; + }; + + leds { + compatible = "gpio-leds"; + + usb3 { + label = "jhr-ac876m:blue:usb3"; + gpios = <&gpio0 3 GPIO_ACTIVE_LOW>; + trigger-sources = <&xhci_ehci_port1>; + linux,default-trigger = "usbport"; + }; + + usb2 { + label = "jhr-ac876m:blue:usb2"; + gpios = <&gpio0 6 GPIO_ACTIVE_LOW>; + trigger-sources = <&ehci_port2>; + linux,default-trigger = "usbport"; + }; + + led_wps: wps { + label = "jhr-ac876m:blue:wps"; + gpios = <&gpio0 14 GPIO_ACTIVE_LOW>; + }; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&gpio0 16 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + + wps { + label = "wps"; + gpios = <&gpio0 18 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; +}; + +&spi0 { + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <80000000>; + m25p,fast-read; + + 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 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + compatible = "denx,uimage"; + label = "firmware"; + reg = <0x50000 0xfb0000>; + }; + }; + }; +}; + +&pcie { + status = "okay"; +}; + +&pcie0 { + wifi@0,0 { + compatible = "mediatek,mt76"; + reg = <0x0000 0 0 0 0>; + mediatek,mtd-eeprom = <&factory 0x0>; + ieee80211-freq-limit = <2400000 2500000>; + + led { + led-active-low; + }; + }; +}; + +&pcie1 { + wifi@0,0 { + compatible = "mediatek,mt76"; + reg = <0x0000 0 0 0 0>; + mediatek,mtd-eeprom = <&factory 0x8000>; + ieee80211-freq-limit = <5000000 6000000>; + + led { + led-active-low; + }; + }; +}; + +ðernet { + mtd-mac-address = <&factory 0xe000>; +}; + +&state_default { + gpio { + ralink,group = "i2c", "uart3", "jtag", "wdt"; + ralink,function = "gpio"; + }; +}; diff --git a/target/linux/ramips/dts/mt7621_netgear_sercomm_ayx.dtsi b/target/linux/ramips/dts/mt7621_netgear_sercomm_ayx.dtsi index 5d304441c0..864952f25f 100644 --- a/target/linux/ramips/dts/mt7621_netgear_sercomm_ayx.dtsi +++ b/target/linux/ramips/dts/mt7621_netgear_sercomm_ayx.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0 -/dts-v1/; #include "mt7621.dtsi" diff --git a/target/linux/ramips/dts/mt7621_netgear_sercomm_chj.dtsi b/target/linux/ramips/dts/mt7621_netgear_sercomm_chj.dtsi index f234caaf25..cf9d1c6077 100644 --- a/target/linux/ramips/dts/mt7621_netgear_sercomm_chj.dtsi +++ b/target/linux/ramips/dts/mt7621_netgear_sercomm_chj.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0 -/dts-v1/; #include "mt7621.dtsi" diff --git a/target/linux/ramips/dts/mt7621_wevo_11acnas.dts b/target/linux/ramips/dts/mt7621_wevo_11acnas.dts index ec31542632..0320a45060 100644 --- a/target/linux/ramips/dts/mt7621_wevo_11acnas.dts +++ b/target/linux/ramips/dts/mt7621_wevo_11acnas.dts @@ -3,7 +3,7 @@ #include "mt7621_wevo_w2914ns-v2.dtsi" / { - compatible = "wevo,11acnas", "wevo,w2914ns-v2", "mediatek,mt7621-soc"; + compatible = "wevo,11acnas", "mediatek,mt7621-soc"; model = "WeVO 11AC NAS Router"; leds { diff --git a/target/linux/ramips/dts/mt7621_wevo_w2914ns-v2.dts b/target/linux/ramips/dts/mt7621_wevo_w2914ns-v2.dts index 816f6b1c0f..bb9fa59484 100644 --- a/target/linux/ramips/dts/mt7621_wevo_w2914ns-v2.dts +++ b/target/linux/ramips/dts/mt7621_wevo_w2914ns-v2.dts @@ -3,6 +3,7 @@ #include "mt7621_wevo_w2914ns-v2.dtsi" / { + compatible = "wevo,w2914ns-v2", "mediatek,mt7621-soc"; model = "WeVO W2914NS v2"; leds { diff --git a/target/linux/ramips/dts/mt7621_wevo_w2914ns-v2.dtsi b/target/linux/ramips/dts/mt7621_wevo_w2914ns-v2.dtsi index 6ad3ef111f..2cffb9520c 100644 --- a/target/linux/ramips/dts/mt7621_wevo_w2914ns-v2.dtsi +++ b/target/linux/ramips/dts/mt7621_wevo_w2914ns-v2.dtsi @@ -4,8 +4,6 @@ #include / { - compatible = "wevo,w2914ns-v2", "mediatek,mt7621-soc"; - chosen { bootargs = "console=ttyS0,57600"; }; @@ -27,10 +25,6 @@ }; }; -&xhci { - status = "okay"; -}; - &spi0 { status = "okay"; @@ -80,7 +74,7 @@ wifi@0,0 { compatible = "mediatek,mt76"; reg = <0x0000 0 0 0 0>; - mediatek,mtd-eeprom = <&factory 0x0000>; + mediatek,mtd-eeprom = <&factory 0x0>; led { led-sources = <0>; @@ -107,11 +101,9 @@ mtd-mac-address = <&factory 0xe000>; }; -&pinctrl { - state_default: pinctrl0 { - gpio { - ralink,group = "wdt", "rgmii2"; - ralink,function = "gpio"; - }; +&state_default { + gpio { + ralink,group = "wdt", "rgmii2"; + ralink,function = "gpio"; }; }; diff --git a/target/linux/ramips/dts/mt7621_zio_freezio.dts b/target/linux/ramips/dts/mt7621_zio_freezio.dts new file mode 100644 index 0000000000..dce1c4bd4d --- /dev/null +++ b/target/linux/ramips/dts/mt7621_zio_freezio.dts @@ -0,0 +1,20 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "mt7621_wevo_w2914ns-v2.dtsi" + +/ { + compatible = "zio,freezio", "mediatek,mt7621-soc"; + model = "ZIO FREEZIO"; + + leds { + compatible = "gpio-leds"; + + usb { + label = "freezio:green:usb"; + gpios = <&gpio0 27 GPIO_ACTIVE_LOW>; + trigger-sources = <&xhci_ehci_port1>; + linux,default-trigger = "usbport"; + }; + }; +}; diff --git a/target/linux/ramips/dts/mt7628an_hiwifi_hc5x61a.dtsi b/target/linux/ramips/dts/mt7628an_hiwifi_hc5x61a.dtsi index c236a7a6f5..7a6631d2e4 100644 --- a/target/linux/ramips/dts/mt7628an_hiwifi_hc5x61a.dtsi +++ b/target/linux/ramips/dts/mt7628an_hiwifi_hc5x61a.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include "mt7628an.dtsi" diff --git a/target/linux/ramips/dts/mt7628an_iptime.dtsi b/target/linux/ramips/dts/mt7628an_iptime.dtsi index 05d6aa533a..bbd8642f2a 100644 --- a/target/linux/ramips/dts/mt7628an_iptime.dtsi +++ b/target/linux/ramips/dts/mt7628an_iptime.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include "mt7628an.dtsi" 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 8b069d4370..f4d678e38e 100644 --- a/target/linux/ramips/dts/mt7628an_zyxel_keenetic-extra-ii.dts +++ b/target/linux/ramips/dts/mt7628an_zyxel_keenetic-extra-ii.dts @@ -107,7 +107,7 @@ }; factory: partition@40000 { - label = "rf-eeprom"; + label = "factory"; reg = <0x40000 0x10000>; read-only; }; 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 8bc77e422d..030796f286 100644 --- a/target/linux/ramips/dts/rt3050_dlink_dir-300-b1.dts +++ b/target/linux/ramips/dts/rt3050_dlink_dir-300-b1.dts @@ -39,7 +39,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "devconf"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_7links_px-4885-4m.dts b/target/linux/ramips/dts/rt5350_7links_px-4885-4m.dts index 66e2c1924c..914ceb0c53 100644 --- a/target/linux/ramips/dts/rt5350_7links_px-4885-4m.dts +++ b/target/linux/ramips/dts/rt5350_7links_px-4885-4m.dts @@ -32,7 +32,7 @@ read-only; }; - factory: partition@40000 { + devconf: partition@40000 { label = "devconf"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_7links_px-4885-8m.dts b/target/linux/ramips/dts/rt5350_7links_px-4885-8m.dts index f3d9926702..c9826166b4 100644 --- a/target/linux/ramips/dts/rt5350_7links_px-4885-8m.dts +++ b/target/linux/ramips/dts/rt5350_7links_px-4885-8m.dts @@ -32,7 +32,7 @@ read-only; }; - factory: partition@40000 { + devconf: partition@40000 { label = "devconf"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_7links_px-4885.dtsi b/target/linux/ramips/dts/rt5350_7links_px-4885.dtsi index 032a89cd1a..cdd3033bed 100644 --- a/target/linux/ramips/dts/rt5350_7links_px-4885.dtsi +++ b/target/linux/ramips/dts/rt5350_7links_px-4885.dtsi @@ -51,7 +51,7 @@ }; ðernet { - mtd-mac-address = <&factory 0x28>; + mtd-mac-address = <&devconf 0x28>; }; &esw { @@ -59,5 +59,5 @@ }; &wmac { - ralink,mtd-eeprom = <&factory 0>; + ralink,mtd-eeprom = <&devconf 0>; }; diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile index 16748b8260..4f65583f13 100644 --- a/target/linux/ramips/image/Makefile +++ b/target/linux/ramips/image/Makefile @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/image.mk -DEVICE_VARS += DTS IMAGE_SIZE NETGEAR_BOARD_ID NETGEAR_HW_ID +DEVICE_VARS += IMAGE_SIZE NETGEAR_BOARD_ID NETGEAR_HW_ID DEVICE_VARS += BUFFALO_TAG_PLATFORM BUFFALO_TAG_VERSION BUFFALO_TAG_MINOR DEVICE_VARS += SEAMA_SIGNATURE SEAMA_MTDBLOCK DEVICE_VARS += SERCOMM_HWID SERCOMM_HWVER SERCOMM_SWVER @@ -48,7 +48,9 @@ define Device/seama endef define Build/jcg-header - $(STAGING_DIR_HOST)/bin/jcgimage -v $(1) $(if $(JCG_MAXSIZE), -m $(JCG_MAXSIZE),) -u $@ -o $@.new + $(STAGING_DIR_HOST)/bin/jcgimage -v $(1) \ + $(if $(JCG_MAXSIZE), -m $$(($(subst k, * 1024,$(JCG_MAXSIZE)))),) \ + -u $@ -o $@.new mv $@.new $@ endef diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index d663aa29da..e9190844ac 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -361,6 +361,29 @@ define Device/iodata_wnpr2600g endef TARGET_DEVICES += iodata_wnpr2600g +define Device/iptime_a6ns-m + MTK_SOC := mt7621 + IMAGE_SIZE := 16128k + UIMAGE_NAME := a6nm + DEVICE_VENDOR := ipTIME + DEVICE_MODEL := A6ns-M + DEVICE_PACKAGES := kmod-mt7615e kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic +endef +TARGET_DEVICES += iptime_a6ns-m + +define Device/jcg_jhr-ac876m + MTK_SOC := mt7621 + IMAGE_SIZE := 16064k + IMAGES += factory.bin + IMAGE/factory.bin := \ + $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) | jcg-header 89.1 + JCG_MAXSIZE := 16064k + DEVICE_VENDOR := JCG + DEVICE_MODEL := JHR-AC876M + DEVICE_PACKAGES := kmod-mt7615e kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic +endef +TARGET_DEVICES += jcg_jhr-ac876m + define Device/lenovo_newifi-d1 MTK_SOC := mt7621 IMAGE_SIZE := 32448k @@ -910,3 +933,12 @@ define Device/zbtlink_zbt-wg3526-32m SUPPORTED_DEVICES += ac1200pro zbt-wg3526-32M endef TARGET_DEVICES += zbtlink_zbt-wg3526-32m + +define Device/zio_freezio + MTK_SOC := mt7621 + IMAGE_SIZE := 16064k + DEVICE_VENDOR := ZIO + DEVICE_MODEL := FREEZIO + DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic +endef +TARGET_DEVICES += zio_freezio diff --git a/target/linux/ramips/image/mt76x8.mk b/target/linux/ramips/image/mt76x8.mk index dbd80a6053..758caf7fa2 100644 --- a/target/linux/ramips/image/mt76x8.mk +++ b/target/linux/ramips/image/mt76x8.mk @@ -37,7 +37,7 @@ define Device/cudy_wr1000 IMAGES += factory.bin IMAGE/factory.bin := \ $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) | jcg-header 92.122 - JCG_MAXSIZE := 8060928 + JCG_MAXSIZE := 7872k DEVICE_VENDOR := Cudy DEVICE_MODEL := WR1000 DEVICE_PACKAGES := kmod-mt76x2 diff --git a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network index 12820f3a36..20846ef202 100755 --- a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network @@ -67,7 +67,6 @@ ramips_setup_interfaces() glinet,gl-mt300n|\ glinet,gl-mt750|\ hiwifi,hc5661|\ - tplink,archer-c20i|\ wrtnode,wrtnode|\ zbtlink,zbt-wa05) ucidef_add_switch "switch0" \ @@ -177,6 +176,7 @@ ramips_setup_interfaces() ucidef_add_switch "switch0" \ "0:lan:3" "1:lan:2" "2:lan:1" "3:wan" "6@eth0" ;; + tplink,archer-c20i|\ tplink,archer-c20-v1|\ tplink,archer-c50-v1) ucidef_add_switch "switch0" \ @@ -222,32 +222,19 @@ ramips_setup_macs() case $board in aigale,ai-br100|\ - alfa-network,ac1200rm|\ asus,rt-ac51u|\ asus,rt-n12p|\ asus,rt-n14u|\ bdcom,wap2100-sk|\ - dlink,dir-810l|\ edimax,ew-7478apc|\ fon,fon2601|\ head-weblink,hdrm200|\ nexx,wt3020-4m|\ nexx,wt3020-8m|\ phicomm,psg1208|\ - phicomm,psg1218a|\ - phicomm,psg1218b|\ planex,db-wrt01|\ planex,mzk-750dhp|\ - ralink,mt7620a-evb|\ - ralink,mt7620a-mt7530-evb|\ - ralink,mt7620a-mt7610e-evb|\ - ralink,mt7620a-v22sg-evb|\ sanlinking,d240|\ - tplink,archer-c2-v1|\ - tplink,archer-c20-v1|\ - tplink,archer-c20i|\ - tplink,archer-c50-v1|\ - tplink,archer-mr200|\ vonets,var11n-300|\ wrtnode,wrtnode|\ youku,yk1|\ @@ -258,7 +245,13 @@ ramips_setup_macs() zbtlink,zbt-we826-32m|\ zbtlink,zbt-we826-e|\ zbtlink,zbt-wr8305rt) - wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 1) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1) + ;; + alfa-network,ac1200rm|\ + dlink,dir-810l|\ + phicomm,psg1218a|\ + phicomm,psg1218b) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x28)" 1) ;; alfa-network,r36m-e4g|\ zbtlink,zbt-we1026-h-32m) @@ -284,7 +277,7 @@ ramips_setup_macs() wan_mac=$(mtd_get_mac_ascii u-boot-env WAN_MAC_ADDR) ;; edimax,br-6478ac-v2) - wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 2) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 2) ;; engenius,esr600) lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr) @@ -293,7 +286,7 @@ ramips_setup_macs() glinet,gl-mt300a|\ glinet,gl-mt300n|\ glinet,gl-mt750) - wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 1) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4000)" 1) label_mac=$(mtd_get_mac_binary factory 0x4) ;; hiwifi,hc5661|\ @@ -317,6 +310,13 @@ ramips_setup_macs() linksys,e1700) wan_mac=$(mtd_get_mac_ascii config WAN_MAC_ADDR) ;; + tplink,archer-c2-v1|\ + tplink,archer-c20-v1|\ + tplink,archer-c20i|\ + tplink,archer-c50-v1|\ + tplink,archer-mr200) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary rom 0xf100)" 1) + ;; zbtlink,zbt-we1026-5g-16m) label_mac=$(mtd_get_mac_binary factory 0x4) ;; diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network index 420780a101..5c6b5659cb 100755 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network @@ -14,6 +14,7 @@ ramips_setup_interfaces() d-team,pbr-m1|\ firefly,firewrt|\ hiwifi,hc5962|\ + jcg,jhr-ac876m|\ mediatek,ap-mt7621a-v60|\ mediatek,mt7621-eval-board|\ mqmaker,witi|\ @@ -45,7 +46,8 @@ ramips_setup_interfaces() netgear,wndr3700-v5|\ netis,wf-2881|\ wevo,11acnas|\ - wevo,w2914ns-v2) + wevo,w2914ns-v2|\ + zio,freezio) ucidef_add_switch "switch0" \ "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan" "6@eth0" ;; @@ -55,17 +57,17 @@ ramips_setup_interfaces() asiarf,ap7621-nv1) ucidef_add_switch "switch0" "0:wan" "2:lan" "3:lan" "6@eth0" ;; + asus,rt-ac65p|\ asus,rt-ac57u|\ + asus,rt-ac85p|\ + iptime,a6ns-m|\ mikrotik,rb750gr3|\ - mikrotik,rbm33g|\ ubiquiti,edgerouterx|\ ubiquiti,edgerouterx-sfp|\ youhua,wr1200js) ucidef_add_switch "switch0" \ "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0" ;; - asus,rt-ac65p|\ - asus,rt-ac85p|\ dlink,dir-860l-b1|\ elecom,wrc-1167ghbk2-s|\ elecom,wrc-1900gst|\ @@ -112,6 +114,10 @@ ramips_setup_interfaces() ucidef_add_switch_attr "switch0" "enable" "false" ucidef_set_interface_lan "eth0" ;; + mikrotik,rbm33g) + ucidef_add_switch "switch0" \ + "1:lan" "2:lan" "0:wan" "6@eth0" + ;; netgear,ex6150|\ tplink,re350-v1|\ tplink,re650-v1) @@ -144,31 +150,21 @@ ramips_setup_macs() local label_mac="" case $board in - adslr,g7|\ + adslr,g7) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0xe00c)" 1) + ;; afoundry,ew1200|\ asiarf,ap7621-001|\ asiarf,ap7621-nv1|\ firefly,firewrt|\ gehua,ghl-r-001|\ - mediatek,ap-mt7621a-v60|\ - mediatek,mt7621-eval-board|\ - mikrotik,rb750gr3|\ - mikrotik,rbm33g|\ mqmaker,witi|\ - mtc,wr1201|\ - netgear,r6220|\ - netgear,wndr3700-v5|\ - storylink,sap-g3200u3|\ - telco-electronics,x1|\ totolink,a7000r|\ - ubiquiti,edgerouterx|\ - ubiquiti,edgerouterx-sfp|\ unielec,u7621-06-16m|\ unielec,u7621-06-64m|\ - xiaoyu,xy-c5|\ xzwifi,creativebox-v1|\ zbtlink,zbt-wg2626) - wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 1) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0xe000)" 1) ;; alfa-network,quad-e4g|\ asus,rt-ac57u|\ @@ -213,20 +209,50 @@ ramips_setup_macs() wan_mac=$(macaddr_add "$lan_mac" 1) ;; iodata,wn-ax1167gr|\ - iodata,wn-gx300gr) + iodata,wn-gx300gr|\ + mtc,wr1201|\ + netgear,r6220|\ + netgear,wndr3700-v5|\ + xiaoyu,xy-c5) wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1) ;; iodata,wnpr2600g) wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr) label_mac=$wan_mac ;; + iptime,a6ns-m) + wan_mac=$(mtd_get_mac_binary u-boot 0x1fc40) + ;; + jcg,jhr-ac876m) + label_mac=$(mtd_get_mac_binary factory 0x4) + wan_mac=$label_mac + ;; + mediatek,ap-mt7621a-v60) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x5)" 1) + ;; + mikrotik,rb750gr3) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary hard_config 0x10)" 2) + ;; + mikrotik,rbm33g) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary hard_config 0x10)" 2) + label_mac=$(mtd_get_mac_binary hard_config 0x10) + ;; netgear,r6260|\ netgear,r6350|\ netgear,r6850) - wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 2) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 2) + ;; + storylink,sap-g3200u3|\ + telco-electronics,x1) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0xe006)" 1) + ;; + ubiquiti,edgerouterx|\ + ubiquiti,edgerouterx-sfp) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x22)" 1) ;; wevo,11acnas|\ - wevo,w2914ns-v2) + wevo,w2914ns-v2|\ + zio,freezio) wan_mac=$(mtd_get_mac_binary factory 0x2e) label_mac=$wan_mac ;; @@ -247,7 +273,7 @@ ramips_setup_macs() ;; zbtlink,zbt-wg3526-16m|\ zbtlink,zbt-wg3526-32m) - wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 1) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0xe000)" 1) label_mac=$(mtd_get_mac_binary factory 0x4) ;; esac diff --git a/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network b/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network index 87ce447612..aeaf296984 100755 --- a/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network @@ -137,29 +137,11 @@ ramips_setup_macs() label_mac=$(mtd_get_mac_binary factory 0x8) ;; duzun,dm06|\ - mediatek,mt7628an-eval-board|\ netgear,r6120|\ - rakwireless,rak633|\ - tplink,archer-c20-v4|\ - tplink,archer-c50-v3|\ - tplink,archer-c50-v4|\ - tplink,tl-mr3420-v5|\ - tplink,tl-wr840n-v4|\ - tplink,tl-wr840n-v5|\ - tplink,tl-wr841n-v13|\ - tplink,tl-wr841n-v14|\ - tplink,tl-wr842n-v5|\ - unielec,u7628-01-16m|\ - wavlink,wl-wn570ha1|\ - wavlink,wl-wn575a3|\ - wiznet,wizfi630s|\ wrtnode,wrtnode2p|\ wrtnode,wrtnode2r|\ - xiaomi,mir4a-100m|\ - xiaomi,miwifi-nano|\ - zbtlink,zbt-we1226|\ zyxel,keenetic-extra-ii) - wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 1) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1) ;; hilink,hlk-7628n) lan_mac=$(macaddr_setbit_la "$(cat /sys/class/net/eth0/address)") @@ -186,14 +168,41 @@ ramips_setup_macs() mercury,mac1200r-v2) wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory_info 0xd)" 1) ;; + rakwireless,rak633|\ + unielec,u7628-01-16m|\ + wavlink,wl-wn575a3|\ + wiznet,wizfi630s|\ + xiaomi,miwifi-nano) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x28)" 1) + ;; skylab,skw92a|\ totolink,lr1200) wan_mac=$(mtd_get_mac_binary factory 0x2e) ;; + tplink,archer-c20-v4|\ + tplink,archer-c50-v3|\ + tplink,tl-mr3420-v5|\ + tplink,tl-wr840n-v4|\ + tplink,tl-wr840n-v5|\ + tplink,tl-wr841n-v13|\ + tplink,tl-wr841n-v14|\ + tplink,tl-wr842n-v5) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0xf100)" 1) + ;; + tplink,archer-c50-v4) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary rom 0xf100)" 1) + ;; vocore,vocore2|\ vocore,vocore2-lite) label_mac=$(mtd_get_mac_binary factory 0x8) ;; + wavlink,wl-wn570ha1|\ + zbtlink,zbt-we1226) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x2e)" 1) + ;; + xiaomi,mir4a-100m) + wan_mac=$(mtd_get_mac_binary factory 0x4) + ;; esac [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac diff --git a/target/linux/ramips/patches-4.14/0031-uvc-add-iPassion-iP2970-support.patch b/target/linux/ramips/patches-4.14/0031-uvc-add-iPassion-iP2970-support.patch index ff4c5b17fa..0b305a8105 100644 --- a/target/linux/ramips/patches-4.14/0031-uvc-add-iPassion-iP2970-support.patch +++ b/target/linux/ramips/patches-4.14/0031-uvc-add-iPassion-iP2970-support.patch @@ -13,7 +13,7 @@ Signed-off-by: John Crispin --- a/drivers/media/usb/uvc/uvc_driver.c +++ b/drivers/media/usb/uvc/uvc_driver.c -@@ -2735,6 +2735,18 @@ static const struct usb_device_id uvc_id +@@ -2737,6 +2737,18 @@ static const struct usb_device_id uvc_id .bInterfaceSubClass = 1, .bInterfaceProtocol = 0, .driver_info = UVC_QUIRK_FORCE_Y8 }, diff --git a/target/linux/ramips/patches-4.14/0200-linkit_bootstrap.patch b/target/linux/ramips/patches-4.14/0200-linkit_bootstrap.patch index 865ae79f43..cd1462fbcf 100644 --- a/target/linux/ramips/patches-4.14/0200-linkit_bootstrap.patch +++ b/target/linux/ramips/patches-4.14/0200-linkit_bootstrap.patch @@ -1,6 +1,6 @@ --- a/drivers/misc/Makefile +++ b/drivers/misc/Makefile -@@ -57,6 +57,7 @@ obj-$(CONFIG_CXL_BASE) += cxl/ +@@ -56,6 +56,7 @@ obj-$(CONFIG_CXL_BASE) += cxl/ obj-$(CONFIG_ASPEED_LPC_CTRL) += aspeed-lpc-ctrl.o obj-$(CONFIG_ASPEED_LPC_SNOOP) += aspeed-lpc-snoop.o obj-$(CONFIG_PCI_ENDPOINT_TEST) += pci_endpoint_test.o diff --git a/target/linux/ramips/rt288x/base-files/etc/board.d/02_network b/target/linux/ramips/rt288x/base-files/etc/board.d/02_network index b9588f4aad..0cc0e0b28b 100755 --- a/target/linux/ramips/rt288x/base-files/etc/board.d/02_network +++ b/target/linux/ramips/rt288x/base-files/etc/board.d/02_network @@ -42,13 +42,14 @@ ramips_setup_macs() local label_mac="" case $board in - airlink101,ar670w|\ + airlink101,ar670w) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x2004)" 1) + ;; airlink101,ar725w|\ asus,rt-n15|\ belkin,f5d8235-v1|\ - buffalo,wzr-agl300nh|\ - ralink,v11st-fe) - wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 1) + buffalo,wzr-agl300nh) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1) ;; esac diff --git a/target/linux/ramips/rt305x/base-files/etc/board.d/02_network b/target/linux/ramips/rt305x/base-files/etc/board.d/02_network index de71dd6202..5efcd53955 100755 --- a/target/linux/ramips/rt305x/base-files/etc/board.d/02_network +++ b/target/linux/ramips/rt305x/base-files/etc/board.d/02_network @@ -167,34 +167,38 @@ ramips_setup_macs() case $board in 7links,px-4885-4m|\ - 7links,px-4885-8m|\ + 7links,px-4885-8m) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary devconf 0x28)" 1) + ;; + 8devices,carambola|\ + alfa-network,w502u|\ + arcwireless,freestation5|\ + netgear,wnce2001) + wan_mac=$(mtd_get_mac_binary factory 0x2e) + ;; accton,wr6202|\ - airlive,air3gii|\ - argus,atp-52b|\ - asiarf,awapn2403|\ asiarf,awm002-evb-4m|\ asiarf,awm002-evb-8m|\ - asus,rt-g32-b1|\ - asus,rt-n10-plus|\ asus,rt-n13u|\ - asus,wl-330n3g|\ aztech,hw550-3g|\ - belkin,f5d8235-v2|\ - belkin,f7c027|\ - dlink,dap-1350|\ - dlink,dir-300-b1|\ - dlink,dir-600-b1|\ - dlink,dir-610-a1|\ - dlink,dir-620-d1|\ - dlink,dwr-512-b|\ - edimax,3g-6200n|\ - edimax,3g-6200nl|\ fon,fonera-20n|\ huawei,hg255d|\ - jcg,jhr-n805r|\ - jcg,jhr-n825r|\ - jcg,jhr-n926r|\ - mofinetwork,mofi3500-3gn|\ + omnima,miniembwifi|\ + planex,mzk-wdpr|\ + poray,ip2202|\ + teltonika,rut5xx|\ + unbranded,xdx-rn502j|\ + zyxel,keenetic|\ + zyxel,nbg-419n|\ + zyxel,nbg-419n-v2) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x28)" 1) + ;; + airlive,air3gii|\ + argus,atp-52b|\ + asus,wl-330n3g|\ + dlink,dir-620-d1|\ + edimax,3g-6200n|\ + edimax,3g-6200nl|\ netcore,nw718|\ nexx,wt1520-4m|\ nexx,wt1520-8m|\ @@ -203,30 +207,17 @@ ramips_setup_macs() olimex,rt5350f-olinuxino|\ olimex,rt5350f-olinuxino-evb|\ omnima,miniembplug|\ - omnima,miniembwifi|\ planex,mzk-w300nh2|\ - planex,mzk-wdpr|\ - poray,ip2202|\ - prolink,pwh2004|\ - ralink,v22rw-2x2|\ sitecom,wl-351|\ - teltonika,rut5xx|\ - trendnet,tew-714tru|\ - unbranded,wr512-3gn-4m|\ - unbranded,wr512-3gn-8m|\ - unbranded,xdx-rn502j|\ - upvel,ur-326n4g|\ - upvel,ur-336un|\ - zyxel,keenetic|\ - zyxel,nbg-419n|\ - zyxel,nbg-419n-v2) - wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 1) + trendnet,tew-714tru) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1) ;; - 8devices,carambola|\ - alfa-network,w502u|\ - arcwireless,freestation5|\ - netgear,wnce2001) - wan_mac=$(mtd_get_mac_binary factory 0x2e) + asus,rt-g32-b1|\ + asus,rt-n10-plus) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary devconf 0x4)" 1) + ;; + belkin,f5d8235-v2) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary uboot 0x40004)" 1) ;; dlink,dir-300-b7|\ dlink,dir-320-b1|\ @@ -242,27 +233,46 @@ ramips_setup_macs() lan_mac=$(macaddr_setbit_la "$(cat /sys/class/net/eth0/address)") wan_mac=$(macaddr_add "$lan_mac" 1) ;; + dlink,dap-1350) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary devdata 0x2e)" 1) + ;; + dlink,dir-300-b1|\ + dlink,dir-600-b1|\ + dlink,dir-610-a1) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary devdata 0x4004)" 1) + ;; dlink,dir-615-d) - wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 1) label_mac=$(mtd_get_mac_binary devdata 0x4004) ;; dlink,dir-615-h1) - wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 1) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x28)" 1) label_mac=$(mtd_get_mac_binary factory 0x4) ;; + dlink,dwr-512-b) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary config 0xe07e)" 1) + ;; + jcg,jhr-n805r|\ + jcg,jhr-n825r|\ + jcg,jhr-n926r) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x2e)" 1) + ;; poray,m3|\ poray,m4-4m|\ poray,m4-8m|\ poray,x5|\ poray,x8) - lan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" -2) + lan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" -2) ;; sparklan,wcr-150gn|\ wiznet,wizfi630a) wan_mac=$(mtd_get_mac_binary factory 0x28) ;; tenda,w306r-v2) - wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 5) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x28)" 5) + ;; + upvel,ur-326n4g|\ + upvel,ur-336un) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4004)" 1) ;; esac diff --git a/target/linux/sunxi/config-4.14 b/target/linux/sunxi/config-4.14 index ab7dc9c9b8..6e19f1599b 100644 --- a/target/linux/sunxi/config-4.14 +++ b/target/linux/sunxi/config-4.14 @@ -327,8 +327,6 @@ CONFIG_KVM_VFIO=y CONFIG_LCD_CLASS_DEVICE=y CONFIG_LCD_PLATFORM=y CONFIG_LEDS_GPIO=y -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 CONFIG_LIBFDT=y CONFIG_LOCK_SPIN_ON_OWNER=y CONFIG_LOGO=y diff --git a/target/linux/sunxi/config-4.19 b/target/linux/sunxi/config-4.19 index 3a2b2843c8..9f3930303b 100644 --- a/target/linux/sunxi/config-4.19 +++ b/target/linux/sunxi/config-4.19 @@ -334,8 +334,6 @@ CONFIG_KVM_VFIO=y CONFIG_LCD_CLASS_DEVICE=y CONFIG_LCD_PLATFORM=y CONFIG_LEDS_GPIO=y -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 CONFIG_LIBFDT=y CONFIG_LOCK_DEBUGGING_SUPPORT=y CONFIG_LOCK_SPIN_ON_OWNER=y diff --git a/target/linux/sunxi/image/Makefile b/target/linux/sunxi/image/Makefile index 8f95c61906..929f4c70f9 100644 --- a/target/linux/sunxi/image/Makefile +++ b/target/linux/sunxi/image/Makefile @@ -32,11 +32,15 @@ endef # why \x00\x00\x00\x00 for zImage-initramfs define Device/Default PROFILES := Default - DEVICE_VARS := SUNXI_DTS SUNXI_UBOOT + DEVICE_VARS := SUNXI_SOC SUNXI_DTS SUNXI_DTS_DIR SUNXI_UBOOT KERNEL_NAME := zImage KERNEL := kernel-bin | uImage none IMAGES := sdcard.img.gz IMAGE/sdcard.img.gz := sunxi-sdcard | append-metadata | gzip + SUPPORTED_DEVICES := $(subst _,$(comma),$(1)) + SUNXI_SOC := + SUNXI_DTS_DIR := + SUNXI_DTS = $$(SUNXI_DTS_DIR)$$(SUNXI_SOC)-$(lastword $(subst _, ,$(1))) endef include cortex-a7.mk diff --git a/target/linux/sunxi/image/cortex-a53.mk b/target/linux/sunxi/image/cortex-a53.mk index 7a67160c33..b0d087b9b1 100644 --- a/target/linux/sunxi/image/cortex-a53.mk +++ b/target/linux/sunxi/image/cortex-a53.mk @@ -7,71 +7,73 @@ # ifeq ($(SUBTARGET),cortexa53) -define Device/sun50i-h5-nanopi-neo-plus2 +define Device/friendlyarm_nanopi-neo-plus2 DEVICE_VENDOR := FriendlyARM DEVICE_MODEL := NanoPi NEO Plus2 SUPPORTED_DEVICES:=nanopi-neo-plus2 - SUNXI_DTS:=allwinner/sun50i-h5-nanopi-neo-plus2 + SUNXI_DTS_DIR := allwinner/ + SUNXI_SOC := sun50i-h5 KERNEL_NAME := Image KERNEL := kernel-bin endef -TARGET_DEVICES += sun50i-h5-nanopi-neo-plus2 +TARGET_DEVICES += friendlyarm_nanopi-neo-plus2 -define Device/sun50i-h5-nanopi-neo2 +define Device/friendlyarm_nanopi-neo2 DEVICE_VENDOR := FriendlyARM DEVICE_MODEL := NanoPi NEO2 SUPPORTED_DEVICES:=nanopi-neo2 - SUNXI_DTS:=allwinner/sun50i-h5-nanopi-neo2 + SUNXI_DTS_DIR := allwinner/ + SUNXI_SOC := sun50i-h5 KERNEL_NAME := Image KERNEL := kernel-bin endef -TARGET_DEVICES += sun50i-h5-nanopi-neo2 +TARGET_DEVICES += friendlyarm_nanopi-neo2 -define Device/sun50i-a64-pine64-plus +define Device/pine64_pine64-plus DEVICE_VENDOR := Pine64 DEVICE_MODEL := Pine64+ - SUPPORTED_DEVICES:=pine64,pine64-plus - SUNXI_DTS:=allwinner/sun50i-a64-pine64-plus + SUNXI_DTS_DIR := allwinner/ + SUNXI_SOC := sun50i-a64 KERNEL_NAME := Image KERNEL := kernel-bin endef -TARGET_DEVICES += sun50i-a64-pine64-plus +TARGET_DEVICES += pine64_pine64-plus -define Device/sun50i-a64-sopine-baseboard +define Device/pine64_sopine-baseboard DEVICE_VENDOR := Pine64 DEVICE_MODEL := SoPine - SUPPORTED_DEVICES:=pine64,sopine-baseboard - SUNXI_DTS:=allwinner/sun50i-a64-sopine-baseboard + SUNXI_DTS_DIR := allwinner/ + SUNXI_SOC := sun50i-a64 KERNEL_NAME := Image KERNEL := kernel-bin endef -TARGET_DEVICES += sun50i-a64-sopine-baseboard +TARGET_DEVICES += pine64_sopine-baseboard -define Device/sun50i-h5-orangepi-zero-plus +define Device/xunlong_orangepi-zero-plus DEVICE_VENDOR := Xunlong DEVICE_MODEL := Orange Pi Zero Plus - SUPPORTED_DEVICES:=xunlong,orangepi-zero-plus - SUNXI_DTS:=allwinner/sun50i-h5-orangepi-zero-plus + SUNXI_DTS_DIR := allwinner/ + SUNXI_SOC := sun50i-h5 KERNEL_NAME := Image KERNEL := kernel-bin endef -TARGET_DEVICES += sun50i-h5-orangepi-zero-plus +TARGET_DEVICES += xunlong_orangepi-zero-plus -define Device/sun50i-h5-orangepi-pc2 +define Device/xunlong_orangepi-pc2 DEVICE_VENDOR := Xunlong DEVICE_MODEL := Orange Pi PC 2 - SUPPORTED_DEVICES:=xunlong,orangepi-pc2 - SUNXI_DTS:=allwinner/sun50i-h5-orangepi-pc2 + SUNXI_DTS_DIR := allwinner/ + SUNXI_SOC := sun50i-h5 KERNEL_NAME := Image KERNEL := kernel-bin endef -TARGET_DEVICES += sun50i-h5-orangepi-pc2 +TARGET_DEVICES += xunlong_orangepi-pc2 endif diff --git a/target/linux/sunxi/image/cortex-a7.mk b/target/linux/sunxi/image/cortex-a7.mk index 3375a4542c..83b313a378 100644 --- a/target/linux/sunxi/image/cortex-a7.mk +++ b/target/linux/sunxi/image/cortex-a7.mk @@ -8,245 +8,235 @@ ifeq ($(SUBTARGET),cortexa7) -define Device/sun7i-a20-olinuxino-lime +define Device/olimex_a20-olinuxino-lime DEVICE_VENDOR := Olimex DEVICE_MODEL := A20-OLinuXino-LIME DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi - SUPPORTED_DEVICES:=olimex,a20-olinuxino-lime - SUNXI_DTS:=sun7i-a20-olinuxino-lime + SUNXI_SOC := sun7i endef -TARGET_DEVICES += sun7i-a20-olinuxino-lime +TARGET_DEVICES += olimex_a20-olinuxino-lime -define Device/sun7i-a20-olinuxino-lime2 +define Device/olimex_a20-olinuxino-lime2 DEVICE_VENDOR := Olimex DEVICE_MODEL := A20-OLinuXino-LIME2 DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi kmod-usb-hid - SUPPORTED_DEVICES:=olimex,a20-olinuxino-lime2 - SUNXI_DTS:=sun7i-a20-olinuxino-lime2 + SUNXI_SOC := sun7i endef -TARGET_DEVICES += sun7i-a20-olinuxino-lime2 +TARGET_DEVICES += olimex_a20-olinuxino-lime2 -define Device/sun7i-a20-olinuxino-lime2-emmc +define Device/olimex_a20-olinuxino-lime2-emmc DEVICE_VENDOR := Olimex DEVICE_MODEL := A20-OLinuXino-LIME2 DEVICE_VARIANT := eMMC DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi kmod-usb-hid - SUPPORTED_DEVICES:=olimex,a20-olinuxino-lime2-emmc - SUNXI_DTS:=sun7i-a20-olinuxino-lime2-emmc + SUNXI_SOC := sun7i endef -TARGET_DEVICES += sun7i-a20-olinuxino-lime2-emmc +TARGET_DEVICES += olimex_a20-olinuxino-lime2-emmc -define Device/sun7i-a20-olinuxino-micro +define Device/olimex_a20-olinuxino-micro DEVICE_VENDOR := Olimex DEVICE_MODEL := A20-OLinuXino-MICRO DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi - SUPPORTED_DEVICES:=olimex,a20-olinuxino-micro - SUNXI_DTS:=sun7i-a20-olinuxino-micro + SUNXI_SOC := sun7i endef -TARGET_DEVICES += sun7i-a20-olinuxino-micro +TARGET_DEVICES += olimex_a20-olinuxino-micro -define Device/sun7i-a20-bananapi +define Device/lemaker_bananapi DEVICE_VENDOR := LeMaker DEVICE_MODEL := Banana Pi DEVICE_PACKAGES:=kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi - SUPPORTED_DEVICES:=lemaker,bananapi - SUNXI_DTS:=sun7i-a20-bananapi + SUNXI_SOC := sun7i-a20 endef -TARGET_DEVICES += sun7i-a20-bananapi +TARGET_DEVICES += lemaker_bananapi -define Device/sun7i-a20-bananapro +define Device/lemaker_bananapro DEVICE_VENDOR := LeMaker DEVICE_MODEL := Banana Pro DEVICE_PACKAGES:=kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi kmod-brcmfmac - SUPPORTED_DEVICES:=lemaker,bananapro - SUNXI_DTS:=sun7i-a20-bananapro + SUNXI_SOC := sun7i-a20 endef -TARGET_DEVICES += sun7i-a20-bananapro +TARGET_DEVICES += lemaker_bananapro -define Device/sun7i-a20-cubieboard2 +define Device/cubietech_cubieboard2 DEVICE_VENDOR := Cubietech DEVICE_MODEL := Cubieboard2 DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi - SUPPORTED_DEVICES:=cubietech,cubieboard2 - SUNXI_DTS:=sun7i-a20-cubieboard2 + SUNXI_SOC := sun7i-a20 endef -TARGET_DEVICES += sun7i-a20-cubieboard2 +TARGET_DEVICES += cubietech_cubieboard2 -define Device/sun7i-a20-cubietruck +define Device/cubietech_cubietruck DEVICE_VENDOR := Cubietech DEVICE_MODEL := Cubietruck DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi kmod-brcmfmac - SUPPORTED_DEVICES:=cubietech,cubietruck - SUNXI_DTS:=sun7i-a20-cubietruck + SUNXI_SOC := sun7i-a20 endef -TARGET_DEVICES += sun7i-a20-cubietruck +TARGET_DEVICES += cubietech_cubietruck -define Device/sun7i-a20-lamobo-r1 +define Device/lamobo_lamobo-r1 DEVICE_VENDOR := Lamobo DEVICE_MODEL := Lamobo R1 DEVICE_PACKAGES:=kmod-ata-sunxi kmod-rtl8192cu swconfig wpad-basic - SUPPORTED_DEVICES:=lamobo,lamobo-r1 - SUNXI_DTS:=sun7i-a20-lamobo-r1 + SUNXI_SOC := sun7i-a20 endef -TARGET_DEVICES += sun7i-a20-lamobo-r1 +TARGET_DEVICES += lamobo_lamobo-r1 -define Device/sun6i-a31-m9 +define Device/mele_m9 DEVICE_VENDOR := Mele DEVICE_MODEL := M9 DEVICE_PACKAGES:=kmod-sun4i-emac kmod-rtc-sunxi kmod-rtl8192cu - SUPPORTED_DEVICES:=mele,m9 - SUNXI_DTS:=sun6i-a31-m9 + SUNXI_SOC := sun6i-a31 endef -TARGET_DEVICES += sun6i-a31-m9 +TARGET_DEVICES += mele_m9 -define Device/sun8i-h2-plus-orangepi-zero +define Device/xunlong_orangepi-zero DEVICE_VENDOR := Xunlong DEVICE_MODEL := Orange Pi Zero DEVICE_PACKAGES:=kmod-rtc-sunxi - SUPPORTED_DEVICES:=xunlong,orangepi-zero - SUNXI_DTS:=sun8i-h2-plus-orangepi-zero + SUNXI_SOC := sun8i-h2-plus endef -TARGET_DEVICES += sun8i-h2-plus-orangepi-zero +TARGET_DEVICES += xunlong_orangepi-zero -define Device/sun8i-h2-plus-orangepi-r1 +define Device/xunlong_orangepi-r1 DEVICE_VENDOR := Xunlong DEVICE_MODEL := Orange Pi R1 DEVICE_PACKAGES:=kmod-rtc-sunxi kmod-usb-net kmod-usb-net-rtl8152 - SUPPORTED_DEVICES:=xunlong,orangepi-r1 - SUNXI_DTS:=sun8i-h2-plus-orangepi-r1 + SUNXI_SOC := sun8i-h2-plus endef -TARGET_DEVICES += sun8i-h2-plus-orangepi-r1 +TARGET_DEVICES += xunlong_orangepi-r1 -define Device/sun8i-h3-bananapi-m2-plus +define Device/sinovoip_bananapi-m2-plus DEVICE_VENDOR := Sinovoip DEVICE_MODEL := Banana Pi M2+ DEVICE_PACKAGES:=kmod-rtc-sunxi \ kmod-leds-gpio kmod-ledtrig-heartbeat \ kmod-brcmfmac brcmfmac-firmware-43430a0-sdio wpad-basic - SUPPORTED_DEVICES:=sinovoip,bananapi-m2-plus - SUNXI_DTS:=sun8i-h3-bananapi-m2-plus + SUNXI_SOC := sun8i-h3 endef -TARGET_DEVICES += sun8i-h3-bananapi-m2-plus +TARGET_DEVICES += sinovoip_bananapi-m2-plus -define Device/sun8i-h3-nanopi-m1-plus +define Device/friendlyarm_nanopi-m1-plus DEVICE_VENDOR := FriendlyARM DEVICE_MODEL := NanoPi M1 Plus DEVICE_PACKAGES:=kmod-rtc-sunxi \ kmod-leds-gpio kmod-ledtrig-heartbeat \ kmod-brcmfmac brcmfmac-firmware-43430-sdio wpad-basic - SUPPORTED_DEVICES:=friendlyarm,nanopi-m1-plus - SUNXI_DTS:=sun8i-h3-nanopi-m1-plus + SUNXI_SOC := sun8i-h3 endef -TARGET_DEVICES += sun8i-h3-nanopi-m1-plus +TARGET_DEVICES += friendlyarm_nanopi-m1-plus -define Device/sun8i-h3-nanopi-neo +define Device/friendlyarm_nanopi-neo DEVICE_VENDOR := FriendlyARM DEVICE_MODEL := NanoPi NEO - SUPPORTED_DEVICES:=friendlyarm,nanopi-neo - SUNXI_DTS:=sun8i-h3-nanopi-neo + SUNXI_SOC := sun8i-h3 endef -TARGET_DEVICES += sun8i-h3-nanopi-neo +TARGET_DEVICES += friendlyarm_nanopi-neo -define Device/sun8i-h3-orangepi-one +define Device/friendlyarm_nanopi-neo-air + DEVICE_VENDOR := FriendlyARM + DEVICE_MODEL := NanoPi NEO Air + DEVICE_PACKAGES := kmod-rtc-sunxi \ + kmod-leds-gpio kmod-ledtrig-heartbeat \ + kmod-brcmfmac brcmfmac-firmware-43430-sdio wpad-basic + SUNXI_SOC := sun8i-h3 +endef + +TARGET_DEVICES += friendlyarm_nanopi-neo-air + + +define Device/xunlong_orangepi-one DEVICE_VENDOR := Xunlong DEVICE_MODEL := Orange Pi One DEVICE_PACKAGES:=kmod-rtc-sunxi - SUPPORTED_DEVICES:=xunlong,orangepi-one - SUNXI_DTS:=sun8i-h3-orangepi-one + SUNXI_SOC := sun8i-h3 endef -TARGET_DEVICES += sun8i-h3-orangepi-one +TARGET_DEVICES += xunlong_orangepi-one -define Device/sun8i-h3-orangepi-pc +define Device/xunlong_orangepi-pc DEVICE_VENDOR := Xunlong DEVICE_MODEL := Orange Pi PC DEVICE_PACKAGES:=kmod-rtc-sunxi kmod-gpio-button-hotplug - SUPPORTED_DEVICES:=xunlong,orangepi-pc - SUNXI_DTS:=sun8i-h3-orangepi-pc + SUNXI_SOC := sun8i-h3 endef -TARGET_DEVICES += sun8i-h3-orangepi-pc +TARGET_DEVICES += xunlong_orangepi-pc -define Device/sun8i-h3-orangepi-pc-plus +define Device/xunlong_orangepi-pc-plus DEVICE_VENDOR := Xunlong DEVICE_MODEL := Orange Pi PC Plus DEVICE_PACKAGES:=kmod-rtc-sunxi kmod-gpio-button-hotplug - SUPPORTED_DEVICES:=xunlong,orangepi-pc-plus - SUNXI_DTS:=sun8i-h3-orangepi-pc-plus + SUNXI_SOC := sun8i-h3 endef -TARGET_DEVICES += sun8i-h3-orangepi-pc-plus +TARGET_DEVICES += xunlong_orangepi-pc-plus -define Device/sun8i-h3-orangepi-plus +define Device/xunlong_orangepi-plus DEVICE_VENDOR := Xunlong DEVICE_MODEL := Orange Pi Plus DEVICE_PACKAGES:=kmod-rtc-sunxi - SUPPORTED_DEVICES:=xunlong,orangepi-plus - SUNXI_DTS:=sun8i-h3-orangepi-plus + SUNXI_SOC := sun8i-h3 endef -TARGET_DEVICES += sun8i-h3-orangepi-plus +TARGET_DEVICES += xunlong_orangepi-plus -define Device/sun8i-h3-orangepi-2 +define Device/xunlong_orangepi-2 DEVICE_VENDOR := Xunlong DEVICE_MODEL := Orange Pi 2 DEVICE_PACKAGES:=kmod-rtc-sunxi - SUPPORTED_DEVICES:=xunlong,orangepi-2 - SUNXI_DTS:=sun8i-h3-orangepi-2 + SUNXI_SOC := sun8i-h3 endef -TARGET_DEVICES += sun8i-h3-orangepi-2 +TARGET_DEVICES += xunlong_orangepi-2 -define Device/sun7i-a20-pcduino3 +define Device/linksprite_pcduino3 DEVICE_VENDOR := LinkSprite DEVICE_MODEL := pcDuino3 DEVICE_PACKAGES:=kmod-sun4i-emac kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi kmod-rtl8xxxu rtl8188eu-firmware - SUPPORTED_DEVICES:=linksprite,pcduino3 - SUNXI_DTS:=sun7i-a20-pcduino3 + SUNXI_SOC := sun7i-a20 endef -TARGET_DEVICES += sun7i-a20-pcduino3 +TARGET_DEVICES += linksprite_pcduino3 -define Device/sun8i-r40-bananapi-m2-ultra +define Device/lemaker_bananapi-m2-ultra DEVICE_VENDOR := LeMaker DEVICE_MODEL := Banana Pi M2 Ultra DEVICE_PACKAGES:=kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi - SUPPORTED_DEVICES:=lemaker,bananapi-m2-ultra - SUNXI_DTS:=sun8i-r40-bananapi-m2-ultra + SUNXI_SOC := sun8i-r40 endef -TARGET_DEVICES += sun8i-r40-bananapi-m2-ultra +TARGET_DEVICES += lemaker_bananapi-m2-ultra endif diff --git a/target/linux/sunxi/image/cortex-a8.mk b/target/linux/sunxi/image/cortex-a8.mk index 4eeaab99d1..d6b5a46a22 100644 --- a/target/linux/sunxi/image/cortex-a8.mk +++ b/target/linux/sunxi/image/cortex-a8.mk @@ -7,69 +7,65 @@ # ifeq ($(SUBTARGET),cortexa8) -define Device/sun4i-a10-olinuxino-lime +define Device/olimex_a10-olinuxino-lime DEVICE_VENDOR := Olimex DEVICE_MODEL := A10-OLinuXino-LIME DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi - SUPPORTED_DEVICES:=olimex,a10-olinuxino-lime - SUNXI_DTS:=sun4i-a10-olinuxino-lime + SUNXI_SOC := sun4i endef -TARGET_DEVICES += sun4i-a10-olinuxino-lime +TARGET_DEVICES += olimex_a10-olinuxino-lime -define Device/sun5i-a13-olimex-som +define Device/olimex_a13-olimex-som DEVICE_VENDOR := Olimex DEVICE_MODEL := A13-SOM DEVICE_PACKAGES:=kmod-rtl8192cu SUPPORTED_DEVICES:=olimex,a13-olinuxino - SUNXI_DTS:=sun5i-a13-olinuxino + SUNXI_SOC := sun5i-a13 + SUNXI_DTS := sun5i-a13-olinuxino endef -TARGET_DEVICES += sun5i-a13-olimex-som +TARGET_DEVICES += olimex_a13-olimex-som -define Device/sun5i-a13-olinuxino +define Device/olimex_a13-olinuxino DEVICE_VENDOR := Olimex DEVICE_MODEL := A13-OLinuXino DEVICE_PACKAGES:=kmod-rtl8192cu - SUPPORTED_DEVICES:=olimex,a13-olinuxino - SUNXI_DTS:=sun5i-a13-olinuxino + SUNXI_SOC := sun5i endef -TARGET_DEVICES += sun5i-a13-olinuxino +TARGET_DEVICES += olimex_a13-olinuxino -define Device/sun4i-a10-cubieboard +define Device/cubietech_a10-cubieboard DEVICE_VENDOR := Cubietech DEVICE_MODEL := Cubieboard DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi - SUPPORTED_DEVICES:=cubietech,a10-cubieboard - SUNXI_DTS:=sun4i-a10-cubieboard + SUNXI_SOC := sun4i endef -TARGET_DEVICES += sun4i-a10-cubieboard +TARGET_DEVICES += cubietech_a10-cubieboard -define Device/sun4i-a10-pcduino +define Device/linksprite_a10-pcduino DEVICE_VENDOR := LinkSprite DEVICE_MODEL := pcDuino DEVICE_PACKAGES:=kmod-sun4i-emac kmod-rtc-sunxi kmod-rtl8192cu - SUPPORTED_DEVICES:=linksprite,a10-pcduino - SUNXI_DTS:=sun4i-a10-pcduino + SUNXI_SOC := sun4i endef -TARGET_DEVICES += sun4i-a10-pcduino +TARGET_DEVICES += linksprite_a10-pcduino -define Device/sun4i-a10-marsboard +define Device/marsboard_a10-marsboard DEVICE_VENDOR := HAOYU Electronics DEVICE_MODEL := MarsBoard A10 DEVICE_PACKAGES:=mod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi sound-soc-sunxi - SUPPORTED_DEVICES:=marsboard,a10-marsboard - SUNXI_DTS:=sun4i-a10-marsboard + SUNXI_SOC := sun4i endef -TARGET_DEVICES += sun4i-a10-marsboard +TARGET_DEVICES += marsboard_a10-marsboard endif diff --git a/target/linux/uml/config/i386 b/target/linux/uml/config/i386 index dce8905928..8b26e96242 100644 --- a/target/linux/uml/config/i386 +++ b/target/linux/uml/config/i386 @@ -78,8 +78,6 @@ CONFIG_JBD2=y CONFIG_KALLSYMS=y CONFIG_KERNEL_STACK_ORDER=2 CONFIG_LD_SCRIPT_STATIC=y -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 # CONFIG_M486 is not set # CONFIG_M586 is not set # CONFIG_M586MMX is not set diff --git a/target/linux/uml/config/x86_64 b/target/linux/uml/config/x86_64 index 7223edd8a2..a46f7fb8a4 100644 --- a/target/linux/uml/config/x86_64 +++ b/target/linux/uml/config/x86_64 @@ -77,8 +77,6 @@ CONFIG_JBD2=y CONFIG_KALLSYMS=y CONFIG_KERNEL_STACK_ORDER=2 CONFIG_LD_SCRIPT_STATIC=y -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 # CONFIG_MATOM is not set CONFIG_MCONSOLE=y # CONFIG_MCORE2 is not set diff --git a/toolchain/glibc/common.mk b/toolchain/glibc/common.mk index ef182e4475..41ee989b14 100644 --- a/toolchain/glibc/common.mk +++ b/toolchain/glibc/common.mk @@ -11,8 +11,8 @@ PKG_VERSION:=2.27 PKG_SOURCE_PROTO:=git PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) -PKG_SOURCE_VERSION:=5b4f7382af46b4187a958e40fb3123ac3ce16810 -PKG_MIRROR_HASH:=8ab4c8c1f769c4d5d482c30e7aa029f1cc2c8163c347ca5f0d8224a7b4b61ddd +PKG_SOURCE_VERSION:=bef0b1cb31bed76a355776154af9191ed1758222 +PKG_MIRROR_HASH:=24a137758acdc0d8c5254891204ba38d759838123bab09a64ec0bdb94289aafd PKG_SOURCE_URL:=https://sourceware.org/git/glibc.git PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz