Merge Official Source

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
Tianling Shen 2024-08-09 14:34:56 +08:00
commit add96afd94
No known key found for this signature in database
GPG Key ID: 6850B6345C862176
13 changed files with 553 additions and 12 deletions

View File

@ -9,7 +9,8 @@ board=$(board_name)
case "$board" in case "$board" in
8devices,mango-dvk|\ 8devices,mango-dvk|\
8devices,mango-dvk-sfp) 8devices,mango-dvk-sfp|\
cambiumnetworks,xe3-4)
idx="$(find_mtd_index 0:APPSBLENV)" idx="$(find_mtd_index 0:APPSBLENV)"
[ -n "$idx" ] && \ [ -n "$idx" ] && \
ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x10000" "0x10000" ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x10000" "0x10000"

View File

@ -96,7 +96,7 @@ endef
define U-Boot/rock-pi-e-rk3328 define U-Boot/rock-pi-e-rk3328
$(U-Boot/Default/rk3328) $(U-Boot/Default/rk3328)
NAME:=Rock Pi E NAME:=ROCK Pi E
BUILD_DEVICES:= \ BUILD_DEVICES:= \
radxa_rock-pi-e radxa_rock-pi-e
endef endef
@ -155,7 +155,7 @@ endef
define U-Boot/rock-pi-4-rk3399 define U-Boot/rock-pi-4-rk3399
$(U-Boot/Default/rk3399) $(U-Boot/Default/rk3399)
NAME:=Rock Pi 4 NAME:=ROCK Pi 4
BUILD_DEVICES:= \ BUILD_DEVICES:= \
radxa_rock-pi-4a radxa_rock-pi-4a
endef endef
@ -292,7 +292,7 @@ endef
define U-Boot/rock5b-rk3588 define U-Boot/rock5b-rk3588
$(U-Boot/Default/rk3588) $(U-Boot/Default/rk3588)
NAME:=Rock 5B NAME:=ROCK 5B
BUILD_DEVICES:= \ BUILD_DEVICES:= \
radxa_rock-5b radxa_rock-5b
endef endef
@ -330,7 +330,7 @@ endef
define U-Boot/rock5a-rk3588s define U-Boot/rock5a-rk3588s
$(U-Boot/Default/rk3588) $(U-Boot/Default/rk3588)
NAME:=Rock 5A NAME:=ROCK 5A
BUILD_DEVICES:= \ BUILD_DEVICES:= \
radxa_rock-5a radxa_rock-5a
endef endef

View File

@ -31,6 +31,7 @@ ALLWIFIBOARDS:= \
arcadyan_aw1000 \ arcadyan_aw1000 \
asus_rt-ax89x \ asus_rt-ax89x \
buffalo_wxr-5950ax12 \ buffalo_wxr-5950ax12 \
cambiumnetworks_xe34 \
cmcc_rm2-6 \ cmcc_rm2-6 \
compex_wpq873 \ compex_wpq873 \
dynalink_dl-wrx36 \ dynalink_dl-wrx36 \
@ -155,6 +156,7 @@ $(eval $(call generate-ipq-wifi-package,8devices_mango,8devices Mango))
$(eval $(call generate-ipq-wifi-package,arcadyan_aw1000,Arcadyan AW1000)) $(eval $(call generate-ipq-wifi-package,arcadyan_aw1000,Arcadyan AW1000))
$(eval $(call generate-ipq-wifi-package,asus_rt-ax89x,Asus RT-AX89X)) $(eval $(call generate-ipq-wifi-package,asus_rt-ax89x,Asus RT-AX89X))
$(eval $(call generate-ipq-wifi-package,buffalo_wxr-5950ax12,Buffalo WXR-5950AX12)) $(eval $(call generate-ipq-wifi-package,buffalo_wxr-5950ax12,Buffalo WXR-5950AX12))
$(eval $(call generate-ipq-wifi-package,cambiumnetworks_xe34,Cambium Networks XE3-4))
$(eval $(call generate-ipq-wifi-package,cmcc_rm2-6,CMCC RM2-6)) $(eval $(call generate-ipq-wifi-package,cmcc_rm2-6,CMCC RM2-6))
$(eval $(call generate-ipq-wifi-package,compex_wpq873,Compex WPQ-873)) $(eval $(call generate-ipq-wifi-package,compex_wpq873,Compex WPQ-873))
$(eval $(call generate-ipq-wifi-package,dynalink_dl-wrx36,Dynalink DL-WRX36)) $(eval $(call generate-ipq-wifi-package,dynalink_dl-wrx36,Dynalink DL-WRX36))

