diff --git a/package/firmware/ipq-wifi/Makefile b/package/firmware/ipq-wifi/Makefile index c2d2e0e023..3bcf064cfe 100644 --- a/package/firmware/ipq-wifi/Makefile +++ b/package/firmware/ipq-wifi/Makefile @@ -25,6 +25,7 @@ ALLWIFIBOARDS:= \ dlink_dap2610 \ engenius_emd1 \ ezviz_cs-w3-wd1200g-eup \ + hiwifi_c526a \ hugo_ac1200 \ linksys_ea8300 \ mobipromo_cm520-79f \ @@ -96,6 +97,7 @@ $(eval $(call generate-ipq-wifi-package,avm_fritzrepeater-1200,AVM FRITZRepeater $(eval $(call generate-ipq-wifi-package,dlink_dap2610,D-Link DAP-2610)) $(eval $(call generate-ipq-wifi-package,engenius_emd1,EnGenius EMD1)) $(eval $(call generate-ipq-wifi-package,ezviz_cs-w3-wd1200g-eup,EZVIZ CS-W3-WD1200G EUP)) +$(eval $(call generate-ipq-wifi-package,hiwifi_c526a,HiWiFi C526A)) $(eval $(call generate-ipq-wifi-package,hugo_ac1200,Hugo AC1200)) $(eval $(call generate-ipq-wifi-package,linksys_ea8300,Linksys EA8300)) $(eval $(call generate-ipq-wifi-package,mobipromo_cm520-79f,MobiPromo CM520-79F)) diff --git a/package/firmware/ipq-wifi/board-hiwifi_c526a.qca4019 b/package/firmware/ipq-wifi/board-hiwifi_c526a.qca4019 new file mode 100644 index 0000000000..ce91af5b14 Binary files /dev/null and b/package/firmware/ipq-wifi/board-hiwifi_c526a.qca4019 differ diff --git a/target/linux/ipq40xx/base-files/etc/board.d/02_network b/target/linux/ipq40xx/base-files/etc/board.d/02_network index 1307fd8dda..6c15767c76 100755 --- a/target/linux/ipq40xx/base-files/etc/board.d/02_network +++ b/target/linux/ipq40xx/base-files/etc/board.d/02_network @@ -61,6 +61,10 @@ ipq40xx_setup_interfaces() ucidef_add_switch "switch0" \ "0t@eth0" "3:lan" "4:lan" "5:wan" ;; + hiwifi,c526a) + ucidef_add_switch "switch0" \ + "0t@eth0" "2:lan" "3:lan" "4:lan" "5:wan" + ;; hugo,ac1200) ucidef_add_switch "switch0" \ "0t@eth0" "5:wan" "3:lan" @@ -120,6 +124,10 @@ ipq40xx_setup_macs() ezviz,cs-w3-wd1200g-eup) label_mac=$(mtd_get_mac_binary "ART" 0x6) ;; + hiwifi,c526a) + lan_mac=$(mtd_get_mac_ascii bdinfo "Vfac_mac ") + wan_mac=$(macaddr_add "$lan_mac" 1) + ;; linksys,ea6350v3) wan_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr) lan_mac=$(macaddr_add "$wan_mac" 1) diff --git a/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata index d37b3c8e7e..1c1c21a222 100644 --- a/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata +++ b/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata @@ -199,6 +199,10 @@ case "$FIRMWARE" in ath10kcal_extract "ART" 4096 12064 ath10kcal_patch_mac_crc $(macaddr_add $(mtd_get_mac_ascii u-boot-env ethaddr) +2) ;; + hiwifi,c526a) + ath10kcal_extract "ART" 4096 12064 + ath10kcal_patch_mac_crc $(macaddr_add $(mtd_get_mac_ascii bdinfo "Vfac_mac ") +2) + ;; linksys,ea8300) ath10kcal_extract "ART" 4096 12064 ath10kcal_patch_mac_crc $(macaddr_add "$(cat /sys/class/net/eth0/address)" +2) @@ -283,6 +287,10 @@ case "$FIRMWARE" in ath10kcal_extract "ART" 20480 12064 ath10kcal_patch_mac_crc $(macaddr_add $(mtd_get_mac_ascii u-boot-env ethaddr) +3) ;; + hiwifi,c526a) + ath10kcal_extract "ART" 20480 12064 + ath10kcal_patch_mac_crc $(macaddr_add $(mtd_get_mac_ascii bdinfo "Vfac_mac ") +3) + ;; linksys,ea8300) ath10kcal_extract "ART" 20480 12064 ath10kcal_patch_mac_crc $(macaddr_add "$(cat /sys/class/net/eth0/address)" +3) diff --git a/target/linux/ipq40xx/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac b/target/linux/ipq40xx/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac new file mode 100644 index 0000000000..0be00f5ebd --- /dev/null +++ b/target/linux/ipq40xx/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac @@ -0,0 +1,21 @@ +#!/bin/ash + +[ "$ACTION" = "add" ] || exit 0 + +PHYNBR=${DEVPATH##*/phy} + +[ -n $PHYNBR ] || exit 0 + +. /lib/functions.sh +. /lib/functions/system.sh + +board=$(board_name) + +case "$board" in + hiwifi,c526a) + [ "$PHYNBR" -eq 0 ] && \ + mtd_get_mac_ascii bdinfo "Vfac_mac " > /sys${DEVPATH}/macaddress + ;; + *) + ;; +esac diff --git a/target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh b/target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh index 00b56a3e64..7f1554cff4 100644 --- a/target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh +++ b/target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh @@ -7,7 +7,6 @@ preinit_set_mac_address() { asus,map-ac2200) base_mac=$(mtd_get_mac_binary_ubi Factory 4102) ip link set dev eth0 address $(macaddr_add "$base_mac" +1) - ip link set dev eth1 address $(macaddr_add "$base_mac" +3) ;; asus,rt-acrh17|\ asus,rt-ac58u|\ @@ -18,12 +17,10 @@ preinit_set_mac_address() { ;; ezviz,cs-w3-wd1200g-eup) ip link set dev eth0 address $(mtd_get_mac_binary "ART" 6) - ip link set dev eth1 address $(mtd_get_mac_binary "ART" 0) ;; linksys,ea8300) base_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr) ip link set dev eth0 address "${base_mac}" - ip link set dev eth1 address $(macaddr_add "${base_mac}" 1) ;; meraki,mr33) mac_lan=$(get_mac_binary "/sys/bus/i2c/devices/0-0050/eeprom" 102) @@ -32,7 +29,6 @@ preinit_set_mac_address() { zyxel,nbg6617) base_mac=$(cat /sys/class/net/eth0/address) ip link set dev eth0 address $(macaddr_add "$base_mac" +2) - ip link set dev eth1 address $(macaddr_add "$base_mac" +3) ;; esac } diff --git a/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh b/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh index 5fca4bdbde..c2da688d92 100644 --- a/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh +++ b/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh @@ -166,6 +166,7 @@ platform_do_upgrade() { avm,fritzrepeater-1200 |\ avm,fritzrepeater-3000 |\ cilab,meshpoint-one |\ + hiwifi,c526a |\ mobipromo,cm520-79f |\ qxwlan,e2600ac-c2) nand_do_upgrade "$ARGV" diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-c526a.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-c526a.dts new file mode 100644 index 0000000000..2d4b4ea08c --- /dev/null +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-c526a.dts @@ -0,0 +1,325 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "qcom-ipq4019.dtsi" +#include +#include +#include + +/ { + + model = "HiWiFi C526A"; + compatible = "hiwifi,c526a"; + + aliases { + led-boot = &led_boot; + led-failsafe = &led_boot; + led-running = &led_sys; + led-upgrade = &led_sys; + }; + + chosen { + bootargs-append = " ubi.mtd=ubi root=/dev/ubiblock0_1"; + }; + + soc { + rng@22000 { + status = "okay"; + }; + + mdio@90000 { + status = "okay"; + pinctrl-0 = <&mdio_pins>; + pinctrl-names = "default"; + }; + + ess-psgmii@98000 { + status = "okay"; + }; + + tcsr@1949000 { + compatible = "qcom,tcsr"; + reg = <0x1949000 0x100>; + qcom,wifi_glb_cfg = ; + }; + + tcsr@194b000 { + compatible = "qcom,tcsr"; + reg = <0x194b000 0x100>; + qcom,usb-hsphy-mode-select = ; + }; + + ess_tcsr@1953000 { + compatible = "qcom,tcsr"; + reg = <0x1953000 0x1000>; + qcom,ess-interface-select = ; + }; + + tcsr@1957000 { + compatible = "qcom,tcsr"; + reg = <0x1957000 0x100>; + qcom,wifi_noc_memtype_m0_m2 = ; + }; + + usb2@60f8800 { + status = "okay"; + }; + + usb3@8af8800 { + status = "okay"; + }; + + crypto@8e3a000 { + status = "okay"; + }; + + watchdog@b017000 { + status = "okay"; + }; + + ess-switch@c000000 { + status = "okay"; + }; + + edma@c080000 { + status = "okay"; + }; + }; + + leds { + compatible = "gpio-leds"; + + led_sys: blue { + label = "c526a:blue:sys"; + gpios = <&tlmm 36 GPIO_ACTIVE_LOW>; + }; + + led_boot: red { + label = "c526a:red:sys"; + gpios = <&tlmm 40 GPIO_ACTIVE_LOW>; + panic-indicator; + }; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; +}; + +&blsp_dma { + status = "okay"; +}; + +&blsp1_spi1 { + status = "okay"; + + flash@0 { + reg = <0>; + compatible = "jedec,spi-nor"; + spi-max-frequency = <24000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "SBL1"; + reg = <0x0 0x40000>; + read-only; + }; + + partition@40000 { + label = "MIBIB"; + reg = <0x40000 0x20000>; + read-only; + }; + + partition@60000 { + label = "QSEE"; + reg = <0x60000 0x60000>; + read-only; + }; + + partition@c0000 { + label = "CDT"; + reg = <0xc0000 0x10000>; + read-only; + }; + + partition@d0000 { + label = "DDRPARAMS"; + reg = <0xd0000 0x10000>; + read-only; + }; + + partition@e0000 { + label = "APPSBLENV"; + reg = <0xe0000 0x10000>; + read-only; + }; + + partition@f0000 { + label = "APPSBL"; + reg = <0xf0000 0x80000>; + read-only; + }; + + partition@170000 { + label = "ART"; + reg = <0x170000 0x10000>; + read-only; + }; + + partition@180000 { + label = "bdinfo"; + reg = <0x180000 0x10000>; + read-only; + }; + + partition@190000 { + label = "debug"; + reg = <0x190000 0x10000>; + read-only; + }; + + partition@1a0000 { + label = "oem"; + reg = <0x1a0000 0x20000>; + read-only; + }; + + factory: partition@1c0000 { + label = "Factory"; + reg = <0x1c0000 0x10000>; + read-only; + }; + + partition@1d0000 { + label = "hw_panic"; + reg = <0x1d0000 0x10000>; + read-only; + }; + + partition@1e0000 { + label = "upgrade_config"; + reg = <0x1e0000 0x10000>; + read-only; + }; + }; + }; +}; + +&blsp1_uart1 { + pinctrl-0 = <&serial_0_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + +&cryptobam { + status = "okay"; +}; + +&nand { + status = "okay"; + + nand@0 { + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "ubi"; + reg = <0x0 0x2c00000>; + }; + + partition@2c00000 { + label = "hiwifi_rootfs"; + reg = <0x2c00000 0x2c00000>; + }; + + partition@5800000 { + label = "hiwifi_opt"; + reg = <0x5800000 0x2800000>; + }; + }; + }; +}; + +&pcie0 { + status = "okay"; + perst-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; + wake-gpios = <&tlmm 50 GPIO_ACTIVE_LOW>; + + bridge@0,0 { + reg = <0x00000000 0 0 0 0>; + #address-cells = <3>; + #size-cells = <2>; + ranges; + + wifi@1,0 { + compatible = "mediatek,mt76"; + reg = <0x0000 0 0 0 0>; + mediatek,mtd-eeprom = <&factory 0x0000>; + ieee80211-freq-limit = <2400000 2500000>; + }; + }; +}; + +&qpic_bam { + status = "okay"; +}; + +&tlmm { + mdio_pins: mdio_pinmux { + mux_1 { + pins = "gpio6"; + function = "mdio"; + bias-pull-up; + }; + + mux_2 { + pins = "gpio7"; + function = "mdc"; + bias-pull-up; + }; + }; + + serial_0_pins: serial0-pinmux { + mux { + pins = "gpio16", "gpio17"; + function = "blsp_uart0"; + bias-disable; + }; + }; +}; + +&usb3_ss_phy { + status = "okay"; +}; + +&usb3_hs_phy { + status = "okay"; +}; + +&usb2_hs_phy { + status = "okay"; +}; + +&wifi0 { + status = "okay"; + ieee80211-freq-limit = <5470000 5875000>; + qcom,ath10k-calibration-variant = "C526A"; +}; + +&wifi1 { + status = "okay"; + ieee80211-freq-limit = <5170000 5350000>; + qcom,ath10k-calibration-variant = "C526A"; +}; diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-c526a.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-c526a.dts new file mode 100644 index 0000000000..2d4b4ea08c --- /dev/null +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-c526a.dts @@ -0,0 +1,325 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "qcom-ipq4019.dtsi" +#include +#include +#include + +/ { + + model = "HiWiFi C526A"; + compatible = "hiwifi,c526a"; + + aliases { + led-boot = &led_boot; + led-failsafe = &led_boot; + led-running = &led_sys; + led-upgrade = &led_sys; + }; + + chosen { + bootargs-append = " ubi.mtd=ubi root=/dev/ubiblock0_1"; + }; + + soc { + rng@22000 { + status = "okay"; + }; + + mdio@90000 { + status = "okay"; + pinctrl-0 = <&mdio_pins>; + pinctrl-names = "default"; + }; + + ess-psgmii@98000 { + status = "okay"; + }; + + tcsr@1949000 { + compatible = "qcom,tcsr"; + reg = <0x1949000 0x100>; + qcom,wifi_glb_cfg = ; + }; + + tcsr@194b000 { + compatible = "qcom,tcsr"; + reg = <0x194b000 0x100>; + qcom,usb-hsphy-mode-select = ; + }; + + ess_tcsr@1953000 { + compatible = "qcom,tcsr"; + reg = <0x1953000 0x1000>; + qcom,ess-interface-select = ; + }; + + tcsr@1957000 { + compatible = "qcom,tcsr"; + reg = <0x1957000 0x100>; + qcom,wifi_noc_memtype_m0_m2 = ; + }; + + usb2@60f8800 { + status = "okay"; + }; + + usb3@8af8800 { + status = "okay"; + }; + + crypto@8e3a000 { + status = "okay"; + }; + + watchdog@b017000 { + status = "okay"; + }; + + ess-switch@c000000 { + status = "okay"; + }; + + edma@c080000 { + status = "okay"; + }; + }; + + leds { + compatible = "gpio-leds"; + + led_sys: blue { + label = "c526a:blue:sys"; + gpios = <&tlmm 36 GPIO_ACTIVE_LOW>; + }; + + led_boot: red { + label = "c526a:red:sys"; + gpios = <&tlmm 40 GPIO_ACTIVE_LOW>; + panic-indicator; + }; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; +}; + +&blsp_dma { + status = "okay"; +}; + +&blsp1_spi1 { + status = "okay"; + + flash@0 { + reg = <0>; + compatible = "jedec,spi-nor"; + spi-max-frequency = <24000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "SBL1"; + reg = <0x0 0x40000>; + read-only; + }; + + partition@40000 { + label = "MIBIB"; + reg = <0x40000 0x20000>; + read-only; + }; + + partition@60000 { + label = "QSEE"; + reg = <0x60000 0x60000>; + read-only; + }; + + partition@c0000 { + label = "CDT"; + reg = <0xc0000 0x10000>; + read-only; + }; + + partition@d0000 { + label = "DDRPARAMS"; + reg = <0xd0000 0x10000>; + read-only; + }; + + partition@e0000 { + label = "APPSBLENV"; + reg = <0xe0000 0x10000>; + read-only; + }; + + partition@f0000 { + label = "APPSBL"; + reg = <0xf0000 0x80000>; + read-only; + }; + + partition@170000 { + label = "ART"; + reg = <0x170000 0x10000>; + read-only; + }; + + partition@180000 { + label = "bdinfo"; + reg = <0x180000 0x10000>; + read-only; + }; + + partition@190000 { + label = "debug"; + reg = <0x190000 0x10000>; + read-only; + }; + + partition@1a0000 { + label = "oem"; + reg = <0x1a0000 0x20000>; + read-only; + }; + + factory: partition@1c0000 { + label = "Factory"; + reg = <0x1c0000 0x10000>; + read-only; + }; + + partition@1d0000 { + label = "hw_panic"; + reg = <0x1d0000 0x10000>; + read-only; + }; + + partition@1e0000 { + label = "upgrade_config"; + reg = <0x1e0000 0x10000>; + read-only; + }; + }; + }; +}; + +&blsp1_uart1 { + pinctrl-0 = <&serial_0_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + +&cryptobam { + status = "okay"; +}; + +&nand { + status = "okay"; + + nand@0 { + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "ubi"; + reg = <0x0 0x2c00000>; + }; + + partition@2c00000 { + label = "hiwifi_rootfs"; + reg = <0x2c00000 0x2c00000>; + }; + + partition@5800000 { + label = "hiwifi_opt"; + reg = <0x5800000 0x2800000>; + }; + }; + }; +}; + +&pcie0 { + status = "okay"; + perst-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; + wake-gpios = <&tlmm 50 GPIO_ACTIVE_LOW>; + + bridge@0,0 { + reg = <0x00000000 0 0 0 0>; + #address-cells = <3>; + #size-cells = <2>; + ranges; + + wifi@1,0 { + compatible = "mediatek,mt76"; + reg = <0x0000 0 0 0 0>; + mediatek,mtd-eeprom = <&factory 0x0000>; + ieee80211-freq-limit = <2400000 2500000>; + }; + }; +}; + +&qpic_bam { + status = "okay"; +}; + +&tlmm { + mdio_pins: mdio_pinmux { + mux_1 { + pins = "gpio6"; + function = "mdio"; + bias-pull-up; + }; + + mux_2 { + pins = "gpio7"; + function = "mdc"; + bias-pull-up; + }; + }; + + serial_0_pins: serial0-pinmux { + mux { + pins = "gpio16", "gpio17"; + function = "blsp_uart0"; + bias-disable; + }; + }; +}; + +&usb3_ss_phy { + status = "okay"; +}; + +&usb3_hs_phy { + status = "okay"; +}; + +&usb2_hs_phy { + status = "okay"; +}; + +&wifi0 { + status = "okay"; + ieee80211-freq-limit = <5470000 5875000>; + qcom,ath10k-calibration-variant = "C526A"; +}; + +&wifi1 { + status = "okay"; + ieee80211-freq-limit = <5170000 5350000>; + qcom,ath10k-calibration-variant = "C526A"; +}; diff --git a/target/linux/ipq40xx/image/Makefile b/target/linux/ipq40xx/image/Makefile index 107e0d250a..718caf340c 100644 --- a/target/linux/ipq40xx/image/Makefile +++ b/target/linux/ipq40xx/image/Makefile @@ -300,6 +300,18 @@ define Device/glinet_gl-b1300 endef TARGET_DEVICES += glinet_gl-b1300 +define Device/hiwifi_c526a + $(call Device/FitzImage) + $(call Device/UbiFit) + DEVICE_VENDOR := HiWiFi + DEVICE_MODEL := C526A + DEVICE_DTS := qcom-ipq4019-c526a + BLOCKSIZE := 128k + PAGESIZE := 2048 + DEVICE_PACKAGES := ipq-wifi-hiwifi_c526a kmod-mt7615e +endef +TARGET_DEVICES += hiwifi_c526a + define Device/hugo_ac1200 $(call Device/FitImage) DEVICE_VENDOR := Hugo diff --git a/target/linux/ipq40xx/patches-4.14/304-spi-nor-add-en25qh16.patch b/target/linux/ipq40xx/patches-4.14/304-spi-nor-add-en25qh16.patch new file mode 100644 index 0000000000..2b0ed83824 --- /dev/null +++ b/target/linux/ipq40xx/patches-4.14/304-spi-nor-add-en25qh16.patch @@ -0,0 +1,10 @@ +--- a/drivers/mtd/spi-nor/spi-nor.c ++++ b/drivers/mtd/spi-nor/spi-nor.c +@@ -955,6 +955,7 @@ static const struct flash_info spi_nor_i + { "en25p64", INFO(0x1c2017, 0, 64 * 1024, 128, 0) }, + { "en25q64", INFO(0x1c3017, 0, 64 * 1024, 128, SECT_4K) }, + { "en25q128", INFO(0x1c3018, 0, 64 * 1024, 256, SECT_4K) }, ++ { "en25qh16", INFO(0x1c7015, 0, 64 * 1024, 32, SECT_4K | SPI_NOR_DUAL_READ) }, + { "en25qh32", INFO(0x1c7016, 0, 64 * 1024, 64, 0) }, + { "en25qh64", INFO(0x1c7017, 0, 64 * 1024, 128, 0) }, + { "en25qh128", INFO(0x1c7018, 0, 64 * 1024, 256, 0) }, diff --git a/target/linux/ipq40xx/patches-4.14/901-arm-boot-add-dts-files.patch b/target/linux/ipq40xx/patches-4.14/901-arm-boot-add-dts-files.patch index 41b65d57a3..4776d7557f 100644 --- a/target/linux/ipq40xx/patches-4.14/901-arm-boot-add-dts-files.patch +++ b/target/linux/ipq40xx/patches-4.14/901-arm-boot-add-dts-files.patch @@ -10,7 +10,7 @@ Signed-off-by: John Crispin --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -697,7 +697,36 @@ dtb-$(CONFIG_ARCH_QCOM) += \ +@@ -697,7 +697,37 @@ dtb-$(CONFIG_ARCH_QCOM) += \ qcom-apq8074-dragonboard.dtb \ qcom-apq8084-ifc6540.dtb \ qcom-apq8084-mtp.dtb \ @@ -29,6 +29,7 @@ Signed-off-by: John Crispin qcom-ipq4019-ap.dk01.1-c1.dtb \ + qcom-ipq4019-a62.dtb \ + qcom-ipq4019-ap.dk04.1-c1.dtb \ ++ qcom-ipq4019-c526a.dtb \ + qcom-ipq4019-cm520-79f.dtb \ + qcom-ipq4019-hugo-ac1200.dtb \ + qcom-ipq4019-fritzbox-7530.dtb \ diff --git a/target/linux/ipq40xx/patches-4.19/305-spi-nor-add-en25qh16.patch b/target/linux/ipq40xx/patches-4.19/305-spi-nor-add-en25qh16.patch new file mode 100644 index 0000000000..8006ff3944 --- /dev/null +++ b/target/linux/ipq40xx/patches-4.19/305-spi-nor-add-en25qh16.patch @@ -0,0 +1,10 @@ +--- a/drivers/mtd/spi-nor/spi-nor.c ++++ b/drivers/mtd/spi-nor/spi-nor.c +@@ -995,6 +995,7 @@ static const struct flash_info spi_nor_i + { "en25p64", INFO(0x1c2017, 0, 64 * 1024, 128, 0) }, + { "en25q64", INFO(0x1c3017, 0, 64 * 1024, 128, SECT_4K) }, + { "en25q128", INFO(0x1c3018, 0, 64 * 1024, 256, SECT_4K) }, ++ { "en25qh16", INFO(0x1c7015, 0, 64 * 1024, 32, SECT_4K | SPI_NOR_DUAL_READ) }, + { "en25qh32", INFO(0x1c7016, 0, 64 * 1024, 64, 0) }, + { "en25qh64", INFO(0x1c7017, 0, 64 * 1024, 128, 0) }, + { "en25qh128", INFO(0x1c7018, 0, 64 * 1024, 256, 0) }, diff --git a/target/linux/ipq40xx/patches-4.19/901-arm-boot-add-dts-files.patch b/target/linux/ipq40xx/patches-4.19/901-arm-boot-add-dts-files.patch index 502ddc087f..371a44c352 100644 --- a/target/linux/ipq40xx/patches-4.19/901-arm-boot-add-dts-files.patch +++ b/target/linux/ipq40xx/patches-4.19/901-arm-boot-add-dts-files.patch @@ -10,7 +10,7 @@ Signed-off-by: John Crispin --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -785,11 +785,48 @@ dtb-$(CONFIG_ARCH_QCOM) += \ +@@ -785,11 +785,49 @@ dtb-$(CONFIG_ARCH_QCOM) += \ qcom-apq8074-dragonboard.dtb \ qcom-apq8084-ifc6540.dtb \ qcom-apq8084-mtp.dtb \ @@ -37,6 +37,7 @@ Signed-off-by: John Crispin qcom-ipq4019-ap.dk07.1-c1.dtb \ qcom-ipq4019-ap.dk07.1-c2.dtb \ + qcom-ipq4019-a62.dtb \ ++ qcom-ipq4019-c526a.dtb \ + qcom-ipq4019-cm520-79f.dtb \ + qcom-ipq4019-hugo-ac1200.dtb \ + qcom-ipq4019-fritzbox-7530.dtb \