Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
commit
e197182f1e
@ -233,7 +233,7 @@ menu "Global build settings"
|
||||
|
||||
config STRIP_KERNEL_EXPORTS
|
||||
bool "Strip unnecessary exports from the kernel image"
|
||||
depends on !LINUX_6_6
|
||||
depends on BROKEN
|
||||
help
|
||||
Reduces kernel size by stripping unused kernel exports from the kernel
|
||||
image. Note that this might make the kernel incompatible with any kernel
|
||||
|
||||
@ -1,2 +0,0 @@
|
||||
LINUX_VERSION-6.1 = .109
|
||||
LINUX_KERNEL_HASH-6.1.109 = 732ff40ac63642c5ddbb7d65c24c90ed08b95af0e8c92df4739e9703eec01ac1
|
||||
@ -53,7 +53,6 @@ ac_cv_have_control_in_msghdr=yes
|
||||
ac_cv_have_decl_sys_siglist=no
|
||||
ac_cv_have_openpty_ctty_bug=yes
|
||||
ac_cv_have_space_d_name_in_struct_dirent=yes
|
||||
ac_cv_header_netinet_sctp_h=no
|
||||
ac_cv_header_netinet_sctp_uio_h=no
|
||||
ac_cv_int64_t=yes
|
||||
ac_cv_lbl_unaligned_fail=no
|
||||
|
||||
@ -8,13 +8,13 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=tfa-layerscape
|
||||
PKG_VERSION:=6.6.3.1.0.0
|
||||
PKG_VERSION:=6.6.23.2.0.0
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/nxp-qoriq/atf
|
||||
PKG_SOURCE_VERSION:=lf-6.6.3-1.0.0
|
||||
PKG_MIRROR_HASH:=28b731c1c4cc3226ccaef2142c61127f213c03cbd219df556c1d191e95f8470c
|
||||
PKG_SOURCE_VERSION:=lf-6.6.23-2.0.0
|
||||
PKG_MIRROR_HASH:=628a95ba60a593ae0575ee9ede1154445ec3a86a07b18e4947e06e13c2b67859
|
||||
PKG_BUILD_DEPENDS:=tfa-layerscape/host
|
||||
|
||||
include $(INCLUDE_DIR)/host-build.mk
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -953,10 +953,6 @@ CRTTOOL ?= ${CRTTOOLPATH}/cert_create$
|
||||
@@ -128,10 +128,6 @@ CRTTOOL ?= ${CRTTOOLPATH}/cert_create$
|
||||
ENCTOOLPATH ?= tools/encrypt_fw
|
||||
ENCTOOL ?= ${ENCTOOLPATH}/encrypt_fw${BIN_EXT}
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
# Variables for use with sptool
|
||||
SPTOOLPATH ?= tools/sptool
|
||||
SPTOOL ?= ${SPTOOLPATH}/sptool.py
|
||||
@@ -1409,13 +1405,6 @@ endif
|
||||
@@ -1597,13 +1593,6 @@ endif #(CHECKPATCH)
|
||||
clean:
|
||||
@echo " CLEAN"
|
||||
$(call SHELL_REMOVE_DIR,${BUILD_PLAT})
|
||||
@ -21,11 +21,11 @@
|
||||
-# Clear the MAKEFLAGS as we do not want
|
||||
-# to pass the gnumake flags to nmake.
|
||||
- ${Q}set MAKEFLAGS= && ${MSVC_NMAKE} /nologo /f ${FIPTOOLPATH}/Makefile.msvc FIPTOOLPATH=$(subst /,\,$(FIPTOOLPATH)) FIPTOOL=$(subst /,\,$(FIPTOOL)) clean
|
||||
-endif
|
||||
-endif #(UNIX_MK)
|
||||
${Q}${MAKE} PLAT=${PLAT} --no-print-directory -C ${CRTTOOLPATH} clean
|
||||
${Q}${MAKE} PLAT=${PLAT} --no-print-directory -C ${ENCTOOLPATH} clean
|
||||
${Q}${MAKE} --no-print-directory -C ${ROMLIBPATH} clean
|
||||
@@ -1424,13 +1413,6 @@ realclean distclean:
|
||||
@@ -1612,13 +1601,6 @@ realclean distclean:
|
||||
@echo " REALCLEAN"
|
||||
$(call SHELL_REMOVE_DIR,${BUILD_BASE})
|
||||
$(call SHELL_DELETE_ALL, ${CURDIR}/cscope.*)
|
||||
@ -35,29 +35,29 @@
|
||||
-# Clear the MAKEFLAGS as we do not want
|
||||
-# to pass the gnumake flags to nmake.
|
||||
- ${Q}set MAKEFLAGS= && ${MSVC_NMAKE} /nologo /f ${FIPTOOLPATH}/Makefile.msvc FIPTOOLPATH=$(subst /,\,$(FIPTOOLPATH)) FIPTOOL=$(subst /,\,$(FIPTOOL)) realclean
|
||||
-endif
|
||||
-endif #(UNIX_MK)
|
||||
${Q}${MAKE} PLAT=${PLAT} --no-print-directory -C ${CRTTOOLPATH} realclean
|
||||
${Q}${MAKE} PLAT=${PLAT} --no-print-directory -C ${ENCTOOLPATH} realclean
|
||||
${Q}${MAKE} --no-print-directory -C ${ROMLIBPATH} clean
|
||||
@@ -1486,7 +1468,7 @@ certificates: ${CRT_DEPS} ${CRTTOOL}
|
||||
@@ -1674,7 +1656,7 @@ certificates: ${CRT_DEPS} ${CRTTOOL}
|
||||
@${ECHO_BLANK_LINE}
|
||||
endif
|
||||
endif #(GENERATE_COT)
|
||||
|
||||
-${BUILD_PLAT}/${FIP_NAME}: ${FIP_DEPS} ${FIPTOOL}
|
||||
+${BUILD_PLAT}/${FIP_NAME}: ${FIP_DEPS}
|
||||
$(eval ${CHECK_FIP_CMD})
|
||||
${Q}${FIPTOOL} create ${FIP_ARGS} $@
|
||||
${Q}${FIPTOOL} info $@
|
||||
@@ -1503,7 +1485,7 @@ fwu_certificates: ${FWU_CRT_DEPS} ${CRTT
|
||||
@@ -1691,7 +1673,7 @@ fwu_certificates: ${FWU_CRT_DEPS} ${CRTT
|
||||
@${ECHO_BLANK_LINE}
|
||||
endif
|
||||
endif #(GENERATE_COT)
|
||||
|
||||
-${BUILD_PLAT}/${FWU_FIP_NAME}: ${FWU_FIP_DEPS} ${FIPTOOL}
|
||||
+${BUILD_PLAT}/${FWU_FIP_NAME}: ${FWU_FIP_DEPS}
|
||||
$(eval ${CHECK_FWU_FIP_CMD})
|
||||
${Q}${FIPTOOL} create ${FWU_FIP_ARGS} $@
|
||||
${Q}${FIPTOOL} info $@
|
||||
@@ -1511,19 +1493,9 @@ ${BUILD_PLAT}/${FWU_FIP_NAME}: ${FWU_FIP
|
||||
@@ -1699,19 +1681,9 @@ ${BUILD_PLAT}/${FWU_FIP_NAME}: ${FWU_FIP
|
||||
@echo "Built $@ successfully"
|
||||
@${ECHO_BLANK_LINE}
|
||||
|
||||
@ -72,26 +72,26 @@
|
||||
-# Clear the MAKEFLAGS as we do not want
|
||||
-# to pass the gnumake flags to nmake.
|
||||
- ${Q}set MAKEFLAGS= && ${MSVC_NMAKE} /nologo /f ${FIPTOOLPATH}/Makefile.msvc FIPTOOLPATH=$(subst /,\,$(FIPTOOLPATH)) FIPTOOL=$(subst /,\,$(FIPTOOL))
|
||||
-endif
|
||||
-endif #(UNIX_MK)
|
||||
-
|
||||
romlib.bin: libraries FORCE
|
||||
${Q}${MAKE} PLAT_DIR=${PLAT_DIR} BUILD_PLAT=${BUILD_PLAT} ENABLE_BTI=${ENABLE_BTI} ARM_ARCH_MINOR=${ARM_ARCH_MINOR} INCLUDES='${INCLUDES}' DEFINES='${DEFINES}' --no-print-directory -C ${ROMLIBPATH} all
|
||||
|
||||
--- a/tools/fiptool/Makefile
|
||||
+++ b/tools/fiptool/Makefile
|
||||
@@ -67,7 +67,7 @@ all: ${PROJECT}
|
||||
@@ -81,7 +81,7 @@ all: --openssl ${PROJECT}
|
||||
|
||||
${PROJECT}: --openssl ${OBJECTS} Makefile
|
||||
${PROJECT}: ${OBJECTS} Makefile
|
||||
@echo " HOSTLD $@"
|
||||
- ${Q}${HOSTCC} ${OBJECTS} -o $@ ${LDLIBS}
|
||||
+ ${Q}${HOSTCC} ${OBJECTS} -o $@ ${LDLIBS} $(LDFLAGS)
|
||||
- ${Q}${HOSTCC} ${OBJECTS} -o $@ $(LDOPTS)
|
||||
+ ${Q}${HOSTCC} ${OBJECTS} -o $@ $(LDOPTS) $(LDFLAGS)
|
||||
@${ECHO_BLANK_LINE}
|
||||
@echo "Built $@ successfully"
|
||||
@${ECHO_BLANK_LINE}
|
||||
--- a/tools/nxp/plat_fiptool/plat_fiptool.mk
|
||||
+++ b/tools/nxp/plat_fiptool/plat_fiptool.mk
|
||||
@@ -22,11 +22,11 @@ INCLUDE_PATHS += -I${PLAT_DEF_UUID_OID_C
|
||||
$(shell rm ${PLAT_DEF_UUID_CONFIG_FILE_PATH}/${PLAT_DEF_UUID_CONFIG_FILE_NAME}.o)
|
||||
--- a/tools/fiptool/plat_fiptool/nxp/plat_fiptool.mk
|
||||
+++ b/tools/fiptool/plat_fiptool/nxp/plat_fiptool.mk
|
||||
@@ -21,11 +21,11 @@ INCLUDE_PATHS += -I${PLAT_DEF_UUID_OID_C
|
||||
-I./
|
||||
|
||||
ifeq (${PLAT_DEF_OID},yes)
|
||||
-HOSTCCFLAGS += -DPLAT_DEF_OID
|
||||
|
||||
@ -92,6 +92,8 @@ comfast,cf-e393ax)
|
||||
dlink,aquila-pro-ai-m30-a1)
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x40000" "0x40000"
|
||||
;;
|
||||
glinet,gl-x3000|\
|
||||
glinet,gl-xe3000|\
|
||||
glinet,gl-mt2500|\
|
||||
glinet,gl-mt6000)
|
||||
local envdev=$(find_mmc_part "u-boot-env")
|
||||
|
||||
@ -8,13 +8,13 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=uboot-layerscape
|
||||
PKG_VERSION:=6.6.3.1.0.0
|
||||
PKG_VERSION:=6.6.23.2.0.0
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/nxp-qoriq/u-boot
|
||||
PKG_SOURCE_VERSION:=lf-6.6.3-1.0.0
|
||||
PKG_MIRROR_HASH:=dec5b6e4fe328b930f201fbf06a0a7b71a9dd72f38f16c9570188c0a7fea916a
|
||||
PKG_SOURCE_VERSION:=lf-6.6.23-2.0.0
|
||||
PKG_MIRROR_HASH:=41e089fde1d0b3b0998e6af33d5f4c2b62860bda6cd1e6a0e8d47dfd5749005d
|
||||
|
||||
include $(INCLUDE_DIR)/u-boot.mk
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
@ -17,16 +17,16 @@ Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
|
||||
|
||||
--- a/configs/ls1021aiot_sdcard_defconfig
|
||||
+++ b/configs/ls1021aiot_sdcard_defconfig
|
||||
@@ -24,7 +24,7 @@ CONFIG_AHCI=y
|
||||
CONFIG_LAYERSCAPE_NS_ACCESS=y
|
||||
CONFIG_PCIE1=y
|
||||
CONFIG_PCIE2=y
|
||||
@@ -14,7 +14,7 @@ CONFIG_SYS_I2C_MXC_I2C3=y
|
||||
CONFIG_DM_GPIO=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="ls1021a-iot-duart"
|
||||
CONFIG_SPL_TEXT_BASE=0x10000000
|
||||
-CONFIG_SYS_MONITOR_LEN=524288
|
||||
+CONFIG_SYS_MONITOR_LEN=786432
|
||||
CONFIG_OF_BOARD_SETUP=y
|
||||
CONFIG_OF_STDOUT_VIA_ALIAS=y
|
||||
CONFIG_RAMBOOT_PBL=y
|
||||
@@ -40,7 +40,7 @@ CONFIG_SPL_MAX_SIZE=0x1a000
|
||||
CONFIG_SPL_MMC=y
|
||||
CONFIG_SPL_SERIAL=y
|
||||
CONFIG_SPL_STACK=0x1001d000
|
||||
@@ -43,7 +43,7 @@ CONFIG_SPL_MAX_SIZE=0x1a000
|
||||
CONFIG_SPL_PAD_TO=0x1c000
|
||||
CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
|
||||
CONFIG_SPL_BSS_START_ADDR=0x80100000
|
||||
@ -34,8 +34,8 @@ Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
|
||||
+CONFIG_SPL_BSS_MAX_SIZE=0xc0000
|
||||
CONFIG_SPL_FSL_PBL=y
|
||||
# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
|
||||
CONFIG_SYS_SPL_MALLOC=y
|
||||
@@ -66,8 +66,11 @@ CONFIG_CMD_MII=y
|
||||
CONFIG_SPL_SYS_MALLOC=y
|
||||
@@ -67,8 +67,11 @@ CONFIG_CMD_MII=y
|
||||
# CONFIG_CMD_MDIO is not set
|
||||
CONFIG_CMD_PING=y
|
||||
CONFIG_CMD_EXT2=y
|
||||
|
||||
@ -279,6 +279,30 @@ define U-Boot/mt7981_cmcc_rax3000m-nand
|
||||
DEPENDS:=+trusted-firmware-a-mt7981-spim-nand-ddr4
|
||||
endef
|
||||
|
||||
define U-Boot/mt7981_glinet_gl-x3000
|
||||
NAME:=GL.iNet GL-X3000
|
||||
BUILD_SUBTARGET:=filogic
|
||||
BUILD_DEVICES:=glinet_gl-x3000
|
||||
UBOOT_CONFIG:=mt7981_glinet_gl-x3000
|
||||
UBOOT_IMAGE:=u-boot.fip
|
||||
BL2_BOOTDEV:=emmc
|
||||
BL2_SOC:=mt7981
|
||||
BL2_DDRTYPE:=ddr4
|
||||
DEPENDS:=+trusted-firmware-a-mt7981-emmc-ddr4
|
||||
endef
|
||||
|
||||
define U-Boot/mt7981_glinet_gl-xe3000
|
||||
NAME:=GL.iNet GL-XE3000
|
||||
BUILD_SUBTARGET:=filogic
|
||||
BUILD_DEVICES:=glinet_gl-xe3000
|
||||
UBOOT_CONFIG:=mt7981_glinet_gl-x3000
|
||||
UBOOT_IMAGE:=u-boot.fip
|
||||
BL2_BOOTDEV:=emmc
|
||||
BL2_SOC:=mt7981
|
||||
BL2_DDRTYPE:=ddr4
|
||||
DEPENDS:=+trusted-firmware-a-mt7981-emmc-ddr4
|
||||
endef
|
||||
|
||||
define U-Boot/mt7981_h3c_magic-nx30-pro
|
||||
NAME:=H3C Magic NX30 Pro
|
||||
BUILD_SUBTARGET:=filogic
|
||||
@ -823,6 +847,8 @@ UBOOT_TARGETS := \
|
||||
mt7981_cmcc_a10 \
|
||||
mt7981_cmcc_rax3000m-emmc \
|
||||
mt7981_cmcc_rax3000m-nand \
|
||||
mt7981_glinet_gl-x3000 \
|
||||
mt7981_glinet_gl-xe3000 \
|
||||
mt7981_h3c_magic-nx30-pro \
|
||||
mt7981_imou_lc-hx3001 \
|
||||
mt7981_jcg_q30-pro \
|
||||
|
||||
288
package/boot/uboot-mediatek/patches/454-add-glinet-x3000.patch
Normal file
288
package/boot/uboot-mediatek/patches/454-add-glinet-x3000.patch
Normal file
@ -0,0 +1,288 @@
|
||||
diff --git a/arch/arm/dts/mt7981-glinet-gl-x3000.dts b/arch/arm/dts/mt7981-glinet-gl-x3000.dts
|
||||
new file mode 100644
|
||||
index 0000000..911a702
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/dts/mt7981-glinet-gl-x3000.dts
|
||||
@@ -0,0 +1,144 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0
|
||||
+
|
||||
+/dts-v1/;
|
||||
+#include "mt7981.dtsi"
|
||||
+#include <dt-bindings/gpio/gpio.h>
|
||||
+#include <dt-bindings/input/linux-event-codes.h>
|
||||
+
|
||||
+/ {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ model = "GL.iNet GL-X3000";
|
||||
+ compatible = "glinet,gl-x3000", "mediatek,mt7981";
|
||||
+
|
||||
+ chosen {
|
||||
+ stdout-path = &uart0;
|
||||
+ tick-timer = &timer0;
|
||||
+ };
|
||||
+
|
||||
+ memory@40000000 {
|
||||
+ device_type = "memory";
|
||||
+ reg = <0x40000000 0x20000000>;
|
||||
+ };
|
||||
+
|
||||
+ reg_3p3v: regulator-3p3v {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "fixed-3.3V";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ keys {
|
||||
+ compatible = "gpio-keys";
|
||||
+
|
||||
+ reset {
|
||||
+ label = "reset";
|
||||
+ linux,code = <KEY_RESTART>;
|
||||
+ gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ leds {
|
||||
+ compatible = "gpio-leds";
|
||||
+
|
||||
+ wifi2g {
|
||||
+ label = "green:wifi2g";
|
||||
+ gpios = <&gpio 30 GPIO_ACTIVE_LOW>;
|
||||
+ };
|
||||
+
|
||||
+ wifi5g {
|
||||
+ label = "green:wifi5g";
|
||||
+ gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
|
||||
+ };
|
||||
+
|
||||
+ 5g_led1 {
|
||||
+ label = "green:5g:led1";
|
||||
+ gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
|
||||
+ };
|
||||
+
|
||||
+ 5g_led2 {
|
||||
+ label = "green:5g:led2";
|
||||
+ gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
|
||||
+ };
|
||||
+
|
||||
+ 5g_led3 {
|
||||
+ label = "green:5g:led3";
|
||||
+ gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
|
||||
+ };
|
||||
+
|
||||
+ 5g_led4 {
|
||||
+ label = "green:5g:led4";
|
||||
+ gpios = <&gpio 4 GPIO_ACTIVE_HIGH>;
|
||||
+ };
|
||||
+
|
||||
+ power {
|
||||
+ label = "green:power";
|
||||
+ gpios = <&gpio 39 GPIO_ACTIVE_LOW>;
|
||||
+ };
|
||||
+
|
||||
+ wan {
|
||||
+ label = "green:wan";
|
||||
+ gpios = <&gpio 31 GPIO_ACTIVE_LOW>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+ð {
|
||||
+ status = "okay";
|
||||
+ mediatek,gmac-id = <1>;
|
||||
+ phy-mode = "gmii";
|
||||
+ phy-handle = <&phy0>;
|
||||
+
|
||||
+ mdio {
|
||||
+ phy0: ethernet-phy@0 {
|
||||
+ compatible = "ethernet-phy-id03a2.9461";
|
||||
+ reg = <0x0>;
|
||||
+ phy-mode = "gmii";
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&mmc0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc0_pins_default>;
|
||||
+ max-frequency = <52000000>;
|
||||
+ bus-width = <8>;
|
||||
+ cap-mmc-hw-highspeed;
|
||||
+ cap-mmc-hw-reset;
|
||||
+ vmmc-supply = <®_3p3v>;
|
||||
+ non-removable;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&pinctrl {
|
||||
+ mmc0_pins_default: mmc0-pins-default {
|
||||
+ mux {
|
||||
+ function = "flash";
|
||||
+ groups = "emmc_45";
|
||||
+ };
|
||||
+ conf-cmd-dat {
|
||||
+ pins = "SPI0_CLK", "SPI0_MOSI", "SPI0_MISO",
|
||||
+ "SPI0_CS", "SPI0_HOLD", "SPI0_WP",
|
||||
+ "SPI1_CLK", "SPI1_MOSI", "SPI1_MISO";
|
||||
+ input-enable;
|
||||
+ drive-strength = <MTK_DRIVE_4mA>;
|
||||
+ bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
|
||||
+ };
|
||||
+ conf-clk {
|
||||
+ pins = "SPI1_CS";
|
||||
+ drive-strength = <MTK_DRIVE_6mA>;
|
||||
+ bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
|
||||
+ };
|
||||
+ conf-rst {
|
||||
+ pins = "GPIO_WPS";
|
||||
+ drive-strength = <MTK_DRIVE_4mA>;
|
||||
+ bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&uart0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
diff --git a/configs/mt7981_glinet_gl-x3000_defconfig b/configs/mt7981_glinet_gl-x3000_defconfig
|
||||
new file mode 100644
|
||||
index 0000000..96ad96f
|
||||
--- /dev/null
|
||||
+++ b/configs/mt7981_glinet_gl-x3000_defconfig
|
||||
@@ -0,0 +1,100 @@
|
||||
+CONFIG_ARM=y
|
||||
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
|
||||
+CONFIG_POSITION_INDEPENDENT=y
|
||||
+CONFIG_ARCH_MEDIATEK=y
|
||||
+CONFIG_TEXT_BASE=0x41e00000
|
||||
+CONFIG_SYS_MALLOC_F_LEN=0x4000
|
||||
+CONFIG_NR_DRAM_BANKS=1
|
||||
+CONFIG_ENV_SIZE=0x80000
|
||||
+CONFIG_ENV_OFFSET=0x400000
|
||||
+CONFIG_DEFAULT_DEVICE_TREE="mt7981-glinet-gl-x3000"
|
||||
+CONFIG_OF_LIBFDT_OVERLAY=y
|
||||
+CONFIG_TARGET_MT7981=y
|
||||
+CONFIG_DEBUG_UART_BASE=0x11002000
|
||||
+CONFIG_DEBUG_UART_CLOCK=40000000
|
||||
+CONFIG_SYS_LOAD_ADDR=0x46000000
|
||||
+CONFIG_DEBUG_UART=y
|
||||
+CONFIG_ENV_VARS_UBOOT_CONFIG=y
|
||||
+# CONFIG_EXPERT is not set
|
||||
+CONFIG_FIT=y
|
||||
+# CONFIG_BOOTSTD is not set
|
||||
+# CONFIG_LEGACY_IMAGE_FORMAT is not set
|
||||
+CONFIG_AUTOBOOT_MENU_SHOW=y
|
||||
+CONFIG_USE_BOOTCOMMAND=y
|
||||
+CONFIG_DEFAULT_FDT_FILE="mediatek/mt7981-glinet-gl-x3000.dtb"
|
||||
+CONFIG_LOGLEVEL=7
|
||||
+CONFIG_BOARD_LATE_INIT=y
|
||||
+CONFIG_HUSH_PARSER=y
|
||||
+CONFIG_SYS_PROMPT="MT7981> "
|
||||
+CONFIG_SYS_CBSIZE=512
|
||||
+CONFIG_SYS_PBSIZE=1049
|
||||
+CONFIG_CMD_CPU=y
|
||||
+CONFIG_CMD_LICENSE=y
|
||||
+# CONFIG_BOOTM_NETBSD is not set
|
||||
+# CONFIG_BOOTM_PLAN9 is not set
|
||||
+# CONFIG_BOOTM_RTEMS is not set
|
||||
+# CONFIG_BOOTM_VXWORKS is not set
|
||||
+CONFIG_CMD_BOOTMENU=y
|
||||
+# CONFIG_CMD_ELF is not set
|
||||
+CONFIG_CMD_ASKENV=y
|
||||
+CONFIG_CMD_ERASEENV=y
|
||||
+CONFIG_CMD_ENV_FLAGS=y
|
||||
+CONFIG_CMD_STRINGS=y
|
||||
+# CONFIG_CMD_UNLZ4 is not set
|
||||
+# CONFIG_CMD_UNZIP is not set
|
||||
+CONFIG_CMD_DM=y
|
||||
+CONFIG_CMD_GPIO=y
|
||||
+CONFIG_CMD_GPT=y
|
||||
+CONFIG_CMD_GPT_RENAME=y
|
||||
+CONFIG_CMD_MMC=y
|
||||
+CONFIG_CMD_PART=y
|
||||
+CONFIG_CMD_READ=y
|
||||
+CONFIG_CMD_WRITE=y
|
||||
+CONFIG_CMD_DHCP=y
|
||||
+CONFIG_CMD_TFTPSRV=y
|
||||
+CONFIG_CMD_RARP=y
|
||||
+CONFIG_CMD_PING=y
|
||||
+CONFIG_CMD_CDP=y
|
||||
+CONFIG_CMD_SNTP=y
|
||||
+CONFIG_CMD_DNS=y
|
||||
+CONFIG_CMD_LINK_LOCAL=y
|
||||
+CONFIG_CMD_PXE=y
|
||||
+CONFIG_CMD_CACHE=y
|
||||
+CONFIG_CMD_PSTORE=y
|
||||
+CONFIG_CMD_PSTORE_MEM_ADDR=0x42ff0000
|
||||
+CONFIG_CMD_UUID=y
|
||||
+CONFIG_CMD_HASH=y
|
||||
+CONFIG_CMD_SMC=y
|
||||
+CONFIG_PARTITION_TYPE_GUID=y
|
||||
+CONFIG_ENV_OVERWRITE=y
|
||||
+CONFIG_ENV_IS_IN_MMC=y
|
||||
+CONFIG_USE_DEFAULT_ENV_FILE=y
|
||||
+CONFIG_DEFAULT_ENV_FILE="glinet_gl-x3000_env"
|
||||
+CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
+CONFIG_NET_RANDOM_ETHADDR=y
|
||||
+CONFIG_REGMAP=y
|
||||
+CONFIG_SYSCON=y
|
||||
+CONFIG_BUTTON=y
|
||||
+CONFIG_BUTTON_GPIO=y
|
||||
+CONFIG_CLK=y
|
||||
+CONFIG_GPIO_HOG=y
|
||||
+CONFIG_LED=y
|
||||
+CONFIG_LED_BLINK=y
|
||||
+CONFIG_LED_GPIO=y
|
||||
+CONFIG_MMC_HS200_SUPPORT=y
|
||||
+CONFIG_MMC_MTK=y
|
||||
+CONFIG_PHY_FIXED=y
|
||||
+CONFIG_MEDIATEK_ETH=y
|
||||
+CONFIG_PINCTRL=y
|
||||
+CONFIG_PINCONF=y
|
||||
+CONFIG_PINCTRL_MT7981=y
|
||||
+CONFIG_POWER_DOMAIN=y
|
||||
+CONFIG_MTK_POWER_DOMAIN=y
|
||||
+CONFIG_DM_REGULATOR=y
|
||||
+CONFIG_DM_REGULATOR_FIXED=y
|
||||
+CONFIG_DM_SERIAL=y
|
||||
+CONFIG_MTK_SERIAL=y
|
||||
+CONFIG_HEXDUMP=y
|
||||
+# CONFIG_EFI_LOADER is not set
|
||||
+CONFIG_LMB_MAX_REGIONS=64
|
||||
+# CONFIG_TOOLS_LIBCRYPTO is not set
|
||||
diff --git a/glinet_gl-x3000_env b/glinet_gl-x3000_env
|
||||
new file mode 100644
|
||||
index 0000000..e624e41
|
||||
--- /dev/null
|
||||
+++ b/glinet_gl-x3000_env
|
||||
@@ -0,0 +1,26 @@
|
||||
+ipaddr=192.168.1.1
|
||||
+serverip=192.168.1.254
|
||||
+loadaddr=0x46000000
|
||||
+bootdelay=3
|
||||
+bootfile_bl2=openwrt-mediatek-filogic-glinet_gl-x3000-preloader.bin
|
||||
+bootfile_fip=openwrt-mediatek-filogic-glinet_gl-x3000-bl31-uboot.fip
|
||||
+bootfile_firmware=openwrt-mediatek-filogic-glinet_gl-x3000-squashfs-factory.bin
|
||||
+bootmenu_confirm_return=askenv - Press ENTER to return to menu ; bootmenu 60
|
||||
+bootmenu_title= *** U-Boot Boot Menu for GL-iNet GL-X3000 ***
|
||||
+bootmenu_0=Startup system (Default).=run boot_system
|
||||
+bootmenu_1=Load Firmware via TFTP then write to eMMC.=run boot_tftp_firmware ; run bootmenu_confirm_return
|
||||
+bootmenu_2=Load BL31+U-Boot FIP via TFTP then write to eMMC.=run boot_tftp_write_fip ; run bootmenu_confirm_return
|
||||
+bootmenu_3=Load BL2 preloader via TFTP then write to eMMC.=run boot_tftp_write_bl2 ; run bootmenu_confirm_return
|
||||
+bootmenu_4=Reboot.=reset
|
||||
+bootmenu_5=Reset all settings to factory defaults.=run reset_factory ; reset
|
||||
+filesize_to_blk=setexpr cnt $filesize + 0x1ff && setexpr cnt $cnt / 0x200
|
||||
+mmc_read_kernel=mmc read $loadaddr $part_addr 0x100 && imszb $loadaddr image_size && test 0x$image_size -le 0x$part_size && mmc read $loadaddr $part_addr $image_size
|
||||
+boot_system=run init_modem && part start mmc 0 kernel part_addr && part size mmc 0 kernel part_size && run mmc_read_kernel && bootm
|
||||
+boot_tftp_firmware=tftpboot $loadaddr $bootfile_firmware && run emmc_write_firmware
|
||||
+boot_tftp_write_fip=tftpboot $loadaddr $bootfile_fip && run emmc_write_fip
|
||||
+boot_tftp_write_bl2=tftpboot $loadaddr $bootfile_bl2 && run emmc_write_bl2
|
||||
+emmc_write_firmware=part start mmc 0 kernel part_addr && run filesize_to_blk && mmc write $loadaddr $part_addr $cnt
|
||||
+emmc_write_bl2=run filesize_to_blk && test 0x$cnt -le 0x800 && mmc partconf 0 1 1 1 && mmc write $loadaddr 0x0 0x800 ; mmc partconf 0 1 1 0
|
||||
+emmc_write_fip=part start mmc 0 fip part_addr && part size mmc 0 fip part_size && run filesize_to_blk && test 0x$cnt -le 0x$part_size && mmc write $loadaddr $part_addr $cnt
|
||||
+init_modem=gpio set 10; gpio set 5; gpio set 9; gpio set 11; sleep 0.1; gpio clear 10; sleep 1
|
||||
+reset_factory=eraseenv && reset
|
||||
@ -1,3 +1,15 @@
|
||||
From 6bb92fcf7d2fea2314d616e5e2391a8bf2b0fdfa Mon Sep 17 00:00:00 2001
|
||||
From: Tom Rini <trini@konsulko.com>
|
||||
Date: Mon, 20 May 2024 09:54:58 -0600
|
||||
Subject: [PATCH] Squashed 'dts/upstream/' changes from
|
||||
b35b9bd1d4ee..7e08733c96c8
|
||||
---
|
||||
.../src/arm64/rockchip/rk3588s-nanopi-r6c.dts | 14 +
|
||||
.../src/arm64/rockchip/rk3588s-nanopi-r6s.dts | 764 ++++++++++++++++++
|
||||
2 files changed, 778 insertions(+)
|
||||
create mode 100644 dts/upstream/src/arm64/rockchip/rk3588s-nanopi-r6c.dts
|
||||
create mode 100644 dts/upstream/src/arm64/rockchip/rk3588s-nanopi-r6s.dts
|
||||
|
||||
--- /dev/null
|
||||
+++ b/dts/upstream/src/arm64/rockchip/rk3588-armsom-sige7.dts
|
||||
@@ -0,0 +1,691 @@
|
||||
@ -8,13 +8,13 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=ls-dpl
|
||||
PKG_VERSION:=10.38.0
|
||||
PKG_VERSION:=10.39.0
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/nxp-qoriq/mc-utils
|
||||
PKG_SOURCE_VERSION:=mc_release_10.38.0
|
||||
PKG_MIRROR_HASH:=9ada83ac4cc259cdf2ea2ebfc2328292f7dace701bfac2b5514749bd9f8315f0
|
||||
PKG_SOURCE_VERSION:=mc_release_10.39.0
|
||||
PKG_MIRROR_HASH:=48e0ad66f536689bf8cfd115420422a1c746cd609816bd9b07ef8ef358a85cf4
|
||||
|
||||
PKG_FLAGS:=nonshared
|
||||
|
||||
|
||||
@ -8,13 +8,13 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=ls-mc
|
||||
PKG_VERSION:=10.38.0
|
||||
PKG_VERSION:=10.39.0
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/NXP/qoriq-mc-binary.git
|
||||
PKG_SOURCE_VERSION:=mc_release_10.38.0
|
||||
PKG_MIRROR_HASH:=4bd0eab4b600d6dee67b4c5b32624a92fd84e6c93f506e46a4fe52217e2d1593
|
||||
PKG_SOURCE_VERSION:=mc_release_10.39.0
|
||||
PKG_MIRROR_HASH:=0676072ec3fcb7ad3ec101ea279f5e7b41b292b44426563aba9062668f9855ab
|
||||
|
||||
PKG_FLAGS:=nonshared
|
||||
|
||||
|
||||
@ -8,13 +8,13 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=ls-rcw
|
||||
PKG_VERSION:=6.6.3.1.0.0
|
||||
PKG_VERSION:=6.6.23.2.0.0
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/nxp-qoriq/rcw
|
||||
PKG_SOURCE_VERSION:=lf-6.6.3-1.0.0
|
||||
PKG_MIRROR_HASH:=da45ce99a0ff85375673fa8c05110c3bda36dedca4ac66190809328f79878a0a
|
||||
PKG_SOURCE_VERSION:=lf-6.6.23-2.0.0
|
||||
PKG_MIRROR_HASH:=f5e62ac040564eb97f4d1c58496a1586a470008469cb4daee6d7c70be7fdfa07
|
||||
|
||||
PKG_FLAGS:=nonshared
|
||||
|
||||
|
||||
7
package/firmware/linux-firmware/qca_ath12k.mk
Normal file
7
package/firmware/linux-firmware/qca_ath12k.mk
Normal file
@ -0,0 +1,7 @@
|
||||
Package/ath12k-firmware-wcn7850 = $(call Package/firmware-default,WCN7850 ath12k firmware)
|
||||
define Package/ath12k-firmware-wcn7850/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath12k/WCN7850/hw2.0
|
||||
$(INSTALL_DATA) \
|
||||
$(PKG_BUILD_DIR)/ath12k/WCN7850/hw2.0/* $(1)/lib/firmware/ath12k/WCN7850/hw2.0/
|
||||
endef
|
||||
$(eval $(call BuildPackage,ath12k-firmware-wcn7850))
|
||||
@ -109,7 +109,8 @@ define KernelPackage/gpio-pca953x
|
||||
SUBMENU:=$(GPIO_MENU)
|
||||
DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core +kmod-regmap-i2c
|
||||
TITLE:=PCA95xx, TCA64xx, and MAX7310 I/O ports
|
||||
KCONFIG:=CONFIG_GPIO_PCA953X
|
||||
KCONFIG:=CONFIG_GPIO_PCA953X \
|
||||
CONFIG_GPIO_PCA953X_IRQ=y
|
||||
FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pca953x.ko
|
||||
AUTOLOAD:=$(call AutoLoad,55,gpio-pca953x)
|
||||
endef
|
||||
|
||||
@ -33,6 +33,33 @@ endef
|
||||
$(eval $(call KernelPackage,skge))
|
||||
|
||||
|
||||
define KernelPackage/ag71xx
|
||||
SUBMENU:=$(NETWORK_DEVICES_MENU)
|
||||
TITLE:=Atheros AR7XXX/AR9XXX ethernet mac support
|
||||
DEPENDS:=@PCI_SUPPORT||TARGET_ath79 +kmod-phylink +kmod-mdio-devres +kmod-net-selftests
|
||||
KCONFIG:=CONFIG_AG71XX
|
||||
FILES:=$(LINUX_DIR)/drivers/net/ethernet/atheros/ag71xx.ko
|
||||
AUTOLOAD:=$(call AutoLoad,50,ag71xx,1)
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,ag71xx))
|
||||
|
||||
|
||||
define KernelPackage/ag71xx-legacy
|
||||
SUBMENU:=$(NETWORK_DEVICES_MENU)
|
||||
TITLE:=Downstream Atheros AR7XXX/AR9XXX ethernet mac support
|
||||
DEPENDS:=@TARGET_ath79 +kmod-libphy +kmod-mdio-devres
|
||||
KCONFIG:=CONFIG_AG71XX_LEGACY \
|
||||
CONFIG_AG71XX_LEGACY_DEBUG=n \
|
||||
CONFIG_AG71XX_LEGACY_DEBUG_FS=y
|
||||
FILES:=$(LINUX_DIR)/drivers/net/ethernet/atheros/ag71xx/ag71xx_legacy.ko \
|
||||
$(LINUX_DIR)/drivers/net/ethernet/atheros/ag71xx/ag71xx_legacy_mdio.ko
|
||||
AUTOLOAD:=$(call AutoLoad,50,ag71xx-legacy ag71xx-legacy-mdio,1)
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,ag71xx-legacy))
|
||||
|
||||
|
||||
define KernelPackage/alx
|
||||
SUBMENU:=$(NETWORK_DEVICES_MENU)
|
||||
TITLE:=Qualcomm Atheros AR816x/AR817x PCI-E Ethernet Network Driver
|
||||
@ -96,7 +123,8 @@ $(eval $(call KernelPackage,atl1e))
|
||||
define KernelPackage/libphy
|
||||
SUBMENU:=$(NETWORK_DEVICES_MENU)
|
||||
TITLE:=PHY library
|
||||
KCONFIG:=CONFIG_PHYLIB
|
||||
KCONFIG:=CONFIG_PHYLIB \
|
||||
CONFIG_PHYLIB_LEDS=y
|
||||
FILES:=$(LINUX_DIR)/drivers/net/phy/libphy.ko
|
||||
AUTOLOAD:=$(call AutoLoad,15,libphy,1)
|
||||
endef
|
||||
@ -224,6 +252,19 @@ endef
|
||||
$(eval $(call KernelPackage,phylib-broadcom))
|
||||
|
||||
|
||||
define KernelPackage/phylib-qcom
|
||||
SUBMENU:=$(NETWORK_DEVICES_MENU)
|
||||
TITLE:=Qualcomm Ethernet PHY library
|
||||
KCONFIG:=CONFIG_QCOM_NET_PHYLIB
|
||||
HIDDEN:=1
|
||||
DEPENDS:=+kmod-libphy
|
||||
FILES:=$(LINUX_DIR)/drivers/net/phy/qcom/qcom-phy-lib.ko
|
||||
AUTOLOAD:=$(call AutoLoad,17,qcom-phy-lib)
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,phylib-qcom))
|
||||
|
||||
|
||||
define KernelPackage/phy-amd
|
||||
SUBMENU:=$(NETWORK_DEVICES_MENU)
|
||||
TITLE:=AMD PHY driver
|
||||
@ -240,6 +281,18 @@ endef
|
||||
$(eval $(call KernelPackage,phy-amd))
|
||||
|
||||
|
||||
define KernelPackage/phy-at803x
|
||||
SUBMENU:=$(NETWORK_DEVICES_MENU)
|
||||
TITLE:=Qualcomm Atheros 8337 internal PHY
|
||||
KCONFIG:=CONFIG_AT803X_PHY
|
||||
DEPENDS:=+kmod-phylib-qcom
|
||||
FILES:=$(LINUX_DIR)/drivers/net/phy/qcom/at803x.ko
|
||||
AUTOLOAD:=$(call AutoLoad,18,at803x,1)
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,phy-at803x))
|
||||
|
||||
|
||||
define KernelPackage/phy-ax88796b
|
||||
SUBMENU:=$(NETWORK_DEVICES_MENU)
|
||||
TITLE:=Asix PHY driver
|
||||
@ -290,6 +343,37 @@ endef
|
||||
$(eval $(call KernelPackage,phy-bcm84881))
|
||||
|
||||
|
||||
define KernelPackage/phy-intel-xway
|
||||
SUBMENU:=$(NETWORK_DEVICES_MENU)
|
||||
TITLE:=Intel XWAY PHYs
|
||||
KCONFIG:=CONFIG_INTEL_XWAY_PHY
|
||||
DEPENDS:=+kmod-libphy
|
||||
FILES:=$(LINUX_DIR)/drivers/net/phy/intel-xway.ko
|
||||
AUTOLOAD:=$(call AutoLoad,18,intel-xway,1)
|
||||
endef
|
||||
|
||||
define KernelPackage/phy-intel-xway/description
|
||||
Supports the Intel XWAY (former Lantiq) 11G and 22E PHYs.
|
||||
These PHYs are marked as standalone chips under the names
|
||||
PEF 7061, PEF 7071 and PEF 7072 or integrated into the Intel
|
||||
SoCs xRX200, xRX300, xRX330, xRX350 and xRX550.
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,phy-intel-xway))
|
||||
|
||||
|
||||
define KernelPackage/phy-qca83xx
|
||||
SUBMENU:=$(NETWORK_DEVICES_MENU)
|
||||
TITLE:=Qualcomm Atheros QCA833x PHY driver
|
||||
KCONFIG:=CONFIG_QCA83XX_PHY
|
||||
DEPENDS:=+kmod-phylib-qcom
|
||||
FILES:=$(LINUX_DIR)/drivers/net/phy/qcom/qca83xx.ko
|
||||
AUTOLOAD:=$(call AutoLoad,18,qca83xx,1)
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,phy-qca83xx))
|
||||
|
||||
|
||||
define KernelPackage/phy-marvell
|
||||
SUBMENU:=$(NETWORK_DEVICES_MENU)
|
||||
TITLE:=Marvell Gigabit Ethernet PHY driver
|
||||
@ -343,6 +427,23 @@ endef
|
||||
|
||||
$(eval $(call KernelPackage,phy-marvell-10g))
|
||||
|
||||
|
||||
define KernelPackage/phy-micrel
|
||||
SUBMENU:=$(NETWORK_DEVICES_MENU)
|
||||
TITLE:=Micrel PHYs
|
||||
KCONFIG:=CONFIG_MICREL_PHY
|
||||
DEPENDS:=+kmod-libphy +kmod-ptp
|
||||
FILES:=$(LINUX_DIR)/drivers/net/phy/micrel.ko
|
||||
AUTOLOAD:=$(call AutoLoad,18,micrel,1)
|
||||
endef
|
||||
|
||||
define KernelPackage/phy-micrel/description
|
||||
Supports the KSZ9021, VSC8201, KS8001 PHYs.
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,phy-micrel))
|
||||
|
||||
|
||||
define KernelPackage/phy-realtek
|
||||
SUBMENU:=$(NETWORK_DEVICES_MENU)
|
||||
TITLE:=Realtek Ethernet PHY driver
|
||||
@ -375,6 +476,22 @@ endef
|
||||
$(eval $(call KernelPackage,phy-smsc))
|
||||
|
||||
|
||||
define KernelPackage/phy-vitesse
|
||||
SUBMENU:=$(NETWORK_DEVICES_MENU)
|
||||
TITLE:=Vitesse PHYs
|
||||
KCONFIG:=CONFIG_VITESSE_PHY
|
||||
DEPENDS:=+kmod-libphy
|
||||
FILES:=$(LINUX_DIR)/drivers/net/phy/vitesse.ko
|
||||
AUTOLOAD:=$(call AutoLoad,18,vitesse,1)
|
||||
endef
|
||||
|
||||
define KernelPackage/phy-vitesse/description
|
||||
Currently supports the vsc8244
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,phy-vitesse))
|
||||
|
||||
|
||||
define KernelPackage/phy-airoha-en8811h
|
||||
SUBMENU:=$(NETWORK_DEVICES_MENU)
|
||||
TITLE:=Airoha EN8811H 2.5G Ethernet PHY
|
||||
@ -407,13 +524,27 @@ endef
|
||||
|
||||
$(eval $(call KernelPackage,phy-aquantia))
|
||||
|
||||
define KernelPackage/dsa
|
||||
SUBMENU:=$(NETWORK_DEVICES_MENU)
|
||||
TITLE:=Distributed Switch Architecture support
|
||||
DEPENDS:=+kmod-mdio-devres +kmod-net-selftests +kmod-phylink
|
||||
KCONFIG:=CONFIG_NET_DSA
|
||||
FILES:=$(LINUX_DIR)/net/dsa/dsa_core.ko
|
||||
endef
|
||||
|
||||
define KernelPackage/dsa/description
|
||||
Kernel module support for Distributed Switch Architecture
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,dsa))
|
||||
|
||||
define KernelPackage/dsa-tag-dsa
|
||||
SUBMENU:=$(NETWORK_DEVICES_MENU)
|
||||
TITLE:=Marvell DSA type DSA and EDSA taggers
|
||||
DEPENDS:=+kmod-dsa
|
||||
KCONFIG:= CONFIG_NET_DSA_TAG_DSA_COMMON \
|
||||
CONFIG_NET_DSA_TAG_DSA \
|
||||
CONFIG_NET_DSA_TAG_EDSA \
|
||||
CONFIG_NET_DSA=y
|
||||
CONFIG_NET_DSA_TAG_EDSA
|
||||
FILES:=$(LINUX_DIR)/net/dsa/tag_dsa.ko
|
||||
AUTOLOAD:=$(call AutoLoad,40,tag_dsa,1)
|
||||
endef
|
||||
@ -427,10 +558,9 @@ $(eval $(call KernelPackage,dsa-tag-dsa))
|
||||
define KernelPackage/dsa-mv88e6xxx
|
||||
SUBMENU:=$(NETWORK_DEVICES_MENU)
|
||||
TITLE:=Marvell MV88E6XXX DSA Switch
|
||||
DEPENDS:=+kmod-ptp +kmod-phy-marvell +kmod-dsa-tag-dsa
|
||||
DEPENDS:=+kmod-dsa +kmod-ptp +kmod-phy-marvell +kmod-dsa-tag-dsa
|
||||
KCONFIG:=CONFIG_NET_DSA_MV88E6XXX \
|
||||
CONFIG_NET_DSA_MV88E6XXX_PTP=y \
|
||||
CONFIG_NET_DSA=y
|
||||
CONFIG_NET_DSA_MV88E6XXX_PTP=y
|
||||
FILES:=$(LINUX_DIR)/drivers/net/dsa/mv88e6xxx/mv88e6xxx.ko
|
||||
AUTOLOAD:=$(call AutoLoad,41,mv88e6xxx,1)
|
||||
endef
|
||||
@ -441,12 +571,32 @@ endef
|
||||
|
||||
$(eval $(call KernelPackage,dsa-mv88e6xxx))
|
||||
|
||||
define KernelPackage/dsa-qca8k
|
||||
SUBMENU:=$(NETWORK_DEVICES_MENU)
|
||||
TITLE:=Qualcomm Atheros QCA8xxx switch family DSA support
|
||||
DEPENDS:=+kmod-dsa +kmod-regmap-core
|
||||
KCONFIG:= \
|
||||
CONFIG_NET_DSA_QCA8K \
|
||||
CONFIG_NET_DSA_QCA8K_LEDS_SUPPORT=y \
|
||||
CONFIG_NET_DSA_TAG_QCA
|
||||
FILES:= \
|
||||
$(LINUX_DIR)/drivers/net/dsa/qca/qca8k.ko \
|
||||
$(LINUX_DIR)/net/dsa/tag_qca.ko
|
||||
AUTOLOAD:=$(call AutoLoad,42,qca8k,1)
|
||||
endef
|
||||
|
||||
define KernelPackage/dsa-qca8k/description
|
||||
DSA based kernel modules for the Qualcomm Atheros QCA8xxx switch family
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,dsa-qca8k))
|
||||
|
||||
define KernelPackage/swconfig
|
||||
SUBMENU:=$(NETWORK_DEVICES_MENU)
|
||||
TITLE:=switch configuration API
|
||||
DEPENDS:=+kmod-libphy
|
||||
KCONFIG:=CONFIG_SWCONFIG
|
||||
KCONFIG:=CONFIG_SWCONFIG \
|
||||
CONFIG_SWCONFIG_LEDS=y
|
||||
FILES:=$(LINUX_DIR)/drivers/net/phy/swconfig.ko
|
||||
AUTOLOAD:=$(call AutoLoad,41,swconfig)
|
||||
endef
|
||||
@ -604,7 +754,8 @@ define KernelPackage/switch-ar8xxx
|
||||
SUBMENU:=$(NETWORK_DEVICES_MENU)
|
||||
TITLE:=Atheros AR8216/8327 switch support
|
||||
DEPENDS:=+kmod-swconfig +kmod-mdio-devres
|
||||
KCONFIG:=CONFIG_AR8216_PHY
|
||||
KCONFIG:=CONFIG_AR8216_PHY \
|
||||
CONFIG_AR8216_PHY_LEDS=y
|
||||
FILES:=$(LINUX_DIR)/drivers/net/phy/ar8xxx.ko
|
||||
AUTOLOAD:=$(call AutoLoad,43,ar8xxx,1)
|
||||
endef
|
||||
|
||||
@ -272,13 +272,13 @@ $(eval $(call KernelPackage,usb-uhci,1))
|
||||
define KernelPackage/usb-ohci
|
||||
TITLE:=Support for OHCI controllers
|
||||
DEPENDS:= \
|
||||
+TARGET_ath79:kmod-phy-ath79-usb \
|
||||
+TARGET_bcm53xx:kmod-usb-bcma \
|
||||
+TARGET_bcm47xx:kmod-usb-bcma \
|
||||
+TARGET_bcm47xx:kmod-usb-ssb
|
||||
KCONFIG:= \
|
||||
CONFIG_USB_OHCI \
|
||||
CONFIG_USB_OHCI_HCD \
|
||||
CONFIG_USB_OHCI_ATH79=y \
|
||||
CONFIG_USB_OHCI_HCD_AT91=y \
|
||||
CONFIG_USB_OHCI_BCM63XX=y \
|
||||
CONFIG_USB_OCTEON_OHCI=y \
|
||||
|
||||
@ -348,6 +348,7 @@ define Build/Patch
|
||||
$(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath9k,ath9k/)
|
||||
$(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath10k,ath10k/)
|
||||
$(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath11k,ath11k/)
|
||||
$(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath12k,ath12k/)
|
||||
$(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/rt2x00,rt2x00/)
|
||||
$(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/mt7601u,mt7601u/)
|
||||
$(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/mwl,mwl/)
|
||||
@ -364,6 +365,7 @@ define Quilt/Refresh/Package
|
||||
$(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath9k,ath9k/)
|
||||
$(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath10k,ath10k/)
|
||||
$(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath11k,ath11k/)
|
||||
$(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath12k,ath12k/)
|
||||
$(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/rt2x00,rt2x00/)
|
||||
$(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/mt7601u,mt7601u/)
|
||||
$(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/mwl,mwl/)
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
PKG_DRIVERS += \
|
||||
ath ath5k ath6kl ath6kl-sdio ath6kl-usb ath9k ath9k-common ath9k-htc ath10k ath10k-sdio ath10k-smallbuffers \
|
||||
ath11k ath11k-ahb ath11k-pci carl9170 owl-loader ar5523 wil6210
|
||||
ath11k ath11k-ahb ath11k-pci ath12k carl9170 owl-loader ar5523 wil6210 qcom-qmi-helpers
|
||||
|
||||
PKG_CONFIG_DEPENDS += \
|
||||
CONFIG_PACKAGE_ATH_DEBUG \
|
||||
@ -21,6 +21,7 @@ ifdef CONFIG_PACKAGE_MAC80211_DEBUGFS
|
||||
ATH9K_HTC_DEBUGFS \
|
||||
ATH10K_DEBUGFS \
|
||||
ATH11K_DEBUGFS \
|
||||
ATH12K_DEBUGFS \
|
||||
CARL9170_DEBUGFS \
|
||||
ATH5K_DEBUG \
|
||||
ATH6KL_DEBUG \
|
||||
@ -31,14 +32,16 @@ ifdef CONFIG_PACKAGE_MAC80211_TRACING
|
||||
config-y += \
|
||||
ATH10K_TRACING \
|
||||
ATH11K_TRACING \
|
||||
ATH12K_TRACING \
|
||||
ATH6KL_TRACING \
|
||||
ATH_TRACEPOINTS \
|
||||
ATH5K_TRACER \
|
||||
WIL6210_TRACING
|
||||
endif
|
||||
|
||||
config-$(call config_package,qcom-qmi-helpers) += QCOM_QMI_HELPERS
|
||||
config-$(call config_package,ath,regular sdio smallbuffers) += ATH_CARDS ATH_COMMON
|
||||
config-$(CONFIG_PACKAGE_ATH_DEBUG) += ATH_DEBUG ATH10K_DEBUG ATH11K_DEBUG ATH9K_STATION_STATISTICS
|
||||
config-$(CONFIG_PACKAGE_ATH_DEBUG) += ATH_DEBUG ATH10K_DEBUG ATH11K_DEBUG ATH12K_DEBUG ATH9K_STATION_STATISTICS
|
||||
config-$(CONFIG_PACKAGE_ATH_DFS) += ATH9K_DFS_CERTIFIED ATH10K_DFS_CERTIFIED
|
||||
config-$(CONFIG_PACKAGE_ATH_SPECTRAL) += ATH9K_COMMON_SPECTRAL ATH10K_SPECTRAL ATH11K_SPECTRAL
|
||||
config-$(CONFIG_PACKAGE_ATH_DYNACK) += ATH9K_DYNACK
|
||||
@ -64,6 +67,7 @@ config-$(call config_package,ath10k-smallbuffers,smallbuffers) += ATH10K ATH10K_
|
||||
config-$(call config_package,ath11k) += ATH11K
|
||||
config-$(call config_package,ath11k-ahb) += ATH11K_AHB
|
||||
config-$(call config_package,ath11k-pci) += ATH11K_PCI
|
||||
config-$(call config_package,ath12k) += ATH12K
|
||||
|
||||
config-$(call config_package,ath5k) += ATH5K ATH5K_PCI
|
||||
|
||||
@ -126,6 +130,14 @@ define KernelPackage/ath/config
|
||||
endif
|
||||
endef
|
||||
|
||||
define KernelPackage/qcom-qmi-helpers
|
||||
$(call KernelPackage/mac80211/Default)
|
||||
TITLE:=Qualcomm QMI backports helpers
|
||||
HIDDEN:=1
|
||||
FILES:=$(PKG_BUILD_DIR)/drivers/soc/qcom/qmi_helpers.ko
|
||||
AUTOLOAD:=$(call AutoProbe,qmi_helpers)
|
||||
endef
|
||||
|
||||
define KernelPackage/ath
|
||||
$(call KernelPackage/mac80211/Default)
|
||||
TITLE:=Atheros common driver part
|
||||
@ -318,9 +330,9 @@ define KernelPackage/ath11k
|
||||
TITLE:=Qualcomm 802.11ax wireless chipset support (common code)
|
||||
URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath11k
|
||||
DEPENDS+= +kmod-ath +@DRIVER_11AC_SUPPORT +@DRIVER_11AX_SUPPORT \
|
||||
+kmod-crypto-michael-mic +ATH11K_THERMAL:kmod-hwmon-core +ATH11K_THERMAL:kmod-thermal
|
||||
FILES:=$(PKG_BUILD_DIR)/drivers/soc/qcom/qmi_helpers.ko \
|
||||
$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath11k/ath11k.ko
|
||||
+kmod-crypto-michael-mic +ATH11K_THERMAL:kmod-hwmon-core \
|
||||
+ATH11K_THERMAL:kmod-thermal +kmod-qcom-qmi-helpers
|
||||
FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath11k/ath11k.ko
|
||||
endef
|
||||
|
||||
define KernelPackage/ath11k/description
|
||||
@ -365,6 +377,22 @@ This module adds support for Qualcomm Technologies 802.11ax family of
|
||||
chipsets with PCI bus.
|
||||
endef
|
||||
|
||||
define KernelPackage/ath12k
|
||||
$(call KernelPackage/mac80211/Default)
|
||||
TITLE:=Qualcomm 802.11be wireless chipset support
|
||||
URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath12k
|
||||
DEPENDS+= +kmod-ath +@DRIVER_11AC_SUPPORT +@DRIVER_11AX_SUPPORT \
|
||||
+kmod-crypto-michael-mic +kmod-qrtr-mhi \
|
||||
+kmod-qcom-qmi-helpers
|
||||
FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath12k/ath12k.ko
|
||||
AUTOLOAD:=$(call AutoProbe,ath12k)
|
||||
endef
|
||||
|
||||
define KernelPackage/ath12k/description
|
||||
This module adds support for Qualcomm Technologies 802.11be family of
|
||||
chipsets with PCI bus.
|
||||
endef
|
||||
|
||||
define KernelPackage/carl9170
|
||||
$(call KernelPackage/mac80211/Default)
|
||||
TITLE:=Driver for Atheros AR9170 USB sticks
|
||||
|
||||
@ -0,0 +1,17 @@
|
||||
Fix ltssm crashes on BPI-Rx boards.
|
||||
Seems read32/write32 using wrong address which
|
||||
is not a problem on x86/64 PCI controllers.
|
||||
But have issues on BPI-Rx boards.
|
||||
|
||||
--- a/drivers/net/wireless/ath/ath12k/pci.c
|
||||
+++ b/drivers/net/wireless/ath/ath12k/pci.c
|
||||
@@ -277,6 +277,9 @@ static void ath12k_pci_enable_ltssm(stru
|
||||
u32 val;
|
||||
int i;
|
||||
|
||||
+ /* Prevent startup crash on BPI-Rx */
|
||||
+ return;
|
||||
+
|
||||
val = ath12k_pci_read32(ab, PCIE_PCIE_PARF_LTSSM);
|
||||
|
||||
/* PCIE link seems very unstable after the Hot Reset*/
|
||||
@ -198,11 +198,23 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
||||
rt2x00_set_chip_intf(rt2x00dev, RT2X00_CHIP_INTF_SOC);
|
||||
|
||||
retval = rt2x00soc_alloc_reg(rt2x00dev);
|
||||
--- a/drivers/net/wireless/ralink/rt2x00/rt2x00soc.h
|
||||
+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00soc.h
|
||||
@@ -26,4 +26,13 @@ int rt2x00soc_resume(struct platform_dev
|
||||
#define rt2x00soc_resume NULL
|
||||
#endif /* CONFIG_PM */
|
||||
--- a/drivers/net/wireless/ralink/rt2x00/rt2800pci.c
|
||||
+++ b/drivers/net/wireless/ralink/rt2x00/rt2800pci.c
|
||||
@@ -278,6 +278,9 @@ static int rt2800pci_read_eeprom(struct
|
||||
{
|
||||
int retval;
|
||||
|
||||
+ if (!rt2x00lib_read_eeprom(rt2x00dev))
|
||||
+ return 0;
|
||||
+
|
||||
if (rt2800pci_efuse_detect(rt2x00dev))
|
||||
retval = rt2800pci_read_eeprom_efuse(rt2x00dev);
|
||||
else
|
||||
--- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.h
|
||||
+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.h
|
||||
@@ -270,4 +270,13 @@ void rt2800_get_txwi_rxwi_size(struct rt
|
||||
unsigned short *rxwi_size);
|
||||
void rt2800_pre_reset_hw(struct rt2x00_dev *rt2x00dev);
|
||||
|
||||
+/*
|
||||
+ * EEPROM file handlers.
|
||||
@ -213,4 +225,4 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
||||
+#define rt2x00lib_read_eeprom NULL
|
||||
+#endif /* CPTCFG_RT2X00_LIB_EEPROM */
|
||||
+
|
||||
#endif /* RT2X00SOC_H */
|
||||
#endif /* RT2800LIB_H */
|
||||
|
||||
@ -40,7 +40,7 @@
|
||||
const u8 arg0, const u8 arg1);
|
||||
--- a/drivers/net/wireless/ralink/rt2x00/rt2800pci.c
|
||||
+++ b/drivers/net/wireless/ralink/rt2x00/rt2800pci.c
|
||||
@@ -286,6 +286,10 @@ static int rt2800pci_read_eeprom(struct
|
||||
@@ -289,6 +289,10 @@ static int rt2800pci_read_eeprom(struct
|
||||
return retval;
|
||||
}
|
||||
|
||||
@ -51,7 +51,7 @@
|
||||
static const struct ieee80211_ops rt2800pci_mac80211_ops = {
|
||||
.add_chanctx = ieee80211_emulate_add_chanctx,
|
||||
.remove_chanctx = ieee80211_emulate_remove_chanctx,
|
||||
@@ -333,6 +337,9 @@ static const struct rt2800_ops rt2800pci
|
||||
@@ -336,6 +340,9 @@ static const struct rt2800_ops rt2800pci
|
||||
.drv_init_registers = rt2800mmio_init_registers,
|
||||
.drv_get_txwi = rt2800mmio_get_txwi,
|
||||
.drv_get_dma_done = rt2800mmio_get_dma_done,
|
||||
|
||||
@ -8,12 +8,12 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=libpcap
|
||||
PKG_VERSION:=1.10.4
|
||||
PKG_VERSION:=1.10.5
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://www.tcpdump.org/release/
|
||||
PKG_HASH:=ed19a0383fad72e3ad435fd239d7cd80d64916b87269550159d20e47160ebe5f
|
||||
PKG_HASH:=37ced90a19a302a7f32e458224a00c365c117905c2cd35ac544b6880a81488f0
|
||||
|
||||
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
||||
PKG_LICENSE:=BSD-3-Clause
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -1325,7 +1325,6 @@ endif()
|
||||
@@ -1441,7 +1441,6 @@ if(ENABLE_REMOTE)
|
||||
#
|
||||
# OpenSSL/libressl.
|
||||
#
|
||||
|
||||
@ -9,7 +9,7 @@ Subject: [PATCH] skip manpages
|
||||
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -3325,57 +3325,6 @@ if(NOT MSVC)
|
||||
@@ -3548,57 +3548,6 @@ if(NOT MSVC)
|
||||
if(MINGW)
|
||||
find_program(LINK_EXECUTABLE ln)
|
||||
endif(MINGW)
|
||||
|
||||
@ -36,7 +36,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
|
||||
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -133,6 +133,8 @@ PUBHDR = \
|
||||
@@ -130,6 +130,8 @@ PUBHDR = \
|
||||
HDR = $(PUBHDR) \
|
||||
arcnet.h \
|
||||
atmuni31.h \
|
||||
@ -220,7 +220,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
|
||||
#endif
|
||||
--- a/gencode.c
|
||||
+++ b/gencode.c
|
||||
@@ -60,6 +60,8 @@
|
||||
@@ -58,6 +58,8 @@
|
||||
#include "sunatmpos.h"
|
||||
#include "pflog.h"
|
||||
#include "ppp.h"
|
||||
@ -229,7 +229,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
|
||||
#include "pcap/sll.h"
|
||||
#include "pcap/ipnet.h"
|
||||
#include "arcnet.h"
|
||||
@@ -9436,6 +9438,168 @@ gen_geneve(compiler_state_t *cstate, bpf
|
||||
@@ -9704,6 +9706,168 @@ gen_geneve(compiler_state_t *cstate, bpf
|
||||
return b1;
|
||||
}
|
||||
|
||||
@ -412,7 +412,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
|
||||
struct block *gen_atmtype_abbrev(compiler_state_t *, int);
|
||||
--- a/grammar.y.in
|
||||
+++ b/grammar.y.in
|
||||
@@ -375,6 +375,7 @@ DIAG_OFF_BISON_BYACC
|
||||
@@ -383,6 +383,7 @@ DIAG_OFF_BISON_BYACC
|
||||
%type <i> mtp2type
|
||||
%type <blk> mtp3field
|
||||
%type <blk> mtp3fieldvalue mtp3value mtp3listvalue
|
||||
@ -420,7 +420,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
|
||||
|
||||
|
||||
%token DST SRC HOST GATEWAY
|
||||
@@ -393,7 +394,7 @@ DIAG_OFF_BISON_BYACC
|
||||
@@ -401,7 +402,7 @@ DIAG_OFF_BISON_BYACC
|
||||
%token LEN
|
||||
%token IPV6 ICMPV6 AH ESP
|
||||
%token VLAN MPLS
|
||||
@ -429,7 +429,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
|
||||
%token ISO ESIS CLNP ISIS L1 L2 IIH LSP SNP CSNP PSNP
|
||||
%token STP
|
||||
%token IPX
|
||||
@@ -620,11 +621,40 @@ other: pqual TK_BROADCAST { CHECK_PTR_
|
||||
@@ -698,11 +699,40 @@ other: pqual TK_BROADCAST { CHECK_PTR_
|
||||
| PPPOES { CHECK_PTR_VAL(($$ = gen_pppoes(cstate, 0, 0))); }
|
||||
| GENEVE pnum { CHECK_PTR_VAL(($$ = gen_geneve(cstate, $2, 1))); }
|
||||
| GENEVE { CHECK_PTR_VAL(($$ = gen_geneve(cstate, 0, 0))); }
|
||||
@ -472,7 +472,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
|
||||
| PF_RNR NUM { CHECK_PTR_VAL(($$ = gen_pf_rnr(cstate, $2))); }
|
||||
--- a/nametoaddr.c
|
||||
+++ b/nametoaddr.c
|
||||
@@ -136,8 +136,12 @@
|
||||
@@ -134,8 +134,12 @@
|
||||
|
||||
#include "diag-control.h"
|
||||
|
||||
@ -484,8 +484,8 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
|
||||
+
|
||||
#include "nametoaddr.h"
|
||||
|
||||
#ifdef HAVE_OS_PROTO_H
|
||||
@@ -604,6 +608,7 @@ PCAP_API_DEF struct eproto eproto_db[] =
|
||||
#include "thread-local.h"
|
||||
@@ -597,6 +601,7 @@ PCAP_API_DEF struct eproto eproto_db[] =
|
||||
{ "moprc", ETHERTYPE_MOPRC },
|
||||
{ "rarp", ETHERTYPE_REVARP },
|
||||
{ "sca", ETHERTYPE_SCA },
|
||||
@ -493,7 +493,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
|
||||
{ (char *)0, 0 }
|
||||
};
|
||||
|
||||
@@ -638,6 +643,60 @@ pcap_nametollc(const char *s)
|
||||
@@ -631,6 +636,60 @@ pcap_nametollc(const char *s)
|
||||
|
||||
while (p->s != 0) {
|
||||
if (strcmp(p->s, s) == 0)
|
||||
@ -582,7 +582,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
|
||||
Abbreviations for:
|
||||
.in +.5i
|
||||
.nf
|
||||
@@ -792,6 +793,36 @@ For example:
|
||||
@@ -795,6 +796,36 @@ For example:
|
||||
filters IPv4 protocol encapsulated in Geneve with VNI 0xb. This will
|
||||
match both IPv4 directly encapsulated in Geneve as well as IPv4 contained
|
||||
inside an Ethernet frame.
|
||||
@ -621,18 +621,18 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
|
||||
\fIProtocol\fP can be a number or one of the names
|
||||
--- a/pcap/namedb.h
|
||||
+++ b/pcap/namedb.h
|
||||
@@ -70,6 +70,8 @@ PCAP_API int pcap_nametoportrange(const
|
||||
PCAP_API int pcap_nametoproto(const char *);
|
||||
PCAP_API int pcap_nametoeproto(const char *);
|
||||
@@ -94,6 +94,8 @@ PCAP_API int pcap_nametoeproto(const cha
|
||||
|
||||
PCAP_AVAILABLE_0_9
|
||||
PCAP_API int pcap_nametollc(const char *);
|
||||
+PCAP_API int pcap_nametobatadvtype_v14(const char *);
|
||||
+PCAP_API int pcap_nametobatadvtype_v15(const char *);
|
||||
|
||||
/*
|
||||
* If a protocol is unknown, PROTO_UNDEF is returned.
|
||||
* Also, pcap_nametoport() returns the protocol along with the port number.
|
||||
--- a/scanner.l
|
||||
+++ b/scanner.l
|
||||
@@ -347,6 +347,7 @@ mpls return MPLS;
|
||||
@@ -365,6 +365,7 @@ mpls return MPLS;
|
||||
pppoed return PPPOED;
|
||||
pppoes return PPPOES;
|
||||
geneve return GENEVE;
|
||||
|
||||
@ -8,14 +8,12 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=libusb
|
||||
PKG_VERSION:=1.0.26
|
||||
PKG_RELEASE:=3
|
||||
PKG_VERSION:=1.0.27
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
PKG_SOURCE_URL:=\
|
||||
https://github.com/libusb/libusb/releases/download/v$(PKG_VERSION) \
|
||||
@SF/$(PKG_NAME)
|
||||
PKG_HASH:=12ce7a61fc9854d1d2a1ffe095f7b5fac19ddba095c259e6067a46500381b5a5
|
||||
PKG_SOURCE_URL:=https://github.com/libusb/libusb/releases/download/v$(PKG_VERSION)
|
||||
PKG_HASH:=ffaa41d741a8a3bee244ac8e54a72ea05bf2879663c098c82fc5757853441575
|
||||
|
||||
PKG_MAINTAINER:= Felix Fietkau <nbd@nbd.name>
|
||||
PKG_LICENSE:=LGPL-2.1-or-later
|
||||
@ -32,7 +30,7 @@ define Package/libusb-1.0
|
||||
CATEGORY:=Libraries
|
||||
TITLE:=A library for accessing Linux USB devices
|
||||
DEPENDS:=+libpthread +librt +libatomic
|
||||
URL:=http://libusb.info/
|
||||
URL:=https://libusb.info/
|
||||
ABI_VERSION:=0
|
||||
endef
|
||||
|
||||
@ -45,7 +43,7 @@ define Package/fxload
|
||||
SECTION:=utils
|
||||
CATEGORY:=Utilities
|
||||
TITLE:=fxload firmware loader
|
||||
URL:=http://linux-hotplug.sourceforge.net
|
||||
URL:=https://linux-hotplug.sourceforge.net
|
||||
DEPENDS:=+libusb-1.0
|
||||
endef
|
||||
|
||||
|
||||
@ -8,17 +8,16 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=mbedtls
|
||||
PKG_VERSION:=3.6.0
|
||||
PKG_VERSION:=3.6.1
|
||||
PKG_RELEASE:=1
|
||||
PKG_BUILD_FLAGS:=no-mips16 gc-sections no-lto
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=https://github.com/Mbed-TLS/mbedtls.git
|
||||
PKG_SOURCE_VERSION:=2ca6c285a0dd3f33982dd57299012dacab1ff206
|
||||
PKG_MIRROR_HASH:=a684012126590b4e0b6ab41e244cc2af0d2bcfc4b6c94bf42fc37d2d08f0553e
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
PKG_SOURCE_URL=https://github.com/Mbed-TLS/$(PKG_NAME)/releases/download/$(PKG_NAME)-$(PKG_VERSION)
|
||||
PKG_HASH:=fc8bef0991b43629b7e5319de6f34f13359011105e08e3e16eed3a9fe6ffd3a3
|
||||
|
||||
PKG_LICENSE:=GPL-2.0-or-later
|
||||
PKG_LICENSE_FILES:=gpl-2.0.txt
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
PKG_CPE_ID:=cpe:/a:arm:mbed_tls
|
||||
|
||||
MBEDTLS_BUILD_OPTS_CURVES= \
|
||||
@ -90,7 +89,7 @@ include $(INCLUDE_DIR)/cmake.mk
|
||||
|
||||
define Package/mbedtls/Default
|
||||
TITLE:=Embedded SSL
|
||||
URL:=https://tls.mbed.org
|
||||
URL:=https://www.trustedfirmware.org/projects/mbed-tls/
|
||||
endef
|
||||
|
||||
define Package/mbedtls/Default/description
|
||||
|
||||
@ -5,9 +5,9 @@ PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/netifd.git
|
||||
PKG_SOURCE_DATE:=2024-09-12
|
||||
PKG_SOURCE_VERSION:=02aa43d82d587d87523231be5a5e0bf956435725
|
||||
PKG_MIRROR_HASH:=a0e997ed9b0191417e65aaf43fbfd3a51b734ce1ea83f87e2d71b904b5a368ca
|
||||
PKG_SOURCE_DATE:=2024-09-21
|
||||
PKG_SOURCE_VERSION:=24f9a93a9559c93cf1e794fdfcd87a38d27a8e0e
|
||||
PKG_MIRROR_HASH:=a3baa049b86f65cf9709d57bb5a9ea7a5b7405f63c77e2bd641fe9b59865838c
|
||||
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
PKG_LICENSE:=GPL-2.0
|
||||
|
||||
@ -378,8 +378,8 @@ hostapd_common_add_bss_config() {
|
||||
config_add_array radius_auth_req_attr
|
||||
config_add_array radius_acct_req_attr
|
||||
|
||||
config_add_int eap_server
|
||||
config_add_string eap_user_file ca_cert server_cert private_key private_key_passwd server_id
|
||||
config_add_int eap_server radius_server_auth_port
|
||||
config_add_string eap_user_file ca_cert server_cert private_key private_key_passwd server_id radius_server_clients
|
||||
|
||||
config_add_boolean fils
|
||||
config_add_string fils_dhcp
|
||||
@ -573,7 +573,7 @@ hostapd_set_bss_options() {
|
||||
multi_ap multi_ap_backhaul_ssid multi_ap_backhaul_key skip_inactivity_poll \
|
||||
ppsk airtime_bss_weight airtime_bss_limit airtime_sta_weight \
|
||||
multicast_to_unicast_all proxy_arp per_sta_vif \
|
||||
eap_server eap_user_file ca_cert server_cert private_key private_key_passwd server_id \
|
||||
eap_server eap_user_file ca_cert server_cert private_key private_key_passwd server_id radius_server_clients radius_server_auth_port \
|
||||
vendor_elements fils ocv apup
|
||||
|
||||
set_default fils 0
|
||||
@ -1153,6 +1153,8 @@ hostapd_set_bss_options() {
|
||||
[ -n "$private_key" ] && append bss_conf "private_key=$private_key" "$N"
|
||||
[ -n "$private_key_passwd" ] && append bss_conf "private_key_passwd=$private_key_passwd" "$N"
|
||||
[ -n "$server_id" ] && append bss_conf "server_id=$server_id" "$N"
|
||||
[ -n "$radius_server_clients" ] && append bss_conf "radius_server_clients=$radius_server_clients" "$N"
|
||||
[ -n "$radius_server_auth_port" ] && append bss_conf "radius_server_auth_port=$radius_server_auth_port" "$N"
|
||||
fi
|
||||
|
||||
set_default multicast_to_unicast_all 0
|
||||
|
||||
@ -896,6 +896,7 @@ wpa_supplicant_set_config() {
|
||||
json_set_namespace wpa_supp prev
|
||||
json_close_array
|
||||
json_add_string phy "$phy"
|
||||
json_add_int num_global_macaddr "$num_global_macaddr"
|
||||
json_add_boolean defer 1
|
||||
local data="$(json_dump)"
|
||||
|
||||
@ -938,7 +939,7 @@ wpa_supplicant_start() {
|
||||
|
||||
[ -n "$wpa_supp_init" ] || return 0
|
||||
|
||||
ubus_call wpa_supplicant config_set '{ "phy": "'"$phy"'" }' > /dev/null
|
||||
ubus_call wpa_supplicant config_set '{ "phy": "'"$phy"'", "num_global_macaddr": '"$num_global_macaddr"' }' > /dev/null
|
||||
}
|
||||
|
||||
mac80211_setup_supplicant() {
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=6in4
|
||||
PKG_RELEASE:=28
|
||||
PKG_RELEASE:=29
|
||||
PKG_LICENSE:=GPL-2.0
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
@ -16,7 +16,7 @@ include $(INCLUDE_DIR)/package.mk
|
||||
define Package/6in4
|
||||
SECTION:=net
|
||||
CATEGORY:=Network
|
||||
DEPENDS:=@IPV6 +kmod-sit +uclient-fetch
|
||||
DEPENDS:=@IPV6 +kmod-sit +uclient-fetch +resolveip
|
||||
TITLE:=IPv6-in-IPv4 configuration support
|
||||
MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
|
||||
PKGARCH:=all
|
||||
|
||||
@ -44,18 +44,35 @@ proto_6in4_setup() {
|
||||
local cfg="$1"
|
||||
local iface="$2"
|
||||
local link="6in4-$cfg"
|
||||
local remoteip
|
||||
|
||||
local mtu ttl tos ipaddr peeraddr ip6addr ip6prefix ip6prefixes tunlink tunnelid username password updatekey
|
||||
json_get_vars mtu ttl tos ipaddr peeraddr ip6addr tunlink tunnelid username password updatekey
|
||||
local mtu ttl tos ipaddr peeraddr ip6addr ip6prefix ip6prefixes tunlink tunnelid username password updatekey device nohostroute
|
||||
json_get_vars mtu ttl tos ipaddr peeraddr ip6addr tunlink tunnelid username password updatekey device nohostroute
|
||||
json_for_each_item proto_6in4_add_prefix ip6prefix ip6prefixes
|
||||
|
||||
[ -n "$device" ] && link="$device"
|
||||
|
||||
[ -z "$peeraddr" ] && {
|
||||
proto_notify_error "$cfg" "MISSING_ADDRESS"
|
||||
proto_notify_error "$cfg" "MISSING_PEER_ADDRESS"
|
||||
proto_block_restart "$cfg"
|
||||
return
|
||||
}
|
||||
|
||||
remoteip=$(resolveip -t 10 -4 "$peeraddr")
|
||||
|
||||
if [ -z "$remoteip" ]; then
|
||||
proto_notify_error "$cfg" "PEER_RESOLVE_FAIL"
|
||||
return
|
||||
fi
|
||||
|
||||
for ip in $remoteip; do
|
||||
peeraddr=$ip
|
||||
break
|
||||
done
|
||||
|
||||
if [ "${nohostroute}" != "1" ]; then
|
||||
( proto_add_host_dependency "$cfg" "$peeraddr" "$tunlink" )
|
||||
fi
|
||||
|
||||
[ -z "$ipaddr" ] && {
|
||||
local wanif="$tunlink"
|
||||
@ -156,6 +173,8 @@ proto_6in4_init_config() {
|
||||
proto_config_add_int "mtu"
|
||||
proto_config_add_int "ttl"
|
||||
proto_config_add_string "tos"
|
||||
proto_config_add_string "device"
|
||||
proto_config_add_boolean "nohostroute"
|
||||
}
|
||||
|
||||
[ -n "$INCLUDE_ONLY" ] || {
|
||||
|
||||
@ -229,6 +229,16 @@ function iface_pending_init(phydev, config)
|
||||
pending.next();
|
||||
}
|
||||
|
||||
function iface_macaddr_init(phydev, config, macaddr_list)
|
||||
{
|
||||
let macaddr_data = {
|
||||
num_global: config.num_global_macaddr ?? 1,
|
||||
mbssid: config.mbssid ?? 0,
|
||||
};
|
||||
|
||||
return phydev.macaddr_init(macaddr_list, macaddr_data);
|
||||
}
|
||||
|
||||
function iface_restart(phydev, config, old_config)
|
||||
{
|
||||
let phy = phydev.name;
|
||||
@ -246,7 +256,7 @@ function iface_restart(phydev, config, old_config)
|
||||
return;
|
||||
}
|
||||
|
||||
phydev.macaddr_init(iface_config_macaddr_list(config));
|
||||
iface_macaddr_init(phydev, config, iface_config_macaddr_list(config));
|
||||
for (let i = 0; i < length(config.bss); i++) {
|
||||
let bss = config.bss[i];
|
||||
if (bss.default_macaddr)
|
||||
@ -500,11 +510,7 @@ function iface_reload_config(phydev, config, old_config)
|
||||
}
|
||||
|
||||
// Step 6: assign BSSID for newly created interfaces
|
||||
let macaddr_data = {
|
||||
num_global: config.num_global_macaddr ?? 1,
|
||||
mbssid: config.mbssid ?? 0,
|
||||
};
|
||||
macaddr_list = phydev.macaddr_init(macaddr_list, macaddr_data);
|
||||
macaddr_list = iface_macaddr_init(phydev, config, macaddr_list);
|
||||
for (let i = 0; i < length(config.bss); i++) {
|
||||
if (bss_list[i])
|
||||
continue;
|
||||
@ -675,7 +681,7 @@ function iface_load_config(filename)
|
||||
|
||||
if (val[0] == "#num_global_macaddr" ||
|
||||
val[0] == "mbssid")
|
||||
config[val[0]] = int(val[1]);
|
||||
config[substr(val[0], 1)] = int(val[1]);
|
||||
|
||||
push(config.radio.data, line);
|
||||
}
|
||||
@ -889,13 +895,13 @@ return {
|
||||
hostapd.udebug_set(null);
|
||||
hostapd.ubus.disconnect();
|
||||
},
|
||||
bss_add: function(name, obj) {
|
||||
bss_add: function(phy, name, obj) {
|
||||
bss_event("add", name);
|
||||
},
|
||||
bss_reload: function(name, obj, reconf) {
|
||||
bss_reload: function(phy, name, obj, reconf) {
|
||||
bss_event("reload", name, { reconf: reconf != 0 });
|
||||
},
|
||||
bss_remove: function(name, obj) {
|
||||
bss_remove: function(phy, name, obj) {
|
||||
bss_event("remove", name);
|
||||
}
|
||||
};
|
||||
|
||||
@ -68,7 +68,7 @@ function prepare_config(config)
|
||||
return { config: config };
|
||||
}
|
||||
|
||||
function set_config(phy_name, config_list)
|
||||
function set_config(phy_name, num_global_macaddr, config_list)
|
||||
{
|
||||
let phy = wpas.data.config[phy_name];
|
||||
|
||||
@ -77,6 +77,8 @@ function set_config(phy_name, config_list)
|
||||
wpas.data.config[phy_name] = phy;
|
||||
}
|
||||
|
||||
phy.num_global_macaddr = num_global_macaddr;
|
||||
|
||||
let values = [];
|
||||
for (let config in config_list)
|
||||
push(values, [ config.iface, prepare_config(config) ]);
|
||||
@ -99,7 +101,7 @@ function start_pending(phy_name)
|
||||
}
|
||||
|
||||
let macaddr_list = wpas.data.macaddr_list[phy_name];
|
||||
phydev.macaddr_init(macaddr_list);
|
||||
phydev.macaddr_init(macaddr_list, { num_global: phy.num_global_macaddr });
|
||||
|
||||
for (let ifname in phy.data)
|
||||
iface_start(phydev, phy.data[ifname]);
|
||||
@ -185,6 +187,7 @@ let main_obj = {
|
||||
config_set: {
|
||||
args: {
|
||||
phy: "",
|
||||
num_global_macaddr: 0,
|
||||
config: [],
|
||||
defer: true,
|
||||
},
|
||||
@ -195,7 +198,7 @@ let main_obj = {
|
||||
wpas.printf(`Set new config for phy ${req.args.phy}`);
|
||||
try {
|
||||
if (req.args.config)
|
||||
set_config(req.args.phy, req.args.config);
|
||||
set_config(req.args.phy, req.args.num_global_macaddr, req.args.config);
|
||||
|
||||
if (!req.args.defer)
|
||||
start_pending(req.args.phy);
|
||||
|
||||
@ -0,0 +1,26 @@
|
||||
--- a/src/ap/hostapd.c
|
||||
+++ b/src/ap/hostapd.c
|
||||
@@ -2420,7 +2420,11 @@ static int hostapd_owe_iface_iter(struct
|
||||
if (!bss->conf->ssid.ssid_set || !bss->conf->ssid.ssid_len ||
|
||||
is_zero_ether_addr(bss->own_addr))
|
||||
continue;
|
||||
-
|
||||
+ if (!os_memcmp(hapd->conf->owe_transition_bssid, bss->own_addr, ETH_ALEN) &&
|
||||
+ hapd->conf->owe_transition_ssid_len == bss->conf->ssid.ssid_len &&
|
||||
+ !os_memcmp(hapd->conf->owe_transition_ssid, bss->conf->ssid.ssid,
|
||||
+ bss->conf->ssid.ssid_len))
|
||||
+ return 0;
|
||||
os_memcpy(hapd->conf->owe_transition_bssid, bss->own_addr,
|
||||
ETH_ALEN);
|
||||
os_memcpy(hapd->conf->owe_transition_ssid,
|
||||
@@ -2437,10 +2441,6 @@ static int hostapd_owe_iface_iter(struct
|
||||
|
||||
int hostapd_owe_trans_get_info(struct hostapd_data *hapd)
|
||||
{
|
||||
- if (hapd->conf->owe_transition_ssid_len > 0 &&
|
||||
- !is_zero_ether_addr(hapd->conf->owe_transition_bssid))
|
||||
- return 0;
|
||||
-
|
||||
/* Find transition mode SSID/BSSID information from a BSS operated by
|
||||
* this hostapd instance. */
|
||||
if (!hapd->iface->interfaces ||
|
||||
@ -139,7 +139,25 @@ as adding/removing interfaces.
|
||||
{
|
||||
struct hostapd_bss_config *conf = hapd->conf;
|
||||
u8 ssid[SSID_MAX_LEN + 1];
|
||||
@@ -2954,7 +2958,7 @@ hostapd_alloc_bss_data(struct hostapd_if
|
||||
@@ -1510,6 +1514,8 @@ setup_mld:
|
||||
}
|
||||
#endif /* CONFIG_IEEE80211BE */
|
||||
|
||||
+ hostapd_ucode_create_bss(hapd);
|
||||
+
|
||||
if (conf->wmm_enabled < 0)
|
||||
conf->wmm_enabled = hapd->iconf->ieee80211n |
|
||||
hapd->iconf->ieee80211ax;
|
||||
@@ -2487,7 +2493,7 @@ static int hostapd_owe_iface_iter2(struc
|
||||
#endif /* CONFIG_OWE */
|
||||
|
||||
|
||||
-static void hostapd_owe_update_trans(struct hostapd_iface *iface)
|
||||
+void hostapd_owe_update_trans(struct hostapd_iface *iface)
|
||||
{
|
||||
#ifdef CONFIG_OWE
|
||||
/* Check whether the enabled BSS can complete OWE transition mode
|
||||
@@ -2954,7 +2960,7 @@ hostapd_alloc_bss_data(struct hostapd_if
|
||||
}
|
||||
|
||||
|
||||
@ -148,7 +166,7 @@ as adding/removing interfaces.
|
||||
{
|
||||
if (!hapd)
|
||||
return;
|
||||
@@ -4015,7 +4019,8 @@ int hostapd_remove_iface(struct hapd_int
|
||||
@@ -4015,7 +4021,8 @@ int hostapd_remove_iface(struct hapd_int
|
||||
hapd_iface = interfaces->iface[i];
|
||||
if (hapd_iface == NULL)
|
||||
return -1;
|
||||
@ -204,6 +222,14 @@ as adding/removing interfaces.
|
||||
void hostapd_new_assoc_sta(struct hostapd_data *hapd, struct sta_info *sta,
|
||||
int reassoc);
|
||||
void hostapd_interface_deinit_free(struct hostapd_iface *iface);
|
||||
@@ -815,6 +824,7 @@ hostapd_switch_channel_fallback(struct h
|
||||
void hostapd_cleanup_cs_params(struct hostapd_data *hapd);
|
||||
void hostapd_periodic_iface(struct hostapd_iface *iface);
|
||||
int hostapd_owe_trans_get_info(struct hostapd_data *hapd);
|
||||
+void hostapd_owe_update_trans(struct hostapd_iface *iface);;
|
||||
void hostapd_ocv_check_csa_sa_query(void *eloop_ctx, void *timeout_ctx);
|
||||
|
||||
void hostapd_switch_color(struct hostapd_data *hapd, u64 bitmap);
|
||||
--- a/src/drivers/driver.h
|
||||
+++ b/src/drivers/driver.h
|
||||
@@ -3928,6 +3928,25 @@ struct wpa_driver_ops {
|
||||
|
||||
@ -79,9 +79,9 @@ full device, e.g. in order to deal with hardware/driver limitations
|
||||
{
|
||||
--- a/src/ap/hostapd.h
|
||||
+++ b/src/ap/hostapd.h
|
||||
@@ -825,6 +825,7 @@ void hostapd_cleanup_cs_params(struct ho
|
||||
void hostapd_periodic_iface(struct hostapd_iface *iface);
|
||||
@@ -826,6 +826,7 @@ void hostapd_periodic_iface(struct hosta
|
||||
int hostapd_owe_trans_get_info(struct hostapd_data *hapd);
|
||||
void hostapd_owe_update_trans(struct hostapd_iface *iface);;
|
||||
void hostapd_ocv_check_csa_sa_query(void *eloop_ctx, void *timeout_ctx);
|
||||
+int hostapd_check_max_sta(struct hostapd_data *hapd);
|
||||
|
||||
|
||||
@ -29,7 +29,7 @@ a VLAN interface on top of the bridge, instead of using the bridge directly
|
||||
int bridge_hairpin; /* hairpin_mode on bridge members */
|
||||
--- a/src/ap/wpa_auth_glue.c
|
||||
+++ b/src/ap/wpa_auth_glue.c
|
||||
@@ -1815,8 +1815,12 @@ int hostapd_setup_wpa(struct hostapd_dat
|
||||
@@ -1821,8 +1821,12 @@ int hostapd_setup_wpa(struct hostapd_dat
|
||||
wpa_key_mgmt_ft(hapd->conf->wpa_key_mgmt)) {
|
||||
const char *ft_iface;
|
||||
|
||||
|
||||
@ -164,7 +164,7 @@ Hotfix-by: Sebastian Gottschall https://github.com/mirror/dd-wrt/commit/0c3001a6
|
||||
int hostapd_sta_add(struct hostapd_data *hapd,
|
||||
--- /dev/null
|
||||
+++ b/src/ap/apup.c
|
||||
@@ -0,0 +1,152 @@
|
||||
@@ -0,0 +1,168 @@
|
||||
+/*
|
||||
+ * hostapd / APuP Access Point Micro Peering
|
||||
+ *
|
||||
@ -190,6 +190,14 @@ Hotfix-by: Sebastian Gottschall https://github.com/mirror/dd-wrt/commit/0c3001a6
|
||||
+#include "ap_drv_ops.h"
|
||||
+#include "sta_info.h"
|
||||
+
|
||||
+#ifdef UBUS_SUPPORT
|
||||
+# include "ubus.h"
|
||||
+#endif
|
||||
+
|
||||
+#ifdef UCODE_SUPPORT
|
||||
+# include "ucode.h"
|
||||
+#endif
|
||||
+
|
||||
+void apup_process_beacon(struct hostapd_data *hapd,
|
||||
+ const struct ieee80211_mgmt *mgmt, size_t len,
|
||||
+ const struct ieee802_11_elems *elems )
|
||||
@ -316,6 +324,14 @@ Hotfix-by: Sebastian Gottschall https://github.com/mirror/dd-wrt/commit/0c3001a6
|
||||
+ "apup_process_beacon(...) Added APuP peer at %s with flags: %d,"
|
||||
+ " capabilities %d",
|
||||
+ mIfname, sta_ret->flags, sta_ret->capability);
|
||||
+
|
||||
+#ifdef UBUS_SUPPORT
|
||||
+ hostapd_ubus_notify_apup_newpeer(hapd, mgmt->bssid, mIfname);
|
||||
+#endif
|
||||
+
|
||||
+#ifdef UCODE_SUPPORT
|
||||
+ hostapd_ucode_apup_newpeer(hapd, mIfname);
|
||||
+#endif
|
||||
+}
|
||||
--- /dev/null
|
||||
+++ b/src/ap/apup.h
|
||||
@ -356,7 +372,7 @@ Hotfix-by: Sebastian Gottschall https://github.com/mirror/dd-wrt/commit/0c3001a6
|
||||
|
||||
#ifdef CONFIG_FILS
|
||||
static struct wpabuf *
|
||||
@@ -3588,8 +3591,8 @@ static u16 check_multi_ap(struct hostapd
|
||||
@@ -3615,8 +3618,8 @@ static u16 check_multi_ap(struct hostapd
|
||||
}
|
||||
|
||||
|
||||
@ -367,7 +383,7 @@ Hotfix-by: Sebastian Gottschall https://github.com/mirror/dd-wrt/commit/0c3001a6
|
||||
{
|
||||
/* Supported rates not used in IEEE 802.11ad/DMG */
|
||||
if (hapd->iface->current_mode &&
|
||||
@@ -3976,7 +3979,7 @@ static int __check_assoc_ies(struct host
|
||||
@@ -4003,7 +4006,7 @@ static int __check_assoc_ies(struct host
|
||||
elems->ext_capab_len);
|
||||
if (resp != WLAN_STATUS_SUCCESS)
|
||||
return resp;
|
||||
@ -376,7 +392,7 @@ Hotfix-by: Sebastian Gottschall https://github.com/mirror/dd-wrt/commit/0c3001a6
|
||||
if (resp != WLAN_STATUS_SUCCESS)
|
||||
return resp;
|
||||
|
||||
@@ -6031,6 +6034,11 @@ static void handle_beacon(struct hostapd
|
||||
@@ -6058,6 +6061,11 @@ static void handle_beacon(struct hostapd
|
||||
0);
|
||||
|
||||
ap_list_process_beacon(hapd->iface, mgmt, &elems, fi);
|
||||
|
||||
@ -1,72 +0,0 @@
|
||||
From 9a265f70b5e4e048c568564aed5f9ac4a4fd76b0 Mon Sep 17 00:00:00 2001
|
||||
From: Gioacchino Mazzurco <gio@polymathes.cc>
|
||||
Date: Tue, 7 May 2024 10:37:54 +0200
|
||||
Subject: [PATCH 2/3] APuP add ubus notification when a peer comes up
|
||||
|
||||
The notification ones get looks like
|
||||
{ "apup-newpeer": {"address":"02:0a:ab:45:5a:ab","ifname":"wlan0.peer1"} }
|
||||
|
||||
Signed-off-by: Gioacchino Mazzurco <gio@polymathes.cc>
|
||||
---
|
||||
src/ap/apup.c | 8 ++++++++
|
||||
src/ap/ubus.c | 15 +++++++++++++++
|
||||
src/ap/ubus.h | 5 +++++
|
||||
3 files changed, 28 insertions(+)
|
||||
|
||||
--- a/src/ap/apup.c
|
||||
+++ b/src/ap/apup.c
|
||||
@@ -23,6 +23,10 @@
|
||||
#include "ap_drv_ops.h"
|
||||
#include "sta_info.h"
|
||||
|
||||
+#ifdef UBUS_SUPPORT
|
||||
+# include "ubus.h"
|
||||
+#endif
|
||||
+
|
||||
void apup_process_beacon(struct hostapd_data *hapd,
|
||||
const struct ieee80211_mgmt *mgmt, size_t len,
|
||||
const struct ieee802_11_elems *elems )
|
||||
@@ -149,4 +153,8 @@ void apup_process_beacon(struct hostapd_
|
||||
"apup_process_beacon(...) Added APuP peer at %s with flags: %d,"
|
||||
" capabilities %d",
|
||||
mIfname, sta_ret->flags, sta_ret->capability);
|
||||
+
|
||||
+#ifdef UBUS_SUPPORT
|
||||
+ hostapd_ubus_notify_apup_newpeer(hapd, mgmt->bssid, mIfname);
|
||||
+#endif
|
||||
}
|
||||
--- a/src/ap/ubus.c
|
||||
+++ b/src/ap/ubus.c
|
||||
@@ -2004,3 +2004,18 @@ int hostapd_ubus_notify_bss_transition_q
|
||||
return ureq.resp;
|
||||
#endif
|
||||
}
|
||||
+
|
||||
+#ifdef CONFIG_APUP
|
||||
+void hostapd_ubus_notify_apup_newpeer(
|
||||
+ struct hostapd_data *hapd, const u8 *addr, const char *ifname)
|
||||
+{
|
||||
+ if (!hapd->ubus.obj.has_subscribers)
|
||||
+ return;
|
||||
+
|
||||
+ blob_buf_init(&b, 0);
|
||||
+ blobmsg_add_macaddr(&b, "address", addr);
|
||||
+ blobmsg_add_string(&b, "ifname", ifname);
|
||||
+
|
||||
+ ubus_notify(ctx, &hapd->ubus.obj, "apup-newpeer", b.head, -1);
|
||||
+}
|
||||
+#endif // def CONFIG_APUP
|
||||
--- a/src/ap/ubus.h
|
||||
+++ b/src/ap/ubus.h
|
||||
@@ -71,6 +71,11 @@ int hostapd_ubus_notify_bss_transition_q
|
||||
void hostapd_ubus_notify_authorized(struct hostapd_data *hapd, struct sta_info *sta,
|
||||
const char *auth_alg);
|
||||
|
||||
+#ifdef CONFIG_APUP
|
||||
+void hostapd_ubus_notify_apup_newpeer(
|
||||
+ struct hostapd_data *hapd, const u8 *addr, const char *ifname);
|
||||
+#endif // def CONFIG_APUP
|
||||
+
|
||||
#else
|
||||
|
||||
struct hostapd_ubus_bss {};
|
||||
@ -1,70 +0,0 @@
|
||||
From aaeb60b39a72774c651187208ec47efd0daeb75b Mon Sep 17 00:00:00 2001
|
||||
From: Gioacchino Mazzurco <gio@polymathes.cc>
|
||||
Date: Tue, 7 May 2024 11:54:23 +0200
|
||||
Subject: [PATCH 3/3] APuP add ucode hook for when a peer comes up
|
||||
|
||||
Signed-off-by: Gioacchino Mazzurco <gio@polymathes.cc>
|
||||
---
|
||||
src/ap/apup.c | 8 ++++++++
|
||||
src/ap/ucode.c | 17 +++++++++++++++++
|
||||
src/ap/ucode.h | 4 ++++
|
||||
3 files changed, 29 insertions(+)
|
||||
|
||||
--- a/src/ap/apup.c
|
||||
+++ b/src/ap/apup.c
|
||||
@@ -27,6 +27,10 @@
|
||||
# include "ubus.h"
|
||||
#endif
|
||||
|
||||
+#ifdef UCODE_SUPPORT
|
||||
+# include "ucode.h"
|
||||
+#endif
|
||||
+
|
||||
void apup_process_beacon(struct hostapd_data *hapd,
|
||||
const struct ieee80211_mgmt *mgmt, size_t len,
|
||||
const struct ieee802_11_elems *elems )
|
||||
@@ -157,4 +161,8 @@ void apup_process_beacon(struct hostapd_
|
||||
#ifdef UBUS_SUPPORT
|
||||
hostapd_ubus_notify_apup_newpeer(hapd, mgmt->bssid, mIfname);
|
||||
#endif
|
||||
+
|
||||
+#ifdef UCODE_SUPPORT
|
||||
+ hostapd_ucode_apup_newpeer(hapd, mIfname);
|
||||
+#endif
|
||||
}
|
||||
--- a/src/ap/ucode.c
|
||||
+++ b/src/ap/ucode.c
|
||||
@@ -815,3 +815,20 @@ void hostapd_ucode_free_bss(struct hosta
|
||||
ucv_put(wpa_ucode_call(2));
|
||||
ucv_gc(vm);
|
||||
}
|
||||
+
|
||||
+#ifdef CONFIG_APUP
|
||||
+void hostapd_ucode_apup_newpeer(struct hostapd_data *hapd, const char *ifname)
|
||||
+{
|
||||
+ uc_value_t *val;
|
||||
+
|
||||
+ if (wpa_ucode_call_prepare("apup_newpeer"))
|
||||
+ return;
|
||||
+
|
||||
+ val = hostapd_ucode_bss_get_uval(hapd);
|
||||
+ uc_value_push(ucv_get(ucv_string_new(hapd->conf->iface))); // BSS ifname
|
||||
+ uc_value_push(ucv_get(val));
|
||||
+ uc_value_push(ucv_get(ucv_string_new(ifname))); // APuP peer ifname
|
||||
+ ucv_put(wpa_ucode_call(2));
|
||||
+ ucv_gc(vm);
|
||||
+}
|
||||
+#endif // def CONFIG_APUP
|
||||
--- a/src/ap/ucode.h
|
||||
+++ b/src/ap/ucode.h
|
||||
@@ -27,6 +27,10 @@ void hostapd_ucode_add_bss(struct hostap
|
||||
void hostapd_ucode_free_bss(struct hostapd_data *hapd);
|
||||
void hostapd_ucode_reload_bss(struct hostapd_data *hapd);
|
||||
|
||||
+#ifdef CONFIG_APUP
|
||||
+void hostapd_ucode_apup_newpeer(struct hostapd_data *hapd, const char *ifname);
|
||||
+#endif // def CONFIG_APUP
|
||||
+
|
||||
#else
|
||||
|
||||
static inline int hostapd_ucode_init(struct hapd_interfaces *ifaces)
|
||||
@ -2004,3 +2004,18 @@ int hostapd_ubus_notify_bss_transition_query(
|
||||
return ureq.resp;
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef CONFIG_APUP
|
||||
void hostapd_ubus_notify_apup_newpeer(
|
||||
struct hostapd_data *hapd, const u8 *addr, const char *ifname)
|
||||
{
|
||||
if (!hapd->ubus.obj.has_subscribers)
|
||||
return;
|
||||
|
||||
blob_buf_init(&b, 0);
|
||||
blobmsg_add_macaddr(&b, "address", addr);
|
||||
blobmsg_add_string(&b, "ifname", ifname);
|
||||
|
||||
ubus_notify(ctx, &hapd->ubus.obj, "apup-newpeer", b.head, -1);
|
||||
}
|
||||
#endif // def CONFIG_APUP
|
||||
|
||||
@ -69,6 +69,11 @@ int hostapd_ubus_notify_bss_transition_query(
|
||||
void hostapd_ubus_notify_authorized(struct hostapd_data *hapd, struct sta_info *sta,
|
||||
const char *auth_alg);
|
||||
|
||||
#ifdef CONFIG_APUP
|
||||
void hostapd_ubus_notify_apup_newpeer(
|
||||
struct hostapd_data *hapd, const u8 *addr, const char *ifname);
|
||||
#endif // def CONFIG_APUP
|
||||
|
||||
#else
|
||||
|
||||
struct hostapd_ubus_bss {};
|
||||
|
||||
@ -259,6 +259,7 @@ uc_hostapd_bss_set_config(uc_vm_t *vm, size_t nargs)
|
||||
|
||||
hostapd_setup_bss(hapd, hapd == iface->bss[0], true);
|
||||
hostapd_ucode_update_interfaces();
|
||||
hostapd_owe_update_trans(iface);
|
||||
|
||||
done:
|
||||
ret = 0;
|
||||
@ -379,6 +380,7 @@ uc_hostapd_iface_add_bss(uc_vm_t *vm, size_t nargs)
|
||||
conf->bss[idx] = NULL;
|
||||
ret = hostapd_ucode_bss_get_uval(hapd);
|
||||
hostapd_ucode_update_interfaces();
|
||||
hostapd_owe_update_trans(iface);
|
||||
goto out;
|
||||
|
||||
deinit_ctrl:
|
||||
@ -531,10 +533,12 @@ uc_hostapd_iface_start(uc_vm_t *vm, size_t nargs)
|
||||
return NULL;
|
||||
|
||||
#define UPDATE_VAL(field, name) \
|
||||
if ((intval = ucv_int64_get(ucv_object_get(info, name, NULL))) && \
|
||||
!errno && intval != conf->field) do { \
|
||||
do { \
|
||||
intval = ucv_int64_get(ucv_object_get(info, name, NULL)); \
|
||||
if (!errno && intval != conf->field) { \
|
||||
conf->field = intval; \
|
||||
changed = true; \
|
||||
} \
|
||||
} while(0)
|
||||
|
||||
conf = iface->conf;
|
||||
@ -607,6 +611,7 @@ out:
|
||||
|
||||
ieee802_11_set_beacon(hapd);
|
||||
}
|
||||
hostapd_owe_update_trans(iface);
|
||||
|
||||
return ucv_boolean_new(true);
|
||||
}
|
||||
@ -698,6 +703,7 @@ uc_hostapd_bss_rename(uc_vm_t *vm, size_t nargs)
|
||||
hostapd_ubus_add_bss(hapd);
|
||||
|
||||
hostapd_ucode_update_interfaces();
|
||||
hostapd_owe_update_trans(hapd->iface);
|
||||
out:
|
||||
if (interfaces->ctrl_iface_init)
|
||||
interfaces->ctrl_iface_init(hapd);
|
||||
@ -770,31 +776,18 @@ void hostapd_ucode_free_iface(struct hostapd_iface *iface)
|
||||
wpa_ucode_registry_remove(iface_registry, iface->ucode.idx);
|
||||
}
|
||||
|
||||
void hostapd_ucode_add_bss(struct hostapd_data *hapd)
|
||||
void hostapd_ucode_bss_cb(struct hostapd_data *hapd, const char *type)
|
||||
{
|
||||
uc_value_t *val;
|
||||
|
||||
if (wpa_ucode_call_prepare("bss_add"))
|
||||
if (wpa_ucode_call_prepare(type))
|
||||
return;
|
||||
|
||||
val = hostapd_ucode_bss_get_uval(hapd);
|
||||
uc_value_push(ucv_get(ucv_string_new(hapd->iface->phy)));
|
||||
uc_value_push(ucv_get(ucv_string_new(hapd->conf->iface)));
|
||||
uc_value_push(ucv_get(val));
|
||||
ucv_put(wpa_ucode_call(2));
|
||||
ucv_gc(vm);
|
||||
}
|
||||
|
||||
void hostapd_ucode_reload_bss(struct hostapd_data *hapd)
|
||||
{
|
||||
uc_value_t *val;
|
||||
|
||||
if (wpa_ucode_call_prepare("bss_reload"))
|
||||
return;
|
||||
|
||||
val = hostapd_ucode_bss_get_uval(hapd);
|
||||
uc_value_push(ucv_get(ucv_string_new(hapd->conf->iface)));
|
||||
uc_value_push(ucv_get(val));
|
||||
ucv_put(wpa_ucode_call(2));
|
||||
ucv_put(wpa_ucode_call(3));
|
||||
ucv_gc(vm);
|
||||
}
|
||||
|
||||
@ -815,3 +808,20 @@ void hostapd_ucode_free_bss(struct hostapd_data *hapd)
|
||||
ucv_put(wpa_ucode_call(2));
|
||||
ucv_gc(vm);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_APUP
|
||||
void hostapd_ucode_apup_newpeer(struct hostapd_data *hapd, const char *ifname)
|
||||
{
|
||||
uc_value_t *val;
|
||||
|
||||
if (wpa_ucode_call_prepare("apup_newpeer"))
|
||||
return;
|
||||
|
||||
val = hostapd_ucode_bss_get_uval(hapd);
|
||||
uc_value_push(ucv_get(ucv_string_new(hapd->conf->iface))); // BSS ifname
|
||||
uc_value_push(ucv_get(val));
|
||||
uc_value_push(ucv_get(ucv_string_new(ifname))); // APuP peer ifname
|
||||
ucv_put(wpa_ucode_call(2));
|
||||
ucv_gc(vm);
|
||||
}
|
||||
#endif // def CONFIG_APUP
|
||||
|
||||
@ -23,9 +23,12 @@ int hostapd_ucode_init(struct hapd_interfaces *ifaces);
|
||||
|
||||
void hostapd_ucode_free(void);
|
||||
void hostapd_ucode_free_iface(struct hostapd_iface *iface);
|
||||
void hostapd_ucode_add_bss(struct hostapd_data *hapd);
|
||||
void hostapd_ucode_free_bss(struct hostapd_data *hapd);
|
||||
void hostapd_ucode_reload_bss(struct hostapd_data *hapd);
|
||||
void hostapd_ucode_bss_cb(struct hostapd_data *hapd, const char *type);
|
||||
|
||||
#ifdef CONFIG_APUP
|
||||
void hostapd_ucode_apup_newpeer(struct hostapd_data *hapd, const char *ifname);
|
||||
#endif // def CONFIG_APUP
|
||||
|
||||
#else
|
||||
|
||||
@ -39,10 +42,7 @@ static inline void hostapd_ucode_free(void)
|
||||
static inline void hostapd_ucode_free_iface(struct hostapd_iface *iface)
|
||||
{
|
||||
}
|
||||
static inline void hostapd_ucode_reload_bss(struct hostapd_data *hapd)
|
||||
{
|
||||
}
|
||||
static inline void hostapd_ucode_add_bss(struct hostapd_data *hapd)
|
||||
static inline void hostapd_ucode_bss_cb(struct hostapd_data *hapd, const char *type)
|
||||
{
|
||||
}
|
||||
static inline void hostapd_ucode_free_bss(struct hostapd_data *hapd)
|
||||
@ -51,4 +51,19 @@ static inline void hostapd_ucode_free_bss(struct hostapd_data *hapd)
|
||||
|
||||
#endif
|
||||
|
||||
static inline void hostapd_ucode_create_bss(struct hostapd_data *hapd)
|
||||
{
|
||||
hostapd_ucode_bss_cb(hapd, "bss_create");
|
||||
}
|
||||
|
||||
static inline void hostapd_ucode_add_bss(struct hostapd_data *hapd)
|
||||
{
|
||||
hostapd_ucode_bss_cb(hapd, "bss_add");
|
||||
}
|
||||
|
||||
static inline void hostapd_ucode_reload_bss(struct hostapd_data *hapd)
|
||||
{
|
||||
hostapd_ucode_bss_cb(hapd, "bss_reload");
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=ppp
|
||||
PKG_RELEASE:=8
|
||||
PKG_RELEASE:=9
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/paulusmack/ppp
|
||||
|
||||
@ -28,6 +28,7 @@ if [ -n "$AUTOIPV6" ]; then
|
||||
[ -n "$IP6TABLE" ] && json_add_string ip6table $IP6TABLE
|
||||
[ -n "$PEERDNS" ] && json_add_boolean peerdns $PEERDNS
|
||||
[ "$NOSOURCEFILTER" = "1" ] && json_add_boolean sourcefilter "0"
|
||||
[ "$DELEGATE" = "0" ] && json_add_boolean delegate "0"
|
||||
json_close_object
|
||||
ubus call network add_dynamic "$(json_dump)"
|
||||
fi
|
||||
|
||||
@ -83,13 +83,14 @@ ppp_generic_init_config() {
|
||||
proto_config_add_int maxfail
|
||||
proto_config_add_int holdoff
|
||||
proto_config_add_boolean sourcefilter
|
||||
proto_config_add_boolean delegate
|
||||
}
|
||||
|
||||
ppp_generic_setup() {
|
||||
local config="$1"; shift
|
||||
local localip
|
||||
|
||||
json_get_vars ipv6 ip6table demand keepalive keepalive_adaptive username password pppd_options pppname unnumbered persist maxfail holdoff peerdns sourcefilter
|
||||
json_get_vars ipv6 ip6table demand keepalive keepalive_adaptive username password pppd_options pppname unnumbered persist maxfail holdoff peerdns sourcefilter delegate
|
||||
|
||||
if [ "$ipv6" = 0 ]; then
|
||||
ipv6=""
|
||||
@ -133,6 +134,7 @@ ppp_generic_setup() {
|
||||
[ -n "$connect" ] || json_get_var connect connect
|
||||
[ -n "$disconnect" ] || json_get_var disconnect disconnect
|
||||
[ "$sourcefilter" = "0" ] || sourcefilter=""
|
||||
[ "$delegate" != "0" ] && delegate=""
|
||||
|
||||
proto_run_command "$config" /usr/sbin/pppd \
|
||||
nodetach ipparam "$config" \
|
||||
@ -144,6 +146,7 @@ ppp_generic_setup() {
|
||||
${ip6table:+set IP6TABLE=$ip6table} \
|
||||
${peerdns:+set PEERDNS=$peerdns} \
|
||||
${sourcefilter:+set NOSOURCEFILTER=1} \
|
||||
${delegate:+set DELEGATE=0} \
|
||||
nodefaultroute \
|
||||
usepeerdns \
|
||||
$demand $persist maxfail $maxfail \
|
||||
|
||||
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=comgt
|
||||
PKG_VERSION:=0.32
|
||||
PKG_RELEASE:=35
|
||||
PKG_RELEASE:=36
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME).$(PKG_VERSION).tgz
|
||||
PKG_SOURCE_URL:=@SF/comgt
|
||||
|
||||
@ -15,6 +15,8 @@ proto_directip_init_config() {
|
||||
proto_config_add_string "auth"
|
||||
proto_config_add_string "username"
|
||||
proto_config_add_string "password"
|
||||
proto_config_add_boolean sourcefilter
|
||||
proto_config_add_boolean delegate
|
||||
proto_config_add_defaults
|
||||
}
|
||||
|
||||
@ -22,8 +24,8 @@ proto_directip_setup() {
|
||||
local interface="$1"
|
||||
local chat devpath devname
|
||||
|
||||
local device apn pincode ifname auth username password $PROTO_DEFAULT_OPTIONS
|
||||
json_get_vars device apn pincode auth username password $PROTO_DEFAULT_OPTIONS
|
||||
local device apn pincode ifname auth username password sourcefilter delegate $PROTO_DEFAULT_OPTIONS
|
||||
json_get_vars device apn pincode auth username password sourcefilter delegate $PROTO_DEFAULT_OPTIONS
|
||||
|
||||
[ -n "$ctl_device" ] && device=$ctl_device
|
||||
|
||||
@ -89,6 +91,8 @@ proto_directip_setup() {
|
||||
json_add_string ifname "@$interface"
|
||||
json_add_string proto "dhcpv6"
|
||||
json_add_string extendprefix 1
|
||||
[ "$delegate" = "0" ] && json_add_boolean delegate "0"
|
||||
[ "$sourcefilter" = "0" ] && json_add_boolean sourcefilter "0"
|
||||
proto_add_dynamic_defaults
|
||||
ubus call network add_dynamic "$(json_dump)"
|
||||
|
||||
|
||||
@ -20,6 +20,7 @@ proto_ncm_init_config() {
|
||||
proto_config_add_string mode
|
||||
proto_config_add_string pdptype
|
||||
proto_config_add_boolean sourcefilter
|
||||
proto_config_add_boolean delegate
|
||||
proto_config_add_int profile
|
||||
proto_config_add_defaults
|
||||
}
|
||||
@ -30,7 +31,7 @@ proto_ncm_setup() {
|
||||
local manufacturer initialize setmode connect finalize devname devpath ifpath
|
||||
|
||||
local device ifname apn auth username password pincode delay mode pdptype profile $PROTO_DEFAULT_OPTIONS
|
||||
json_get_vars device ifname apn auth username password pincode delay mode pdptype sourcefilter profile $PROTO_DEFAULT_OPTIONS
|
||||
json_get_vars device ifname apn auth username password pincode delay mode pdptype sourcefilter delegate profile $PROTO_DEFAULT_OPTIONS
|
||||
|
||||
local context_type
|
||||
|
||||
@ -203,6 +204,7 @@ proto_ncm_setup() {
|
||||
json_add_string ifname "@$interface"
|
||||
json_add_string proto "dhcpv6"
|
||||
json_add_string extendprefix 1
|
||||
[ "$delegate" = "0" ] && json_add_boolean delegate "0"
|
||||
[ "$sourcefilter" = "0" ] && json_add_boolean sourcefilter "0"
|
||||
proto_add_dynamic_defaults
|
||||
[ -n "$zone" ] && {
|
||||
|
||||
@ -8,13 +8,13 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=restool
|
||||
PKG_VERSION:=21.08
|
||||
PKG_RELEASE:=4
|
||||
PKG_VERSION:=6.6.23.2.0.0
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/nxp-qoriq/restool
|
||||
PKG_SOURCE_VERSION:=LSDK-21.08
|
||||
PKG_MIRROR_HASH:=3c289e6c9adc2c61445473ecd8b1b1a7b6dfd19a66d3c65f3b83b669e4c3e25b
|
||||
PKG_SOURCE_VERSION:=lf-6.6.23-2.0.0
|
||||
PKG_MIRROR_HASH:=e669c9faf5a00e36d763dbbd6dd866d878b0101df086582c38908d281fa3b465
|
||||
|
||||
PKG_FLAGS:=nonshared
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -53,14 +53,13 @@ restool: $(OBJ)
|
||||
@@ -55,14 +55,13 @@ restool: $(OBJ)
|
||||
%.1: %.md
|
||||
pandoc --standalone --to man $^ -o $@
|
||||
|
||||
|
||||
@ -8,12 +8,12 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=tcpdump
|
||||
PKG_VERSION:=4.99.4
|
||||
PKG_VERSION:=4.99.5
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://www.tcpdump.org/release/
|
||||
PKG_HASH:=0232231bb2f29d6bf2426e70a08a7e0c63a0d59a9b44863b7f5e2357a6e49fea
|
||||
PKG_HASH:=8c75856e00addeeadf70dad67c9ff3dd368536b2b8563abf6854d7c764cd3adb
|
||||
|
||||
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
||||
PKG_LICENSE:=BSD-3-Clause
|
||||
|
||||
@ -1,35 +1,31 @@
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -6568,97 +6568,6 @@ fi
|
||||
|
||||
@@ -7346,97 +7346,6 @@ esac
|
||||
fi
|
||||
|
||||
|
||||
-#
|
||||
-# Check for special debugging functions
|
||||
-#
|
||||
-for ac_func in pcap_set_parser_debug
|
||||
-do :
|
||||
-ac_fn_c_check_func "$LINENO" "pcap_set_parser_debug" "ac_cv_func_pcap_set_parser_debug"
|
||||
-if test "x$ac_cv_func_pcap_set_parser_debug" = xyes; then :
|
||||
- cat >>confdefs.h <<_ACEOF
|
||||
-#define HAVE_PCAP_SET_PARSER_DEBUG 1
|
||||
-_ACEOF
|
||||
-if test "x$ac_cv_func_pcap_set_parser_debug" = xyes
|
||||
-then :
|
||||
- printf "%s\n" "#define HAVE_PCAP_SET_PARSER_DEBUG 1" >>confdefs.h
|
||||
-
|
||||
-fi
|
||||
-done
|
||||
-
|
||||
-if test "$ac_cv_func_pcap_set_parser_debug" = "no" ; then
|
||||
- #
|
||||
- # OK, we don't have pcap_set_parser_debug() to set the libpcap
|
||||
- # filter expression parser debug flag; can we directly set the
|
||||
- # flag?
|
||||
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pcap_debug is defined by libpcap" >&5
|
||||
-$as_echo_n "checking whether pcap_debug is defined by libpcap... " >&6; }
|
||||
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether pcap_debug is defined by libpcap" >&5
|
||||
-printf %s "checking whether pcap_debug is defined by libpcap... " >&6; }
|
||||
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
-/* end confdefs.h. */
|
||||
-
|
||||
-int
|
||||
-main ()
|
||||
-main (void)
|
||||
-{
|
||||
-
|
||||
- extern int pcap_debug;
|
||||
@ -39,33 +35,35 @@
|
||||
- ;
|
||||
- return 0;
|
||||
-}
|
||||
-
|
||||
-_ACEOF
|
||||
-if ac_fn_c_try_link "$LINENO"; then :
|
||||
-if ac_fn_c_try_link "$LINENO"
|
||||
-then :
|
||||
- ac_lbl_cv_pcap_debug_defined=yes
|
||||
-else
|
||||
-else $as_nop
|
||||
- ac_lbl_cv_pcap_debug_defined=no
|
||||
-fi
|
||||
-rm -f core conftest.err conftest.$ac_objext \
|
||||
-rm -f core conftest.err conftest.$ac_objext conftest.beam \
|
||||
- conftest$ac_exeext conftest.$ac_ext
|
||||
- if test "$ac_lbl_cv_pcap_debug_defined" = yes ; then
|
||||
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
-$as_echo "yes" >&6; }
|
||||
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
-printf "%s\n" "yes" >&6; }
|
||||
-
|
||||
-$as_echo "#define HAVE_PCAP_DEBUG 1" >>confdefs.h
|
||||
-printf "%s\n" "#define HAVE_PCAP_DEBUG 1" >>confdefs.h
|
||||
-
|
||||
- else
|
||||
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
-$as_echo "no" >&6; }
|
||||
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
-printf "%s\n" "no" >&6; }
|
||||
- #
|
||||
- # OK, what about "yydebug"?
|
||||
- #
|
||||
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether yydebug is defined by libpcap" >&5
|
||||
-$as_echo_n "checking whether yydebug is defined by libpcap... " >&6; }
|
||||
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether yydebug is defined by libpcap" >&5
|
||||
-printf %s "checking whether yydebug is defined by libpcap... " >&6; }
|
||||
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
-/* end confdefs.h. */
|
||||
-
|
||||
-int
|
||||
-main ()
|
||||
-main (void)
|
||||
-{
|
||||
-
|
||||
- extern int yydebug;
|
||||
@ -75,26 +73,28 @@
|
||||
- ;
|
||||
- return 0;
|
||||
-}
|
||||
-
|
||||
-_ACEOF
|
||||
-if ac_fn_c_try_link "$LINENO"; then :
|
||||
-if ac_fn_c_try_link "$LINENO"
|
||||
-then :
|
||||
- ac_lbl_cv_yydebug_defined=yes
|
||||
-else
|
||||
-else $as_nop
|
||||
- ac_lbl_cv_yydebug_defined=no
|
||||
-fi
|
||||
-rm -f core conftest.err conftest.$ac_objext \
|
||||
-rm -f core conftest.err conftest.$ac_objext conftest.beam \
|
||||
- conftest$ac_exeext conftest.$ac_ext
|
||||
- if test "$ac_lbl_cv_yydebug_defined" = yes ; then
|
||||
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
-$as_echo "yes" >&6; }
|
||||
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
-printf "%s\n" "yes" >&6; }
|
||||
-
|
||||
-$as_echo "#define HAVE_YYDEBUG 1" >>confdefs.h
|
||||
-printf "%s\n" "#define HAVE_YYDEBUG 1" >>confdefs.h
|
||||
-
|
||||
- else
|
||||
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
-$as_echo "no" >&6; }
|
||||
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
-printf "%s\n" "no" >&6; }
|
||||
- fi
|
||||
- fi
|
||||
-fi
|
||||
for ac_func in pcap_set_optimizer_debug
|
||||
do :
|
||||
ac_fn_c_check_func "$LINENO" "pcap_set_optimizer_debug" "ac_cv_func_pcap_set_optimizer_debug"
|
||||
if test "x$ac_cv_func_pcap_set_optimizer_debug" = xyes
|
||||
then :
|
||||
|
||||
@ -98,7 +98,7 @@
|
||||
|
||||
--- a/addrtoname.c
|
||||
+++ b/addrtoname.c
|
||||
@@ -680,8 +680,10 @@ linkaddr_string(netdissect_options *ndo,
|
||||
@@ -677,8 +677,10 @@ linkaddr_string(netdissect_options *ndo,
|
||||
if (type == LINKADDR_ETHER && len == MAC_ADDR_LEN)
|
||||
return (etheraddr_string(ndo, ep));
|
||||
|
||||
@ -109,7 +109,7 @@
|
||||
|
||||
tp = lookup_bytestring(ndo, ep, len);
|
||||
if (tp->bs_name)
|
||||
@@ -1260,6 +1262,7 @@ init_addrtoname(netdissect_options *ndo,
|
||||
@@ -1257,6 +1259,7 @@ init_addrtoname(netdissect_options *ndo,
|
||||
init_ipxsaparray(ndo);
|
||||
}
|
||||
|
||||
@ -117,7 +117,7 @@
|
||||
const char *
|
||||
dnaddr_string(netdissect_options *ndo, u_short dnaddr)
|
||||
{
|
||||
@@ -1276,6 +1279,7 @@ dnaddr_string(netdissect_options *ndo, u
|
||||
@@ -1273,6 +1276,7 @@ dnaddr_string(netdissect_options *ndo, u
|
||||
|
||||
return(tp->name);
|
||||
}
|
||||
@ -127,7 +127,7 @@
|
||||
struct hnamemem *
|
||||
--- a/print-ether.c
|
||||
+++ b/print-ether.c
|
||||
@@ -545,6 +545,7 @@ ethertype_print(netdissect_options *ndo,
|
||||
@@ -543,6 +543,7 @@ ethertype_print(netdissect_options *ndo,
|
||||
arp_print(ndo, p, length, caplen);
|
||||
return (1);
|
||||
|
||||
@ -135,7 +135,7 @@
|
||||
case ETHERTYPE_DN:
|
||||
decnet_print(ndo, p, length, caplen);
|
||||
return (1);
|
||||
@@ -575,6 +576,7 @@ ethertype_print(netdissect_options *ndo,
|
||||
@@ -573,6 +574,7 @@ ethertype_print(netdissect_options *ndo,
|
||||
ND_TCHECK_LEN(p, 1);
|
||||
isoclns_print(ndo, p + 1, length - 1);
|
||||
return(1);
|
||||
@ -143,7 +143,7 @@
|
||||
|
||||
case ETHERTYPE_PPPOED:
|
||||
case ETHERTYPE_PPPOES:
|
||||
@@ -587,9 +589,11 @@ ethertype_print(netdissect_options *ndo,
|
||||
@@ -585,9 +587,11 @@ ethertype_print(netdissect_options *ndo,
|
||||
eapol_print(ndo, p);
|
||||
return (1);
|
||||
|
||||
@ -155,7 +155,7 @@
|
||||
|
||||
case ETHERTYPE_PPP:
|
||||
if (length) {
|
||||
@@ -598,6 +602,7 @@ ethertype_print(netdissect_options *ndo,
|
||||
@@ -596,6 +600,7 @@ ethertype_print(netdissect_options *ndo,
|
||||
}
|
||||
return (1);
|
||||
|
||||
@ -163,7 +163,7 @@
|
||||
case ETHERTYPE_MPCP:
|
||||
mpcp_print(ndo, p, length);
|
||||
return (1);
|
||||
@@ -610,19 +615,23 @@ ethertype_print(netdissect_options *ndo,
|
||||
@@ -608,19 +613,23 @@ ethertype_print(netdissect_options *ndo,
|
||||
case ETHERTYPE_CFM_OLD:
|
||||
cfm_print(ndo, p, length);
|
||||
return (1);
|
||||
@ -187,7 +187,7 @@
|
||||
case ETHERTYPE_MPLS:
|
||||
case ETHERTYPE_MPLS_MULTI:
|
||||
mpls_print(ndo, p, length);
|
||||
@@ -652,6 +661,7 @@ ethertype_print(netdissect_options *ndo,
|
||||
@@ -650,6 +659,7 @@ ethertype_print(netdissect_options *ndo,
|
||||
case ETHERTYPE_PTP:
|
||||
ptp_print(ndo, p, length);
|
||||
return (1);
|
||||
@ -197,7 +197,7 @@
|
||||
case ETHERTYPE_SCA:
|
||||
--- a/print-gre.c
|
||||
+++ b/print-gre.c
|
||||
@@ -207,6 +207,7 @@ gre_print_0(netdissect_options *ndo, con
|
||||
@@ -205,6 +205,7 @@ gre_print_0(netdissect_options *ndo, con
|
||||
case ETHERTYPE_IPV6:
|
||||
ip6_print(ndo, bp, len);
|
||||
break;
|
||||
@ -205,7 +205,7 @@
|
||||
case ETHERTYPE_MPLS:
|
||||
mpls_print(ndo, bp, len);
|
||||
break;
|
||||
@@ -219,6 +220,7 @@ gre_print_0(netdissect_options *ndo, con
|
||||
@@ -217,6 +218,7 @@ gre_print_0(netdissect_options *ndo, con
|
||||
case ETHERTYPE_GRE_ISO:
|
||||
isoclns_print(ndo, bp, len);
|
||||
break;
|
||||
@ -215,7 +215,7 @@
|
||||
break;
|
||||
--- a/print-icmp6.c
|
||||
+++ b/print-icmp6.c
|
||||
@@ -1371,7 +1371,7 @@ get_upperlayer(netdissect_options *ndo,
|
||||
@@ -1369,7 +1369,7 @@ get_upperlayer(netdissect_options *ndo,
|
||||
nh = GET_U_1(fragh->ip6f_nxt);
|
||||
hlen = sizeof(struct ip6_frag);
|
||||
break;
|
||||
@ -224,7 +224,7 @@
|
||||
case IPPROTO_AH:
|
||||
ah = (const struct ah *)bp;
|
||||
if (!ND_TTEST_1(ah->ah_len))
|
||||
@@ -1379,7 +1379,7 @@ get_upperlayer(netdissect_options *ndo,
|
||||
@@ -1377,7 +1377,7 @@ get_upperlayer(netdissect_options *ndo,
|
||||
nh = GET_U_1(ah->ah_nxt);
|
||||
hlen = (GET_U_1(ah->ah_len) + 2) << 2;
|
||||
break;
|
||||
@ -235,7 +235,7 @@
|
||||
return(NULL);
|
||||
--- a/print-igmp.c
|
||||
+++ b/print-igmp.c
|
||||
@@ -269,6 +269,7 @@ igmp_print(netdissect_options *ndo,
|
||||
@@ -267,6 +267,7 @@ igmp_print(netdissect_options *ndo,
|
||||
case 0x17:
|
||||
ND_PRINT("igmp leave %s", GET_IPADDR_STRING(bp + 4));
|
||||
break;
|
||||
@ -243,7 +243,7 @@
|
||||
case 0x13:
|
||||
ND_PRINT("igmp dvmrp");
|
||||
if (len < 8)
|
||||
@@ -280,6 +281,7 @@ igmp_print(netdissect_options *ndo,
|
||||
@@ -278,6 +279,7 @@ igmp_print(netdissect_options *ndo,
|
||||
ND_PRINT("igmp pimv1");
|
||||
pimv1_print(ndo, bp, len);
|
||||
break;
|
||||
@ -253,7 +253,7 @@
|
||||
break;
|
||||
--- a/print-ip-demux.c
|
||||
+++ b/print-ip-demux.c
|
||||
@@ -48,6 +48,7 @@ ip_demux_print(netdissect_options *ndo,
|
||||
@@ -46,6 +46,7 @@ ip_demux_print(netdissect_options *ndo,
|
||||
again:
|
||||
switch (nh) {
|
||||
|
||||
@ -261,7 +261,7 @@
|
||||
case IPPROTO_AH:
|
||||
if (!ND_TTEST_1(bp)) {
|
||||
ndo->ndo_protocol = "ah";
|
||||
@@ -85,7 +86,9 @@ again:
|
||||
@@ -83,7 +84,9 @@ again:
|
||||
*/
|
||||
break;
|
||||
}
|
||||
@ -271,7 +271,7 @@
|
||||
case IPPROTO_SCTP:
|
||||
sctp_print(ndo, bp, iph, length);
|
||||
break;
|
||||
@@ -93,7 +96,7 @@ again:
|
||||
@@ -91,7 +94,7 @@ again:
|
||||
case IPPROTO_DCCP:
|
||||
dccp_print(ndo, bp, iph, length);
|
||||
break;
|
||||
@ -280,7 +280,7 @@
|
||||
case IPPROTO_TCP:
|
||||
tcp_print(ndo, bp, length, iph, fragmented);
|
||||
break;
|
||||
@@ -122,6 +125,7 @@ again:
|
||||
@@ -120,6 +123,7 @@ again:
|
||||
}
|
||||
break;
|
||||
|
||||
@ -288,7 +288,7 @@
|
||||
case IPPROTO_PIGP:
|
||||
/*
|
||||
* XXX - the current IANA protocol number assignments
|
||||
@@ -142,14 +146,17 @@ again:
|
||||
@@ -140,14 +144,17 @@ again:
|
||||
case IPPROTO_EIGRP:
|
||||
eigrp_print(ndo, bp, length);
|
||||
break;
|
||||
@ -306,7 +306,7 @@
|
||||
|
||||
case IPPROTO_OSPF:
|
||||
if (ver == 6)
|
||||
@@ -186,6 +193,7 @@ again:
|
||||
@@ -184,6 +191,7 @@ again:
|
||||
gre_print(ndo, bp, length);
|
||||
break;
|
||||
|
||||
@ -314,7 +314,7 @@
|
||||
case IPPROTO_MOBILE:
|
||||
mobile_print(ndo, bp, length);
|
||||
break;
|
||||
@@ -205,6 +213,7 @@ again:
|
||||
@@ -203,6 +211,7 @@ again:
|
||||
case IPPROTO_PGM:
|
||||
pgm_print(ndo, bp, length, iph);
|
||||
break;
|
||||
@ -324,7 +324,7 @@
|
||||
if (ver == 6)
|
||||
--- a/print-ip6.c
|
||||
+++ b/print-ip6.c
|
||||
@@ -135,10 +135,11 @@ ip6_finddst(netdissect_options *ndo, nd_
|
||||
@@ -133,10 +133,11 @@ ip6_finddst(netdissect_options *ndo, nd_
|
||||
* Only one routing header to a customer.
|
||||
*/
|
||||
goto done;
|
||||
@ -337,7 +337,7 @@
|
||||
default:
|
||||
/*
|
||||
* AH and ESP are, in the RFCs that describe them,
|
||||
@@ -375,6 +376,7 @@ ip6_print(netdissect_options *ndo, const
|
||||
@@ -371,6 +372,7 @@ ip6_print(netdissect_options *ndo, const
|
||||
nh = GET_U_1(cp);
|
||||
break;
|
||||
|
||||
@ -345,7 +345,7 @@
|
||||
case IPPROTO_FRAGMENT:
|
||||
advance = frag6_print(ndo, cp, (const u_char *)ip6);
|
||||
if (advance < 0 || ndo->ndo_snapend <= cp + advance) {
|
||||
@@ -405,7 +407,7 @@ ip6_print(netdissect_options *ndo, const
|
||||
@@ -401,7 +403,7 @@ ip6_print(netdissect_options *ndo, const
|
||||
nh = GET_U_1(cp);
|
||||
nd_pop_packet_info(ndo);
|
||||
return;
|
||||
@ -356,7 +356,7 @@
|
||||
advance = rt6_print(ndo, cp, (const u_char *)ip6);
|
||||
--- a/print-llc.c
|
||||
+++ b/print-llc.c
|
||||
@@ -207,6 +207,7 @@ llc_print(netdissect_options *ndo, const
|
||||
@@ -205,6 +205,7 @@ llc_print(netdissect_options *ndo, const
|
||||
hdrlen = 4; /* DSAP, SSAP, 2-byte control field */
|
||||
}
|
||||
|
||||
@ -364,7 +364,7 @@
|
||||
if (ssap_field == LLCSAP_GLOBAL && dsap_field == LLCSAP_GLOBAL) {
|
||||
/*
|
||||
* This is an Ethernet_802.3 IPX frame; it has an
|
||||
@@ -229,6 +230,7 @@ llc_print(netdissect_options *ndo, const
|
||||
@@ -227,6 +228,7 @@ llc_print(netdissect_options *ndo, const
|
||||
ipx_print(ndo, p, length);
|
||||
return (0); /* no LLC header */
|
||||
}
|
||||
@ -372,7 +372,7 @@
|
||||
|
||||
dsap = dsap_field & ~LLC_IG;
|
||||
ssap = ssap_field & ~LLC_GSAP;
|
||||
@@ -292,6 +294,7 @@ llc_print(netdissect_options *ndo, const
|
||||
@@ -290,6 +292,7 @@ llc_print(netdissect_options *ndo, const
|
||||
return (hdrlen);
|
||||
}
|
||||
|
||||
@ -380,7 +380,7 @@
|
||||
if (ssap == LLCSAP_IPX && dsap == LLCSAP_IPX &&
|
||||
control == LLC_UI) {
|
||||
/*
|
||||
@@ -305,6 +308,7 @@ llc_print(netdissect_options *ndo, const
|
||||
@@ -303,6 +306,7 @@ llc_print(netdissect_options *ndo, const
|
||||
ipx_print(ndo, p, length);
|
||||
return (hdrlen);
|
||||
}
|
||||
@ -388,7 +388,7 @@
|
||||
|
||||
#ifdef ENABLE_SMB
|
||||
if (ssap == LLCSAP_NETBEUI && dsap == LLCSAP_NETBEUI
|
||||
@@ -323,12 +327,13 @@ llc_print(netdissect_options *ndo, const
|
||||
@@ -321,12 +325,13 @@ llc_print(netdissect_options *ndo, const
|
||||
return (hdrlen);
|
||||
}
|
||||
#endif
|
||||
@ -403,7 +403,7 @@
|
||||
if (!ndo->ndo_eflag) {
|
||||
if (ssap == dsap) {
|
||||
if (src == NULL || dst == NULL)
|
||||
@@ -484,6 +489,7 @@ snap_print(netdissect_options *ndo, cons
|
||||
@@ -482,6 +487,7 @@ snap_print(netdissect_options *ndo, cons
|
||||
|
||||
case OUI_CISCO:
|
||||
switch (et) {
|
||||
@ -411,7 +411,7 @@
|
||||
case PID_CISCO_CDP:
|
||||
cdp_print(ndo, p, length);
|
||||
return (1);
|
||||
@@ -496,6 +502,7 @@ snap_print(netdissect_options *ndo, cons
|
||||
@@ -494,6 +500,7 @@ snap_print(netdissect_options *ndo, cons
|
||||
case PID_CISCO_VTP:
|
||||
vtp_print(ndo, p, length);
|
||||
return (1);
|
||||
@ -419,7 +419,7 @@
|
||||
case PID_CISCO_PVST:
|
||||
case PID_CISCO_VLANBRIDGE:
|
||||
stp_print(ndo, p, length);
|
||||
@@ -508,6 +515,7 @@ snap_print(netdissect_options *ndo, cons
|
||||
@@ -506,6 +513,7 @@ snap_print(netdissect_options *ndo, cons
|
||||
case OUI_RFC2684:
|
||||
switch (et) {
|
||||
|
||||
@ -427,7 +427,7 @@
|
||||
case PID_RFC2684_ETH_FCS:
|
||||
case PID_RFC2684_ETH_NOFCS:
|
||||
/*
|
||||
@@ -569,6 +577,7 @@ snap_print(netdissect_options *ndo, cons
|
||||
@@ -567,6 +575,7 @@ snap_print(netdissect_options *ndo, cons
|
||||
*/
|
||||
fddi_print(ndo, p, length, caplen);
|
||||
return (1);
|
||||
@ -437,7 +437,7 @@
|
||||
stp_print(ndo, p, length);
|
||||
--- a/print-null.c
|
||||
+++ b/print-null.c
|
||||
@@ -116,6 +116,7 @@ null_if_print(netdissect_options *ndo, c
|
||||
@@ -114,6 +114,7 @@ null_if_print(netdissect_options *ndo, c
|
||||
ip6_print(ndo, p, length);
|
||||
break;
|
||||
|
||||
@ -445,7 +445,7 @@
|
||||
case BSD_AFNUM_ISO:
|
||||
isoclns_print(ndo, p, length);
|
||||
break;
|
||||
@@ -127,6 +128,7 @@ null_if_print(netdissect_options *ndo, c
|
||||
@@ -125,6 +126,7 @@ null_if_print(netdissect_options *ndo, c
|
||||
case BSD_AFNUM_IPX:
|
||||
ipx_print(ndo, p, length);
|
||||
break;
|
||||
@ -455,7 +455,7 @@
|
||||
/* unknown AF_ value */
|
||||
--- a/print-ppp.c
|
||||
+++ b/print-ppp.c
|
||||
@@ -1355,6 +1355,7 @@ trunc:
|
||||
@@ -1354,6 +1354,7 @@ trunc:
|
||||
* The length argument is the on-the-wire length, not the captured
|
||||
* length; we can only un-escape the captured part.
|
||||
*/
|
||||
@ -464,7 +464,7 @@
|
||||
ppp_hdlc(netdissect_options *ndo,
|
||||
const u_char *p, u_int length)
|
||||
@@ -1451,17 +1452,19 @@ trunc:
|
||||
ndo->ndo_snapend = se;
|
||||
nd_pop_packet_info(ndo);
|
||||
nd_print_trunc(ndo);
|
||||
}
|
||||
-
|
||||
@ -515,7 +515,7 @@
|
||||
+#endif
|
||||
--- a/print-sll.c
|
||||
+++ b/print-sll.c
|
||||
@@ -465,12 +465,14 @@ recurse:
|
||||
@@ -463,12 +463,14 @@ recurse:
|
||||
*/
|
||||
switch (ether_type) {
|
||||
|
||||
@ -532,7 +532,7 @@
|
||||
/*
|
||||
--- a/print-tcp.c
|
||||
+++ b/print-tcp.c
|
||||
@@ -614,6 +614,7 @@ tcp_print(netdissect_options *ndo,
|
||||
@@ -612,6 +612,7 @@ tcp_print(netdissect_options *ndo,
|
||||
ND_PRINT(" %u", utoval);
|
||||
break;
|
||||
|
||||
@ -540,7 +540,7 @@
|
||||
case TCPOPT_MPTCP:
|
||||
{
|
||||
const u_char *snapend_save;
|
||||
@@ -637,7 +638,7 @@ tcp_print(netdissect_options *ndo,
|
||||
@@ -635,7 +636,7 @@ tcp_print(netdissect_options *ndo,
|
||||
goto bad;
|
||||
break;
|
||||
}
|
||||
@ -549,7 +549,7 @@
|
||||
case TCPOPT_FASTOPEN:
|
||||
datalen = len - 2;
|
||||
LENCHECK(datalen);
|
||||
@@ -722,6 +723,7 @@ tcp_print(netdissect_options *ndo,
|
||||
@@ -720,6 +721,7 @@ tcp_print(netdissect_options *ndo,
|
||||
return;
|
||||
}
|
||||
|
||||
@ -557,65 +557,64 @@
|
||||
if (ndo->ndo_packettype) {
|
||||
switch (ndo->ndo_packettype) {
|
||||
case PT_ZMTP1:
|
||||
@@ -737,6 +739,7 @@ tcp_print(netdissect_options *ndo,
|
||||
@@ -735,12 +737,15 @@ tcp_print(netdissect_options *ndo,
|
||||
}
|
||||
return;
|
||||
}
|
||||
+#endif
|
||||
|
||||
if (IS_SRC_OR_DST_PORT(TELNET_PORT)) {
|
||||
telnet_print(ndo, bp, length);
|
||||
@@ -746,24 +749,31 @@ tcp_print(netdissect_options *ndo,
|
||||
} else if (IS_SRC_OR_DST_PORT(WHOIS_PORT)) {
|
||||
ND_PRINT(": ");
|
||||
whois_print(ndo, bp, length);
|
||||
- } else if (IS_SRC_OR_DST_PORT(BGP_PORT))
|
||||
+ }
|
||||
+#ifndef TCPDUMP_MINI
|
||||
+ else if (IS_SRC_OR_DST_PORT(BGP_PORT))
|
||||
bgp_print(ndo, bp, length);
|
||||
+#endif
|
||||
else if (IS_SRC_OR_DST_PORT(PPTP_PORT))
|
||||
pptp_print(ndo, bp);
|
||||
+#ifndef TCPDUMP_MINI
|
||||
else if (IS_SRC_OR_DST_PORT(REDIS_PORT))
|
||||
resp_print(ndo, bp, length);
|
||||
else if (IS_SRC_OR_DST_PORT(SSH_PORT))
|
||||
ssh_print(ndo, bp, length);
|
||||
+#endif
|
||||
#ifdef ENABLE_SMB
|
||||
else if (IS_SRC_OR_DST_PORT(NETBIOS_SSN_PORT))
|
||||
nbt_tcp_print(ndo, bp, length);
|
||||
else if (IS_SRC_OR_DST_PORT(SMB_PORT))
|
||||
smb_tcp_print(ndo, bp, length);
|
||||
#endif
|
||||
+#ifndef TCPDUMP_MINI
|
||||
else if (IS_SRC_OR_DST_PORT(BEEP_PORT))
|
||||
beep_print(ndo, bp, length);
|
||||
else if (IS_SRC_OR_DST_PORT(OPENFLOW_PORT_OLD) || IS_SRC_OR_DST_PORT(OPENFLOW_PORT_IANA))
|
||||
openflow_print(ndo, bp, length);
|
||||
+#endif
|
||||
else if (IS_SRC_OR_DST_PORT(FTP_PORT)) {
|
||||
if (IS_SRC_OR_DST_PORT(FTP_PORT)) {
|
||||
ND_PRINT(": ");
|
||||
ftp_print(ndo, bp, length);
|
||||
@@ -776,12 +786,14 @@ tcp_print(netdissect_options *ndo,
|
||||
} else if (IS_SRC_OR_DST_PORT(NAMESERVER_PORT)) {
|
||||
/* over_tcp: TRUE, is_mdns: FALSE */
|
||||
domain_print(ndo, bp, length, TRUE, FALSE);
|
||||
+#ifndef TCPDUMP_MINI
|
||||
} else if (IS_SRC_OR_DST_PORT(SSH_PORT)) {
|
||||
ssh_print(ndo, bp, length);
|
||||
+#endif
|
||||
} else if (IS_SRC_OR_DST_PORT(TELNET_PORT)) {
|
||||
telnet_print(ndo, bp, length);
|
||||
} else if (IS_SRC_OR_DST_PORT(SMTP_PORT)) {
|
||||
@@ -759,10 +764,12 @@ tcp_print(netdissect_options *ndo,
|
||||
} else if (IS_SRC_OR_DST_PORT(NETBIOS_SSN_PORT)) {
|
||||
nbt_tcp_print(ndo, bp, length);
|
||||
#endif
|
||||
+#ifndef TCPDUMP_MINI
|
||||
} else if (IS_SRC_OR_DST_PORT(BGP_PORT)) {
|
||||
- bgp_print(ndo, bp, length);
|
||||
+ bgp_print(ndo, bp, length);
|
||||
} else if (IS_SRC_OR_DST_PORT(RPKI_RTR_PORT)) {
|
||||
rpki_rtr_print(ndo, bp, length);
|
||||
+#endif
|
||||
#ifdef ENABLE_SMB
|
||||
} else if (IS_SRC_OR_DST_PORT(SMB_PORT)) {
|
||||
smb_tcp_print(ndo, bp, length);
|
||||
@@ -770,18 +777,22 @@ tcp_print(netdissect_options *ndo,
|
||||
} else if (IS_SRC_OR_DST_PORT(RTSP_PORT)) {
|
||||
ND_PRINT(": ");
|
||||
rtsp_print(ndo, bp, length);
|
||||
+#ifndef TCPDUMP_MINI
|
||||
} else if (IS_SRC_OR_DST_PORT(MSDP_PORT)) {
|
||||
msdp_print(ndo, bp, length);
|
||||
} else if (IS_SRC_OR_DST_PORT(RPKI_RTR_PORT)) {
|
||||
rpki_rtr_print(ndo, bp, length);
|
||||
} else if (IS_SRC_OR_DST_PORT(LDP_PORT)) {
|
||||
ldp_print(ndo, bp, length);
|
||||
- } else if (IS_SRC_OR_DST_PORT(PPTP_PORT))
|
||||
+#endif
|
||||
} else if ((IS_SRC_OR_DST_PORT(NFS_PORT)) &&
|
||||
length >= 4 && ND_TTEST_4(bp)) {
|
||||
/*
|
||||
+ } else if (IS_SRC_OR_DST_PORT(PPTP_PORT)) {
|
||||
pptp_print(ndo, bp);
|
||||
- else if (IS_SRC_OR_DST_PORT(REDIS_PORT))
|
||||
+#ifndef TCPDUMP_MINI
|
||||
+ } else if (IS_SRC_OR_DST_PORT(REDIS_PORT))
|
||||
resp_print(ndo, bp, length);
|
||||
else if (IS_SRC_OR_DST_PORT(BEEP_PORT))
|
||||
beep_print(ndo, bp, length);
|
||||
else if (IS_SRC_OR_DST_PORT(OPENFLOW_PORT_OLD) || IS_SRC_OR_DST_PORT(OPENFLOW_PORT_IANA)) {
|
||||
openflow_print(ndo, bp, length);
|
||||
+#endif
|
||||
} else if (IS_SRC_OR_DST_PORT(HTTP_PORT_ALT)) {
|
||||
ND_PRINT(": ");
|
||||
http_print(ndo, bp, length);
|
||||
--- a/print-udp.c
|
||||
+++ b/print-udp.c
|
||||
@@ -435,10 +435,12 @@ udp_print(netdissect_options *ndo, const
|
||||
@@ -433,10 +433,12 @@ udp_print(netdissect_options *ndo, const
|
||||
vat_print(ndo, cp, length);
|
||||
break;
|
||||
|
||||
@ -628,7 +627,7 @@
|
||||
|
||||
case PT_RPC:
|
||||
rp = (const struct sunrpc_msg *)cp;
|
||||
@@ -467,10 +469,12 @@ udp_print(netdissect_options *ndo, const
|
||||
@@ -465,10 +467,12 @@ udp_print(netdissect_options *ndo, const
|
||||
snmp_print(ndo, cp, length);
|
||||
break;
|
||||
|
||||
@ -641,7 +640,7 @@
|
||||
|
||||
case PT_TFTP:
|
||||
udpipaddr_print(ndo, ip, sport, dport);
|
||||
@@ -488,6 +492,7 @@ udp_print(netdissect_options *ndo, const
|
||||
@@ -485,6 +489,7 @@ udp_print(netdissect_options *ndo, const
|
||||
radius_print(ndo, cp, length);
|
||||
break;
|
||||
|
||||
@ -649,7 +648,7 @@
|
||||
case PT_VXLAN:
|
||||
udpipaddr_print(ndo, ip, sport, dport);
|
||||
vxlan_print(ndo, cp, length);
|
||||
@@ -510,6 +515,7 @@ udp_print(netdissect_options *ndo, const
|
||||
@@ -507,6 +512,7 @@ udp_print(netdissect_options *ndo, const
|
||||
udpipaddr_print(ndo, ip, sport, dport);
|
||||
someip_print(ndo, cp, length);
|
||||
break;
|
||||
@ -657,115 +656,116 @@
|
||||
case PT_DOMAIN:
|
||||
udpipaddr_print(ndo, ip, sport, dport);
|
||||
/* over_tcp: FALSE, is_mdns: FALSE */
|
||||
@@ -596,29 +602,37 @@ udp_print(netdissect_options *ndo, const
|
||||
else if (IS_SRC_OR_DST_PORT(MULTICASTDNS_PORT))
|
||||
/* over_tcp: FALSE, is_mdns: TRUE */
|
||||
domain_print(ndo, cp, length, FALSE, TRUE);
|
||||
+#ifndef TCPDUMP_MINI
|
||||
else if (IS_SRC_OR_DST_PORT(TIMED_PORT))
|
||||
timed_print(ndo, (const u_char *)cp);
|
||||
+#endif
|
||||
@@ -594,8 +600,12 @@ udp_print(netdissect_options *ndo, const
|
||||
bootp_print(ndo, cp, length);
|
||||
else if (IS_SRC_OR_DST_PORT(TFTP_PORT))
|
||||
tftp_print(ndo, cp, length);
|
||||
else if (IS_SRC_OR_DST_PORT(BOOTPC_PORT) || IS_SRC_OR_DST_PORT(BOOTPS_PORT))
|
||||
bootp_print(ndo, cp, length);
|
||||
+#ifndef TCPDUMP_MINI
|
||||
+#ifdef ENABLE_SMB
|
||||
else if (IS_SRC_OR_DST_PORT(KERBEROS_PORT))
|
||||
krb_print(ndo, (const u_char *)cp);
|
||||
+#endif
|
||||
+#endif
|
||||
else if (IS_SRC_OR_DST_PORT(NTP_PORT))
|
||||
ntp_print(ndo, cp, length);
|
||||
#ifdef ENABLE_SMB
|
||||
@@ -607,6 +617,7 @@ udp_print(netdissect_options *ndo, const
|
||||
else if (IS_SRC_OR_DST_PORT(SNMP_PORT) ||
|
||||
IS_SRC_OR_DST_PORT(SNMPTRAP_PORT))
|
||||
snmp_print(ndo, cp, length);
|
||||
+#ifndef TCPDUMP_MINI
|
||||
else if (IS_SRC_OR_DST_PORT(PTP_EVENT_PORT) ||
|
||||
IS_SRC_OR_DST_PORT(PTP_GENERAL_PORT))
|
||||
ptp_print(ndo, cp, length);
|
||||
@@ -614,38 +625,50 @@ udp_print(netdissect_options *ndo, const
|
||||
cisco_autorp_print(ndo, cp, length);
|
||||
else if (IS_SRC_OR_DST_PORT(ISAKMP_PORT))
|
||||
isakmp_print(ndo, cp, length, bp2);
|
||||
+#endif
|
||||
else if (IS_SRC_OR_DST_PORT(SYSLOG_PORT))
|
||||
syslog_print(ndo, cp, length);
|
||||
+#ifndef TCPDUMP_MINI
|
||||
else if (IS_SRC_OR_DST_PORT(RIP_PORT))
|
||||
rip_print(ndo, cp, length);
|
||||
else if (IS_SRC_OR_DST_PORT(RIPNG_PORT))
|
||||
ripng_print(ndo, cp, length);
|
||||
else if (IS_SRC_OR_DST_PORT(TIMED_PORT))
|
||||
timed_print(ndo, (const u_char *)cp);
|
||||
+#endif
|
||||
else if (IS_SRC_OR_DST_PORT(AODV_PORT))
|
||||
aodv_print(ndo, cp, length,
|
||||
ip6 != NULL);
|
||||
else if (IS_SRC_OR_DST_PORT(DHCP6_SERV_PORT) ||
|
||||
IS_SRC_OR_DST_PORT(DHCP6_CLI_PORT))
|
||||
dhcp6_print(ndo, cp, length);
|
||||
+#ifndef TCPDUMP_MINI
|
||||
else if (IS_SRC_OR_DST_PORT(ISAKMP_PORT))
|
||||
isakmp_print(ndo, cp, length, bp2);
|
||||
else if (IS_SRC_OR_DST_PORT(LDP_PORT))
|
||||
ldp_print(ndo, cp, length);
|
||||
else if (IS_SRC_OR_DST_PORT(AODV_PORT))
|
||||
aodv_print(ndo, cp, length, IP_V(ip) == 6);
|
||||
+#endif
|
||||
else if (IS_SRC_OR_DST_PORT(OLSR_PORT))
|
||||
olsr_print(ndo, cp, length, IP_V(ip) == 6);
|
||||
+#ifndef TCPDUMP_MINI
|
||||
else if (IS_SRC_OR_DST_PORT(LMP_PORT))
|
||||
lmp_print(ndo, cp, length);
|
||||
+#ifdef ENABLE_SMB
|
||||
else if (IS_SRC_OR_DST_PORT(KERBEROS_SEC_PORT))
|
||||
krb_print(ndo, (const u_char *)cp);
|
||||
+#endif
|
||||
else if (IS_SRC_OR_DST_PORT(LWRES_PORT))
|
||||
lwres_print(ndo, cp, length);
|
||||
else if (IS_SRC_OR_DST_PORT(MULTICASTDNS_PORT))
|
||||
/* over_tcp: FALSE, is_mdns: TRUE */
|
||||
domain_print(ndo, cp, length, FALSE, TRUE);
|
||||
+#ifdef ENABLE_SMB
|
||||
else if (IS_SRC_OR_DST_PORT(ISAKMP_PORT_NATT))
|
||||
isakmp_rfc3948_print(ndo, cp, length, bp2, IP_V(ip), fragmented, ttl_hl);
|
||||
else if (IS_SRC_OR_DST_PORT(ISAKMP_PORT_USER1) || IS_SRC_OR_DST_PORT(ISAKMP_PORT_USER2))
|
||||
isakmp_print(ndo, cp, length, bp2);
|
||||
+#endif
|
||||
else if (IS_SRC_OR_DST_PORT(SNMP_PORT) || IS_SRC_OR_DST_PORT(SNMPTRAP_PORT))
|
||||
snmp_print(ndo, cp, length);
|
||||
else if (IS_SRC_OR_DST_PORT(NTP_PORT))
|
||||
ntp_print(ndo, cp, length);
|
||||
+#ifndef TCPDUMP_MINI
|
||||
else if (IS_SRC_OR_DST_PORT(KERBEROS_PORT) || IS_SRC_OR_DST_PORT(KERBEROS_SEC_PORT))
|
||||
krb_print(ndo, (const u_char *)cp);
|
||||
+#endif
|
||||
else if (IS_SRC_OR_DST_PORT(L2TP_PORT))
|
||||
l2tp_print(ndo, cp, length);
|
||||
#ifdef ENABLE_SMB
|
||||
@@ -629,6 +643,7 @@ udp_print(netdissect_options *ndo, const
|
||||
#endif
|
||||
+#ifndef TCPDUMP_MINI
|
||||
else if (dport == VAT_PORT)
|
||||
vat_print(ndo, cp, length);
|
||||
+#ifndef TCPDUMP_MINI
|
||||
else if (IS_SRC_OR_DST_PORT(ZEPHYR_SRV_PORT) || IS_SRC_OR_DST_PORT(ZEPHYR_CLT_PORT))
|
||||
zephyr_print(ndo, cp, length);
|
||||
/*
|
||||
@@ -641,8 +656,11 @@ udp_print(netdissect_options *ndo, const
|
||||
(const u_char *) ip);
|
||||
else if (IS_SRC_OR_DST_PORT(RIPNG_PORT))
|
||||
ripng_print(ndo, cp, length);
|
||||
+#endif
|
||||
+
|
||||
else if (IS_SRC_OR_DST_PORT(DHCP6_SERV_PORT) || IS_SRC_OR_DST_PORT(DHCP6_CLI_PORT))
|
||||
dhcp6_print(ndo, cp, length);
|
||||
+#ifndef TCPDUMP_MINI
|
||||
else if (IS_SRC_OR_DST_PORT(AHCP_PORT))
|
||||
ahcp_print(ndo, cp, length);
|
||||
else if (IS_SRC_OR_DST_PORT(BABEL_PORT) || IS_SRC_OR_DST_PORT(BABEL_PORT_OLD))
|
||||
@@ -656,6 +674,7 @@ udp_print(netdissect_options *ndo, const
|
||||
@@ -669,6 +692,7 @@ udp_print(netdissect_options *ndo, const
|
||||
*/
|
||||
else if (dport == WB_PORT)
|
||||
wb_print(ndo, cp, length);
|
||||
else if (IS_SRC_OR_DST_PORT(CISCO_AUTORP_PORT))
|
||||
cisco_autorp_print(ndo, cp, length);
|
||||
+#endif
|
||||
else if (IS_SRC_OR_DST_PORT(RADIUS_PORT) ||
|
||||
IS_SRC_OR_DST_PORT(RADIUS_NEW_PORT) ||
|
||||
IS_SRC_OR_DST_PORT(RADIUS_ACCOUNTING_PORT) ||
|
||||
@@ -663,15 +682,18 @@ udp_print(netdissect_options *ndo, const
|
||||
@@ -676,6 +700,7 @@ udp_print(netdissect_options *ndo, const
|
||||
IS_SRC_OR_DST_PORT(RADIUS_CISCO_COA_PORT) ||
|
||||
IS_SRC_OR_DST_PORT(RADIUS_COA_PORT) )
|
||||
radius_print(ndo, cp, length);
|
||||
+#ifndef TCPDUMP_MINI
|
||||
else if (dport == HSRP_PORT)
|
||||
hsrp_print(ndo, cp, length);
|
||||
else if (IS_SRC_OR_DST_PORT(LWRES_PORT))
|
||||
lwres_print(ndo, cp, length);
|
||||
else if (IS_SRC_OR_DST_PORT(LDP_PORT))
|
||||
ldp_print(ndo, cp, length);
|
||||
+#endif
|
||||
else if (IS_SRC_OR_DST_PORT(OLSR_PORT))
|
||||
olsr_print(ndo, cp, length,
|
||||
(IP_V(ip) == 6) ? 1 : 0);
|
||||
+#ifndef TCPDUMP_MINI
|
||||
else if (IS_SRC_OR_DST_PORT(MPLS_LSP_PING_PORT))
|
||||
lspping_print(ndo, cp, length);
|
||||
else if (sport == BCM_LI_PORT)
|
||||
@@ -693,10 +715,12 @@ udp_print(netdissect_options *ndo, const
|
||||
@@ -695,8 +720,10 @@ udp_print(netdissect_options *ndo, const
|
||||
lwapp_control_print(ndo, cp, length, 0);
|
||||
else if (IS_SRC_OR_DST_PORT(LWAPP_DATA_PORT))
|
||||
lwapp_data_print(ndo, cp, length);
|
||||
+#endif
|
||||
else if (IS_SRC_OR_DST_PORT(SIP_PORT))
|
||||
sip_print(ndo, cp, length);
|
||||
else if (IS_SRC_OR_DST_PORT(SYSLOG_PORT))
|
||||
syslog_print(ndo, cp, length);
|
||||
+#ifndef TCPDUMP_MINI
|
||||
else if (IS_SRC_OR_DST_PORT(OTV_PORT))
|
||||
otv_print(ndo, cp, length);
|
||||
else if (IS_SRC_OR_DST_PORT(VXLAN_PORT))
|
||||
@@ -722,6 +746,7 @@ udp_print(netdissect_options *ndo, const
|
||||
ptp_print(ndo, cp, length);
|
||||
} else if (IS_SRC_OR_DST_PORT(SOMEIP_PORT))
|
||||
@@ -721,6 +748,7 @@ udp_print(netdissect_options *ndo, const
|
||||
someip_print(ndo, cp, length);
|
||||
else if (sport == BCM_LI_PORT)
|
||||
bcm_li_print(ndo, cp, length);
|
||||
+#endif
|
||||
else {
|
||||
if (ulen > length && !fragmented)
|
||||
ND_PRINT("UDP, bad length %u > %u",
|
||||
--- a/print.c
|
||||
+++ b/print.c
|
||||
@@ -48,6 +48,7 @@ struct printer {
|
||||
@@ -46,6 +46,7 @@ struct printer {
|
||||
};
|
||||
|
||||
static const struct printer printers[] = {
|
||||
@ -773,7 +773,7 @@
|
||||
#ifdef DLT_APPLE_IP_OVER_IEEE1394
|
||||
{ ap1394_if_print, DLT_APPLE_IP_OVER_IEEE1394 },
|
||||
#endif
|
||||
@@ -86,7 +87,9 @@ static const struct printer printers[] =
|
||||
@@ -84,7 +85,9 @@ static const struct printer printers[] =
|
||||
#ifdef DLT_ENC
|
||||
{ enc_if_print, DLT_ENC },
|
||||
#endif
|
||||
@ -783,7 +783,7 @@
|
||||
{ fddi_if_print, DLT_FDDI },
|
||||
#ifdef DLT_FR
|
||||
{ fr_if_print, DLT_FR },
|
||||
@@ -94,6 +97,7 @@ static const struct printer printers[] =
|
||||
@@ -92,6 +95,7 @@ static const struct printer printers[] =
|
||||
#ifdef DLT_FRELAY
|
||||
{ fr_if_print, DLT_FRELAY },
|
||||
#endif
|
||||
@ -791,7 +791,7 @@
|
||||
#ifdef DLT_IEEE802_11
|
||||
{ ieee802_11_if_print, DLT_IEEE802_11},
|
||||
#endif
|
||||
@@ -103,6 +107,7 @@ static const struct printer printers[] =
|
||||
@@ -101,6 +105,7 @@ static const struct printer printers[] =
|
||||
#ifdef DLT_IEEE802_11_RADIO
|
||||
{ ieee802_11_radio_if_print, DLT_IEEE802_11_RADIO },
|
||||
#endif
|
||||
@ -799,7 +799,7 @@
|
||||
#ifdef DLT_IEEE802_15_4
|
||||
{ ieee802_15_4_if_print, DLT_IEEE802_15_4 },
|
||||
#endif
|
||||
@@ -115,9 +120,11 @@ static const struct printer printers[] =
|
||||
@@ -113,9 +118,11 @@ static const struct printer printers[] =
|
||||
#ifdef DLT_IP_OVER_FC
|
||||
{ ipfc_if_print, DLT_IP_OVER_FC },
|
||||
#endif
|
||||
@ -811,7 +811,7 @@
|
||||
#ifdef DLT_IPOIB
|
||||
{ ipoib_if_print, DLT_IPOIB },
|
||||
#endif
|
||||
@@ -172,19 +179,23 @@ static const struct printer printers[] =
|
||||
@@ -170,19 +177,23 @@ static const struct printer printers[] =
|
||||
#ifdef DLT_MFR
|
||||
{ mfr_if_print, DLT_MFR },
|
||||
#endif
|
||||
@ -835,7 +835,7 @@
|
||||
#ifdef DLT_PFLOG
|
||||
{ pflog_if_print, DLT_PFLOG },
|
||||
#endif
|
||||
@@ -200,6 +211,7 @@ static const struct printer printers[] =
|
||||
@@ -198,6 +209,7 @@ static const struct printer printers[] =
|
||||
#ifdef DLT_PPP_SERIAL
|
||||
{ ppp_hdlc_if_print, DLT_PPP_SERIAL },
|
||||
#endif
|
||||
@ -843,7 +843,7 @@
|
||||
{ ppp_if_print, DLT_PPP },
|
||||
#ifdef DLT_PPP_PPPD
|
||||
{ ppp_if_print, DLT_PPP_PPPD },
|
||||
@@ -211,6 +223,7 @@ static const struct printer printers[] =
|
||||
@@ -209,6 +221,7 @@ static const struct printer printers[] =
|
||||
{ prism_if_print, DLT_PRISM_HEADER },
|
||||
#endif
|
||||
{ raw_if_print, DLT_RAW },
|
||||
@ -851,7 +851,7 @@
|
||||
#ifdef DLT_IPV4
|
||||
{ raw_if_print, DLT_IPV4 },
|
||||
#endif
|
||||
@@ -243,6 +256,7 @@ static const struct printer printers[] =
|
||||
@@ -241,6 +254,7 @@ static const struct printer printers[] =
|
||||
#ifdef DLT_VSOCK
|
||||
{ vsock_if_print, DLT_VSOCK },
|
||||
#endif
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=umbim
|
||||
PKG_RELEASE:=24
|
||||
PKG_RELEASE:=25
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/umbim.git
|
||||
|
||||
@ -23,6 +23,7 @@ proto_mbim_init_config() {
|
||||
proto_config_add_string dhcp
|
||||
proto_config_add_string dhcpv6
|
||||
proto_config_add_boolean sourcefilter
|
||||
proto_config_add_boolean delegate
|
||||
proto_config_add_string pdptype
|
||||
proto_config_add_int mtu
|
||||
proto_config_add_defaults
|
||||
@ -48,7 +49,7 @@ _proto_mbim_setup() {
|
||||
local device apn pincode delay auth username password allow_roaming allow_partner
|
||||
local dhcp dhcpv6 pdptype ip4table ip6table mtu $PROTO_DEFAULT_OPTIONS
|
||||
json_get_vars device apn pincode delay auth username password allow_roaming allow_partner
|
||||
json_get_vars dhcp dhcpv6 sourcefilter pdptype ip4table ip6table mtu $PROTO_DEFAULT_OPTIONS
|
||||
json_get_vars dhcp dhcpv6 sourcefilter delegate pdptype ip4table ip6table mtu $PROTO_DEFAULT_OPTIONS
|
||||
|
||||
[ ! -e /proc/sys/net/ipv6 ] && ipv6=0 || json_get_var ipv6 ipv6
|
||||
|
||||
@ -264,6 +265,7 @@ _proto_mbim_setup() {
|
||||
echo "mbim[$$]" "Starting DHCPv6 on $ifname"
|
||||
json_add_string proto "dhcpv6"
|
||||
json_add_string extendprefix 1
|
||||
[ "$delegate" = "0" ] && json_add_boolean delegate "0"
|
||||
[ "$sourcefilter" = "0" ] && json_add_boolean sourcefilter "0"
|
||||
fi
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=uqmi
|
||||
PKG_RELEASE:=1
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/uqmi.git
|
||||
|
||||
@ -24,6 +24,7 @@ proto_qmi_init_config() {
|
||||
proto_config_add_boolean dhcp
|
||||
proto_config_add_boolean dhcpv6
|
||||
proto_config_add_boolean sourcefilter
|
||||
proto_config_add_boolean delegate
|
||||
proto_config_add_boolean autoconnect
|
||||
proto_config_add_int plmn
|
||||
proto_config_add_int timeout
|
||||
@ -42,7 +43,7 @@ proto_qmi_setup() {
|
||||
local profile_pdptype
|
||||
|
||||
json_get_vars device apn v6apn auth username password pincode delay modes
|
||||
json_get_vars pdptype profile v6profile dhcp dhcpv6 sourcefilter autoconnect plmn ip4table
|
||||
json_get_vars pdptype profile v6profile dhcp dhcpv6 sourcefilter delegate autoconnect plmn ip4table
|
||||
json_get_vars ip6table timeout mtu $PROTO_DEFAULT_OPTIONS
|
||||
|
||||
[ "$timeout" = "" ] && timeout="10"
|
||||
@ -442,6 +443,7 @@ proto_qmi_setup() {
|
||||
proto_add_dynamic_defaults
|
||||
# RFC 7278: Extend an IPv6 /64 Prefix to LAN
|
||||
json_add_string extendprefix 1
|
||||
[ "$delegate" = "0" ] && json_add_boolean delegate "0"
|
||||
[ "$sourcefilter" = "0" ] && json_add_boolean sourcefilter "0"
|
||||
[ -n "$zone" ] && json_add_string zone "$zone"
|
||||
json_close_object
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
CONFIG_AG71XX=y
|
||||
# CONFIG_AG71XX_DEBUG is not set
|
||||
CONFIG_AG71XX_DEBUG_FS=y
|
||||
# CONFIG_AG71XX is not set
|
||||
CONFIG_AG71XX_LEGACY=y
|
||||
# CONFIG_AG71XX_LEGACY_DEBUG is not set
|
||||
CONFIG_AG71XX_LEGACY_DEBUG_FS=y
|
||||
CONFIG_AR8216_PHY=y
|
||||
CONFIG_AR8216_PHY_LEDS=y
|
||||
CONFIG_ARCH_32BIT_OFF_T=y
|
||||
@ -51,6 +52,7 @@ CONFIG_EARLY_PRINTK=y
|
||||
CONFIG_ETHERNET_PACKET_MANGLE=y
|
||||
CONFIG_EXCLUSIVE_SYSTEM_RAM=y
|
||||
CONFIG_FIXED_PHY=y
|
||||
CONFIG_FORCE_NR_CPUS=y
|
||||
CONFIG_FS_IOMAP=y
|
||||
CONFIG_FUNCTION_ALIGNMENT=0
|
||||
CONFIG_FWNODE_MDIO=y
|
||||
|
||||
@ -63,8 +63,8 @@
|
||||
i2c {
|
||||
compatible = "i2c-gpio";
|
||||
|
||||
sda-gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
|
||||
scl-gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
|
||||
sda-gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
|
||||
scl-gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@ -362,6 +362,8 @@
|
||||
|
||||
resets = <&rst 9>, <&rst 22>;
|
||||
reset-names = "mac", "mdio";
|
||||
clocks = <&pll ATH79_CLK_AHB>, <&pll ATH79_CLK_REF>;
|
||||
clock-names = "eth", "mdio";
|
||||
};
|
||||
|
||||
&mdio1 {
|
||||
@ -379,4 +381,6 @@
|
||||
|
||||
resets = <&rst 13>, <&rst 23>;
|
||||
reset-names = "mac", "mdio";
|
||||
clocks = <&pll ATH79_CLK_AHB>, <&pll ATH79_CLK_REF>;
|
||||
clock-names = "eth", "mdio";
|
||||
};
|
||||
|
||||
@ -284,13 +284,8 @@ static int rb91x_nand_probe(struct platform_device *pdev)
|
||||
platform_set_drvdata(pdev, drvdata);
|
||||
|
||||
gpios = gpiod_get_array(dev, NULL, GPIOD_OUT_LOW);
|
||||
if (IS_ERR(gpios)) {
|
||||
if (PTR_ERR(gpios) != -EPROBE_DEFER) {
|
||||
dev_err(dev, "failed to get gpios: %ld\n",
|
||||
PTR_ERR(gpios));
|
||||
}
|
||||
return PTR_ERR(gpios);
|
||||
}
|
||||
if (IS_ERR(gpios))
|
||||
return dev_err_probe(dev, PTR_ERR(gpios), "failed to get gpios");
|
||||
|
||||
if (gpios->ndescs != RB91X_NAND_GPIOS) {
|
||||
dev_err(dev, "expected %d gpios\n", RB91X_NAND_GPIOS);
|
||||
@ -333,16 +328,11 @@ static int rb91x_nand_probe(struct platform_device *pdev)
|
||||
|
||||
r = mtd_device_register(mtd, NULL, 0);
|
||||
if (r) {
|
||||
dev_err(dev, "mtd_device_register() failed: %d\n",
|
||||
r);
|
||||
goto err_release_nand;
|
||||
rb91x_nand_release(drvdata);
|
||||
return dev_err_probe(dev, r, "mtd_device_register() failed");
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
err_release_nand:
|
||||
rb91x_nand_release(drvdata);
|
||||
return r;
|
||||
}
|
||||
|
||||
static int rb91x_nand_remove(struct platform_device *pdev)
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
config AG71XX
|
||||
config AG71XX_LEGACY
|
||||
tristate "Atheros AR7XXX/AR9XXX built-in ethernet mac support"
|
||||
depends on ATH79
|
||||
select PHYLIB
|
||||
@ -6,14 +6,14 @@ config AG71XX
|
||||
If you wish to compile a kernel for AR7XXX/91XXX and enable
|
||||
ethernet support, then you should always answer Y to this.
|
||||
|
||||
if AG71XX
|
||||
if AG71XX_LEGACY
|
||||
|
||||
config AG71XX_DEBUG
|
||||
config AG71XX_LEGACY_DEBUG
|
||||
bool "Atheros AR71xx built-in ethernet driver debugging"
|
||||
help
|
||||
Atheros AR71xx built-in ethernet driver debugging messages.
|
||||
|
||||
config AG71XX_DEBUG_FS
|
||||
config AG71XX_LEGACY_DEBUG_FS
|
||||
bool "Atheros AR71xx built-in ethernet driver debugfs support"
|
||||
depends on DEBUG_FS
|
||||
help
|
||||
|
||||
@ -2,12 +2,12 @@
|
||||
# Makefile for the Atheros AR71xx built-in ethernet macs
|
||||
#
|
||||
|
||||
ag71xx-y += ag71xx_main.o
|
||||
ag71xx-y += ag71xx_gmac.o
|
||||
ag71xx-y += ag71xx_ethtool.o
|
||||
ag71xx-y += ag71xx_phy.o
|
||||
ag71xx_legacy-y += ag71xx_main.o
|
||||
ag71xx_legacy-y += ag71xx_gmac.o
|
||||
ag71xx_legacy-y += ag71xx_ethtool.o
|
||||
ag71xx_legacy-y += ag71xx_phy.o
|
||||
|
||||
ag71xx-$(CONFIG_AG71XX_DEBUG_FS) += ag71xx_debugfs.o
|
||||
ag71xx_legacy-$(CONFIG_AG71XX_LEGACY_DEBUG_FS) += ag71xx_legacy_debugfs.o
|
||||
|
||||
obj-$(CONFIG_AG71XX) += ag71xx_mdio.o
|
||||
obj-$(CONFIG_AG71XX) += ag71xx.o
|
||||
obj-$(CONFIG_AG71XX_LEGACY) += ag71xx_legacy_mdio.o
|
||||
obj-$(CONFIG_AG71XX_LEGACY) += ag71xx_legacy.o
|
||||
|
||||
@ -40,7 +40,7 @@
|
||||
#include <asm/mach-ath79/ar71xx_regs.h>
|
||||
#include <asm/mach-ath79/ath79.h>
|
||||
|
||||
#define AG71XX_DRV_NAME "ag71xx"
|
||||
#define AG71XX_DRV_NAME "ag71xx-legacy"
|
||||
|
||||
/*
|
||||
* For our NAPI weight bigger does *NOT* mean better - it means more
|
||||
@ -68,7 +68,7 @@
|
||||
#define AG71XX_TX_RING_SIZE_MAX 256
|
||||
#define AG71XX_RX_RING_SIZE_MAX 256
|
||||
|
||||
#ifdef CONFIG_AG71XX_DEBUG
|
||||
#ifdef CONFIG_AG71XX_LEGACY_DEBUG
|
||||
#define DBG(fmt, args...) pr_debug(fmt, ## args)
|
||||
#else
|
||||
#define DBG(fmt, args...) do {} while (0)
|
||||
@ -195,7 +195,7 @@ struct ag71xx {
|
||||
u32 pllreg[3];
|
||||
struct regmap *pllregmap;
|
||||
|
||||
#ifdef CONFIG_AG71XX_DEBUG_FS
|
||||
#ifdef CONFIG_AG71XX_LEGACY_DEBUG_FS
|
||||
struct ag71xx_debug debug;
|
||||
#endif
|
||||
};
|
||||
@ -425,7 +425,7 @@ static inline void ag71xx_int_disable(struct ag71xx *ag, u32 ints)
|
||||
ag71xx_cb(ag, AG71XX_REG_INT_ENABLE, ints);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_AG71XX_DEBUG_FS
|
||||
#ifdef CONFIG_AG71XX_LEGACY_DEBUG_FS
|
||||
int ag71xx_debugfs_root_init(void);
|
||||
void ag71xx_debugfs_root_exit(void);
|
||||
int ag71xx_debugfs_init(struct ag71xx *ag);
|
||||
@ -441,7 +441,7 @@ static inline void ag71xx_debugfs_update_int_stats(struct ag71xx *ag,
|
||||
u32 status) {}
|
||||
static inline void ag71xx_debugfs_update_napi_stats(struct ag71xx *ag,
|
||||
int rx, int tx) {}
|
||||
#endif /* CONFIG_AG71XX_DEBUG_FS */
|
||||
#endif /* CONFIG_AG71XX_LEGACY_DEBUG_FS */
|
||||
|
||||
int ag71xx_ar7240_init(struct ag71xx *ag, struct device_node *np);
|
||||
void ag71xx_ar7240_cleanup(struct ag71xx *ag);
|
||||
|
||||
@ -241,7 +241,7 @@ static struct platform_driver ag71xx_mdio_driver = {
|
||||
.probe = ag71xx_mdio_probe,
|
||||
.remove = ag71xx_mdio_remove,
|
||||
.driver = {
|
||||
.name = "ag71xx-mdio",
|
||||
.name = "ag71xx-legacy-mdio",
|
||||
.of_match_table = ag71xx_mdio_match,
|
||||
}
|
||||
};
|
||||
@ -20,8 +20,6 @@ CONFIG_MTD_SPI_NOR_USE_VARIABLE_ERASE=y
|
||||
CONFIG_MTD_SPLIT_EVA_FW=y
|
||||
CONFIG_NVMEM_SYSFS=y
|
||||
CONFIG_NVMEM_U_BOOT_ENV=y
|
||||
CONFIG_PHY_AR7100_USB=y
|
||||
CONFIG_PHY_AR7200_USB=y
|
||||
CONFIG_REALTEK_PHY=y
|
||||
CONFIG_REGMAP_I2C=y
|
||||
CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
||||
|
||||
@ -35,8 +35,6 @@ CONFIG_NET_DSA=y
|
||||
CONFIG_NET_SWITCHDEV=y
|
||||
# CONFIG_NVMEM_LAYOUT_MIKROTIK is not set
|
||||
CONFIG_PHYLINK=y
|
||||
CONFIG_PHY_AR7100_USB=y
|
||||
CONFIG_PHY_AR7200_USB=y
|
||||
CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
||||
CONFIG_SGL_ALLOC=y
|
||||
CONFIG_SPI_RB4XX=y
|
||||
|
||||
@ -18,7 +18,6 @@ CONFIG_MTD_UBI_BEB_LIMIT=20
|
||||
CONFIG_MTD_UBI_BLOCK=y
|
||||
CONFIG_MTD_UBI_WL_THRESHOLD=4096
|
||||
# CONFIG_PCI_AR71XX is not set
|
||||
CONFIG_PHY_AR7200_USB=y
|
||||
CONFIG_POWER_RESET=y
|
||||
CONFIG_POWER_RESET_GPIO_RESTART=y
|
||||
CONFIG_SGL_ALLOC=y
|
||||
|
||||
@ -13,30 +13,22 @@ Submitted-by: John Crispin <john@phrozen.org>
|
||||
|
||||
--- a/drivers/net/ethernet/atheros/Kconfig
|
||||
+++ b/drivers/net/ethernet/atheros/Kconfig
|
||||
@@ -17,14 +17,7 @@ config NET_VENDOR_ATHEROS
|
||||
@@ -26,6 +26,8 @@ config AG71XX
|
||||
If you wish to compile a kernel for AR7XXX/91XXX and enable
|
||||
ethernet support, then you should always answer Y to this.
|
||||
|
||||
if NET_VENDOR_ATHEROS
|
||||
|
||||
-config AG71XX
|
||||
- tristate "Atheros AR7XXX/AR9XXX built-in ethernet mac support"
|
||||
- depends on ATH79
|
||||
- select PHYLINK
|
||||
- imply NET_SELFTESTS
|
||||
- help
|
||||
- If you wish to compile a kernel for AR7XXX/91XXX and enable
|
||||
- ethernet support, then you should always answer Y to this.
|
||||
+source "drivers/net/ethernet/atheros/ag71xx/Kconfig"
|
||||
|
||||
+
|
||||
config ATL2
|
||||
tristate "Atheros L2 Fast Ethernet support"
|
||||
depends on PCI
|
||||
--- a/drivers/net/ethernet/atheros/Makefile
|
||||
+++ b/drivers/net/ethernet/atheros/Makefile
|
||||
@@ -3,7 +3,7 @@
|
||||
# Makefile for the Atheros network device drivers.
|
||||
@@ -4,6 +4,7 @@
|
||||
#
|
||||
|
||||
-obj-$(CONFIG_AG71XX) += ag71xx.o
|
||||
+obj-$(CONFIG_AG71XX) += ag71xx/
|
||||
obj-$(CONFIG_AG71XX) += ag71xx.o
|
||||
+obj-$(CONFIG_AG71XX_LEGACY) += ag71xx/
|
||||
obj-$(CONFIG_ATL1) += atlx/
|
||||
obj-$(CONFIG_ATL2) += atlx/
|
||||
obj-$(CONFIG_ATL1E) += atl1e/
|
||||
|
||||
@ -8,6 +8,4 @@ CONFIG_NET_SWITCHDEV=y
|
||||
CONFIG_NVMEM_SYSFS=y
|
||||
CONFIG_NVMEM_U_BOOT_ENV=y
|
||||
CONFIG_PHYLINK=y
|
||||
CONFIG_PHY_AR7100_USB=y
|
||||
CONFIG_PHY_AR7200_USB=y
|
||||
CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
||||
|
||||
@ -0,0 +1,75 @@
|
||||
From 6a804fb72de56d6a99b799f565ae45f2cec7cd55 Mon Sep 17 00:00:00 2001
|
||||
From: Sridharan S N <quic_sridsn@quicinc.com>
|
||||
Date: Thu, 12 Oct 2023 12:11:34 +0530
|
||||
Subject: mtd: spinand: winbond: add support for serial NAND flash
|
||||
|
||||
Add support for W25N01JW, W25N02JWZEIF, W25N512GW,
|
||||
W25N02KWZEIR and W25N01GWZEIG.
|
||||
|
||||
W25N02KWZEIR has 8b/512b on-die ECC capability and other
|
||||
four has 4b/512b on-die ECC capability.
|
||||
|
||||
Signed-off-by: Sridharan S N <quic_sridsn@quicinc.com>
|
||||
Signed-off-by: Md Sadre Alam <quic_mdalam@quicinc.com>
|
||||
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
|
||||
Link: https://lore.kernel.org/linux-mtd/20231012064134.4068621-1-quic_sridsn@quicinc.com
|
||||
---
|
||||
drivers/mtd/nand/spi/winbond.c | 45 ++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 45 insertions(+)
|
||||
|
||||
(limited to 'drivers/mtd/nand/spi/winbond.c')
|
||||
|
||||
--- a/drivers/mtd/nand/spi/winbond.c
|
||||
+++ b/drivers/mtd/nand/spi/winbond.c
|
||||
@@ -169,6 +169,51 @@ static const struct spinand_info winbond
|
||||
&update_cache_variants),
|
||||
0,
|
||||
SPINAND_ECCINFO(&w25n02kv_ooblayout, w25n02kv_ecc_get_status)),
|
||||
+ SPINAND_INFO("W25N01JW",
|
||||
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xbc, 0x21),
|
||||
+ NAND_MEMORG(1, 2048, 64, 64, 1024, 20, 1, 1, 1),
|
||||
+ NAND_ECCREQ(4, 512),
|
||||
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
|
||||
+ &write_cache_variants,
|
||||
+ &update_cache_variants),
|
||||
+ 0,
|
||||
+ SPINAND_ECCINFO(&w25m02gv_ooblayout, w25n02kv_ecc_get_status)),
|
||||
+ SPINAND_INFO("W25N02JWZEIF",
|
||||
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xbf, 0x22),
|
||||
+ NAND_MEMORG(1, 2048, 64, 64, 1024, 20, 1, 2, 1),
|
||||
+ NAND_ECCREQ(4, 512),
|
||||
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
|
||||
+ &write_cache_variants,
|
||||
+ &update_cache_variants),
|
||||
+ 0,
|
||||
+ SPINAND_ECCINFO(&w25n02kv_ooblayout, w25n02kv_ecc_get_status)),
|
||||
+ SPINAND_INFO("W25N512GW",
|
||||
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xba, 0x20),
|
||||
+ NAND_MEMORG(1, 2048, 64, 64, 512, 10, 1, 1, 1),
|
||||
+ NAND_ECCREQ(4, 512),
|
||||
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
|
||||
+ &write_cache_variants,
|
||||
+ &update_cache_variants),
|
||||
+ 0,
|
||||
+ SPINAND_ECCINFO(&w25n02kv_ooblayout, w25n02kv_ecc_get_status)),
|
||||
+ SPINAND_INFO("W25N02KWZEIR",
|
||||
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xba, 0x22),
|
||||
+ NAND_MEMORG(1, 2048, 128, 64, 2048, 40, 1, 1, 1),
|
||||
+ NAND_ECCREQ(8, 512),
|
||||
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
|
||||
+ &write_cache_variants,
|
||||
+ &update_cache_variants),
|
||||
+ 0,
|
||||
+ SPINAND_ECCINFO(&w25n02kv_ooblayout, w25n02kv_ecc_get_status)),
|
||||
+ SPINAND_INFO("W25N01GWZEIG",
|
||||
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xba, 0x21),
|
||||
+ NAND_MEMORG(1, 2048, 64, 64, 1024, 20, 1, 1, 1),
|
||||
+ NAND_ECCREQ(4, 512),
|
||||
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
|
||||
+ &write_cache_variants,
|
||||
+ &update_cache_variants),
|
||||
+ 0,
|
||||
+ SPINAND_ECCINFO(&w25m02gv_ooblayout, w25n02kv_ecc_get_status)),
|
||||
};
|
||||
|
||||
static int winbond_spinand_init(struct spinand_device *spinand)
|
||||
@ -0,0 +1,53 @@
|
||||
From e0ccf861b80698a5cc6f97c89bf8d5761f465fce Mon Sep 17 00:00:00 2001
|
||||
From: Zhi-Jun You <hujy652@gmail.com>
|
||||
Date: Sun, 7 Jan 2024 14:41:20 +0000
|
||||
Subject: mtd: spinand: winbond: add support for W25N04KV
|
||||
|
||||
Add support for W25N04KV.
|
||||
|
||||
W25N04KV has 8-bit on-die ECC.
|
||||
|
||||
Signed-off-by: Zhi-Jun You <hujy652@gmail.com>
|
||||
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
|
||||
Link: https://lore.kernel.org/linux-mtd/20240107144120.532-1-hujy652@gmail.com
|
||||
---
|
||||
drivers/mtd/nand/spi/winbond.c | 12 ++++++++++++
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
(limited to 'drivers/mtd/nand/spi/winbond.c')
|
||||
|
||||
--- a/drivers/mtd/nand/spi/winbond.c
|
||||
+++ b/drivers/mtd/nand/spi/winbond.c
|
||||
@@ -15,6 +15,8 @@
|
||||
|
||||
#define WINBOND_CFG_BUF_READ BIT(3)
|
||||
|
||||
+#define W25N04KV_STATUS_ECC_5_8_BITFLIPS (3 << 4)
|
||||
+
|
||||
static SPINAND_OP_VARIANTS(read_cache_variants,
|
||||
SPINAND_PAGE_READ_FROM_CACHE_QUADIO_OP(0, 2, NULL, 0),
|
||||
SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
|
||||
@@ -118,6 +120,7 @@ static int w25n02kv_ecc_get_status(struc
|
||||
return -EBADMSG;
|
||||
|
||||
case STATUS_ECC_HAS_BITFLIPS:
|
||||
+ case W25N04KV_STATUS_ECC_5_8_BITFLIPS:
|
||||
/*
|
||||
* Let's try to retrieve the real maximum number of bitflips
|
||||
* in order to avoid forcing the wear-leveling layer to move
|
||||
@@ -214,6 +217,15 @@ static const struct spinand_info winbond
|
||||
&update_cache_variants),
|
||||
0,
|
||||
SPINAND_ECCINFO(&w25m02gv_ooblayout, w25n02kv_ecc_get_status)),
|
||||
+ SPINAND_INFO("W25N04KV",
|
||||
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xaa, 0x23),
|
||||
+ NAND_MEMORG(1, 2048, 128, 64, 4096, 40, 2, 1, 1),
|
||||
+ NAND_ECCREQ(8, 512),
|
||||
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
|
||||
+ &write_cache_variants,
|
||||
+ &update_cache_variants),
|
||||
+ 0,
|
||||
+ SPINAND_ECCINFO(&w25n02kv_ooblayout, w25n02kv_ecc_get_status)),
|
||||
};
|
||||
|
||||
static int winbond_spinand_init(struct spinand_device *spinand)
|
||||
@ -14,7 +14,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
||||
|
||||
--- a/drivers/mtd/nand/spi/winbond.c
|
||||
+++ b/drivers/mtd/nand/spi/winbond.c
|
||||
@@ -74,6 +74,18 @@ static int w25m02gv_select_target(struct
|
||||
@@ -76,6 +76,18 @@ static int w25m02gv_select_target(struct
|
||||
return spi_mem_exec_op(spinand->spimem, &op);
|
||||
}
|
||||
|
||||
@ -33,7 +33,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
||||
static int w25n02kv_ooblayout_ecc(struct mtd_info *mtd, int section,
|
||||
struct mtd_oob_region *region)
|
||||
{
|
||||
@@ -98,6 +110,11 @@ static int w25n02kv_ooblayout_free(struc
|
||||
@@ -100,6 +112,11 @@ static int w25n02kv_ooblayout_free(struc
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -45,7 +45,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
||||
static const struct mtd_ooblayout_ops w25n02kv_ooblayout = {
|
||||
.ecc = w25n02kv_ooblayout_ecc,
|
||||
.free = w25n02kv_ooblayout_free,
|
||||
@@ -160,6 +177,15 @@ static const struct spinand_info winbond
|
||||
@@ -163,6 +180,15 @@ static const struct spinand_info winbond
|
||||
&update_cache_variants),
|
||||
0,
|
||||
SPINAND_ECCINFO(&w25m02gv_ooblayout, NULL)),
|
||||
|
||||
@ -0,0 +1,25 @@
|
||||
From 440415703692af4548e836832ef0434e87fbc357 Mon Sep 17 00:00:00 2001
|
||||
From: Oskari Lemmela <oskari@lemmela.net>
|
||||
Date: Sat, 13 Jul 2024 18:56:59 +0300
|
||||
Subject: [PATCH] net: ag71xx: fix qca9530 and qca9550 mdio probe
|
||||
|
||||
Newer QCA9530 and QCA9550 devices should use same div table as AR933X.
|
||||
|
||||
Fixes: d51b6ce441d3 ("net: ethernet: add ag71xx driver")
|
||||
Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
|
||||
---
|
||||
drivers/net/ethernet/atheros/ag71xx.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/drivers/net/ethernet/atheros/ag71xx.c
|
||||
+++ b/drivers/net/ethernet/atheros/ag71xx.c
|
||||
@@ -638,7 +638,8 @@ static int ag71xx_mdio_get_divider(struc
|
||||
if (!ref_clock)
|
||||
return -EINVAL;
|
||||
|
||||
- if (ag71xx_is(ag, AR9330) || ag71xx_is(ag, AR9340)) {
|
||||
+ if (ag71xx_is(ag, AR9330) || ag71xx_is(ag, AR9340) ||
|
||||
+ ag71xx_is(ag, QCA9530) || ag71xx_is(ag, QCA9550)) {
|
||||
table = ar933x_mdio_div_table;
|
||||
ndivs = ARRAY_SIZE(ar933x_mdio_div_table);
|
||||
} else if (ag71xx_is(ag, AR7240)) {
|
||||
@ -751,7 +751,11 @@ define Device/glinet_gl-x3000-xe3000-common
|
||||
DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware mkf2fs \
|
||||
kmod-fs-f2fs kmod-hwmon-pwmfan kmod-usb3 kmod-usb-serial-option \
|
||||
kmod-usb-storage kmod-usb-net-qmi-wwan uqmi automount
|
||||
IMAGES += factory.bin
|
||||
IMAGE/factory.bin := append-kernel | pad-to 32M | append-rootfs
|
||||
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
|
||||
ARTIFACTS := preloader.bin bl31-uboot.fip
|
||||
ARTIFACT/preloader.bin := mt7981-bl2 emmc-ddr4
|
||||
endef
|
||||
|
||||
define Device/glinet_gl-x3000
|
||||
@ -759,6 +763,7 @@ define Device/glinet_gl-x3000
|
||||
DEVICE_DTS := mt7981a-glinet-gl-x3000
|
||||
SUPPORTED_DEVICES := glinet,gl-x3000
|
||||
$(call Device/glinet_gl-x3000-xe3000-common)
|
||||
ARTIFACT/bl31-uboot.fip := mt7981-bl31-uboot glinet_gl-x3000
|
||||
endef
|
||||
TARGET_DEVICES += glinet_gl-x3000
|
||||
|
||||
@ -767,6 +772,7 @@ define Device/glinet_gl-xe3000
|
||||
DEVICE_DTS := mt7981a-glinet-gl-xe3000
|
||||
SUPPORTED_DEVICES := glinet,gl-xe3000
|
||||
$(call Device/glinet_gl-x3000-xe3000-common)
|
||||
ARTIFACT/bl31-uboot.fip := mt7981-bl31-uboot glinet_gl-xe3000
|
||||
endef
|
||||
TARGET_DEVICES += glinet_gl-xe3000
|
||||
|
||||
|
||||
@ -1,31 +1,129 @@
|
||||
. /lib/functions.sh
|
||||
|
||||
fortinet_fwinfo_blocks() {
|
||||
fortinet_bswap32() {
|
||||
local val="$(printf %08x $(($1)))"
|
||||
|
||||
# swap and print in hex
|
||||
echo "0x${val:6:2}${val:4:2}${val:2:2}${val:0:2}"
|
||||
}
|
||||
|
||||
fortinet_by2bl() {
|
||||
local blks="$(($1 / 0x200))"
|
||||
[ $(($1 % 0x200)) -gt 0 ] && blks=$((blks + 1))
|
||||
|
||||
printf "0x%08x" $blks
|
||||
}
|
||||
|
||||
fortinet_bl2by() {
|
||||
printf "0x%08x" $(($1 * 0x200))
|
||||
}
|
||||
|
||||
fortinet_build_partmap() {
|
||||
local new="$1" old="$2"
|
||||
local len="${old%%@*}" ofs="${old##*@}"
|
||||
|
||||
case "$new" in
|
||||
@*) ofs="$(fortinet_by2bl ${new##@})" ;; # "@<offset>"
|
||||
|
||||
*@*) len="$(fortinet_by2bl ${new%%@*})" # "<length>@<offset>"
|
||||
ofs="$(fortinet_by2bl ${new##*@})" ;;
|
||||
|
||||
"") ;; # "" (empty)
|
||||
|
||||
*) len="$(fortinet_by2bl ${new%%@*})" ;; # "<length>"
|
||||
esac
|
||||
|
||||
# print N blocks of length/offset in dec
|
||||
echo "${len}@${ofs}"
|
||||
}
|
||||
|
||||
# Update firmware information in "firmware-info" partition
|
||||
#
|
||||
# parameters:
|
||||
# $1: image index (0/1)
|
||||
# $2: new image name (up to 32 characters)
|
||||
# $3: length and/or offset for kernel (bytes)
|
||||
# $4: length and/or offset for rootfs (bytes)
|
||||
#
|
||||
# Note: $3 and $4 support multiple formats:
|
||||
#
|
||||
# - <length>@<offset>: set <length> and <rootfs>
|
||||
# - <length> : set <length> and keep the current offset
|
||||
# - @<offset> : set <offset> and keep the current length
|
||||
# - "" (empty) : keep the current length and offset
|
||||
fortinet_update_fwinfo() {
|
||||
local fwinfo_mtd="$(find_mtd_part firmware-info)"
|
||||
local offset="$1"
|
||||
local len="$2"
|
||||
local blks
|
||||
local index="$1"
|
||||
local name="$2"
|
||||
local offset
|
||||
local old_kr
|
||||
local old new tmp part pos
|
||||
local output
|
||||
|
||||
if [ -z "$fwinfo_mtd" ]; then
|
||||
echo "WARN: MTD device \"firmware-info\" not found"
|
||||
echo "ERROR: MTD device \"firmware-info\" not found"
|
||||
return 1
|
||||
fi
|
||||
|
||||
blks=$((len / 0x200))
|
||||
[ $((len % 0x200)) -gt 0 ] && blks=$((blks + 1))
|
||||
blks=$(printf "%04x" $blks)
|
||||
printf "fwinfo: offset-> 0x%x, blocks-> 0x%s (len: 0x%08x)\n" \
|
||||
$offset $blks $len
|
||||
# Image Name
|
||||
case "$index" in
|
||||
0) offset=0x10 ;;
|
||||
1) offset=0x30 ;;
|
||||
*) echo "ERROR: invalid image index specified!"; return 1 ;;
|
||||
esac
|
||||
|
||||
printf "\x${blks:2:2}\x${blks:0:2}" | \
|
||||
dd bs=2 count=1 seek=$((offset / 2)) conv=notrunc of=${fwinfo_mtd}
|
||||
printf "Image Index: %d\n" $index
|
||||
|
||||
old="$(dd bs=16 count=2 skip=$((offset / 16)) if=$fwinfo_mtd 2>/dev/null)"
|
||||
printf "Image Name : \"%s\"\n" "$old"
|
||||
if [ -n "$name" ]; then
|
||||
echo -n "$name" | \
|
||||
dd bs=32 count=1 oflag=seek_bytes seek=$((offset)) \
|
||||
conv=sync,notrunc of=$fwinfo_mtd 2>/dev/null
|
||||
printf " --> \"%s\"\n\n" "$name"
|
||||
else
|
||||
printf "\n"
|
||||
fi
|
||||
|
||||
# length/offset values of kernel/rootfs
|
||||
case "$index" in
|
||||
0) offset=0x180 ;;
|
||||
1) offset=0x190 ;;
|
||||
esac
|
||||
|
||||
# <kernel offset:4><kernel length:4><rootfs offset:4><rootfs length:4>
|
||||
old_kr="$(hexdump -n 16 -v -s $((offset)) -e '1/4 "%08x"' $fwinfo_mtd)"
|
||||
|
||||
pos=0
|
||||
for part in kernel rootfs; do
|
||||
old="0x${old_kr:$((8 + pos)):8}@0x${old_kr:$((0 + pos)):8}"
|
||||
new="$(fortinet_build_partmap "$3" "$old")"
|
||||
shift
|
||||
|
||||
printf " %s:\n" $part
|
||||
printf " old: 0x%08x@0x%08x\n" \
|
||||
$(fortinet_bl2by ${old%%@*}) $(fortinet_bl2by ${old##*@})
|
||||
printf " new: 0x%08x@0x%08x\n\n" \
|
||||
$(fortinet_bl2by ${new%%@*}) $(fortinet_bl2by ${new##*@})
|
||||
|
||||
tmp="$(fortinet_bswap32 ${new%%@*})@$(fortinet_bswap32 ${new##*@})"
|
||||
new="$(echo $tmp | sed 's/0x\([0-9a-f]\{8\}\)@0x\([0-9a-f]\{8\}\)/\2\1/')"
|
||||
output="${output}${new}"
|
||||
|
||||
pos=$((pos + 16))
|
||||
done
|
||||
|
||||
data_2bin "$output" | \
|
||||
dd bs=16 count=1 seek=$((offset / 16)) conv=notrunc \
|
||||
of=$fwinfo_mtd 2>/dev/null
|
||||
}
|
||||
|
||||
fortinet_do_upgrade() {
|
||||
local board_dir="$(tar tf "$1" | grep -m 1 '^sysupgrade-.*/$')"
|
||||
local kern_mtd="$(find_mtd_part kernel)"
|
||||
local root_mtd="$(find_mtd_part rootfs)"
|
||||
local kern_len root_len
|
||||
local kern_len kern_ofs root_len root_ofs
|
||||
local imgname
|
||||
|
||||
board_dir="${board_dir%/}"
|
||||
|
||||
@ -34,6 +132,14 @@ fortinet_do_upgrade() {
|
||||
umount -a
|
||||
reboot -f
|
||||
fi
|
||||
kern_ofs=$(cat /sys/class/mtd/${kern_mtd//\/dev\/mtdblock/mtd}/offset)
|
||||
root_ofs=$(cat /sys/class/mtd/${root_mtd//\/dev\/mtdblock/mtd}/offset)
|
||||
|
||||
if [ -z "$kern_ofs" ] || [ -z "$root_ofs" ]; then
|
||||
echo "ERROR: failed to get offset of kernel or rootfs"
|
||||
umount -a
|
||||
reboot -f
|
||||
fi
|
||||
|
||||
kern_len=$( (tar xOf "$1" "$board_dir/kernel" | wc -c) 2> /dev/null)
|
||||
root_len=$( (tar xOf "$1" "$board_dir/root" | wc -c) 2> /dev/null)
|
||||
@ -44,8 +150,34 @@ fortinet_do_upgrade() {
|
||||
reboot -f
|
||||
fi
|
||||
|
||||
fortinet_fwinfo_blocks "0x184" "$kern_len"
|
||||
fortinet_fwinfo_blocks "0x18c" "$root_len"
|
||||
# try to load and parse /tmp/sysupgrade.meta for image name
|
||||
if [ -r "/tmp/sysupgrade.meta" ]; then
|
||||
local key value
|
||||
|
||||
sed -e 's/, \{1,2\}\"/\n"/g' \
|
||||
-e 's/{ \{1,2\}/\n/g' \
|
||||
-e 's/ \{1,2\}}/\n/g' < /tmp/sysupgrade.meta \
|
||||
> /tmp/sysupgrade.meta.tmp
|
||||
while read key value; do
|
||||
key="${key//\"/}"
|
||||
value="${value//\"/}"
|
||||
|
||||
[ -z "$value" ] && continue
|
||||
case "$key" in
|
||||
dist:|\
|
||||
version:|\
|
||||
revision:) imgname="${imgname}$value " ;;
|
||||
esac
|
||||
done < /tmp/sysupgrade.meta.tmp
|
||||
else
|
||||
imgname="OpenWrt"
|
||||
fi
|
||||
|
||||
fortinet_update_fwinfo 0 "${imgname%% }" \
|
||||
"${kern_len}@${kern_ofs}" "${root_len}@${root_ofs}" || {
|
||||
umount -a
|
||||
reboot -f
|
||||
}
|
||||
|
||||
tar xOf "$1" "$board_dir/kernel" | \
|
||||
mtd write - "kernel"
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
# Copyright (C) 2016 LEDE-Project.org
|
||||
#
|
||||
|
||||
RAMFS_COPY_BIN='fw_printenv fw_setenv strings'
|
||||
RAMFS_COPY_BIN='fw_printenv fw_setenv seq strings'
|
||||
RAMFS_COPY_DATA='/etc/fw_env.config /var/lock/fw_printenv.lock'
|
||||
|
||||
PART_NAME=firmware
|
||||
|
||||
@ -14,14 +14,14 @@
|
||||
gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_AMBER>;
|
||||
function = LED_FUNCTION_SPEED_WAN;
|
||||
linux,default-trigger = "mv88e6xxx-1:00:100Mbps";
|
||||
linux,default-trigger = "mv88e6xxx-0:00:100Mbps";
|
||||
};
|
||||
|
||||
led-15 {
|
||||
gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_SPEED_WAN;
|
||||
linux,default-trigger = "mv88e6xxx-1:00:1Gbps";
|
||||
linux,default-trigger = "mv88e6xxx-0:00:1Gbps";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@ -31,7 +31,7 @@
|
||||
color = <LED_COLOR_ID_AMBER>;
|
||||
function = LED_FUNCTION_SPEED_LAN;
|
||||
function-enumerator = <5>;
|
||||
linux,default-trigger = "mv88e6xxx-1:00:100Mbps";
|
||||
linux,default-trigger = "mv88e6xxx-0:00:100Mbps";
|
||||
};
|
||||
|
||||
led-17 {
|
||||
@ -39,7 +39,7 @@
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_SPEED_LAN;
|
||||
function-enumerator = <5>;
|
||||
linux,default-trigger = "mv88e6xxx-1:00:1Gbps";
|
||||
linux,default-trigger = "mv88e6xxx-0:00:1Gbps";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@ -86,7 +86,7 @@
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_SPEED_LAN;
|
||||
function-enumerator = <4>;
|
||||
linux,default-trigger = "mv88e6xxx-1:01:1Gbps";
|
||||
linux,default-trigger = "mv88e6xxx-0:01:1Gbps";
|
||||
};
|
||||
|
||||
led-7 {
|
||||
@ -94,7 +94,7 @@
|
||||
color = <LED_COLOR_ID_AMBER>;
|
||||
function = LED_FUNCTION_SPEED_LAN;
|
||||
function-enumerator = <4>;
|
||||
linux,default-trigger = "mv88e6xxx-1:01:100Mbps";
|
||||
linux,default-trigger = "mv88e6xxx-0:01:100Mbps";
|
||||
};
|
||||
|
||||
led-8 {
|
||||
@ -102,7 +102,7 @@
|
||||
color = <LED_COLOR_ID_AMBER>;
|
||||
function = LED_FUNCTION_SPEED_LAN;
|
||||
function-enumerator = <3>;
|
||||
linux,default-trigger = "mv88e6xxx-1:02:100Mbps";
|
||||
linux,default-trigger = "mv88e6xxx-0:02:100Mbps";
|
||||
};
|
||||
|
||||
led-9 {
|
||||
@ -110,7 +110,7 @@
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_SPEED_LAN;
|
||||
function-enumerator = <3>;
|
||||
linux,default-trigger = "mv88e6xxx-1:02:1Gbps";
|
||||
linux,default-trigger = "mv88e6xxx-0:02:1Gbps";
|
||||
};
|
||||
|
||||
led-10 {
|
||||
@ -118,7 +118,7 @@
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_SPEED_LAN;
|
||||
function-enumerator = <1>;
|
||||
linux,default-trigger = "mv88e6xxx-1:04:1Gbps";
|
||||
linux,default-trigger = "mv88e6xxx-0:04:1Gbps";
|
||||
};
|
||||
|
||||
led-11 {
|
||||
@ -126,7 +126,7 @@
|
||||
color = <LED_COLOR_ID_AMBER>;
|
||||
function = LED_FUNCTION_SPEED_LAN;
|
||||
function-enumerator = <1>;
|
||||
linux,default-trigger = "mv88e6xxx-1:04:100Mbps";
|
||||
linux,default-trigger = "mv88e6xxx-0:04:100Mbps";
|
||||
};
|
||||
|
||||
led-12 {
|
||||
@ -134,7 +134,7 @@
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_SPEED_LAN;
|
||||
function-enumerator = <2>;
|
||||
linux,default-trigger = "mv88e6xxx-1:03:1Gbps";
|
||||
linux,default-trigger = "mv88e6xxx-0:03:1Gbps";
|
||||
};
|
||||
|
||||
led-13 {
|
||||
@ -142,12 +142,12 @@
|
||||
color = <LED_COLOR_ID_AMBER>;
|
||||
function = LED_FUNCTION_SPEED_LAN;
|
||||
function-enumerator = <2>;
|
||||
linux,default-trigger = "mv88e6xxx-1:03:100Mbps";
|
||||
linux,default-trigger = "mv88e6xxx-0:03:100Mbps";
|
||||
};
|
||||
};
|
||||
|
||||
reg_usb_vbus: regulator-usb-vbus {
|
||||
compatible = "fixed-regulator";
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "usb-vbus";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
|
||||
@ -47,14 +47,14 @@
|
||||
function = LED_FUNCTION_WLAN_2GHZ;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
|
||||
linux,default-trigger = "phy0tpt";
|
||||
linux,default-trigger = "phy1tpt";
|
||||
};
|
||||
|
||||
led-5 {
|
||||
function = LED_FUNCTION_WLAN_5GHZ;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
|
||||
linux,default-trigger = "phy1tpt";
|
||||
linux,default-trigger = "phy0tpt";
|
||||
};
|
||||
|
||||
led-6 {
|
||||
|
||||
199
target/linux/ramips/dts/mt7621_dlink_dir-2150-r1.dts
Normal file
199
target/linux/ramips/dts/mt7621_dlink_dir-2150-r1.dts
Normal file
@ -0,0 +1,199 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
|
||||
#include "mt7621.dtsi"
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/ {
|
||||
compatible = "dlink,dir-2150-r1", "mediatek,mt7621-soc";
|
||||
model = "D-Link DIR-2150 R1";
|
||||
|
||||
aliases {
|
||||
label-mac-device = &gmac1;
|
||||
led-boot = &led_power_orange;
|
||||
led-failsafe = &led_power_white;
|
||||
led-running = &led_power_white;
|
||||
led-upgrade = &led_net_orange;
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
|
||||
wps {
|
||||
label = "wps";
|
||||
gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_WPS_BUTTON>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led_power_orange: led-0 {
|
||||
function = LED_FUNCTION_POWER;
|
||||
color = <LED_COLOR_ID_ORANGE>;
|
||||
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led_power_white: led-1 {
|
||||
function = LED_FUNCTION_POWER;
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led_net_orange: led-2 {
|
||||
function = LED_FUNCTION_WAN;
|
||||
color = <LED_COLOR_ID_ORANGE>;
|
||||
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led-3 {
|
||||
function = LED_FUNCTION_WAN;
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&nand {
|
||||
status = "okay";
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "Bootloader";
|
||||
reg = <0x0 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@80000 {
|
||||
label = "config";
|
||||
reg = <0x80000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@100000 {
|
||||
label = "factory";
|
||||
reg = <0x100000 0x40000>;
|
||||
read-only;
|
||||
|
||||
nvmem-layout {
|
||||
compatible = "fixed-layout";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
eeprom_factory_0: eeprom@0 {
|
||||
reg = <0x0 0x400>;
|
||||
};
|
||||
|
||||
eeprom_factory_8000: eeprom@8000 {
|
||||
reg = <0x8000 0x4da8>;
|
||||
};
|
||||
|
||||
macaddr_factory_e006: macaddr@e006 {
|
||||
compatible = "mac-base";
|
||||
reg = <0xe006 0x6>;
|
||||
#nvmem-cell-cells = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
partition@140000 {
|
||||
label = "firmware";
|
||||
compatible = "denx,uimage";
|
||||
reg = <0x140000 0x7E80000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&pcie {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pcie0 {
|
||||
wifi@0,0 {
|
||||
compatible = "mediatek,mt76";
|
||||
reg = <0x0000 0 0 0 0>;
|
||||
nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_e006 2>;
|
||||
nvmem-cell-names = "eeprom", "mac-address";
|
||||
ieee80211-freq-limit = <2400000 2500000>;
|
||||
|
||||
led {
|
||||
led-active-low;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&pcie1 {
|
||||
wifi@0,0 {
|
||||
compatible = "mediatek,mt76";
|
||||
reg = <0x0000 0 0 0 0>;
|
||||
nvmem-cells = <&eeprom_factory_8000>, <&macaddr_factory_e006 4>;
|
||||
nvmem-cell-names = "eeprom", "mac-address";
|
||||
ieee80211-freq-limit = <5000000 6000000>;
|
||||
|
||||
led {
|
||||
led-active-low;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&gmac0 {
|
||||
nvmem-cells = <&macaddr_factory_e006 1>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&gmac1 {
|
||||
status = "okay";
|
||||
label = "wan";
|
||||
phy-handle = <ðphy4>;
|
||||
|
||||
nvmem-cells = <&macaddr_factory_e006 0>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
ðphy4 {
|
||||
/delete-property/ interrupts;
|
||||
};
|
||||
|
||||
&switch0 {
|
||||
ports {
|
||||
port@0 {
|
||||
status = "okay";
|
||||
label = "lan4";
|
||||
};
|
||||
|
||||
port@1 {
|
||||
status = "okay";
|
||||
label = "lan3";
|
||||
};
|
||||
|
||||
port@2 {
|
||||
status = "okay";
|
||||
label = "lan2";
|
||||
};
|
||||
|
||||
port@3 {
|
||||
status = "okay";
|
||||
label = "lan1";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&state_default {
|
||||
gpio {
|
||||
groups = "i2c", "uart3", "jtag", "wdt";
|
||||
function = "gpio";
|
||||
};
|
||||
};
|
||||
69
target/linux/ramips/dts/mt7621_elecom_wmc-x1800gst.dts
Normal file
69
target/linux/ramips/dts/mt7621_elecom_wmc-x1800gst.dts
Normal file
@ -0,0 +1,69 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
|
||||
#include "mt7621_elecom_wxc-x1800gsx.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "elecom,wmc-x1800gst", "mediatek,mt7621-soc";
|
||||
model = "ELECOM WMC-X1800GST";
|
||||
|
||||
aliases {
|
||||
label-mac-device = &gmac1;
|
||||
};
|
||||
};
|
||||
|
||||
&keys {
|
||||
switch-ap {
|
||||
label = "ap";
|
||||
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <BTN_0>;
|
||||
linux,input-type = <EV_SW>;
|
||||
};
|
||||
|
||||
switch-router {
|
||||
label = "router";
|
||||
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <BTN_1>;
|
||||
linux,input-type = <EV_SW>;
|
||||
};
|
||||
|
||||
switch-extender {
|
||||
label = "extender";
|
||||
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <BTN_2>;
|
||||
linux,input-type = <EV_SW>;
|
||||
};
|
||||
};
|
||||
|
||||
&gmac1 {
|
||||
status = "okay";
|
||||
label = "wan";
|
||||
phy-handle = <ðphy0>;
|
||||
|
||||
nvmem-cells = <&macaddr_factory_3fffa>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
ðphy0 {
|
||||
/delete-property/ interrupts;
|
||||
};
|
||||
|
||||
&state_default {
|
||||
gpio {
|
||||
groups = "i2c", "uart3", "uart2", "jtag", "wdt";
|
||||
function = "gpio";
|
||||
};
|
||||
};
|
||||
|
||||
&wifi {
|
||||
band@0 {
|
||||
reg = <0>;
|
||||
nvmem-cells = <&macaddr_factory_4 0>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
band@1 {
|
||||
reg = <1>;
|
||||
nvmem-cells = <&macaddr_factory_4 1>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
};
|
||||
33
target/linux/ramips/dts/mt7621_elecom_wsc-x1800gs.dts
Normal file
33
target/linux/ramips/dts/mt7621_elecom_wsc-x1800gs.dts
Normal file
@ -0,0 +1,33 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
|
||||
#include "mt7621_elecom_wxc-x1800gsx.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "elecom,wsc-x1800gs", "mediatek,mt7621-soc";
|
||||
model = "ELECOM WSC-X1800GS";
|
||||
|
||||
aliases {
|
||||
label-mac-device = &wifi_band1;
|
||||
};
|
||||
};
|
||||
|
||||
&state_default {
|
||||
gpio {
|
||||
groups = "uart3", "uart2", "jtag", "wdt";
|
||||
function = "gpio";
|
||||
};
|
||||
};
|
||||
|
||||
&wifi {
|
||||
band@0 {
|
||||
reg = <0>;
|
||||
nvmem-cells = <&macaddr_factory_4 (-1)>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
wifi_band1: band@1 {
|
||||
reg = <1>;
|
||||
nvmem-cells = <&macaddr_factory_4 0>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
};
|
||||
235
target/linux/ramips/dts/mt7621_elecom_wxc-x1800gsx.dtsi
Normal file
235
target/linux/ramips/dts/mt7621_elecom_wxc-x1800gsx.dtsi
Normal file
@ -0,0 +1,235 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
|
||||
#include "mt7621.dtsi"
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/ {
|
||||
aliases {
|
||||
led-boot = &led_power_green;
|
||||
led-failsafe = &led_power_red;
|
||||
led-running = &led_power_green;
|
||||
led-upgrade = &led_power_green;
|
||||
};
|
||||
|
||||
chosen {
|
||||
bootargs-override = "console=ttyS0,115200n8";
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led-0 {
|
||||
gpios = <&gpio 5 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_BLUE>;
|
||||
function = LED_FUNCTION_WLAN_5GHZ;
|
||||
};
|
||||
|
||||
led-1 {
|
||||
gpios = <&gpio 6 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_WLAN_5GHZ;
|
||||
linux,default-trigger = "phy1tpt";
|
||||
};
|
||||
|
||||
led_power_green: led-2 {
|
||||
gpios = <&gpio 7 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_POWER;
|
||||
};
|
||||
|
||||
led-3 {
|
||||
gpios = <&gpio 8 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_BLUE>;
|
||||
function = LED_FUNCTION_POWER;
|
||||
};
|
||||
|
||||
led-4 {
|
||||
gpios = <&gpio 9 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
function = LED_FUNCTION_WLAN_5GHZ;
|
||||
};
|
||||
|
||||
led-5 {
|
||||
gpios = <&gpio 10 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_BLUE>;
|
||||
function = LED_FUNCTION_WLAN_2GHZ;
|
||||
};
|
||||
|
||||
led-6 {
|
||||
gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
function = LED_FUNCTION_WLAN_2GHZ;
|
||||
};
|
||||
|
||||
led-7 {
|
||||
gpios = <&gpio 12 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_WLAN_2GHZ;
|
||||
linux,default-trigger = "phy0tpt";
|
||||
};
|
||||
|
||||
led_power_red: led-8 {
|
||||
gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
function = LED_FUNCTION_POWER;
|
||||
};
|
||||
};
|
||||
|
||||
keys: keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
button-reset {
|
||||
label = "reset";
|
||||
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
|
||||
button-wps {
|
||||
label = "wps";
|
||||
gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_WPS_BUTTON>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&gmac0 {
|
||||
nvmem-cells = <&macaddr_factory_3fff4>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&nand {
|
||||
status = "okay";
|
||||
pinctrl-0 = <&nand_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "u-boot";
|
||||
reg = <0x0 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@80000 {
|
||||
label = "u-boot-env";
|
||||
reg = <0x80000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@100000 {
|
||||
label = "factory";
|
||||
reg = <0x100000 0x80000>;
|
||||
read-only;
|
||||
|
||||
nvmem-layout {
|
||||
compatible = "fixed-layout";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
eeprom_factory_0: eeprom@0 {
|
||||
reg = <0x0 0xe00>;
|
||||
};
|
||||
|
||||
precal_factory_e10: precal@e10 {
|
||||
reg = <0xe10 0x19c10>;
|
||||
};
|
||||
|
||||
macaddr_factory_4: mac-address@4 {
|
||||
compatible = "mac-base";
|
||||
reg = <0x4 0x6>;
|
||||
#nvmem-cell-cells = <1>;
|
||||
};
|
||||
|
||||
macaddr_factory_3fff4: mac-address@3fff4 {
|
||||
reg = <0x3fff4 0x6>;
|
||||
};
|
||||
|
||||
macaddr_factory_3fffa: mac-address@3fffa {
|
||||
reg = <0x3fffa 0x6>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* stock: "firmware" */
|
||||
partition@180000 {
|
||||
reg = <0x180000 0xf00000>;
|
||||
label = "kernel";
|
||||
};
|
||||
|
||||
partition@1080000 {
|
||||
label = "user_data";
|
||||
reg = <0x1080000 0x500000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@1580000 {
|
||||
label = "tm_pattern";
|
||||
reg = <0x1580000 0x500000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@1a80000 {
|
||||
label = "tm_key";
|
||||
reg = <0x1a80000 0x100000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
/* stock: (unused) */
|
||||
partition@1b80000 {
|
||||
label = "ubi";
|
||||
reg = <0x1b80000 0x6480000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&pcie {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pcie1 {
|
||||
wifi: wifi@0,0 {
|
||||
compatible = "mediatek,mt76";
|
||||
reg = <0x0000 0 0 0 0>;
|
||||
nvmem-cells = <&eeprom_factory_0>, <&precal_factory_e10>;
|
||||
nvmem-cell-names = "eeprom", "precal";
|
||||
mediatek,disable-radar-background;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
&switch0 {
|
||||
ports {
|
||||
port@1 {
|
||||
status = "okay";
|
||||
label = "lan2";
|
||||
};
|
||||
|
||||
port@2 {
|
||||
status = "okay";
|
||||
label = "lan1";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&state_default {
|
||||
gpio {
|
||||
groups = "i2c", "uart3", "uart2", "jtag", "wdt";
|
||||
function = "gpio";
|
||||
};
|
||||
};
|
||||
|
||||
&uartlite {
|
||||
pinctrl-0 = <&uart1_pins>;
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
||||
&xhci {
|
||||
status = "disabled";
|
||||
};
|
||||
142
target/linux/ramips/dts/mt7621_ruijie_rg-ew1200g-pro-v1.1.dts
Normal file
142
target/linux/ramips/dts/mt7621_ruijie_rg-ew1200g-pro-v1.1.dts
Normal file
@ -0,0 +1,142 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
|
||||
#include "mt7621.dtsi"
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/ {
|
||||
compatible = "ruijie,rg-ew1200g-pro-v1.1", "mediatek,mt7621-soc";
|
||||
model = "Ruijie RG-EW1200G PRO v.1.1";
|
||||
|
||||
aliases {
|
||||
led-boot = &led_power_blue;
|
||||
led-failsafe = &led_power_blue;
|
||||
led-running = &led_power_blue;
|
||||
led-upgrade = &led_power_blue;
|
||||
};
|
||||
|
||||
chosen {
|
||||
bootargs = "console=ttyS0,57600n8";
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led_power_blue: power_blue {
|
||||
function = LED_FUNCTION_POWER;
|
||||
color = <LED_COLOR_ID_BLUE>;
|
||||
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&spi0 {
|
||||
status = "okay";
|
||||
|
||||
flash@0 {
|
||||
compatible = "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
spi-max-frequency = <25000000>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
|
||||
partition@0 {
|
||||
label = "u-boot";
|
||||
reg = <0x000000 0x50000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@50000 {
|
||||
label = "u-boot-env";
|
||||
reg = <0x50000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@60000 {
|
||||
label = "factory";
|
||||
reg = <0x60000 0x10000>;
|
||||
read-only;
|
||||
|
||||
nvmem-layout {
|
||||
compatible = "fixed-layout";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
eeprom_factory_0: eeprom@0 {
|
||||
reg = <0x0 0x4da8>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
partition@70000 {
|
||||
label = "product_info";
|
||||
reg = <0x70000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@80000 {
|
||||
label = "kdump";
|
||||
reg = <0x80000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@90000 {
|
||||
compatible = "denx,uimage";
|
||||
label = "firmware";
|
||||
reg = <0x90000 0xf70000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&pcie {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pcie0 {
|
||||
wifi@0,0 {
|
||||
compatible = "mediatek,mt76";
|
||||
reg = <0x0000 0 0 0 0>;
|
||||
nvmem-cells = <&eeprom_factory_0>;
|
||||
nvmem-cell-names = "eeprom";
|
||||
};
|
||||
};
|
||||
|
||||
&switch0 {
|
||||
ports {
|
||||
port@0 {
|
||||
status = "okay";
|
||||
label = "wan";
|
||||
};
|
||||
|
||||
port@1 {
|
||||
status = "okay";
|
||||
label = "lan3";
|
||||
};
|
||||
|
||||
port@2 {
|
||||
status = "okay";
|
||||
label = "lan2";
|
||||
};
|
||||
|
||||
port@3 {
|
||||
status = "okay";
|
||||
label = "lan1";
|
||||
};
|
||||
};
|
||||
};
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user