View File

@ -121,6 +121,8 @@
#define RTL8367B_CHIP_NUMBER_REG 0x1300/*GOOD*/ #define RTL8367B_CHIP_NUMBER_REG 0x1300/*GOOD*/
#define RTL8367B_CHIP_VER_REG 0x1301/*GOOD*/ #define RTL8367B_CHIP_VER_REG 0x1301/*GOOD*/
#define RTL8367B_CHIP_VER_RLVID_SHIFT 12/*GOOD*/
#define RTL8367B_CHIP_VER_RLVID_MASK 0xf/*GOOD*/
#define RTL8367B_CHIP_VER_MCID_SHIFT 8/*GOOD*/ #define RTL8367B_CHIP_VER_MCID_SHIFT 8/*GOOD*/
#define RTL8367B_CHIP_VER_MCID_MASK 0xf/*GOOD*/ #define RTL8367B_CHIP_VER_MCID_MASK 0xf/*GOOD*/
#define RTL8367B_CHIP_VER_BOID_SHIFT 4/*GOOD*/ #define RTL8367B_CHIP_VER_BOID_SHIFT 4/*GOOD*/

View File

@ -133,8 +133,8 @@
reg = <6>; reg = <6>;
reset-gpios = <&pio 6 GPIO_ACTIVE_LOW>; reset-gpios = <&pio 6 GPIO_ACTIVE_LOW>;
reset-assert-us = <10000>; reset-assert-us = <15000>;
reset-deassert-us = <50000>; reset-deassert-us = <68000>;
realtek,aldps-enable; realtek,aldps-enable;
}; };

View File

@ -0,0 +1,454 @@
// SPDX-License-Identifier: (GPL-2.0+)
/dts-v1/;
#include "ipq6018.dtsi"
#include "ipq6018-fixed-smps.dtsi"
#include "ipq6018-ess.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
/ {
/* Qualcomm Technologies, Inc. IPQ6018/AP-CP01-C3 */
model = "Cambium Networks XE3-4";
compatible = "cambiumnetworks,xe3-4", "qcom,ipq6018-cp01", "qcom,ipq6018";
aliases {
serial0 = &blsp1_uart3;
sdhc2 = &sdhc_1;
ethernet0 = &dp5;
ethernet1 = &dp4;
label-mac-device = &dp5;
led-boot = &led_status_amber;
led-failsafe = &led_status_amber;
led-running = &led_status_white;
led-upgrade = &led_status_amber;
};
chosen {
stdout-path = "serial0:115200n8";
bootargs-append = " root=/dev/ubiblock0_1";
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
gpios = <&tlmm 19 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
leds {
compatible = "gpio-leds";
pinctrl-0 = <&led_pins>;
pinctrl-names = "default";
led_status_white: status-white {
color = <LED_COLOR_ID_WHITE>;
function = LED_FUNCTION_STATUS;
gpio = <&tlmm 56 GPIO_ACTIVE_LOW>;
};
led_status_amber: status-amber {
color = <LED_COLOR_ID_AMBER>;
function = LED_FUNCTION_STATUS;
gpio = <&tlmm 35 GPIO_ACTIVE_LOW>;
};
};
reg_sd_vmmc: regulator-sdcard-vmmc {
compatible = "regulator-fixed";
regulator-name = "sdcard-vmmc";
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
startup-delay-us = <200>;
gpio = <&tlmm 66 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-names = "default";
pinctrl-0 = <&sd_vmmc_en_default>;
};
};
&blsp1_uart3 {
pinctrl-0 = <&serial_3_pins>;
pinctrl-names = "default";
status = "okay";
};
&blsp1_i2c3 {
pinctrl-0 = <&i2c_1_pins>;
pinctrl-names = "default";
status = "okay";
};
&tlmm {
/* TZ has exclusive control over GPIO20 */
gpio-reserved-ranges = <20 1>;
mdio_pins: mdio-pins {
mdc {
pins = "gpio64";
function = "mdc";
drive-strength = <8>;
bias-pull-up;
};
mdio {
pins = "gpio65";
function = "mdio";
drive-strength = <8>;
bias-pull-up;
};
};
i2c_1_pins: i2c-1-state {
pins = "gpio42", "gpio43";
function = "blsp2_i2c";
drive-strength = <8>;
};
spi_0_pins: spi-0-state {
pins = "gpio38", "gpio39", "gpio40", "gpio41";
function = "blsp0_spi";
drive-strength = <8>;
bias-pull-down;
};
led_pins: led_pins {
leds {
pins = "gpio35", "gpio37", "gpio50";
function = "gpio";
drive-strength = <8>;
bias-pull-down;
};
};
sd_vmmc_en_default: sd-vmmc-en-default-state {
pins = "gpio66";
function = "gpio";
drive-strength = <8>;
bias-pull-down;
};
sd_pins: sd-state {
pins = "gpio62";
function = "gpio";
drive-strength = <8>;
bias-pull-up;
};
};
&pcie_phy {
status = "okay";
};
&pcie0 {
status = "okay";
perst-gpio = <&tlmm 60 GPIO_ACTIVE_LOW>;
bridge@0,0 {
reg = <0x00000000 0 0 0 0>;
#address-cells = <3>;
#size-cells = <2>;
ranges;
wifi@1,0 {
status = "okay";
/* ath11k has no DT compatible for PCI cards */
compatible = "pci17cb,1104";
reg = <0x00010000 0 0 0 0>;
qcom,ath11k-fw-memory-mode = <0>;
qcom,ath11k-calibration-variant = "CambiumNetworks-XE34";
};
};
};
&sdhc_1 {
pinctrl-0 = <&sd_pins>;
pinctrl-names = "default";
status = "okay";
cd-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>;
vqmmc-supply = <&reg_sd_vmmc>;
bus-width = <4>;
};
&edma {
status = "okay";
};
&switch {
status = "okay";
switch_lan_bmp = <(ESS_PORT4 | ESS_PORT5)>;
switch_mac_mode = <MAC_MODE_PSGMII>;
switch_mac_mode2 = <MAC_MODE_SGMII_PLUS>;
qcom,port_phyinfo {
port@4 {
port_id = <4>;
phy_address = <3>;
};
port@5 {
port_id = <5>;
phy_address = <24>;
port_mac_sel = "QGMAC_PORT";
};
};
};
&mdio {
status = "okay";
pinctrl-0 = <&mdio_pins>;
pinctrl-names = "default";
reset-gpios = <&tlmm 75 GPIO_ACTIVE_LOW>;
reset-delay-us = <10000>;
reset-post-delay-us = <50000>;
ethernet-phy-package@0 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "qcom,qca8075-package";
reg = <0>;
qcom,package-mode = "psgmii";
qca8072: ethernet-phy@3 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <3>;
};
};
qca8081: ethernet-phy@24 {
compatible = "ethernet-phy-id004d.d101";
reg = <24>;
reset-gpios = <&tlmm 77 GPIO_ACTIVE_LOW>;
reset-assert-us = <10000>;
reset-deassert-us = <50000>;
};
};
&dp4 {
status = "okay";
phy-handle = <&qca8072>;
nvmem-cell-names = "mac-address";
nvmem-cells = <&eth1addr 0>;
label = "lan2";
};
&dp5 {
status = "okay";
phy-mode = "sgmii";
phy-handle = <&qca8081>;
nvmem-cell-names = "mac-address";
nvmem-cells = <&ethaddr 0>;
label = "lan1";
};
&blsp1_spi1 {
pinctrl-0 = <&spi_0_pins>;
pinctrl-names = "default";
status = "okay";
flash@0 {
#address-cells = <1>;
#size-cells = <1>;
reg = <0>;
/*
* U-boot looks for "n25q128a11" node,
* if we don't have it, it will spit out the following warning:
* "ipq: fdt fixup unable to find compatible node".
*/
linux,modalias = "m25p80", "mx30uf2g18ac", "n25q128a11";
compatible = "micron,n25q128a11", "jedec,spi-nor";
spi-max-frequency = <50000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "0:SBL1";
reg = <0x0 0xc0000>;
read-only;
};
partition@c0000 {
label = "0:MIBIB";
reg = <0xc0000 0x10000>;
read-only;
};
partition@d0000 {
label = "0:BOOTCONFIG";
reg = <0xd0000 0x20000>;
read-only;
};
partition@f0000 {
label = "0:BOOTCONFIG1";
reg = <0xf0000 0x20000>;
read-only;
};
partition@110000 {
label = "0:QSEE";
reg = <0x110000 0x1a0000>;
read-only;
};
partition@2b0000 {
label = "0:QSEE_1";
reg = <0x2b0000 0x1a0000>;
read-only;
};
partition@450000 {
label = "0:DEVCFG";
reg = <0x450000 0x10000>;
read-only;
};
partition@460000 {
label = "mfginfo";
reg = <0x460000 0x10000>;
read-only;
};
partition@470000 {
label = "0:RPM";
reg = <0x470000 0x40000>;
read-only;
};
partition@4b0000 {
label = "0:RPM_1";
reg = <0x4b0000 0x40000>;
read-only;
};
partition@4f0000 {
label = "0:CDT";
reg = <0x4f0000 0x10000>;
read-only;
};
partition@500000 {
label = "0:CDT_1";
reg = <0x500000 0x10000>;
read-only;
};
partition@510000 {
compatible = "u-boot,env";
label = "0:APPSBLENV";
reg = <0x510000 0x10000>;
ethaddr: ethaddr {
#nvmem-cell-cells = <0>;
};
eth1addr: eth1addr {
#nvmem-cell-cells = <0>;
};
eth2addr: eth2addr {
#nvmem-cell-cells = <0>;
};
eth5addr: eth5addr {
#nvmem-cell-cells = <0>;
};
};
partition@520000 {
label = "0:APPSBL";
reg = <0x520000 0xa0000>;
read-only;
};
partition@5c0000 {
label = "0:APPSBL_1";
reg = <0x5c0000 0xa0000>;
read-only;
};
partition@660000 {
label = "0:ART";
reg = <0x660000 0x80000>;
read-only;
};
};
};
};
&qpic_bam {
status = "okay";
};
&qpic_nand {
status = "okay";
nand@0 {
reg = <0>;
nand-ecc-strength = <4>;
nand-ecc-step-size = <512>;
nand-bus-width = <8>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "rootfs";
reg = <0x0 0x6000000>;
};
partition@6000000 {
label = "rootfs_1";
reg = <0x6000000 0x6000000>;
};
partition@c000000 {
label = "NVRAM";
reg = <0xc000000 0x3000000>;
};
partition@f000000 {
label = "crashLog";
reg = <0xf000000 0x1000000>;
};
};
};
};
&wifi {
status = "okay";
qcom,ath11k-calibration-variant = "CambiumNetworks-XE34";
nvmem-cell-names = "mac-address";
nvmem-cells = <&eth2addr>;
};
&qusb_phy_1 {
status = "okay";
};
&usb2 {
status = "okay";
};

View File

@ -0,0 +1,52 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Board does not use companion MP5496 PMIC,
* but rather uses fixed external SMPS.
*/
&rpm {
status = "disabled";
};
&CPU0 {
/delete-property/ cpu-supply;
};
&CPU1 {
/delete-property/ cpu-supply;
};
&CPU2 {
/delete-property/ cpu-supply;
};
&CPU3 {
/delete-property/ cpu-supply;
};
&cpu_opp_table {
opp-864000000 {
opp-microvolt = <1100000>;
};
opp-1056000000 {
opp-microvolt = <1100000>;
};
opp-1320000000 {
opp-microvolt = <1100000>;
};
opp-1440000000 {
opp-microvolt = <1100000>;
};
opp-1608000000 {
opp-microvolt = <1100000>;
};
opp-1800000000 {
opp-microvolt = <1100000>;
};
};

View File

@ -11,6 +11,19 @@ define Device/8devices_mango-dvk
endef endef
TARGET_DEVICES += 8devices_mango-dvk TARGET_DEVICES += 8devices_mango-dvk
define Device/cambiumnetworks_xe3-4
$(call Device/FitImage)
$(call Device/UbiFit)
DEVICE_VENDOR := Cambium Networks
DEVICE_MODEL := XE3-4
BLOCKSIZE := 128k
PAGESIZE := 2048
DEVICE_DTS_CONFIG := config@cp01-c3-xv3-4
SOC := ipq6010
DEVICE_PACKAGES := ipq-wifi-cambiumnetworks_xe34 ath11k-firmware-qcn9074 kmod-ath11k-pci
endef
TARGET_DEVICES += cambiumnetworks_xe3-4
define Device/netgear_wax214 define Device/netgear_wax214
$(call Device/FitImage) $(call Device/FitImage)
$(call Device/UbiFit) $(call Device/UbiFit)

View File

@ -14,6 +14,9 @@ ipq60xx_setup_interfaces()
8devices,mango-dvk) 8devices,mango-dvk)
ucidef_set_interfaces_lan_wan "lan1 lan2" "wan" ucidef_set_interfaces_lan_wan "lan1 lan2" "wan"
;; ;;
cambiumnetworks,xe3-4)
ucidef_set_interface_lan "lan1 lan2" "dhcp"
;;
netgear,wax214) netgear,wax214)
ucidef_set_interfaces_lan_wan "lan" ucidef_set_interfaces_lan_wan "lan"
;; ;;

View File

@ -12,6 +12,9 @@ case "$FIRMWARE" in
8devices,mango-dvk) 8devices,mango-dvk)
caldata_extract "0:ART" 0x1000 0x20000 caldata_extract "0:ART" 0x1000 0x20000
;; ;;
cambiumnetworks,xe3-4)
caldata_extract "0:ART" 0x1000 0x10000
;;
netgear,wax214) netgear,wax214)
caldata_extract "0:art" 0x1000 0x10000 caldata_extract "0:art" 0x1000 0x10000
;; ;;
@ -20,6 +23,13 @@ case "$FIRMWARE" in
;; ;;
esac esac
;; ;;
"ath11k/QCN9074/hw1.0/cal-pci-0000:01:00.0.bin")
case "$board" in
cambiumnetworks,xe3-4)
caldata_extract "0:ART" 0x26800 0x20000
;;
esac
;;
*) *)
exit 1 exit 1
;; ;;

View File

@ -33,6 +33,10 @@ EOF
platform_do_upgrade() { platform_do_upgrade() {
case "$(board_name)" in case "$(board_name)" in
cambiumnetworks,xe3-4)
fw_setenv bootcount 0
nand_do_upgrade "$1"
;;
netgear,wax214) netgear,wax214)
nand_do_upgrade "$1" nand_do_upgrade "$1"
;; ;;

View File

@ -11,9 +11,9 @@ PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=$(PROJECT_GIT)/project/firmware-utils.git PKG_SOURCE_URL=$(PROJECT_GIT)/project/firmware-utils.git
PKG_SOURCE_DATE:=2024-06-30 PKG_SOURCE_DATE:=2024-08-09
PKG_SOURCE_VERSION:=f35781fcd2c3c914247fdb941dc6682af5b98982 PKG_SOURCE_VERSION:=26c7f054b5fe8408d64ca7b06372b303cf888245
PKG_MIRROR_HASH:=02f6a4a28699f86572b05cc9d039922d72609a847c3e5978a5031de2ebf0cc6b PKG_MIRROR_HASH:=7fad7164ae09cc6f250f71f97c5d5f144d0edebe1c46f116ee5cfc7099d3903e
include $(INCLUDE_DIR)/host-build.mk include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/cmake.mk include $(INCLUDE_DIR)/cmake.mk

View File

@ -3,12 +3,12 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=mold PKG_NAME:=mold
PKG_VERSION:=2.31.0 PKG_VERSION:=2.33.0
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL_FILE:=v$(PKG_VERSION).tar.gz PKG_SOURCE_URL_FILE:=v$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/rui314/mold/archive/refs/tags PKG_SOURCE_URL:=https://github.com/rui314/mold/archive/refs/tags
PKG_HASH:=3dc3af83a5d22a4b29971bfad17261851d426961c665480e2ca294e5c74aa1e5 PKG_HASH:=37b3aacbd9b6accf581b92ba1a98ca418672ae330b78fe56ae542c2dcb10a155
include $(INCLUDE_DIR)/host-build.mk include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/cmake.mk include $(INCLUDE_DIR)/cmake.mk