From 9f1b8f18120385039a4ced480096b7e9160a18fd Mon Sep 17 00:00:00 2001 From: AmadeusGhost <42570690+AmadeusGhost@users.noreply.github.com> Date: Tue, 25 Feb 2020 17:26:06 +0800 Subject: [PATCH] ipq40xx: sync source code This commit sync ipq40xx from openwrt and x-wrt. 1. ac58u: use ath10k-ct-smallbuffers instead of ath10k, avoid memory explosion. 2. hugo-ac1200: It seems that only one device, so move the content of dtsi to dts. Signed-off-by: AmadeusGhost ipq40xx: add support for ASUS RT-ACRH17/RT-AC82U/RT-AC42U Signed-off-by: Chen Minqiang ipq40xx: easy install for ASUS RT-AC58U/RT-ACRH13 This patch make it easy to flash via web upgrade from factory firmware. idea from 981213 Signed-off-by: Chen Minqiang --- .../files/lib/functions/uci-defaults.sh | 9 + package/firmware/ipq-wifi/Makefile | 80 +++- .../ipq-wifi/board-aruba_ap-303.qca4019 | Bin 0 -> 24316 bytes ...crh17.bin => board-asus_rt-acrh17.qca4019} | Bin 12164 -> 12164 bytes ...n => board-avm_fritzrepeater-1200.qca4019} | Bin 24324 -> 24332 bytes .../ipq-wifi/board-dlink_dap2610.qca4019 | Bin 0 -> 24316 bytes ...ap1300.bin => board-engenius_emd1.qca4019} | Bin 24324 -> 24316 bytes .../board-ezviz_cs-w3-wd1200g-eup.qca4019 | Bin 0 -> 24340 bytes ...o_ac1200.bin => board-hugo_ac1200.qca4019} | Bin .../ipq-wifi/board-linksys_ea8300.qca4019 | Bin 0 -> 97236 bytes .../ipq-wifi/board-linksys_ea8300.qca9888 | Bin 0 -> 48628 bytes .../ipq-wifi/board-qxwlan_e2600ac.qca4019 | Bin 0 -> 36464 bytes .../ipq40xx/base-files/etc/board.d/01_leds | 21 +- .../ipq40xx/base-files/etc/board.d/02_network | 90 +++- .../base-files/etc/board.d/03_gpio_switches | 3 + .../etc/hotplug.d/firmware/11-ath10k-caldata | 122 ++++- target/linux/ipq40xx/base-files/etc/inittab | 1 + .../lib/preinit/05_set_iface_mac_ipq40xx.sh | 14 +- .../preinit/06_set_preinit_iface_ipq40xx.sh | 3 + .../base-files/lib/upgrade/platform.sh | 40 +- target/linux/ipq40xx/config-4.19 | 2 + .../arch/arm/boot/dts/qcom-ipq4018-a42.dts | 14 +- .../arm/boot/dts/qcom-ipq4018-ap120c-ac.dts | 344 ++++++++++++++ .../arm/boot/dts/qcom-ipq4018-ea6350v3.dts | 14 + .../arm/boot/dts/qcom-ipq4018-eap1300.dts | 17 +- .../arm/boot/dts/qcom-ipq4018-ens620ext.dts | 272 +++++++++++ .../arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi | 1 + ...040.dts => qcom-ipq4018-fritzbox-4040.dts} | 12 + .../arm/boot/dts/qcom-ipq4018-jalapeno.dts | 22 +- .../arm/boot/dts/qcom-ipq4018-nbg6617.dts | 15 + .../arm/boot/dts/qcom-ipq4018-rt-ac58u.dts | 38 +- .../arm/boot/dts/qcom-ipq4018-wre6606.dts | 1 + .../arch/arm/boot/dts/qcom-ipq4019-a62.dts | 3 +- .../arm/boot/dts/qcom-ipq4019-ap.dk04.1.dtsi | 5 +- .../arm/boot/dts/qcom-ipq4019-e2600ac-c1.dts | 87 ++++ .../arm/boot/dts/qcom-ipq4019-e2600ac-c2.dts | 120 +++++ ...-ac1200.dtsi => qcom-ipq4019-e2600ac.dtsi} | 52 ++- .../arch/arm/boot/dts/qcom-ipq4019-ea8300.dts | 391 ++++++++++++++++ .../boot/dts/qcom-ipq4019-fritzbox-7530.dts | 299 +++++++++++++ .../dts/qcom-ipq4019-fritzrepeater-1200.dts | 263 +++++++++++ .../dts/qcom-ipq4019-fritzrepeater-3000.dts | 260 +++++++++++ .../arm/boot/dts/qcom-ipq4019-hugo-ac1200.dts | 248 +++++++++- .../arm/boot/dts/qcom-ipq4019-map-ac2200.dts | 2 + .../arm/boot/dts/qcom-ipq4019-r619ac-128m.dts | 2 +- .../arch/arm/boot/dts/qcom-ipq4019-r619ac.dts | 2 +- .../arch/arm/boot/dts/qcom-ipq4028-wpj428.dts | 23 +- .../arm/boot/dts/qcom-ipq4029-gl-b1300.dts | 7 +- .../arch/arm/boot/dts/qcom-ipq4029-mr33.dts | 14 + .../arch/arm/boot/dts/qcom-ipq4018-a42.dts | 1 + .../dts/qcom-ipq4018-cs-w3-wd1200g-eup.dts | 243 ++++++++++ .../arm/boot/dts/qcom-ipq4018-dap-2610.dts | 255 +++++++++++ .../arm/boot/dts/qcom-ipq4018-ea6350v3.dts | 14 + .../arm/boot/dts/qcom-ipq4018-eap1300.dts | 11 + .../arch/arm/boot/dts/qcom-ipq4018-emd1.dts | 242 ++++++++++ .../arm/boot/dts/qcom-ipq4018-ens620ext.dts | 11 + .../arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi | 15 +- ...040.dts => qcom-ipq4018-fritzbox-4040.dts} | 12 + .../arm/boot/dts/qcom-ipq4018-nbg6617.dts | 15 + .../arm/boot/dts/qcom-ipq4018-rt-ac58u.dts | 38 +- .../arm/boot/dts/qcom-ipq4018-wre6606.dts | 1 + .../arch/arm/boot/dts/qcom-ipq4019-a62.dts | 3 +- .../arm/boot/dts/qcom-ipq4019-ap.dk04.1.dtsi | 5 +- .../arm/boot/dts/qcom-ipq4019-e2600ac-c1.dts | 87 ++++ .../arm/boot/dts/qcom-ipq4019-e2600ac-c2.dts | 120 +++++ ...-ac1200.dtsi => qcom-ipq4019-e2600ac.dtsi} | 56 ++- .../arch/arm/boot/dts/qcom-ipq4019-ea8300.dts | 391 ++++++++++++++++ .../dts/qcom-ipq4019-fritzrepeater-1200.dts | 1 + .../arm/boot/dts/qcom-ipq4019-hugo-ac1200.dts | 248 +++++++++- .../boot/dts/qcom-ipq4019-linksys_ea8300.dts | 6 - .../dts/qcom-ipq4019-qxwlan-e2600ac-c1.dts | 9 +- .../dts/qcom-ipq4019-qxwlan-e2600ac-c2.dts | 9 +- .../boot/dts/qcom-ipq4019-qxwlan-e2600ac.dtsi | 2 + .../arm/boot/dts/qcom-ipq4019-u4019-32m.dts | 86 ++++ .../arch/arm/boot/dts/qcom-ipq4019-u4019.dtsi | 226 ++++++++++ .../dts/qcom-ipq4019-unielec-u4019-32m.dts | 9 +- .../boot/dts/qcom-ipq4019-unielec-u4019.dtsi | 2 + .../arch/arm/boot/dts/qcom-ipq4019-wpj419.dts | 6 +- .../arch/arm/boot/dts/qcom-ipq4028-wpj428.dts | 9 + .../arch/arm/boot/dts/qcom-ipq4029-ap-303.dts | 422 +++++++++++++++++ .../arm/boot/dts/qcom-ipq4029-ap-303h.dts | 423 ++++++++++++++++++ .../arm/boot/dts/qcom-ipq4029-gl-b1300.dts | 3 + .../arch/arm/boot/dts/qcom-ipq4029-mr33.dts | 15 + target/linux/ipq40xx/image/Makefile | 269 ++++++++--- .../901-arm-boot-add-dts-files.patch | 12 +- .../901-arm-boot-add-dts-files.patch | 21 +- 85 files changed, 5935 insertions(+), 276 deletions(-) create mode 100644 package/firmware/ipq-wifi/board-aruba_ap-303.qca4019 rename package/firmware/ipq-wifi/{board-rt-acrh17.bin => board-asus_rt-acrh17.qca4019} (66%) rename package/firmware/ipq-wifi/{board-linksys_ea6350v3.bin => board-avm_fritzrepeater-1200.qca4019} (72%) create mode 100644 package/firmware/ipq-wifi/board-dlink_dap2610.qca4019 rename package/firmware/ipq-wifi/{board-engenius_eap1300.bin => board-engenius_emd1.qca4019} (75%) create mode 100644 package/firmware/ipq-wifi/board-ezviz_cs-w3-wd1200g-eup.qca4019 rename package/firmware/ipq-wifi/{board-hugo_ac1200.bin => board-hugo_ac1200.qca4019} (100%) create mode 100644 package/firmware/ipq-wifi/board-linksys_ea8300.qca4019 create mode 100644 package/firmware/ipq-wifi/board-linksys_ea8300.qca9888 create mode 100644 package/firmware/ipq-wifi/board-qxwlan_e2600ac.qca4019 create mode 100644 target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-ap120c-ac.dts create mode 100644 target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-ens620ext.dts rename target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/{qcom-ipq4018-fritz4040.dts => qcom-ipq4018-fritzbox-4040.dts} (99%) create mode 100644 target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c1.dts create mode 100644 target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c2.dts rename target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/{qcom-ipq4019-hugo-ac1200.dtsi => qcom-ipq4019-e2600ac.dtsi} (79%) create mode 100644 target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-ea8300.dts create mode 100644 target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts create mode 100644 target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-1200.dts create mode 100644 target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-3000.dts create mode 100644 target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-cs-w3-wd1200g-eup.dts create mode 100644 target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-dap-2610.dts create mode 100644 target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-emd1.dts rename target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/{qcom-ipq4018-fritz4040.dts => qcom-ipq4018-fritzbox-4040.dts} (99%) create mode 100644 target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c1.dts create mode 100644 target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c2.dts rename target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/{qcom-ipq4019-hugo-ac1200.dtsi => qcom-ipq4019-e2600ac.dtsi} (79%) create mode 100644 target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-ea8300.dts create mode 100644 target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-u4019-32m.dts create mode 100644 target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-u4019.dtsi create mode 100644 target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-ap-303.dts create mode 100644 target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-ap-303h.dts diff --git a/package/base-files/files/lib/functions/uci-defaults.sh b/package/base-files/files/lib/functions/uci-defaults.sh index 315df7b708..81f26465fa 100755 --- a/package/base-files/files/lib/functions/uci-defaults.sh +++ b/package/base-files/files/lib/functions/uci-defaults.sh @@ -294,6 +294,14 @@ ucidef_set_interface_macaddr() { ucidef_set_interface "$network" macaddr "$macaddr" } +ucidef_set_label_macaddr() { + local macaddr="$1" + + json_select_object system + json_add_string label_macaddr "$macaddr" + json_select .. +} + ucidef_add_atm_bridge() { local vpi="$1" local vci="$2" @@ -463,6 +471,7 @@ _ucidef_set_led_timer() { _ucidef_set_led_common "$1" "$2" "$3" + json_add_string type "$trigger_name" json_add_string trigger "$trigger_name" json_add_int delayon "$delayon" json_add_int delayoff "$delayoff" diff --git a/package/firmware/ipq-wifi/Makefile b/package/firmware/ipq-wifi/Makefile index c098667c98..c2d2e0e023 100644 --- a/package/firmware/ipq-wifi/Makefile +++ b/package/firmware/ipq-wifi/Makefile @@ -3,6 +3,7 @@ include $(INCLUDE_DIR)/version.mk PKG_NAME:=ipq-wifi PKG_RELEASE:=1 +PKG_FLAGS:=nonshared include $(INCLUDE_DIR)/package.mk @@ -13,57 +14,92 @@ endef define Build/Compile endef -#ALLWIFIBOARDS:= # Please send a mail with your device-specific board files upstream. # You can find instructions and examples on the linux-wireless wiki: # + ALLWIFIBOARDS:= \ - engenius_eap1300 \ - hugo_ac1200 \ - linksys_ea6350v3 \ - mobipromo_cm520-79f \ - p2w_r619ac \ - rt-acrh17 + aruba_ap-303 \ + asus_rt-acrh17 \ + avm_fritzrepeater-1200 \ + dlink_dap2610 \ + engenius_emd1 \ + ezviz_cs-w3-wd1200g-eup \ + hugo_ac1200 \ + linksys_ea8300 \ + mobipromo_cm520-79f \ + p2w_r619ac \ + qxwlan_e2600ac ALLWIFIPACKAGES:=$(foreach BOARD,$(ALLWIFIBOARDS),ipq-wifi-$(BOARD)) define Package/ipq-wifi-default - SUBMENU:=ath10k IPQ4019 Boarddata + SUBMENU:=ath10k Board-Specific Overrides SECTION:=firmware CATEGORY:=Firmware DEPENDS:=@TARGET_ipq40xx TITLE:=Custom Board endef +define ipq-wifi-install-one-to + $(INSTALL_DIR) $(2)/lib/firmware/ath10k/$(3)/ + $(INSTALL_DATA) $(1) $(2)/lib/firmware/ath10k/$(3)/board-2.bin +endef + +define ipq-wifi-install-one + $(if $(filter $(suffix $(1)),.QCA4019 .qca4019),\ + $(call ipq-wifi-install-one-to,$(1),$(2),QCA4019/hw1.0),\ + $(if $(filter $(suffix $(1)),.QCA9888 .qca9888),\ + $(call ipq-wifi-install-one-to,$(1),$(2),QCA9888/hw2.0),\ + $(if $(filter $(suffix $(1)),.QCA9984 .qca9984),\ + $(call ipq-wifi-install-one-to,$(1),$(2),QCA9984/hw1.0),\ + $(error Unrecognized board-file suffix '$(suffix $(1))' for '$(1)')\ + ))) + +endef +# Blank line required at end of above define due to foreach context + define generate-ipq-wifi-package define Package/ipq-wifi-$(1) $(call Package/ipq-wifi-default) - TITLE:=Board for $(3) + TITLE:=board-2.bin Overrides for $(2) CONFLICTS:=$(PREV_BOARD) endef define Package/ipq-wifi-$(1)/description -This device custom package board-2.bin overwrites the board-2.bin -file which is supplied by the ath10k-firmware-qca4019 package. +The $(2) requires board-specific, reference ("cal") data +that is not yet present in the upstream wireless firmware distribution. -This is package is only necessary for the $(3). -Don't install it for any other device! +This package supplies board-2.bin file(s) that, in the interim, +overwrite those supplied by the ath10k-firmware-* packages. + +This is package is only necessary for the $(2). + +Do not install it for any other device! endef define Package/ipq-wifi-$(1)/install-overlay - $(INSTALL_DIR) $$(1)/lib/firmware/ath10k/QCA4019/hw1.0 - $(INSTALL_DATA) ./$(2) $$(1)/lib/firmware/ath10k/QCA4019/hw1.0/board-2.bin + $$$$(foreach IPQ_WIFI_BOARD_FILE,$$$$(wildcard board-$(1).*),\ + $$$$(call ipq-wifi-install-one,$$$$(IPQ_WIFI_BOARD_FILE),$$(1))) endef PREV_BOARD+=ipq-wifi-$(1) endef -#$(eval $(call generate-ipq-wifi-package,,,)) -$(eval $(call generate-ipq-wifi-package,engenius_eap1300,board-engenius_eap1300.bin,EnGenius EAP1300)) -$(eval $(call generate-ipq-wifi-package,hugo_ac1200,board-hugo_ac1200.bin,Hugo AC1200)) -$(eval $(call generate-ipq-wifi-package,linksys_ea6350v3,board-linksys_ea6350v3.bin,Linksys EA6350v3)) -$(eval $(call generate-ipq-wifi-package,mobipromo_cm520-79f,board-mobipromo_cm520-79f.qca4019,MobiPromo CM520-79F)) -$(eval $(call generate-ipq-wifi-package,p2w_r619ac,board-p2w_r619ac.qca4019,P&W R619AC)) -$(eval $(call generate-ipq-wifi-package,rt-acrh17,board-rt-acrh17.bin,ASUS RT-ACRH17/RT-AC82U/RT-AC42U)) +# Add board name to ALLWIFIBOARDS +# Place files in this directory as board-. +# Add $(eval $(call generate-ipq-wifi-package,,)) + +$(eval $(call generate-ipq-wifi-package,aruba_ap-303,Aruba AP-303)) +$(eval $(call generate-ipq-wifi-package,asus_rt-acrh17,ASUS RT-ACRH17/RT-AC82U/RT-AC42U)) +$(eval $(call generate-ipq-wifi-package,avm_fritzrepeater-1200,AVM FRITZRepeater 1200)) +$(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,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)) +$(eval $(call generate-ipq-wifi-package,p2w_r619ac,P&W R619AC)) +$(eval $(call generate-ipq-wifi-package,qxwlan_e2600ac,Qxwlan E2600AC)) $(foreach PACKAGE,$(ALLWIFIPACKAGES),$(eval $(call BuildPackage,$(PACKAGE)))) diff --git a/package/firmware/ipq-wifi/board-aruba_ap-303.qca4019 b/package/firmware/ipq-wifi/board-aruba_ap-303.qca4019 new file mode 100644 index 0000000000000000000000000000000000000000..4848115cfbe3a4a0ed6b17cac929731ecbd7968c GIT binary patch literal 24316 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 NIrrxNmNc!u{{!hMI2Hf^ literal 0 HcmV?d00001 diff --git a/package/firmware/ipq-wifi/board-rt-acrh17.bin b/package/firmware/ipq-wifi/board-asus_rt-acrh17.qca4019 similarity index 66% rename from package/firmware/ipq-wifi/board-rt-acrh17.bin rename to package/firmware/ipq-wifi/board-asus_rt-acrh17.qca4019 index 00421bef239e275aaca20449872c07c846fe39eb..d45d16af7f7bc8de104558f09fccb34619557071 100644 GIT binary patch literal 12164 zcmWG^cGPtY@h~*-)^+lC402(}&CO*1f((5S$-rO^#7U*awuu=@I!U>iy2%-t1-h9j zwgzBcQhs7l3W#fDpi`Dul$n@UVjC2q>*yThVQ8Mq2-K?pG)Fk9)_8L29OC3 zpzE6ev5Db75CG+%JgBNA=&E6SeuhQ`M+Qe176t(*gvo&12xB8?d-7e3Fa*frg4?UW z0D(Y31!N^6LdZOO5q5TVR#sMKB*4J17vxhSfhbTNG8O~!kuj0Rz?Ja>0h}|$83lc7 zK*V)F^LHi+!7CPp-_33h{K>w`z8KS5ao5r`f*MKvr>Pkf-SnAUJwl zQ=MVo+Sy%|Nl~6a$qln7RAxp6c-rk-2~q|WvjA%7?kbP+@w5hOIH9h^uy5n+UZ4%W zo|gO812trUH7o-fk`d)?p#d~*Qe{C@kc9zMgF34F2=FR_fPfNI=}`@+;enku96|}Z z&xV%hlJ3NE%T)C+8Sg`ri|XBS_2NaH_O2?N>DI1MB#|(4b@WWjc75AMGc&MSW`hFu6%7#v5+`Z{jO0{Qlz~W9Nl{T*Nl{5DjD-WOO#*Y$ zC{4oUCQ&N%#+VK7Rr}zKuMh1F1S|9;1Ljx=|NW{P%KqCa@1O*-C z90d*K3|*SP>-3ItUzKSnG5r#jSbw#!-gp=C;U!WP+Cq}Puj;>&iS3Qptqd2p0|&& zobfwjL2Ef{J!>Cu+JL4ANZc&e)?U3@13w84HAsL_M1qoSLFe2x$XJy^fK;_$Wuj#j zinzm}O*-laVv@jUD2;{^ju0448aM(5MR-Jp5=sb+az;a7Gz3ONU^E0qLtr!nMsNs- z8;J|b3%MJ)3;GM08<`8*3vs{zLr~JBMVk&Ili;I@TWb+}C!lrlas89iIhGB5z?ik<~q&Z5(Lx;i>KS{f<}a)Xlvbexu! zh8oa)gOmky9@KqnZ0oUiq16Kp70GC230WpZ4AY{m( zq$DGwga)Pn#W6*dlwu~UFxXfyGJMHrV3@)#$mn3gz@Wh)$Y8@@!;-)z$iO7Z#1#Xi z1q8s8jz}&UWe&Fx_`iWigo!ByI0FHkU1nn8m<|LBfdJ;u9Y8>dm`?<-a9yzFBraNA zO;u$eF=XZrGFJzgo%0C@iHJ!^$>^CdWyYKZOIEDeuw}>IgGW!EC0&An4eF+n*YHzPMeKOr+CGeJ9{s97M0sTo$!!RVpT#Q^|dOd@#z literal 12164 zcmeHNO-vg{6dr@YB%}$mc7T8x7Mnj)Sd2}9fGNfxg7Fd(L@0HmioZs7D8+>a>WGRc zqJcPwqBLrtB$OgV2|ra7Aq176sz}qO0x3P^#-+C$I7C&&p(UNQyd}Bqux#FWwGK)(RvU7^_lTvF1IF`iYkcl7m2n4{pg-9-C z#*FL7O*sIEMFCg=0JjlpEd9XWc6)uJP^g)q08p#de?ET>G!kF1{KpqrEPG4VM{La| zf#A{lo?VVi;031j=Qg*Gt)2?Nt6>h7m^rfgn#|&y@uUYC9b+8^x&R%x+U^HP=dqT< zp-Bi=4|m=f5ArfAb7e8M8J0R33y;X(|L9SV0ysL$IDD_eW$7GawvChAXRtUtZnIr9 z>y259*xB*k zn^udlI8Esch;g6aODrp+2wV*EgTwv~ZL+0*$+nY_Hrs?s>YniGWXauVx!z7ejoxsAn@|?5-_c|w~vpHuaiVm z-Ijdv*Q;k@C6SSG{1+vQh>*)7WU^ABA89i6lVH#p5(S3JyKJF?YSy-+fU�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 C`f|_! literal 0 HcmV?d00001 diff --git a/package/firmware/ipq-wifi/board-engenius_eap1300.bin b/package/firmware/ipq-wifi/board-engenius_emd1.qca4019 similarity index 75% rename from package/firmware/ipq-wifi/board-engenius_eap1300.bin rename to package/firmware/ipq-wifi/board-engenius_emd1.qca4019 index eb4328cd95a6fbd13138187b20d16282c723f346..3a2d77597df2899722962245a3832e45b9f3bfa2 100644 GIT binary patch literal 24316 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 diff --git a/package/firmware/ipq-wifi/board-ezviz_cs-w3-wd1200g-eup.qca4019 b/package/firmware/ipq-wifi/board-ezviz_cs-w3-wd1200g-eup.qca4019 new file mode 100644 index 0000000000000000000000000000000000000000..987e34c640c95dc46f938d20417837432890bbd2 GIT binary patch literal 24340 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 M-<$he(lmSj12G&o9smFU literal 0 HcmV?d00001 diff --git a/package/firmware/ipq-wifi/board-hugo_ac1200.bin b/package/firmware/ipq-wifi/board-hugo_ac1200.qca4019 similarity index 100% rename from package/firmware/ipq-wifi/board-hugo_ac1200.bin rename to package/firmware/ipq-wifi/board-hugo_ac1200.qca4019 diff --git a/package/firmware/ipq-wifi/board-linksys_ea8300.qca4019 b/package/firmware/ipq-wifi/board-linksys_ea8300.qca4019 new file mode 100644 index 0000000000000000000000000000000000000000..0a1f6ebd4785369593653491d70efc358c1238a9 GIT binary patch literal 97236 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 L2*fwBdH4Sh_9QQ4 literal 0 HcmV?d00001 diff --git a/package/firmware/ipq-wifi/board-linksys_ea8300.qca9888 b/package/firmware/ipq-wifi/board-linksys_ea8300.qca9888 new file mode 100644 index 0000000000000000000000000000000000000000..e3c2039924f483ecc3679ee005c0a1f73c6bbcc4 GIT binary patch literal 48628 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 Y3=Rt&nS*)vCPAN`MyjX(-@N<(0qkJ6aR2}S literal 0 HcmV?d00001 diff --git a/package/firmware/ipq-wifi/board-qxwlan_e2600ac.qca4019 b/package/firmware/ipq-wifi/board-qxwlan_e2600ac.qca4019 new file mode 100644 index 0000000000000000000000000000000000000000..435b465d895d33a2df4c5ca510d225a495de4897 GIT binary patch literal 36464 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 SvE1>Q568KurQ3I$`+ot*{f0IG literal 0 HcmV?d00001 diff --git a/target/linux/ipq40xx/base-files/etc/board.d/01_leds b/target/linux/ipq40xx/base-files/etc/board.d/01_leds index e1197078cc..adf5a16b36 100755 --- a/target/linux/ipq40xx/base-files/etc/board.d/01_leds +++ b/target/linux/ipq40xx/base-files/etc/board.d/01_leds @@ -11,6 +11,9 @@ board=$(board_name) boardname="${board##*,}" case "$board" in +alfa-network,ap120c-ac) + ucidef_set_led_netdev "wan" "WAN" "${boardname}:amber:wan" "eth1" + ;; asus,rt-ac58u) ucidef_set_led_wlan "wlan2g" "WLAN2G" "${boardname}:blue:wlan2G" "phy0tpt" ucidef_set_led_wlan "wlan5g" "WLAN5G" "${boardname}:blue:wlan5G" "phy1tpt" @@ -29,17 +32,24 @@ asus,rt-acrh17) ;; avm,fritzbox-4040) ucidef_set_led_wlan "wlan" "WLAN" "fritz4040:green:wlan" "phy0tpt" "phy1tpt" - ucidef_set_led_switch "wan" "WAN" "fritz4040:green:wan" "switch0" "0x20" + ucidef_set_led_netdev "wan" "WAN" "fritz4040:green:wan" "eth1" ucidef_set_led_switch "lan" "LAN" "fritz4040:green:lan" "switch0" "0x1e" ;; +avm,fritzbox-7530 |\ +glinet,gl-b1300) + ucidef_set_led_wlan "wlan" "WLAN" "${boardname}:green:wlan" "phy0tpt" + ;; engenius,eap1300) ucidef_set_led_netdev "lan" "LAN" "${boardname}:blue:lan" "eth0" ucidef_set_led_wlan "wlan2g" "WLAN2G" "${boardname}:blue:wlan2g" "phy0tpt" ucidef_set_led_wlan "wlan5g" "WLAN5G" "${boardname}:yellow:wlan5g" "phy1tpt" ucidef_set_led_default "mesh" "MESH" "${boardname}:blue:mesh" "0" ;; -glinet,gl-b1300) - ucidef_set_led_wlan "wlan" "WLAN" "${boardname}:green:wlan" "phy0tpt" +engenius,ens620ext) + ucidef_set_led_wlan "wlan2g" "WLAN2G" "${boardname}:green:wlan2G" "phy0tpt" + ucidef_set_led_wlan "wlan5g" "WLAN5G" "${boardname}:green:wlan5G" "phy1tpt" + ucidef_set_led_netdev "lan1" "LAN1" "${boardname}:green:lan1" "eth0" + ucidef_set_led_netdev "lan2" "LAN2" "${boardname}:green:lan2" "eth1" ;; hugo,ac1200) ucidef_set_led_default "green" "GREEN" "${boardname}:green:ctrl1" "1" @@ -61,6 +71,11 @@ p2w,r619ac-128m) ucidef_set_led_wlan "wlan2g" "WLAN2G" "r619ac:blue:wlan2g" "phy0tpt" ucidef_set_led_wlan "wlan5g" "WLAN5G" "r619ac:blue:wlan5g" "phy1tpt" ;; +qxwlan,e2600ac-c1 |\ +qxwlan,e2600ac-c2) + ucidef_set_led_wlan "wlan2g" "WLAN0" "e2600ac:green:wlan0" "phy0tpt" + ucidef_set_led_wlan "wlan5g" "WLAN1" "e2600ac:green:wlan1" "phy1tpt" + ;; zyxel,nbg6617) ucidef_set_led_wlan "wlan2g" "WLAN2G" "${boardname}:green:wlan2G" "phy0tpt" ucidef_set_led_wlan "wlan5g" "WLAN5G" "${boardname}:green:wlan5G" "phy1tpt" 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 19cd277f46..680b11e976 100755 --- a/target/linux/ipq40xx/base-files/etc/board.d/02_network +++ b/target/linux/ipq40xx/base-files/etc/board.d/02_network @@ -12,40 +12,51 @@ ipq40xx_setup_interfaces() local board="$1" case "$board" in - 8dev,jalapeno) + 8dev,jalapeno|\ + alfa-network,ap120c-ac|\ + engenius,ens620ext) ucidef_add_switch "switch0" \ "0t@eth0" "4:lan" "5:wan" ;; - p2w,r619ac|\ - p2w,r619ac-128m|\ - zyxel,nbg6617) - ucidef_add_switch "switch0" \ - "0t@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan:5" - ;; asus,map-ac2200|\ + cilab,meshpoint-one|\ openmesh,a42|\ openmesh,a62) ucidef_add_switch "switch0" \ "0t@eth0" "5:lan" "4:wan" ;; + aruba,ap-303h|\ asus,rt-acrh17|\ asus,rt-ac58u|\ avm,fritzbox-4040|\ - linksys,ea6350v3) + ezviz,cs-w3-wd1200g-eup|\ + linksys,ea6350v3|\ + linksys,ea8300|\ + unielec,u4019-32m) ucidef_add_switch "switch0" \ "0t@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" ;; - compex,wpj428) - ucidef_set_interface_lan "eth0 eth1" + avm,fritzrepeater-3000|\ + compex,wpj419|\ + compex,wpj428|\ + engenius,eap1300) + ucidef_add_switch "switch0" \ + "0t@eth0" "4:lan" "5:lan" ;; - engenius,eap1300|\ - meraki,mr33|\ - netgear,ex6100v2|\ - netgear,ex6150v2|\ - zyxel,wre6606) + avm,fritzbox-7530) + ucidef_add_switch "switch0" \ + "0t@eth0" "1:lan" "2:lan" "3:lan" "4:lan" + ;; + aruba,ap-303|\ + avm,fritzrepeater-1200|\ + dlink,dap-2610 |\ + engenius,emd1|\ + meraki,mr33) ucidef_set_interface_lan "eth0" ;; - glinet,gl-b1300) + glinet,gl-b1300|\ + qxwlan,e2600ac-c1|\ + qxwlan,e2600ac-c2) ucidef_add_switch "switch0" \ "0t@eth0" "3:lan" "4:lan" "5:wan" ;; @@ -55,9 +66,22 @@ ipq40xx_setup_interfaces() ;; mobipromo,cm520-79f) ucidef_add_switch "switch0" \ - "0u@eth0" "3:lan:2" "4:lan:1" + "0t@eth0" "3:lan:2" "4:lan:1" ucidef_set_interface_wan "eth1" ;; + netgear,ex6100v2|\ + netgear,ex6150v2|\ + netgear,ex6200v2|\ + zyxel,wre6606) + ucidef_add_switch "switch0" \ + "0t@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:lan" + ;; + p2w,r619ac|\ + p2w,r619ac-128m|\ + zyxel,nbg6617) + ucidef_add_switch "switch0" \ + "0t@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan:5" + ;; *) echo "Unsupported hardware. Network interfaces not initialized" ;; @@ -67,6 +91,9 @@ ipq40xx_setup_interfaces() ipq40xx_setup_macs() { local board="$1" + local lan_mac="" + local wan_mac="" + local label_mac="" case "$board" in asus,rt-acrh17|\ @@ -75,19 +102,38 @@ ipq40xx_setup_macs() lan_mac=$(cat /sys/class/net/eth0/address) wan_mac=$(macaddr_add "$lan_mac" 1) ;; - p2w,r619ac|\ - p2w,r619ac-128m) - wan_mac=$(cat /sys/class/net/eth0/address) + cilab,meshpoint-one) + label_mac=$(mtd_get_mac_binary "ART" 0x1006) + ;; + dlink,dap-2610) + lan_mac=$(mtd_get_mac_ascii bdcfg lanmac) + label_mac=$lan_mac + ;; + engenius,emd1) + lan_mac=$(mtd_get_mac_ascii 0:APPSBLENV ethaddr) + label_mac=$lan_mac + ;; + engenius,ens620ext) + wan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr) lan_mac=$(macaddr_add "$wan_mac" 1) ;; + ezviz,cs-w3-wd1200g-eup) + label_mac=$(mtd_get_mac_binary "ART" 0x6) + ;; linksys,ea6350v3) wan_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr) lan_mac=$(macaddr_add "$wan_mac" 1) ;; + p2w,r619ac|\ + p2w,r619ac-128m) + wan_mac=$(cat /sys/class/net/eth0/address) + lan_mac=$(macaddr_add "$wan_mac" 1) + ;; esac - [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac - [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac + [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac + [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac + [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac } board_config_update diff --git a/target/linux/ipq40xx/base-files/etc/board.d/03_gpio_switches b/target/linux/ipq40xx/base-files/etc/board.d/03_gpio_switches index 4e306a94a5..e46a297ea7 100755 --- a/target/linux/ipq40xx/base-files/etc/board.d/03_gpio_switches +++ b/target/linux/ipq40xx/base-files/etc/board.d/03_gpio_switches @@ -7,6 +7,9 @@ board_config_update board=$(board_name) case "$board" in +cilab,meshpoint-one) + ucidef_add_gpio_switch "poe_passtrough" "POE passtrough enable" "413" "1" + ;; compex,wpj428) ucidef_add_gpio_switch "sim_card_select" "SIM card select" "3" "0" ;; 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 e58e4d8e71..87c0ba2177 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 @@ -93,7 +93,6 @@ ath10kcal_is_caldata_valid() { board=$(board_name) - case "$FIRMWARE" in "ath10k/cal-pci-0000:01:00.0.bin") case "$board" in @@ -115,18 +114,30 @@ case "$FIRMWARE" in CI_UBIPART=UBI_DEV ath10kcal_ubi_extract "Factory" 36864 12064 ;; + avm,fritzrepeater-3000) + /usr/bin/fritz_cal_extract -i 1 -s 0x3D000 -e 0x212 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \ + /usr/bin/fritz_cal_extract -i 1 -s 0x3C800 -e 0x212 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \ + /usr/bin/fritz_cal_extract -i 1 -s 0x3C000 -e 0x212 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \ + /usr/bin/fritz_cal_extract -i 1 -s 0x3D000 -e 0x212 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") || \ + /usr/bin/fritz_cal_extract -i 1 -s 0x3C800 -e 0x212 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") || \ + /usr/bin/fritz_cal_extract -i 1 -s 0x3C000 -e 0x212 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") + ;; + linksys,ea8300) + ath10kcal_extract "ART" 36864 12064 + # OEM assigns 4 sequential MACs + ath10kcal_patch_mac_crc $(macaddr_setbit_la $(macaddr_add "$(cat /sys/class/net/eth0/address)" +4)) + ;; openmesh,a62) ath10kcal_extract "0:ART" 36864 12064 ;; - p2w,r619ac |\ - p2w,r619ac-128m) - ath10kcal_extract "ART" 36864 12064 - ;; esac ;; "ath10k/pre-cal-ahb-a000000.wifi.bin") case "$board" in 8dev,jalapeno |\ + alfa-network,ap120c-ac |\ + cilab,meshpoint-one |\ + ezviz,cs-w3-wd1200g-eup |\ glinet,gl-b1300 |\ linksys,ea6350v3 |\ mobipromo,cm520-79f |\ @@ -135,6 +146,11 @@ case "$FIRMWARE" in qcom,ap-dk01.1-c1) ath10kcal_extract "ART" 4096 12064 ;; + aruba,ap-303 |\ + aruba,ap-303h) + ath10kcal_extract "ART" 4096 12064 + ath10kcal_patch_mac_crc $(mtd_get_mac_binary mfginfo 29) + ;; asus,map-ac2200) ath10kcal_ubi_extract "Factory" 4096 12064 ;; @@ -146,6 +162,43 @@ case "$FIRMWARE" in avm,fritzbox-4040) /usr/bin/fritz_cal_extract -i 1 -s 0x400 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader_config") ;; + avm,fritzbox-7530 |\ + avm,fritzrepeater-1200 |\ + avm,fritzrepeater-3000) + /usr/bin/fritz_cal_extract -i 1 -s 0x3C000 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \ + /usr/bin/fritz_cal_extract -i 1 -s 0x3C800 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \ + /usr/bin/fritz_cal_extract -i 1 -s 0x3D000 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \ + /usr/bin/fritz_cal_extract -i 1 -s 0x3C000 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") || \ + /usr/bin/fritz_cal_extract -i 1 -s 0x3C800 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") || \ + /usr/bin/fritz_cal_extract -i 1 -s 0x3D000 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") + ;; + compex,wpj419 |\ + compex,wpj428 |\ + engenius,eap1300 |\ + hugo,ac1200 |\ + openmesh,a42 |\ + openmesh,a62 |\ + qxwlan,e2600ac-c1 |\ + qxwlan,e2600ac-c2 |\ + unielec,u4019-32m) + ath10kcal_extract "0:ART" 4096 12064 + ;; + dlink,dap-2610) + ath10kcal_extract "ART" 4096 12064 + ath10kcal_patch_mac_crc $(mtd_get_mac_ascii bdcfg wlanmac) + ;; + engenius,emd1) + ath10kcal_extract "0:ART" 4096 12064 + ath10kcal_patch_mac_crc $(mtd_get_mac_ascii 0:APPSBLENV wlanaddr) + ;; + engenius,ens620ext) + ath10kcal_extract "ART" 4096 12064 + ath10kcal_patch_mac_crc $(macaddr_add $(mtd_get_mac_ascii u-boot-env ethaddr) +2) + ;; + linksys,ea8300) + ath10kcal_extract "ART" 4096 12064 + ath10kcal_patch_mac_crc $(macaddr_add "$(cat /sys/class/net/eth0/address)" +2) + ;; meraki,mr33) ath10kcal_ubi_extract "ART" 4096 12064 ath10kcal_is_caldata_valid "202f" || ath10kcal_extract "ART" 4096 12064 @@ -156,13 +209,6 @@ case "$FIRMWARE" in ath10kcal_extract "ART" 4096 12064 ath10kcal_patch_mac_crc $(mtd_get_mac_binary dnidata 0) ;; - compex,wpj428 |\ - engenius,eap1300 |\ - hugo,ac1200 |\ - openmesh,a42 |\ - openmesh,a62) - ath10kcal_extract "0:ART" 4096 12064 - ;; zyxel,nbg6617 |\ zyxel,wre6606) ath10kcal_extract "ART" 4096 12064 @@ -173,6 +219,9 @@ case "$FIRMWARE" in "ath10k/pre-cal-ahb-a800000.wifi.bin") case "$board" in 8dev,jalapeno |\ + alfa-network,ap120c-ac |\ + cilab,meshpoint-one |\ + ezviz,cs-w3-wd1200g-eup |\ glinet,gl-b1300 |\ linksys,ea6350v3 |\ mobipromo,cm520-79f |\ @@ -181,6 +230,11 @@ case "$FIRMWARE" in qcom,ap-dk01.1-c1) ath10kcal_extract "ART" 20480 12064 ;; + aruba,ap-303 |\ + aruba,ap-303h) + ath10kcal_extract "ART" 20480 12064 + ath10kcal_patch_mac_crc $(macaddr_add $(mtd_get_mac_binary mfginfo 29) +1) + ;; asus,map-ac2200) ath10kcal_ubi_extract "Factory" 20480 12064 ;; @@ -191,6 +245,43 @@ case "$FIRMWARE" in avm,fritzbox-4040) /usr/bin/fritz_cal_extract -i 1 -s 0x400 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader_config") ;; + avm,fritzbox-7530 |\ + avm,fritzrepeater-1200 |\ + avm,fritzrepeater-3000) + /usr/bin/fritz_cal_extract -i 1 -s 0x3C800 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \ + /usr/bin/fritz_cal_extract -i 1 -s 0x3D000 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \ + /usr/bin/fritz_cal_extract -i 1 -s 0x3C000 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \ + /usr/bin/fritz_cal_extract -i 1 -s 0x3C800 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") || \ + /usr/bin/fritz_cal_extract -i 1 -s 0x3D000 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") || \ + /usr/bin/fritz_cal_extract -i 1 -s 0x3C000 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") + ;; + compex,wpj419 |\ + compex,wpj428 |\ + engenius,eap1300 |\ + hugo,ac1200 |\ + openmesh,a42 |\ + openmesh,a62 |\ + qxwlan,e2600ac-c1 |\ + qxwlan,e2600ac-c2 |\ + unielec,u4019-32m) + ath10kcal_extract "0:ART" 20480 12064 + ;; + dlink,dap-2610) + ath10kcal_extract "ART" 20480 12064 + ath10kcal_patch_mac_crc $(mtd_get_mac_ascii bdcfg wlanmac_a) + ;; + engenius,emd1) + ath10kcal_extract "0:ART" 20480 12064 + ath10kcal_patch_mac_crc $(macaddr_add $(mtd_get_mac_ascii 0:APPSBLENV wlanaddr) +1) + ;; + engenius,ens620ext) + ath10kcal_extract "ART" 20480 12064 + ath10kcal_patch_mac_crc $(macaddr_add $(mtd_get_mac_ascii u-boot-env ethaddr) +3) + ;; + linksys,ea8300) + ath10kcal_extract "ART" 20480 12064 + ath10kcal_patch_mac_crc $(macaddr_add "$(cat /sys/class/net/eth0/address)" +3) + ;; meraki,mr33) ath10kcal_ubi_extract "ART" 20480 12064 ath10kcal_is_caldata_valid "202f" || ath10kcal_extract "ART" 20480 12064 @@ -201,13 +292,6 @@ case "$FIRMWARE" in ath10kcal_extract "ART" 20480 12064 ath10kcal_patch_mac_crc $(mtd_get_mac_binary dnidata 12) ;; - compex,wpj428 |\ - engenius,eap1300 |\ - hugo,ac1200 |\ - openmesh,a42 |\ - openmesh,a62) - ath10kcal_extract "0:ART" 20480 12064 - ;; zyxel,nbg6617 |\ zyxel,wre6606) ath10kcal_extract "ART" 20480 12064 diff --git a/target/linux/ipq40xx/base-files/etc/inittab b/target/linux/ipq40xx/base-files/etc/inittab index 809bba5e5f..3181021a05 100644 --- a/target/linux/ipq40xx/base-files/etc/inittab +++ b/target/linux/ipq40xx/base-files/etc/inittab @@ -2,3 +2,4 @@ ::sysinit:/etc/init.d/rcS S boot ::shutdown:/etc/init.d/rcS K shutdown ttyMSM0::askfirst:/usr/libexec/login.sh +ttyMSM1::askfirst:/usr/libexec/login.sh 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 44dc510a0f..c1ddba290b 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 @@ -12,8 +12,17 @@ preinit_set_mac_address() { asus,rt-acrh17|\ asus,rt-ac58u) CI_UBIPART=UBI_DEV - mac=$(macaddr_add $(mtd_get_mac_binary_ubi Factory 4102) +1) - ifconfig eth0 hw ether $mac 2>/dev/null + base_mac=$(mtd_get_mac_binary_ubi Factory 4102) + ip link set dev eth0 address $(macaddr_add "$base_mac" +1) + ;; + 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) @@ -22,6 +31,7 @@ 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/preinit/06_set_preinit_iface_ipq40xx.sh b/target/linux/ipq40xx/base-files/lib/preinit/06_set_preinit_iface_ipq40xx.sh index 578ddbe4c4..42667d2dfb 100644 --- a/target/linux/ipq40xx/base-files/lib/preinit/06_set_preinit_iface_ipq40xx.sh +++ b/target/linux/ipq40xx/base-files/lib/preinit/06_set_preinit_iface_ipq40xx.sh @@ -4,9 +4,12 @@ set_preinit_iface() { . /lib/functions.sh case $(board_name) in + aruba,ap-303| \ asus,rt-ac58u| \ avm,fritzbox-4040| \ + ezviz,cs-w3-wd1200g-eup| \ glinet,gl-b1300| \ + linksys,ea8300| \ meraki,mr33| \ zyxel,nbg6617) ifname=eth0 diff --git a/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh b/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh index 29d60bd138..ea182d9607 100644 --- a/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh +++ b/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh @@ -159,12 +159,26 @@ zyxel_do_upgrade() { platform_do_upgrade() { case "$(board_name)" in - 8dev,jalapeno) + 8dev,jalapeno |\ + aruba,ap-303 |\ + aruba,ap-303h |\ + avm,fritzbox-7530 |\ + avm,fritzrepeater-1200 |\ + avm,fritzrepeater-3000 |\ + cilab,meshpoint-one |\ + mobipromo,cm520-79f |\ + qxwlan,e2600ac-c2) nand_do_upgrade "$ARGV" ;; - mobipromo,cm520-79f |\ - p2w,r619ac|\ - p2w,r619ac-128m) + alfa-network,ap120c-ac) + part="$(awk -F 'ubi.mtd=' '{printf $2}' /proc/cmdline | sed -e 's/ .*$//')" + if [ "$part" = "rootfs1" ]; then + fw_setenv active 2 || exit 1 + CI_UBIPART="rootfs2" + else + fw_setenv active 1 || exit 1 + CI_UBIPART="rootfs1" + fi nand_do_upgrade "$1" ;; asus,map-ac2200) @@ -183,18 +197,24 @@ platform_do_upgrade() { asus_nand_upgrade_tar 20951040 "$1" fi ;; - linksys,ea6350v3) - platform_do_upgrade_linksys "$ARGV" + compex,wpj419|\ + p2w,r619ac|\ + p2w,r619ac-128m) + nand_do_upgrade "$1" + ;; + linksys,ea6350v3 |\ + linksys,ea8300) + platform_do_upgrade_linksys "$1" + ;; + meraki,mr33) + CI_KERNPART="part.safe" + nand_do_upgrade "$1" ;; openmesh,a42 |\ openmesh,a62) PART_NAME="inactive" platform_do_upgrade_openmesh "$ARGV" ;; - meraki,mr33) - CI_KERNPART="part.safe" - nand_do_upgrade "$1" - ;; zyxel,nbg6617) zyxel_do_upgrade "$1" ;; diff --git a/target/linux/ipq40xx/config-4.19 b/target/linux/ipq40xx/config-4.19 index 9ff9e7f3e9..0de3001c8a 100644 --- a/target/linux/ipq40xx/config-4.19 +++ b/target/linux/ipq40xx/config-4.19 @@ -314,6 +314,7 @@ CONFIG_MTD_SPI_NAND=y CONFIG_MTD_SPI_NOR=y CONFIG_MTD_SPLIT_FIRMWARE=y CONFIG_MTD_SPLIT_FIT_FW=y +CONFIG_MTD_SPLIT_WRGG_FW=y CONFIG_MTD_UBI=y CONFIG_MTD_UBI_BEB_LIMIT=20 CONFIG_MTD_UBI_BLOCK=y @@ -326,6 +327,7 @@ CONFIG_NEON=y CONFIG_NET_DSA=y CONFIG_NET_DSA_QCA8K=y CONFIG_NET_DSA_TAG_QCA=y +# CONFIG_NET_DSA_VITESSE_VSC73XX is not set CONFIG_NET_FLOW_LIMIT=y CONFIG_NET_PTP_CLASSIFY=y CONFIG_NET_SWITCHDEV=y diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-a42.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-a42.dts index 566ec814a0..288b38879f 100644 --- a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-a42.dts +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-a42.dts @@ -185,7 +185,19 @@ }; &gmac0 { - vlan_tag = <1 0x31>; + qcom,phy_mdio_addr = <4>; + qcom,poll_required = <1>; + qcom,forced_speed = <1000>; + qcom,forced_duplex = <1>; + vlan_tag = <2 0x20>; +}; + +&gmac1 { + qcom,phy_mdio_addr = <3>; + qcom,poll_required = <1>; + qcom,forced_speed = <1000>; + qcom,forced_duplex = <1>; + vlan_tag = <1 0x10>; }; &usb2_hs_phy { diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-ap120c-ac.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-ap120c-ac.dts new file mode 100644 index 0000000000..a27bdcd88b --- /dev/null +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-ap120c-ac.dts @@ -0,0 +1,344 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "qcom-ipq4019.dtsi" +#include +#include +#include + +/ { + model = "ALFA Network AP120C-AC"; + compatible = "alfa-network,ap120c-ac", "qcom,ipq4019"; + + aliases { + led-boot = &status; + led-failsafe = &status; + led-running = &status; + led-upgrade = &status; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; + + leds { + compatible = "gpio-leds"; + + status: status { + label = "ap120c-ac:blue:status"; + gpios = <&tlmm 5 GPIO_ACTIVE_LOW>; + default-state = "keep"; + }; + + wan { + label = "ap120c-ac:amber:wan"; + gpios = <&qca8075 19 GPIO_ACTIVE_HIGH>; + }; + + wlan2g { + label = "ap120c-ac:green:wlan2g"; + gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "phy0tpt"; + }; + + wlan5g { + label = "ap120c-ac:red:wlan5g"; + gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "phy1tpt"; + }; + }; + + soc { + mdio@90000 { + status = "okay"; + + pinctrl-0 = <&mdio_pins>; + pinctrl-names = "default"; + }; + + ess-psgmii@98000 { + status = "okay"; + }; + + counter@4a1000 { + compatible = "qcom,qca-gcnt"; + reg = <0x4a1000 0x4>; + }; + + 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"; + + dwc3@8a00000 { + phys = <&usb3_hs_phy>; + phy-names = "usb2-phy"; + }; + }; + + crypto@8e3a000 { + status = "okay"; + }; + + watchdog@b017000 { + status = "okay"; + }; + + qca8075: ess-switch@c000000 { + status = "okay"; + + switch_lan_bmp = <0x10>; + switch_wan_bmp = <0x20>; + + #gpio-cells = <2>; + gpio-controller; + }; + + edma@c080000 { + status = "okay"; + }; + }; +}; + +&blsp_dma { + status = "okay"; +}; + +&blsp1_i2c3 { + status = "okay"; + + pinctrl-0 = <&i2c0_pins>; + pinctrl-names = "default"; + + tpm@29 { + compatible = "atmel,at97sc3204t"; + reg = <0x29>; + }; +}; + +&blsp1_spi1 { + status = "okay"; + + pinctrl-0 = <&spi0_pins>; + pinctrl-names = "default"; + cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>, + <&tlmm 4 GPIO_ACTIVE_HIGH>; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <24000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "SBL1"; + reg = <0x00000000 0x00040000>; + read-only; + }; + + partition@40000 { + label = "MIBIB"; + reg = <0x00040000 0x00020000>; + read-only; + }; + + partition@60000 { + label = "QSEE"; + reg = <0x00060000 0x00060000>; + read-only; + }; + + partition@c0000 { + label = "CDT"; + reg = <0x000c0000 0x00010000>; + read-only; + }; + + partition@d0000 { + label = "DDRPARAMS"; + reg = <0x000d0000 0x00010000>; + read-only; + }; + + partition@e0000 { + label = "APPSBLENV"; + reg = <0x000e0000 0x00010000>; + }; + + partition@f0000 { + label = "APPSBL"; + reg = <0x000f0000 0x00080000>; + read-only; + }; + + partition@170000 { + label = "ART"; + reg = <0x00170000 0x00010000>; + read-only; + }; + + partition@180000 { + label = "priv_data1"; + reg = <0x00180000 0x00010000>; + read-only; + }; + + partition@190000 { + label = "priv_data2"; + reg = <0x00190000 0x00010000>; + read-only; + }; + }; + }; + + nand@1 { + compatible = "spinand,mt29f"; + reg = <1>; + spi-max-frequency = <24000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "rootfs1"; + reg = <0x00000000 0x04000000>; + }; + + partition@4000000 { + label = "rootfs2"; + reg = <0x04000000 0x04000000>; + }; + }; + }; +}; + +&blsp1_uart1 { + status = "okay"; + + pinctrl-0 = <&serial0_pins>; + pinctrl-names = "default"; +}; + +&cryptobam { + status = "okay"; +}; + +&gmac0 { + qcom,forced_duplex = <1>; + qcom,forced_speed = <1000>; + qcom,phy_mdio_addr = <3>; + qcom,poll_required = <1>; + vlan_tag = <1 0x10>; +}; + +&gmac1 { + qcom,forced_duplex = <1>; + qcom,forced_speed = <1000>; + qcom,phy_mdio_addr = <4>; + qcom,poll_required = <1>; + vlan_tag = <2 0x20>; +}; + +&tlmm { + i2c0_pins: i2c0_pinmux { + mux_i2c { + function = "blsp_i2c0"; + pins = "gpio58", "gpio59"; + drive-strength = <16>; + bias-disable; + }; + }; + + mdio_pins: mdio_pinmux { + mux_mdio { + pins = "gpio53"; + function = "mdio"; + bias-pull-up; + }; + + mux_mdc { + pins = "gpio52"; + function = "mdc"; + bias-pull-up; + }; + }; + + serial0_pins: serial0_pinmux { + mux_uart { + pins = "gpio60", "gpio61"; + function = "blsp_uart0"; + bias-disable; + }; + }; + + spi0_pins: spi0_pinmux { + mux_spi { + function = "blsp_spi0"; + pins = "gpio55", "gpio56", "gpio57"; + drive-strength = <12>; + bias-disable; + }; + + mux_cs { + function = "gpio"; + pins = "gpio54", "gpio4"; + drive-strength = <2>; + bias-disable; + output-high; + }; + }; +}; + +&usb2_hs_phy { + status = "okay"; +}; + +&usb3_hs_phy { + status = "okay"; +}; + +&wifi0 { + status = "okay"; +}; + +&wifi1 { + status = "okay"; + qcom,ath10k-calibration-variant = "ALFA-Network-AP120C-AC"; +}; diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-ea6350v3.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-ea6350v3.dts index f27aa68d2a..72e7989864 100644 --- a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-ea6350v3.dts +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-ea6350v3.dts @@ -174,44 +174,53 @@ reg = <0x00000000 0x00040000>; read-only; }; + MBIB@40000 { label = "MIBIB"; reg = <0x00040000 0x00020000>; read-only; }; + QSEE@60000 { label = "QSEE"; reg = <0x00060000 0x00060000>; read-only; }; + CDT@c0000 { label = "CDT"; reg = <0x000c0000 0x00010000>; read-only; }; + APPSBLENV@d0000 { label = "APPSBLENV"; reg = <0x000d0000 0x00010000>; read-only; }; + APPSBL@e0000 { label = "APPSBL"; /* uboot */ reg = <0x000e0000 0x00080000>; read-only; }; + ART@160000 { label = "ART"; reg = <0x00160000 0x00010000>; read-only; }; + u_env@170000 { label = "u_env"; reg = <0x00170000 0x00020000>; }; + s_env@190000 { label = "s_env"; reg = <0x00190000 0x00020000>; }; + devinfo@1b0000 { label = "devinfo"; reg = <0x001b0000 0x00010000>; @@ -235,22 +244,27 @@ label = "kernel"; reg = <0x00000000 0x02800000>; }; + rootfs@300000 { label = "rootfs"; reg = <0x00300000 0x02500000>; }; + alt_kernel@2800000 { label = "alt_kernel"; reg = <0x02800000 0x02800000>; }; + alt_rootfs@2b00000 { label = "alt_rootfs"; reg = <0x02b00000 0x02500000>; }; + sysdiag@5000000 { label = "sysdiag"; reg = <0x05000000 0x00100000>; }; + syscfg@5100000 { label = "syscfg"; reg = <0x05100000 0x02F00000>; diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-eap1300.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-eap1300.dts index 25b4f1304f..8e47fbd9ca 100644 --- a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-eap1300.dts +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-eap1300.dts @@ -116,6 +116,7 @@ drive-strength = <12>; bias-disable; }; + pin_cs { function = "gpio"; pins = "gpio54"; @@ -150,50 +151,60 @@ reg = <0x00000000 0x00040000>; read-only; }; + partition1@40000 { label = "0:MIBIB"; reg = <0x00040000 0x00020000>; read-only; }; + partition2@60000 { label = "0:QSEE"; reg = <0x00060000 0x00060000>; read-only; }; + partition3@c0000 { label = "0:CDT"; reg = <0x000c0000 0x00010000>; read-only; }; + partition4@d0000 { label = "0:DDRPARAMS"; reg = <0x000d0000 0x00010000>; read-only; }; + partition5@e0000 { label = "0:APPSBLENV"; reg = <0x000e0000 0x00010000>; read-only; }; + partition6@f0000 { label = "0:APPSBL"; reg = <0x000f0000 0x00090000>; read-only; }; + partition7@180000 { label = "0:ART"; reg = <0x00180000 0x00010000>; read-only; }; + partition8@190000 { compatible = "denx,fit"; label = "firmware"; reg = <0x190000 0x1dc0000>; }; + partition9@1f50000 { label = "u-boot-env"; reg = <0x01f50000 0x00010000>; }; + partition10@1f60000 { label = "userconfig"; reg = <0x01f60000 0x000a0000>; @@ -213,7 +224,11 @@ }; &gmac0 { - vlan_tag = <1 0x31>; + vlan_tag = <2 0x20>; +}; + +&gmac1 { + vlan_tag = <1 0x10>; }; &wifi0 { diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-ens620ext.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-ens620ext.dts new file mode 100644 index 0000000000..139d725931 --- /dev/null +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-ens620ext.dts @@ -0,0 +1,272 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "qcom-ipq4019.dtsi" +#include +#include +#include + +/ { + model = "EnGenius ENS620EXT"; + compatible = "engenius,ens620ext"; + + memory { + device_type = "memory"; + reg = <0x80000000 0x10000000>; + }; + + aliases { + led-boot = &power; + led-failsafe = &power; + led-running = &power; + led-upgrade = &power; + }; + + soc { + mdio@90000 { + status = "okay"; + }; + + ess-psgmii@98000 { + status = "okay"; + }; + + tcsr@1949000 { + compatible = "qcom,tcsr"; + reg = <0x1949000 0x100>; + qcom,wifi_glb_cfg = ; + }; + + 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 = ; + }; + + crypto@8e3a000 { + status = "okay"; + }; + + watchdog@b017000 { + status = "okay"; + }; + + ess-switch@c000000 { + status = "okay"; + }; + + edma@c080000 { + status = "okay"; + }; + + /* + * Disable the broken restart as a workaround for the buggy + * 3.0.0/3.0.1 U-boots that ship with the device. + * Note: The watchdog is now used to restart this device. + */ + restart@4ab000 { + status = "disabled"; + }; + }; + + buttons { + compatible = "gpio-keys"; + + wps { + label = "wps"; + gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; + + leds { + compatible = "gpio-leds"; + + power: power { + label = "ens620ext:amber:power"; + gpios = <&tlmm 58 GPIO_ACTIVE_LOW>; + }; + + lan1 { + label = "ens620ext:green:lan1"; + gpios = <&tlmm 1 GPIO_ACTIVE_LOW>; + }; + + lan2 { + label = "ens620ext:green:lan2"; + gpios = <&tlmm 2 GPIO_ACTIVE_LOW>; + }; + + wlan2G { + label = "ens620ext:green:wlan2G"; + gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; + }; + + wlan5G { + label = "ens620ext:green:wlan5G"; + gpios = <&tlmm 0 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&cryptobam { + status = "okay"; +}; + +&blsp_dma { + status = "okay"; +}; + +&tlmm { + serial_pins: serial_pinmux { + mux { + pins = "gpio60", "gpio61"; + function = "blsp_uart0"; + bias-disable; + }; + }; + + spi_0_pins: spi_0_pinmux { + mux { + function = "blsp_spi0"; + pins = "gpio55", "gpio56", "gpio57"; + drive-strength = <12>; + bias-disable; + }; + + mux_cs { + function = "gpio"; + pins = "gpio54"; + drive-strength = <2>; + bias-disable; + output-high; + }; + }; +}; + +&blsp1_spi1 { /* BLSP1 QUP1 */ + pinctrl-0 = <&spi_0_pins>; + pinctrl-names = "default"; + status = "okay"; + cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; + + flash@0 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <50000000>; + m25p,fast-read; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "SBL1"; + reg = <0x00000000 0x00040000>; + read-only; + }; + + partition@40000 { + label = "MIBIB"; + reg = <0x00040000 0x00020000>; + read-only; + }; + + partition@60000 { + label = "QSEE"; + reg = <0x00060000 0x00060000>; + read-only; + }; + + partition@c0000 { + label = "CDT"; + reg = <0x000c0000 0x00010000>; + read-only; + }; + + partition@d0000 { + label = "DDRPARAMS"; + reg = <0x000d0000 0x00010000>; + read-only; + }; + + partition@e0000 { + label = "APPSBLENV"; /* uboot env*/ + reg = <0x000e0000 0x00010000>; + read-only; + }; + + partition@f0000 { + label = "APPSBL"; /* uboot */ + reg = <0x000f0000 0x00090000>; + read-only; + }; + + partition@180000 { + label = "ART"; + reg = <0x00180000 0x00010000>; + read-only; + }; + + partition@190000 { + compatible = "denx,fit"; + label = "firmware"; + reg = <0x00190000 0x14d0000>; + }; + + partition@1660000 { + label = "failsafe"; + reg = <0x01660000 0x008f0000>; + read-only; + }; + + partition@1f50000 { + label = "u-boot-env"; + reg = <0x01f50000 0x00010000>; + read-only; + }; + + partition@1f60000 { + label = "userconfig"; + reg = <0x01f60000 0x000a0000>; + read-only; + }; + }; + }; +}; + +&blsp1_uart1 { + pinctrl-0 = <&serial_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + +&usb3_ss_phy { + status = "okay"; +}; + +&usb3_hs_phy { + status = "okay"; +}; + +&usb2_hs_phy { + status = "okay"; +}; + +&wifi0 { + status = "okay"; + qcom,ath10k-calibration-variant = "EnGenius-ENS620EXT"; +}; + +&wifi1 { + status = "okay"; + qcom,ath10k-calibration-variant = "EnGenius-ENS620EXT"; +}; diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi index 636e42e8b1..5d05f30233 100644 --- a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi @@ -177,6 +177,7 @@ drive-strength = <12>; bias-disable; }; + pin_cs { function = "gpio"; pins = "gpio54"; diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-fritz4040.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-fritzbox-4040.dts similarity index 99% rename from target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-fritz4040.dts rename to target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-fritzbox-4040.dts index 9576e14f25..f9c5a2ae75 100644 --- a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-fritz4040.dts +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-fritzbox-4040.dts @@ -196,62 +196,74 @@ reg = <0x00000000 0x00040000>; read-only; }; + partition1@40000 { label = "MIBIB"; reg = <0x00040000 0x00020000>; read-only; }; + partition2@60000 { label = "QSEE"; reg = <0x00060000 0x00060000>; read-only; }; + partition3@c0000 { label = "CDT"; reg = <0x000c0000 0x00010000>; read-only; }; + partition4@d0000 { label = "DDRPARAMS"; reg = <0x000d0000 0x00010000>; read-only; }; + partition5@e0000 { label = "APPSBLENV"; /* uboot env - empty */ reg = <0x000e0000 0x00010000>; read-only; }; + partition6@f0000 { label = "urlader"; /* APPSBL */ reg = <0x000f0000 0x0002dc000>; read-only; }; + partition7@11dc00 { /* make a backup of this partition! */ label = "urlader_config"; reg = <0x0011dc00 0x00002400>; read-only; }; + partition8@120000 { label = "tffs1"; reg = <0x00120000 0x00080000>; read-only; }; + partition9@1a0000 { label = "tffs2"; reg = <0x001a0000 0x00080000>; read-only; }; + partition10@220000 { label = "uboot"; reg = <0x00220000 0x00080000>; read-only; }; + partition11@2A0000 { compatible = "denx,fit"; label = "firmware"; reg = <0x002a0000 0x01c60000>; }; + partition12@1f00000 { label = "jffs2"; reg = <0x01f00000 0x00100000>; diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-jalapeno.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-jalapeno.dts index 4e9a3f22cf..3ab1e48a0d 100644 --- a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-jalapeno.dts +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-jalapeno.dts @@ -99,10 +99,12 @@ pins = "gpio53"; function = "mdio"; }; + pinmux_2 { pins = "gpio52"; function = "mdc"; }; + pinconf { pins = "gpio52", "gpio53"; bias-pull-up; @@ -124,6 +126,7 @@ drive-strength = <2>; bias-disable; }; + pin_cs { function = "gpio"; pins = "gpio54", "gpio59"; @@ -161,36 +164,43 @@ reg = <0x00000000 0x00040000>; read-only; }; + partition1@40000 { label = "MIBIB"; reg = <0x00040000 0x00020000>; read-only; }; + partition2@60000 { label = "QSEE"; reg = <0x00060000 0x00060000>; read-only; }; + partition3@c0000 { label = "CDT"; reg = <0x000c0000 0x00010000>; read-only; }; + partition4@d0000 { label = "DDRPARAMS"; reg = <0x000d0000 0x00010000>; read-only; }; + partition5@e0000 { label = "APPSBLENV"; /* uboot env*/ reg = <0x000e0000 0x00010000>; read-only; }; + partition5@f0000 { label = "APPSBL"; /* uboot */ reg = <0x000f0000 0x00080000>; read-only; }; + partition5@170000 { label = "ART"; reg = <0x00170000 0x00010000>; @@ -230,7 +240,17 @@ }; &gmac0 { - vlan_tag = <1 0x31>; + qcom,poll_required = <1>; + qcom,poll_required_dynamic = <1>; + qcom,phy_mdio_addr = <3>; + vlan_tag = <1 0x10>; +}; + +&gmac1 { + qcom,poll_required = <1>; + qcom,poll_required_dynamic = <1>; + qcom,phy_mdio_addr = <4>; + vlan_tag = <2 0x20>; }; &wifi0 { diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-nbg6617.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-nbg6617.dts index 8df3796dae..31682f02a0 100644 --- a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-nbg6617.dts +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-nbg6617.dts @@ -174,6 +174,7 @@ bias-disable; }; }; + spi_0_pins: spi_0_pinmux { mux { function = "blsp_spi0"; @@ -190,6 +191,7 @@ output-low; }; }; + led_pins: led_pinmux { mux { pins = "gpio0", "gpio1", "gpio3", "gpio5", "gpio58"; @@ -225,60 +227,72 @@ reg = <0x00000000 0x00040000>; read-only; }; + partition1@40000 { label = "MIBIB"; reg = <0x00040000 0x00020000>; read-only; }; + partition2@60000 { label = "QSEE"; reg = <0x00060000 0x00060000>; read-only; }; + partition3@c0000 { label = "CDT"; reg = <0x000c0000 0x00010000>; read-only; }; + partition4@d0000 { label = "DDRPARAMS"; reg = <0x000d0000 0x00010000>; read-only; }; + partition5@e0000 { label = "APPSBL"; /* u-boot */ reg = <0x000e0000 0x00080000>; /* U-Boot Standalone App "zloader" is located at 0x64000 */ read-only; }; + partition6@160000 { label = "APPSBLENV"; /* u-boot env */ reg = <0x00160000 0x00010000>; }; + partition7@170000 { /* make a backup of this partition! */ label = "ART"; reg = <0x00170000 0x00010000>; read-only; }; + partition8@180000 { label = "kernel"; reg = <0x00180000 0x00400000>; }; + partition9@580000 { label = "dualflag"; reg = <0x00580000 0x00010000>; read-only; }; + partition10@590000 { label = "header"; reg = <0x00590000 0x00010000>; }; + partition11@5a0000 { label = "romd"; reg = <0x005a0000 0x00100000>; read-only; }; + partition12@6a0000 { label = "not_root_data"; /* @@ -290,6 +304,7 @@ */ reg = <0x006a0000 0x00100000>; }; + partition13@7a0000 { label = "rootfs"; reg = <0x007a0000 0x01860000>; diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-rt-ac58u.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-rt-ac58u.dts index ab728dcd53..cda8a5e3f9 100644 --- a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-rt-ac58u.dts +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-rt-ac58u.dts @@ -15,10 +15,10 @@ }; aliases { - led-boot = &power; - led-failsafe = &power; - led-running = &power; - led-upgrade = &power; + led-boot = &led_power; + led-failsafe = &led_power; + led-running = &led_power; + led-upgrade = &led_power; }; chosen { @@ -58,20 +58,6 @@ qcom,wifi_noc_memtype_m0_m2 = ; }; - usb2@60f8800 { - status = "okay"; - - dwc3@6000000 { - #address-cells = <1>; - #size-cells = <0>; - - usb2_port1: port@1 { - reg = <1>; - #trigger-source-cells = <0>; - }; - }; - }; - usb3@8af8800 { status = "okay"; @@ -137,7 +123,7 @@ leds { compatible = "gpio-leds"; - power: status { + led_power: status { label = "rt-ac58u:blue:status"; gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; }; @@ -150,17 +136,19 @@ wlan2G { label = "rt-ac58u:blue:wlan2G"; gpios = <&tlmm 58 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "phy0tpt"; }; - wan5G { + wlan5G { label = "rt-ac58u:blue:wlan5G"; gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "phy1tpt"; }; usb { label = "rt-ac58u:blue:usb"; gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; - trigger-sources = <&usb3_port1>, <&usb3_port2>, <&usb2_port1>; + trigger-sources = <&usb3_port1>, <&usb3_port2>; linux,default-trigger = "usbport"; }; @@ -224,7 +212,7 @@ compatible = "jedec,spi-nor"; reg = <0>; linux,modalias = "m25p80", "mx25l1606e", "n25q128a11"; - spi-max-frequency = <24000000>; + spi-max-frequency = <30000000>; partitions { compatible = "fixed-partitions"; @@ -280,7 +268,7 @@ #size-cells = <0>; compatible = "spinand,mt29f"; reg = <1>; - spi-max-frequency = <24000000>; + spi-max-frequency = <30000000>; /* * U-boot looks for "spinand,mt29f" node, @@ -314,7 +302,3 @@ &usb3_hs_phy { status = "okay"; }; - -&usb2_hs_phy { - status = "okay"; -}; diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-wre6606.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-wre6606.dts index 81612bc50b..8f8c76f079 100644 --- a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-wre6606.dts +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-wre6606.dts @@ -141,6 +141,7 @@ drive-strength = <12>; bias-disable; }; + pin_cs { function = "gpio"; pins = "gpio54"; diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-a62.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-a62.dts index 487b081c44..eaba745a49 100644 --- a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-a62.dts +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-a62.dts @@ -89,7 +89,7 @@ reset { label = "reset"; gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; - linux,code = ; + linux,code = ; }; }; @@ -147,6 +147,7 @@ drive-strength = <12>; bias-disable; }; + pin_cs { function = "gpio"; pins = "gpio12"; diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-ap.dk04.1.dtsi b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-ap.dk04.1.dtsi index 157037f558..0a9a0a761b 100644 --- a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-ap.dk04.1.dtsi +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-ap.dk04.1.dtsi @@ -44,15 +44,18 @@ function = "blsp_spi0"; pins = "gpio13", "gpio14", "gpio15"; }; + pinmux_cs { function = "gpio"; pins = "gpio12"; }; + pinconf { pins = "gpio13", "gpio14", "gpio15"; drive-strength = <12>; bias-disable; }; + pinconf_cs { pins = "gpio12"; drive-strength = <2>; @@ -66,6 +69,7 @@ function = "blsp_i2c0"; pins = "gpio10", "gpio11"; }; + pinconf { pins = "gpio10", "gpio11"; drive-strength = <16>; @@ -74,7 +78,6 @@ }; nand_pins: nand_pins { - pullups { pins = "gpio52", "gpio53", "gpio58", "gpio59"; diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c1.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c1.dts new file mode 100644 index 0000000000..e7a2c55bd5 --- /dev/null +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c1.dts @@ -0,0 +1,87 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later OR MIT + * + * Copyright (c) 2018 Peng Zhang + * + */ + +#include "qcom-ipq4019-e2600ac.dtsi" +#include +#include + +/ { + model = "Qxwlan E2600AC c1"; + compatible = "qxwlan,e2600ac-c1", "qcom,ipq4019"; +}; + +&blsp1_spi1 { + pinctrl-0 = <&spi_0_pins>; + pinctrl-names = "default"; + status = "okay"; + cs-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>; + + 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 = "0:SBL1"; + reg = <0x0 0x40000>; + read-only; + }; + + partition@40000 { + label = "0:MIBIB"; + reg = <0x40000 0x20000>; + read-only; + }; + + partition@60000 { + label = "0:QSEE"; + reg = <0x60000 0x60000>; + read-only; + }; + + partition@c0000 { + label = "0:CDT"; + reg = <0xc0000 0x10000>; + read-only; + }; + + partition@d0000 { + label = "0:DDRPARAMS"; + reg = <0xd0000 0x10000>; + read-only; + }; + + partition@e0000 { + label = "0:APPSBLENV"; + reg = <0xe0000 0x10000>; + read-only; + }; + + partition@f0000 { + label = "0:APPSBL"; + reg = <0xf0000 0x80000>; + read-only; + }; + + partition@170000 { + label = "0:ART"; + reg = <0x170000 0x10000>; + read-only; + }; + + partition@180000 { + compatible = "denx,fit"; + label = "firmware"; + reg = <0x180000 0x1e80000>; + }; + }; + }; +}; diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c2.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c2.dts new file mode 100644 index 0000000000..3ae33bfabf --- /dev/null +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c2.dts @@ -0,0 +1,120 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later OR MIT + * + * Copyright (c) 2018 Peng Zhang + * + */ + +#include "qcom-ipq4019-e2600ac.dtsi" +#include +#include + +/ { + model = "Qxwlan E2600AC c2"; + compatible = "qxwlan,e2600ac-c2", "qcom,ipq4019"; +}; + +&blsp1_spi1 { + pinctrl-0 = <&spi_0_pins>; + pinctrl-names = "default"; + status = "okay"; + cs-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>; + + 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 = "0:SBL1"; + reg = <0x0 0x40000>; + read-only; + }; + + partition@40000 { + label = "0:MIBIB"; + reg = <0x40000 0x20000>; + read-only; + }; + + partition@60000 { + label = "0:QSEE"; + reg = <0x60000 0x60000>; + read-only; + }; + + partition@c0000 { + label = "0:CDT"; + reg = <0xc0000 0x10000>; + read-only; + }; + + partition@d0000 { + label = "0:DDRPARAMS"; + reg = <0xd0000 0x10000>; + read-only; + }; + + partition@e0000 { + label = "0:APPSBLENV"; + reg = <0xe0000 0x10000>; + read-only; + }; + + partition@f0000 { + label = "0:APPSBL"; + reg = <0xf0000 0x80000>; + read-only; + }; + + partition@170000 { + label = "0:ART"; + reg = <0x170000 0x10000>; + read-only; + }; + }; + }; +}; + +&nand { + pinctrl-0 = <&nand_pins>; + pinctrl-names = "default"; + status = "okay"; + + nand@0 { + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "ubi"; + reg = <0x00000000 0x04000000>; + }; + }; + }; +}; + +&tlmm { + nand_pins: nand-pins { + pullups { + pins = "gpio53", "gpio58", "gpio59"; + function = "qpic"; + bias-pull-up; + }; + + pulldowns { + pins = "gpio54", "gpio55", "gpio56", + "gpio57", "gpio60", "gpio61", + "gpio62", "gpio63", "gpio64", + "gpio65", "gpio66", "gpio67", + "gpio68", "gpio69"; + function = "qpic"; + bias-pull-down; + }; + }; +}; diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-hugo-ac1200.dtsi b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-e2600ac.dtsi similarity index 79% rename from target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-hugo-ac1200.dtsi rename to target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-e2600ac.dtsi index 6c5239d611..c2c191e16f 100644 --- a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-hugo-ac1200.dtsi +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-e2600ac.dtsi @@ -1,5 +1,7 @@ -/* - * Copyright (c) 2019 Hugo Yuan +/* SPDX-License-Identifier: GPL-2.0-or-later OR MIT + * + * Copyright (c) 2018 Peng Zhang + * */ #include "qcom-ipq4019.dtsi" @@ -9,7 +11,7 @@ / { - model = "Hugo AC1200"; + model = "Qxwlan E2600AC"; compatible = "qcom,ipq4019"; memory { @@ -17,13 +19,6 @@ reg = <0x80000000 0x10000000>; /* 256MB */ }; - aliases { - led-boot = &power; - led-failsafe = &power; - led-running = &power; - led-upgrade = &power; - }; - soc { mdio@90000 { status = "okay"; @@ -133,18 +128,35 @@ compatible = "gpio-leds"; led1 { - label = "ac1200:green:ctrl1"; - gpios = <&tlmm 44 GPIO_ACTIVE_LOW>; + label = "e2600ac:green:wlan0"; + gpios = <&tlmm 50 GPIO_ACTIVE_LOW>; }; led2 { - label = "ac1200:red:ctrl2"; - gpios = <&tlmm 45 GPIO_ACTIVE_LOW>; + label = "e2600ac:green:wlan1"; + gpios = <&tlmm 36 GPIO_ACTIVE_LOW>; }; - power: led3 { - label = "ac1200:blue:ctrl3"; - gpios = <&tlmm 46 GPIO_ACTIVE_LOW>; + led3 { + label = "e2600ac:green:usb"; + gpios = <&tlmm 32 GPIO_ACTIVE_LOW>; + trigger-sources = <&usb2_port1>, <&usb3_port1>, <&usb3_port2>; + linux,default-trigger = "usbport"; + }; + + led4 { + label = "e2600ac:green:ctrl1"; + gpios = <&tlmm 51 GPIO_ACTIVE_LOW>; + }; + + led5 { + label = "e2600ac:green:ctrl2"; + gpios = <&tlmm 30 GPIO_ACTIVE_LOW>; + }; + + led6 { + label = "e2600ac:green:ctrl3"; + gpios = <&tlmm 31 GPIO_ACTIVE_LOW>; }; }; @@ -187,6 +199,7 @@ function = "mdio"; bias-pull-up; }; + mux_2 { pins = "gpio7"; function = "mdc"; @@ -217,6 +230,7 @@ drive-strength = <12>; bias-disable; }; + pinmux_cs { function = "gpio"; pins = "gpio12"; @@ -241,10 +255,10 @@ &wifi0 { status = "okay"; - qcom,ath10k-calibration-variant = "hugo_ac1200"; + qcom,ath10k-calibration-variant = "Qxwlan-E2600AC"; }; &wifi1 { status = "okay"; - qcom,ath10k-calibration-variant = "hugo_ac1200"; + qcom,ath10k-calibration-variant = "Qxwlan-E2600AC"; }; diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-ea8300.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-ea8300.dts new file mode 100644 index 0000000000..e5b8e3175e --- /dev/null +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-ea8300.dts @@ -0,0 +1,391 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +/* + * Device Tree Source for Linksys EA8300 (Dallas) + * + * Copyright (C) 2019 Jeff Kletsky + * + */ + +/dts-v1/; + +#include "qcom-ipq4019.dtsi" +#include +#include +#include + +/ { + model = "Linksys EA8300 (Dallas)"; + compatible = "linksys,ea8300", "qcom,ipq4019"; + + aliases { + led-boot = &led_wps_amber; + led-failsafe = &led_wps; + led-running = &led_linksys; + led-upgrade = &led_world; + serial0 = &blsp1_uart1; + }; + + leds { + compatible = "gpio-leds"; + + // Retain node names from running OEM on EA8300 + + // Front panel LEDs, top to bottom + + led_plug: diag { + label = "ea8300:amber:plug"; + gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>; + }; + + led_world: internet { + label = "ea8300:amber:world"; + gpios = <&tlmm 49 GPIO_ACTIVE_HIGH>; + }; + + led_wps: wps { + label = "ea8300:white:wps"; + gpios = <&tlmm 46 GPIO_ACTIVE_HIGH>; + }; + + led_wps_amber: wps_amber { + label = "ea8300:amber:wps"; + gpios = <&tlmm 22 GPIO_ACTIVE_HIGH>; + panic-indicator; + }; + + led_linksys: pwr { + label = "ea8300:white:linksys"; + gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>; + }; + + // On back panel, above USB socket + + led_usb: usb { + label = "ea8300:green:usb"; + gpios = <&tlmm 61 GPIO_ACTIVE_LOW>; + trigger-sources = <&usb3_port1>, <&usb3_port2>, + <&usb2_port1>; + linux,default-trigger = "usbport"; + }; + }; + + keys { + compatible = "gpio-keys"; + + button@0 { + label = "reset"; + linux,code = ; + gpios = <&tlmm 50 GPIO_ACTIVE_LOW>; + }; + + button@1 { + label = "wps"; + linux,code = ; + gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; + }; + }; + + // + // OEM U-Boot provides either + // init=/sbin/init rootfstype=ubifs ubi.mtd=11,2048 \ + // root=ubi0:ubifs rootwait rw + // or the same with ubi.mtd=13,2048 + // + + chosen { + bootargs-append = " root=/dev/ubiblock0_0 rootfstype=squashfs ro"; + }; + + memory { + device_type = "memory"; + reg = <0x80000000 0x10000000>; + }; + + soc { + rng@22000 { + status = "okay"; + }; + + mdio@90000 { + status = "okay"; + }; + + 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"; + + dwc3@6000000 { + #address-cells = <1>; + #size-cells = <0>; + + usb2_port1: port@1 { + reg = <1>; + #trigger-source-cells = <0>; + }; + }; + }; + + usb3@8af8800 { + status = "okay"; + + dwc3@8a00000 { + #address-cells = <1>; + #size-cells = <0>; + + usb3_port1: port@1 { + reg = <1>; + #trigger-source-cells = <0>; + }; + + usb3_port2: port@2 { + reg = <2>; + #trigger-source-cells = <0>; + }; + }; + }; + + crypto@8e3a000 { + status = "okay"; + }; + + watchdog@b017000 { + status = "okay"; + }; + + ess-switch@c000000 { + status = "okay"; + }; + + edma@c080000 { + status = "okay"; + }; + }; +}; + +&blsp_dma { + status = "okay"; +}; + +&blsp1_uart1 { + status = "okay"; + pinctrl-0 = <&serial_0_pins>; + pinctrl-names = "default"; +}; + +&cryptobam { + status = "okay"; +}; + +&nand { + status = "okay"; + + pinctrl-0 = <&nand_pins>; + pinctrl-names = "default"; + + nand@0 { + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "sbl1"; + reg = <0x0 0x100000>; + read-only; + }; + + partition@100000 { + label = "mibib"; + reg = <0x100000 0x100000>; + read-only; + }; + + partition@200000 { + label = "qsee"; + reg = <0x200000 0x100000>; + read-only; + }; + + partition@300000 { + label = "cdt"; + reg = <0x300000 0x80000>; + read-only; + }; + + partition@380000 { + label = "appsblenv"; + reg = <0x380000 0x80000>; + read-only; + }; + + partition@400000 { + label = "ART"; + reg = <0x400000 0x80000>; + read-only; + }; + + partition@480000 { + label = "appsbl"; + reg = <0x480000 0x200000>; + read-only; + }; + + partition@680000 { + label = "u_env"; + reg = <0x680000 0x80000>; + // writable -- U-Boot environment + }; + + partition@700000 { + label = "s_env"; + reg = <0x700000 0x40000>; + // writable -- Boot counter records + }; + + partition@740000 { + label = "devinfo"; + reg = <0x740000 0x40000>; + read-only; + }; + + partition@780000 { + label = "kernel"; + reg = <0x780000 0x5800000>; + }; + + partition@a80000 { + label = "rootfs"; + reg = <0xa80000 0x5500000>; + }; + + partition@5f80000 { + label = "alt_kernel"; + reg = <0x5f80000 0x5800000>; + }; + + partition@6280000 { + label = "alt_rootfs"; + reg = <0x6280000 0x5500000>; + }; + + partition@b780000 { + label = "sysdiag"; + reg = <0xb780000 0x100000>; + read-only; + }; + + partition@b880000 { + label = "syscfg"; + reg = <0xb880000 0x4680000>; + read-only; + }; + }; + }; +}; + +&pcie0 { + status = "okay"; + + perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>; + wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>; + + bridge@0,0 { + reg = <0x00000000 0 0 0 0>; + #address-cells = <3>; + #size-cells = <2>; + ranges; + + wifi2: wifi@1,0 { + compatible = "qcom,ath10k"; + reg = <0x00010000 0 0 0 0>; + }; + }; +}; + +&qpic_bam { + status = "okay"; +}; + +&tlmm { + serial_0_pins: serial0-pinmux { + pins = "gpio16", "gpio17"; + function = "blsp_uart0"; + bias-disable; + }; + + nand_pins: nand_pins { + pullups { + pins = "gpio53", "gpio58", "gpio59"; + function = "qpic"; + bias-pull-up; + }; + + // gpio61 controls led_usb + + pulldowns { + pins = "gpio55", "gpio56", "gpio57", + "gpio60", "gpio62", "gpio63", + "gpio64", "gpio65", "gpio66", + "gpio67", "gpio68", "gpio69"; + function = "qpic"; + bias-pull-down; + }; + }; +}; + +&usb2_hs_phy { + status = "okay"; +}; + +&usb3_hs_phy { + status = "okay"; +}; + +&usb3_ss_phy { + status = "okay"; +}; + +&wifi0 { + status = "okay"; + qcom,ath10k-calibration-variant = "linksys-ea8300-fcc"; +}; + +&wifi1 { + status = "okay"; + ieee80211-freq-limit = <5170000 5330000>; + qcom,ath10k-calibration-variant = "linksys-ea8300-fcc"; +}; + +&wifi2 { + status = "okay"; + ieee80211-freq-limit = <5490000 5835000>; + qcom,ath10k-calibration-variant = "linksys-ea8300-fcc"; +}; diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts new file mode 100644 index 0000000000..ce117b451a --- /dev/null +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts @@ -0,0 +1,299 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "qcom-ipq4019.dtsi" +#include +#include +#include + +/ { + model = "AVM FRITZ!Box 7530"; + compatible = "avm,fritzbox-7530"; + + aliases { + led-boot = &power_green; + led-failsafe = &info_red; + led-running = &power_green; + led-upgrade = &info_green; + }; + + soc { + mdio@90000 { + status = "okay"; + }; + + 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 = ; + }; + + usb3@8af8800 { + status = "okay"; + }; + + crypto@8e3a000 { + status = "okay"; + }; + + watchdog@b017000 { + status = "okay"; + }; + + ess-switch@c000000 { + status = "okay"; + }; + + edma@c080000 { + status = "okay"; + qcom,num_gmac = <1>; + }; + }; + + keys { + compatible = "gpio-keys"; + + wlan { + label = "wlan"; + gpios = <&tlmm 42 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + + wps { + label = "wps"; + gpios = <&tlmm 41 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + + dect { + label = "dect"; + gpios = <&tlmm 43 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; + + leds { + compatible = "gpio-leds"; + + info_red: info_red { + label = "fritzbox-7530:red:info"; + gpios = <&tlmm 32 GPIO_ACTIVE_LOW>; + }; + + info_green: info { + label = "fritzbox-7530:green:info"; + gpios = <&tlmm 33 GPIO_ACTIVE_LOW>; + }; + + wlan { + label = "fritzbox-7530:green:wlan"; + gpios = <&tlmm 34 GPIO_ACTIVE_LOW>; + }; + + fon { + label = "fritzbox-7530:green:fon"; + gpios = <&tlmm 35 GPIO_ACTIVE_LOW>; + }; + + power_green: power { + label = "fritzbox-7530:green:power"; + gpios = <&tlmm 39 GPIO_ACTIVE_LOW>; + }; + + wps { + label = "fritzbox-7530:green:wps"; + gpios = <&tlmm 45 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&tlmm { + serial_0_pins: serial_pinmux { + mux { + pins = "gpio16", "gpio17"; + function = "blsp_uart0"; + bias-disable; + }; + }; + + nand_pins: nand_pins { + pullups { + pins = "gpio53", "gpio58", "gpio59"; + function = "qpic"; + bias-pull-up; + }; + + pulldowns { + pins = "gpio54", "gpio55", "gpio56", + "gpio57", "gpio60", "gpio61", + "gpio62", "gpio63", "gpio64", + "gpio65", "gpio66", "gpio67", + "gpio68", "gpio69"; + function = "qpic"; + bias-pull-down; + }; + }; + + usb-power { + line-name = "enable USB3 power"; + gpios = <49 GPIO_ACTIVE_HIGH>; + gpio-hog; + output-high; + }; +}; + +&nand { + pinctrl-0 = <&nand_pins>; + pinctrl-names = "default"; + status = "okay"; + + nand@0 { + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "SBL1"; + reg = <0x000000 0x80000>; + read-only; + }; + + partition@80000 { + label = "MIBIB"; + reg = <0x080000 0x80000>; + read-only; + }; + + partition@100000 { + label = "QSEE"; + reg = <0x100000 0x80000>; + read-only; + }; + + partition@180000 { + label = "CDT"; + reg = <0x180000 0x40000>; + read-only; + }; + + partition@1c0000 { + label = "QSEE_B"; + reg = <0x1c0000 0x80000>; + read-only; + }; + + partition@240000 { + label = "urlader0"; + reg = <0x240000 0x40000>; + read-only; + }; + + partition@280000 { + label = "urlader1"; + reg = <0x280000 0x40000>; + read-only; + }; + + partition@2c0000 { + label = "nand-tffs"; + reg = <0x2c0000 0x840000>; + read-only; + }; + + partition@b00000 { + /* 'kernel1' in AVM firmware */ + label = "uboot0"; + reg = <0xb00000 0x400000>; + }; + + partition@f00000 { + /* 'kernel2' in AVM firmware */ + label = "uboot1"; + reg = <0xf00000 0x400000>; + }; + + partition@1300000 { + label = "ubi"; + reg = <0x1300000 0x6d00000>; + }; + }; + }; +}; + +&cryptobam { + status = "okay"; +}; + +&blsp_dma { + status = "okay"; +}; + +&blsp1_uart1 { + pinctrl-0 = <&serial_0_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + +&usb3_ss_phy { + status = "okay"; +}; + +&usb3_hs_phy { + status = "okay"; +}; + +&qpic_bam { + status = "okay"; +}; + +&wifi0 { + status = "okay"; + qcom,ath10k-calibration-variant = "AVM-FRITZBox-7530"; +}; + +&wifi1 { + status = "okay"; + qcom,ath10k-calibration-variant = "AVM-FRITZBox-7530"; +}; + +&pcie0 { + status = "okay"; + + perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>; + wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>; + + bridge@0,0 { + reg = <0x00000000 0 0 0 0>; + #address-cells = <3>; + #size-cells = <2>; + ranges; + + dsl@1,0 { + compatible = "intel,vrx518"; + status = "okay"; + reg = <0x00010000 0 0 0 0>; + }; + }; +}; diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-1200.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-1200.dts new file mode 100644 index 0000000000..13e5e856cb --- /dev/null +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-1200.dts @@ -0,0 +1,263 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "qcom-ipq4019.dtsi" +#include +#include +#include + +/ { + model = "AVM FRITZ!Repeater 1200"; + compatible = "avm,fritzrepeater-1200"; + + aliases { + led-boot = &power_green; + led-failsafe = &power_red; + led-running = &power_green; + led-upgrade = &power_red; + }; + + soc { + mdio@90000 { + status = "okay"; + pinctrl-0 = <&mdio_pins>; + pinctrl-names = "default"; + }; + + tcsr@1949000 { + compatible = "qcom,tcsr"; + reg = <0x1949000 0x100>; + qcom,wifi_glb_cfg = ; + }; + + 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 = ; + }; + + crypto@8e3a000 { + status = "okay"; + }; + + watchdog@b017000 { + status = "okay"; + }; + + ess-switch@c000000 { + switch_mac_mode = <0x3>; /* mac mode for RGMII RMII */ + switch_lan_bmp = <0x0>; /* lan port bitmap */ + switch_wan_bmp = <0x10>; /* wan port bitmap */ + }; + + edma@c080000 { + status = "okay"; + phy-mode = "rgmii-rxid"; + qcom,num_gmac = <1>; + qcom,single-phy; + }; + }; + + key { + compatible = "gpio-keys"; + + wps { + label = "WPS button"; + gpios = <&tlmm 10 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; + + leds { + compatible = "gpio-leds"; + + power_red: power_red { + label = "fritzwlan-1200:red:power"; + gpios = <&tlmm 50 GPIO_ACTIVE_LOW>; + }; + + power_green: power_green { + label = "fritzwlan-1200:green:power"; + gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>; + }; + + power_yellow { + label = "fritzwlan-1200:yellow:power"; + gpios = <&tlmm 49 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&tlmm { + serial_0_pins: serial_pinmux { + mux { + pins = "gpio16", "gpio17"; + function = "blsp_uart0"; + bias-disable; + }; + }; + + nand_pins: nand_pins { + pullups { + pins = "gpio53", "gpio58", "gpio59"; + function = "qpic"; + bias-pull-up; + }; + + pulldowns { + pins = "gpio54", "gpio55", "gpio56", + "gpio57", "gpio60", "gpio61", + "gpio62", "gpio63", "gpio64", + "gpio65", "gpio66", "gpio67", + "gpio68", "gpio69"; + function = "qpic"; + bias-pull-down; + }; + }; + + mdio_pins: mdio_pinmux { + mux_1 { + pins = "gpio6"; + function = "mdio"; + bias-pull-up; + }; + + mux_2 { + pins = "gpio7"; + function = "mdc"; + bias-pull-up; + }; + }; + + phy-reset { + line-name = "PHY-reset"; + gpios = <19 GPIO_ACTIVE_HIGH>; + gpio-hog; + output-high; + }; + + phy-reset-2 { + line-name = "PHY-reset-2"; + gpios = <47 GPIO_ACTIVE_HIGH>; + gpio-hog; + output-high; + }; +}; + +&nand { + pinctrl-0 = <&nand_pins>; + pinctrl-names = "default"; + status = "okay"; + + nand@0 { + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "SBL1"; + reg = <0x0 0x80000>; + read-only; + }; + + partition@80000 { + label = "MIBIB"; + reg = <0x80000 0x80000>; + read-only; + }; + + partition@100000 { + label = "QSEE"; + reg = <0x100000 0x80000>; + read-only; + }; + + partition@180000 { + label = "CDT"; + reg = <0x180000 0x40000>; + read-only; + }; + + partition@1c0000 { + label = "QSEE_B"; + reg = <0x1c0000 0x80000>; + read-only; + }; + + partition@240000 { + label = "urlader0"; + reg = <0x240000 0x40000>; + read-only; + }; + + partition@280000 { + label = "urlader1"; + reg = <0x280000 0x40000>; + read-only; + }; + + partition@2c0000 { + label = "nand-tffs"; + reg = <0x2c0000 0x840000>; + read-only; + }; + + partition@b00000 { + /* 'kernel1' in AVM firmware */ + label = "uboot0"; + reg = <0xb00000 0x400000>; + }; + + partition@f00000 { + /* 'kernel2' in AVM firmware */ + label = "uboot1"; + reg = <0xf00000 0x400000>; + }; + + partition@1300000 { + label = "ubi"; + reg = <0x1300000 0x6d00000>; + }; + }; + }; +}; + +&cryptobam { + status = "okay"; +}; + +&blsp_dma { + status = "okay"; +}; + +&blsp1_uart1 { + pinctrl-0 = <&serial_0_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + +&qpic_bam { + status = "okay"; +}; + +&wifi0 { + status = "okay"; + qcom,ath10k-calibration-variant = "AVM-FRITZRepeater-1200"; +}; + +&wifi1 { + status = "okay"; + qcom,ath10k-calibration-variant = "AVM-FRITZRepeater-1200"; +}; + +&gmac0 { + qcom,phy_mdio_addr = <0>; + qcom,poll_required = <1>; + vlan_tag = <0 0x20>; +}; diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-3000.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-3000.dts new file mode 100644 index 0000000000..07a140095a --- /dev/null +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-3000.dts @@ -0,0 +1,260 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "qcom-ipq4019.dtsi" +#include +#include +#include + +/ { + model = "AVM FRITZ!Repeater 3000"; + compatible = "avm,fritzrepeater-3000"; + + aliases { + led-boot = &power_led; + led-failsafe = &power_led; + led-running = &power_led; + led-upgrade = &power_led; + }; + + soc { + mdio@90000 { + status = "okay"; + }; + + ess-psgmii@98000 { + status = "okay"; + }; + + tcsr@1949000 { + compatible = "qcom,tcsr"; + reg = <0x1949000 0x100>; + qcom,wifi_glb_cfg = ; + }; + + 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 = ; + }; + + crypto@8e3a000 { + status = "okay"; + }; + + watchdog@b017000 { + status = "okay"; + }; + + ess-switch@c000000 { + status = "okay"; + + switch_lan_bmp = <0x10>; + switch_wan_bmp = <0x20>; + }; + + edma@c080000 { + status = "okay"; + }; + }; + + key { + compatible = "gpio-keys"; + + connect { + label = "Connect"; + gpios = <&tlmm 10 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; + + leds { + compatible = "gpio-leds"; + + connect_red { + label = "fritzwlan-3000:red:connect"; + gpios = <&tlmm 30 GPIO_ACTIVE_LOW>; + }; + + connect_green { + label = "fritzwlan-3000:green:connect"; + gpios = <&tlmm 31 GPIO_ACTIVE_LOW>; + }; + + connect_blue { + label = "fritzwlan-3000:blue:connect"; + gpios = <&tlmm 32 GPIO_ACTIVE_LOW>; + }; + + power_led: power { + label = "fritzwlan-3000:green:power"; + gpios = <&tlmm 33 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&tlmm { + serial_0_pins: serial_pinmux { + mux { + pins = "gpio16", "gpio17"; + function = "blsp_uart0"; + bias-disable; + }; + }; + + nand_pins: nand_pins { + pullups { + pins = "gpio53", "gpio58", "gpio59"; + function = "qpic"; + bias-pull-up; + }; + + pulldowns { + pins = "gpio54", "gpio55", "gpio56", + "gpio57", "gpio60", "gpio61", + "gpio62", "gpio63", "gpio64", + "gpio65", "gpio66", "gpio67", + "gpio68", "gpio69"; + function = "qpic"; + bias-pull-down; + }; + }; +}; + +&nand { + pinctrl-0 = <&nand_pins>; + pinctrl-names = "default"; + status = "okay"; + + nand@0 { + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "SBL1"; + reg = <0x000000 0x80000>; + read-only; + }; + + partition@80000 { + label = "MIBIB"; + reg = <0x080000 0x80000>; + read-only; + }; + + partition@100000 { + label = "QSEE"; + reg = <0x100000 0x80000>; + read-only; + }; + + partition@180000 { + label = "CDT"; + reg = <0x180000 0x40000>; + read-only; + }; + + partition@1c0000 { + label = "QSEE_B"; + reg = <0x1c0000 0x80000>; + read-only; + }; + + partition@240000 { + label = "urlader0"; + reg = <0x240000 0x40000>; + read-only; + }; + + partition@280000 { + label = "urlader1"; + reg = <0x280000 0x40000>; + read-only; + }; + + partition@2c0000 { + label = "nand-tffs"; + reg = <0x2c0000 0x840000>; + read-only; + }; + + partition@b00000 { + /* 'kernel1' in AVM firmware */ + label = "uboot0"; + reg = <0xb00000 0x400000>; + }; + + partition@f00000 { + /* 'kernel2' in AVM firmware */ + label = "uboot1"; + reg = <0xf00000 0x400000>; + }; + + partition@1300000 { + label = "ubi"; + reg = <0x1300000 0x6d00000>; + }; + }; + }; +}; + +&cryptobam { + status = "okay"; +}; + +&blsp_dma { + status = "okay"; +}; + +&blsp1_uart1 { + pinctrl-0 = <&serial_0_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + +&qpic_bam { + status = "okay"; +}; + +&wifi0 { + status = "okay"; + /* BDFs are identical for the FRITZ!Box 7530 and the FRITZ!Repeater 3000 */ + qcom,ath10k-calibration-variant = "AVM-FRITZRepeater-3000"; +}; + +&wifi1 { + status = "okay"; + ieee80211-freq-limit = <5170000 5350000>; + /* BDFs are identical for the FRITZ!Box 7530 and the FRITZ!Repeater 3000 */ + qcom,ath10k-calibration-variant = "AVM-FRITZRepeater-3000"; +}; + +&pcie0 { + status = "okay"; + + perst-gpio = <&tlmm 35 GPIO_ACTIVE_LOW>; + wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>; + + bridge@0,0 { + reg = <0x00000000 0 0 0 0>; + #address-cells = <3>; + #size-cells = <2>; + ranges; + + wifi@1,0 { + /* QCA9984 */ + compatible = "qcom,ath10k"; + status = "okay"; + reg = <0x00010000 0 0 0 0>; + ieee80211-freq-limit = <5470000 5875000>; + /* Uses the reference BDF */ + }; + }; +}; diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-hugo-ac1200.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-hugo-ac1200.dts index f129d6b1d0..76d07399ff 100644 --- a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-hugo-ac1200.dts +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-hugo-ac1200.dts @@ -2,13 +2,165 @@ * Copyright (c) 2019 Hugo Yuan */ -#include "qcom-ipq4019-hugo-ac1200.dtsi" +#include "qcom-ipq4019.dtsi" #include #include +#include / { model = "Hugo AC1200"; compatible = "hugo,ac1200", "qcom,ipq4019"; + + memory { + device_type = "memory"; + reg = <0x80000000 0x10000000>; /* 256MB */ + }; + + aliases { + led-boot = &power; + led-failsafe = &power; + led-running = &power; + led-upgrade = &power; + }; + + soc { + 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 { + /* select hostmode */ + compatible = "qcom,tcsr"; + reg = <0x194b000 0x100>; + qcom,usb-hsphy-mode-select = ; + status = "okay"; + }; + + 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"; + + dwc3@6000000 { + #address-cells = <1>; + #size-cells = <0>; + + usb2_port1: port@1 { + reg = <1>; + #trigger-source-cells = <0>; + }; + }; + }; + + serial@78af000 { + pinctrl-0 = <&serial_0_pins>; + pinctrl-names = "default"; + status = "okay"; + }; + + serial@78b0000 { + pinctrl-0 = <&serial_1_pins>; + pinctrl-names = "default"; + status = "okay"; + }; + + i2c@78b7000 { /* BLSP1 QUP2 */ + pinctrl-0 = <&i2c_0_pins>; + pinctrl-names = "default"; + + status = "okay"; + }; + + usb3: usb3@8af8800 { + status = "okay"; + + dwc3@8a00000 { + #address-cells = <1>; + #size-cells = <0>; + + usb3_port1: port@1 { + reg = <1>; + #trigger-source-cells = <0>; + }; + + usb3_port2: port@2 { + reg = <2>; + #trigger-source-cells = <0>; + }; + }; + }; + + crypto@8e3a000 { + status = "okay"; + }; + + watchdog@b017000 { + status = "okay"; + }; + + ess-switch@c000000 { + status = "okay"; + }; + + edma@c080000 { + status = "okay"; + }; + + leds { + compatible = "gpio-leds"; + + led1 { + label = "ac1200:green:ctrl1"; + gpios = <&tlmm 44 GPIO_ACTIVE_LOW>; + }; + + led2 { + label = "ac1200:red:ctrl2"; + gpios = <&tlmm 45 GPIO_ACTIVE_LOW>; + }; + + power: led3 { + label = "ac1200:blue:ctrl3"; + gpios = <&tlmm 46 GPIO_ACTIVE_LOW>; + }; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; + }; +}; + +&blsp_dma { + status = "okay"; }; &blsp1_spi1 { @@ -32,41 +184,49 @@ reg = <0x0 0x40000>; read-only; }; + partition@40000 { label = "0:MIBIB"; reg = <0x40000 0x20000>; read-only; }; + partition@60000 { label = "0:QSEE"; reg = <0x60000 0x60000>; read-only; }; + partition@c0000 { label = "0:CDT"; reg = <0xc0000 0x10000>; read-only; }; + partition@d0000 { label = "0:DDRPARAMS"; reg = <0xd0000 0x10000>; read-only; }; + partition@e0000 { label = "0:APPSBLENV"; reg = <0xe0000 0x10000>; read-only; }; + partition@f0000 { label = "0:APPSBL"; reg = <0xf0000 0x80000>; read-only; }; + partition@170000 { label = "0:ART"; reg = <0x170000 0x10000>; read-only; }; + partition@180000 { compatible = "denx,fit"; label = "firmware"; @@ -76,3 +236,89 @@ }; }; +&cryptobam { + status = "okay"; +}; + +&qpic_bam { + status = "okay"; +}; + +&tlmm { + i2c_0_pins: i2c-0-pinmux { + mux { + pins = "gpio20", "gpio21"; + function = "blsp_i2c0"; + bias-disable; + }; + }; + + 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; + }; + }; + + serial_1_pins: serial1_pinmux { + mux { + pins = "gpio8", "gpio9"; + function = "blsp_uart1"; + bias-disable; + }; + }; + + spi_0_pins: spi_0_pinmux { + pinmux { + function = "blsp_spi0"; + pins = "gpio13", "gpio14", "gpio15"; + drive-strength = <12>; + bias-disable; + }; + + pinmux_cs { + function = "gpio"; + pins = "gpio12"; + drive-strength = <2>; + bias-disable; + output-high; + }; + }; +}; + +&usb3_ss_phy { + status = "okay"; +}; + +&usb3_hs_phy { + status = "okay"; +}; + +&usb2_hs_phy { + status = "okay"; +}; + +&wifi0 { + status = "okay"; + qcom,ath10k-calibration-variant = "hugo_ac1200"; +}; + +&wifi1 { + status = "okay"; + qcom,ath10k-calibration-variant = "hugo_ac1200"; +}; diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-map-ac2200.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-map-ac2200.dts index ea39428b88..780252f94c 100644 --- a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-map-ac2200.dts +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-map-ac2200.dts @@ -194,6 +194,7 @@ &wifi1 { status = "okay"; qcom,ath10k-calibration-variant = "ASUS-MAP-AC2200"; + ieee80211-freq-limit = <5470000 5875000>; }; &pcie0 { @@ -212,6 +213,7 @@ status = "okay"; reg = <0x00010000 0 0 0 0>; qcom,ath10k-calibration-variant = "ASUS-MAP-AC2200"; + ieee80211-freq-limit = <5170000 5350000>; }; }; }; diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-r619ac-128m.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-r619ac-128m.dts index 14176a2c16..fb1d17829e 100644 --- a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-r619ac-128m.dts +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-r619ac-128m.dts @@ -15,4 +15,4 @@ reg = <0x0 0x8000000>; }; -/delete-node/ &rootfs_part2; \ No newline at end of file +/delete-node/ &rootfs_part2; diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-r619ac.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-r619ac.dts index e2adfc3552..0e37633e0c 100644 --- a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-r619ac.dts +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-r619ac.dts @@ -9,4 +9,4 @@ chosen { bootargs-append = " root=/dev/ubiblock0_1 rootfstype=squashfs"; }; -}; \ No newline at end of file +}; diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts index 82e56d7ff7..c68c4c3576 100644 --- a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts @@ -140,6 +140,7 @@ drive-strength = <12>; bias-disable; }; + pin_cs { function = "gpio"; pins = "gpio54"; @@ -177,41 +178,49 @@ reg = <0x00000000 0x00040000>; read-only; }; + partition1@40000 { label = "0:MIBIB"; reg = <0x00040000 0x00020000>; read-only; }; + partition2@60000 { label = "0:QSEE"; reg = <0x00060000 0x00060000>; read-only; }; + partition3@c0000 { label = "0:CDT"; reg = <0x000c0000 0x00010000>; read-only; }; + partition4@d0000 { label = "0:DDRPARAMS"; reg = <0x000d0000 0x00010000>; read-only; }; + partition5@e0000 { label = "0:APPSBLENV"; /* uboot env*/ reg = <0x000e0000 0x00010000>; read-only; }; + partition5@f0000 { label = "0:APPSBL"; /* uboot */ reg = <0x000f0000 0x00080000>; read-only; }; + partition5@170000 { label = "0:ART"; reg = <0x00170000 0x00010000>; read-only; }; + partition6@180000 { compatible = "denx,fit"; label = "firmware"; @@ -232,7 +241,19 @@ }; &gmac0 { - vlan_tag = <1 0x31>; + qcom,phy_mdio_addr = <4>; + qcom,poll_required = <1>; + qcom,forced_speed = <1000>; + qcom,forced_duplex = <1>; + vlan_tag = <2 0x20>; +}; + +&gmac1 { + qcom,phy_mdio_addr = <3>; + qcom,poll_required = <1>; + qcom,forced_speed = <1000>; + qcom,forced_duplex = <1>; + vlan_tag = <1 0x10>; }; &usb3_ss_phy { diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts index 95a7c2b60b..789250ab14 100644 --- a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts @@ -237,15 +237,18 @@ function = "blsp_spi0"; pins = "gpio55", "gpio56", "gpio57"; }; + pinmux_cs { function = "gpio"; pins = "gpio54"; }; + pinconf { pins = "gpio55", "gpio56", "gpio57"; drive-strength = <12>; bias-disable; }; + pinconf_cs { pins = "gpio54"; drive-strength = <2>; @@ -255,10 +258,6 @@ }; }; -&gmac0 { - vlan_tag = <1 0x39>; -}; - &usb2_hs_phy { status = "okay"; }; diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4029-mr33.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4029-mr33.dts index fcc6410b81..0671fc287c 100644 --- a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4029-mr33.dts +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4029-mr33.dts @@ -210,56 +210,67 @@ reg = <0x000000000000 0x000000100000>; read-only; }; + partition@1 { label = "mibib"; reg = <0x000000100000 0x000000100000>; read-only; }; + partition@2 { label = "bootconfig"; reg = <0x000000200000 0x000000100000>; read-only; }; + partition@3 { label = "qsee"; reg = <0x000000300000 0x000000100000>; read-only; }; + partition@4 { label = "qsee_alt"; reg = <0x000000400000 0x000000100000>; read-only; }; + partition@5 { label = "cdt"; reg = <0x000000500000 0x000000080000>; read-only; }; + partition@6 { label = "cdt_alt"; reg = <0x000000580000 0x000000080000>; read-only; }; + partition@7 { label = "ddrparams"; reg = <0x000000600000 0x000000080000>; read-only; }; + partition@8 { label = "u-boot"; reg = <0x000000700000 0x000000200000>; read-only; }; + partition@9 { label = "u-boot-backup"; reg = <0x000000900000 0x000000200000>; read-only; }; + partition@10 { label = "ART"; reg = <0x000000b00000 0x000000080000>; read-only; }; + partition@11 { label = "ubi"; reg = <0x000000c00000 0x000007000000>; @@ -305,6 +316,7 @@ function = "mdio"; bias-pull-up; }; + mux_2 { pins = "gpio7"; function = "mdc"; @@ -334,6 +346,7 @@ function = "blsp_i2c0"; pins = "gpio20", "gpio21"; }; + pinconf { pins = "gpio20", "gpio21"; drive-strength = <16>; @@ -346,6 +359,7 @@ function = "blsp_i2c1"; pins = "gpio34", "gpio35"; }; + pinconf { pins = "gpio34", "gpio35"; drive-strength = <16>; diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-a42.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-a42.dts index 33c44a8097..a7f080d0f1 100644 --- a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-a42.dts +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-a42.dts @@ -148,6 +148,7 @@ drive-strength = <12>; bias-disable; }; + pin_cs { function = "gpio"; pins = "gpio54"; diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-cs-w3-wd1200g-eup.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-cs-w3-wd1200g-eup.dts new file mode 100644 index 0000000000..5a310c6072 --- /dev/null +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-cs-w3-wd1200g-eup.dts @@ -0,0 +1,243 @@ +// SPDX-License-Identifier: GPL-2.0 OR MIT + +#include "qcom-ipq4019.dtsi" +#include +#include +#include + +/ { + model = "EZVIZ CS-W3-WD1200G EUP"; + compatible = "ezviz,cs-w3-wd1200g-eup"; + + aliases { + led-boot = &led_status_green; + led-failsafe = &led_status_red; + led-running = &led_status_blue; + led-upgrade = &led_status_green; + }; + + soc { + rng@22000 { + status = "okay"; + }; + + mdio@90000 { + status = "okay"; + pinctrl-0 = <&mdio_pins>; + pinctrl-names = "default"; + reset-gpios = <&tlmm 59 GPIO_ACTIVE_LOW>; + reset-delay-us = <5000>; + }; + + 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 = ; + }; + + crypto@8e3a000 { + status = "okay"; + }; + + watchdog@b017000 { + status = "okay"; + }; + + ess-switch@c000000 { + status = "okay"; + }; + + edma@c080000 { + status = "okay"; + }; + }; + + leds { + compatible = "gpio-leds"; + + led_status_red: status_red { + label = "cs-w3-wd1200g-eup:red:status"; + gpios = <&tlmm 0 GPIO_ACTIVE_LOW>; + }; + + led_status_green: status_green { + label = "cs-w3-wd1200g-eup:green:status"; + gpios = <&tlmm 3 GPIO_ACTIVE_LOW>; + }; + + led_status_blue: status_blue { + label = "cs-w3-wd1200g-eup:blue:status"; + gpios = <&tlmm 58 GPIO_ACTIVE_LOW>; + }; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; +}; + +&tlmm { + serial_pins: serial_pinmux { + mux { + pins = "gpio60", "gpio61"; + function = "blsp_uart0"; + bias-disable; + }; + }; + + mdio_pins: mdio_pinmux { + mux_1 { + pins = "gpio53"; + function = "mdio"; + bias-pull-up; + }; + + mux_2 { + pins = "gpio52"; + function = "mdc"; + bias-pull-up; + }; + }; + + spi_0_pins: spi_0_pinmux { + pin { + function = "blsp_spi0"; + pins = "gpio55", "gpio56", "gpio57"; + drive-strength = <12>; + bias-disable; + }; + + pin_cs { + function = "gpio"; + pins = "gpio54"; + drive-strength = <2>; + bias-disable; + output-high; + }; + }; +}; + +&blsp_dma { + status = "okay"; +}; + +&blsp1_spi1 { + pinctrl-0 = <&spi_0_pins>; + pinctrl-names = "default"; + status = "okay"; + cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <24000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition0@0 { + label = "SBL1"; + reg = <0x00000000 0x00040000>; + read-only; + }; + + partition1@40000 { + label = "MIBIB"; + reg = <0x00040000 0x00020000>; + read-only; + }; + + partition2@60000 { + label = "QSEE"; + reg = <0x00060000 0x00060000>; + read-only; + }; + + partition3@c0000 { + label = "CDT"; + reg = <0x000c0000 0x00010000>; + read-only; + }; + + partition4@d0000 { + label = "DDRPARAMS"; + reg = <0x000d0000 0x00010000>; + read-only; + }; + + partition5@E0000 { + label = "APPSBLENV"; + reg = <0x000e0000 0x00010000>; + read-only; + }; + + partition6@F0000 { + label = "APPSBL"; + reg = <0x000f0000 0x00080000>; + read-only; + }; + + partition7@170000 { + label = "ART"; + reg = <0x00170000 0x00010000>; + read-only; + }; + + partition9@580000 { + compatible = "denx,fit"; + label = "firmware"; + reg = <0x00180000 0x00e80000>; + }; + }; + }; +}; + +&blsp1_uart1 { + pinctrl-0 = <&serial_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + +&cryptobam { + status = "okay"; +}; + +&wifi0 { + status = "okay"; + qcom,ath10k-calibration-variant = "ezviz-cs-w3-wd1200g-eup"; +}; + +&wifi1 { + status = "okay"; + qcom,ath10k-calibration-variant = "ezviz-cs-w3-wd1200g-eup"; +}; diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-dap-2610.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-dap-2610.dts new file mode 100644 index 0000000000..43c693aac6 --- /dev/null +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-dap-2610.dts @@ -0,0 +1,255 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "qcom-ipq4019.dtsi" +#include +#include +#include + +/ { + model = "D-Link DAP 2610"; + compatible = "dlink,dap-2610"; + + aliases { + led-boot = &led_red; + led-failsafe = &led_red; + led-running = &led_green; + led-upgrade = &led_red; + }; + + soc { + edma@c080000 { + qcom,num_gmac = <1>; + status = "ok"; + }; + + tcsr@1949000 { + compatible = "qcom,tcsr"; + reg = <0x1949000 0x100>; + qcom,wifi_glb_cfg = ; + }; + + 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 = ; + }; + + rng@22000 { + status = "ok"; + }; + + crypto@8e3a000 { + status = "ok"; + }; + + watchdog@b017000 { + status = "ok"; + }; + + ess-switch@c000000 { + status = "ok"; + switch_lan_bmp = <0x20>; + switch_wan_bmp = <0x00>; + }; + + ess-psgmii@98000 { + status = "ok"; + }; + }; + + leds { + compatible = "gpio-leds"; + + led_red: red { + label = "dap-2610:red:power"; + gpios = <&tlmm 4 GPIO_ACTIVE_LOW>; + }; + + led_green: green { + label = "dap-2610:green:power"; + gpios = <&tlmm 5 GPIO_ACTIVE_LOW>; + }; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; +}; + +&blsp1_spi1 { + pinctrl-0 = <&spi_0_pins>; + pinctrl-names = "default"; + status = "ok"; + cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <24000000>; + + partitions { + #address-cells = <1>; + #size-cells = <1>; + compatible = "fixed-partitions"; + + 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 { + compatible = "wrg"; + label = "firmware"; + reg = <0x180000 0xdc0000>; + }; + + partition@fb0000 { + label = "rgbd"; + reg = <0xfb0000 0x10000>; + read-only; + }; + + partition@fc0000 { + label = "bdcfg"; + reg = <0xfc0000 0x10000>; + read-only; + }; + + partition@fd0000 { + label = "langpack"; + reg = <0xfd0000 0x20000>; + read-only; + }; + + partition@ff0000 { + label = "certificate"; + reg = <0xff0000 0x10000>; + read-only; + }; + + partition@f40000 { + label = "captival"; + reg = <0xf40000 0x70000>; + read-only; + }; + }; + }; +}; + +&blsp_dma { + status = "ok"; +}; + +&blsp1_uart1 { + pinctrl-0 = <&serial_pins>; + pinctrl-names = "default"; + status = "ok"; +}; + +&cryptobam { + status = "ok"; +}; + +&gmac0 { + qcom,phy_mdio_addr = <4>; + qcom,poll_required = <1>; + qcom,forced_speed = <1000>; + qcom,forced_duplex = <1>; + vlan_tag = <1 0x20>; +}; + +&mdio { + status = "ok"; +}; + +&tlmm { + serial_pins: serial_pinmux { + mux { + pins = "gpio60", "gpio61"; + function = "blsp_uart0"; + bias-disable; + }; + }; + + spi_0_pins: spi_0_pinmux { + mux { + function = "blsp_spi0"; + pins = "gpio55", "gpio56", "gpio57"; + drive-strength = <12>; + bias-disable; + }; + + mux_cs { + function = "gpio"; + pins = "gpio54"; + drive-strength = <2>; + bias-disable; + output-high; + }; + }; +}; + +&wifi0 { + status = "ok"; + qcom,ath10k-calibration-variant = "dlink,dap-2610"; +}; + +&wifi1 { + status = "ok"; + qcom,ath10k-calibration-variant = "dlink,dap-2610"; +}; diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-ea6350v3.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-ea6350v3.dts index 2f9a890485..e41123ed82 100644 --- a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-ea6350v3.dts +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-ea6350v3.dts @@ -178,44 +178,53 @@ reg = <0x00000000 0x00040000>; read-only; }; + MBIB@40000 { label = "MIBIB"; reg = <0x00040000 0x00020000>; read-only; }; + QSEE@60000 { label = "QSEE"; reg = <0x00060000 0x00060000>; read-only; }; + CDT@c0000 { label = "CDT"; reg = <0x000c0000 0x00010000>; read-only; }; + APPSBLENV@d0000 { label = "APPSBLENV"; reg = <0x000d0000 0x00010000>; read-only; }; + APPSBL@e0000 { label = "APPSBL"; /* uboot */ reg = <0x000e0000 0x00080000>; read-only; }; + ART@160000 { label = "ART"; reg = <0x00160000 0x00010000>; read-only; }; + u_env@170000 { label = "u_env"; reg = <0x00170000 0x00020000>; }; + s_env@190000 { label = "s_env"; reg = <0x00190000 0x00020000>; }; + devinfo@1b0000 { label = "devinfo"; reg = <0x001b0000 0x00010000>; @@ -239,22 +248,27 @@ label = "kernel"; reg = <0x00000000 0x02800000>; }; + rootfs@300000 { label = "rootfs"; reg = <0x00300000 0x02500000>; }; + alt_kernel@2800000 { label = "alt_kernel"; reg = <0x02800000 0x02800000>; }; + alt_rootfs@2b00000 { label = "alt_rootfs"; reg = <0x02b00000 0x02500000>; }; + sysdiag@5000000 { label = "sysdiag"; reg = <0x05000000 0x00100000>; }; + syscfg@5100000 { label = "syscfg"; reg = <0x05100000 0x02F00000>; diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-eap1300.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-eap1300.dts index 32fded4c0e..13fb14d2aa 100644 --- a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-eap1300.dts +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-eap1300.dts @@ -120,6 +120,7 @@ drive-strength = <12>; bias-disable; }; + pin_cs { function = "gpio"; pins = "gpio54"; @@ -154,50 +155,60 @@ reg = <0x00000000 0x00040000>; read-only; }; + partition1@40000 { label = "0:MIBIB"; reg = <0x00040000 0x00020000>; read-only; }; + partition2@60000 { label = "0:QSEE"; reg = <0x00060000 0x00060000>; read-only; }; + partition3@c0000 { label = "0:CDT"; reg = <0x000c0000 0x00010000>; read-only; }; + partition4@d0000 { label = "0:DDRPARAMS"; reg = <0x000d0000 0x00010000>; read-only; }; + partition5@e0000 { label = "0:APPSBLENV"; reg = <0x000e0000 0x00010000>; read-only; }; + partition6@f0000 { label = "0:APPSBL"; reg = <0x000f0000 0x00090000>; read-only; }; + partition7@180000 { label = "0:ART"; reg = <0x00180000 0x00010000>; read-only; }; + partition8@190000 { compatible = "denx,fit"; label = "firmware"; reg = <0x190000 0x1dc0000>; }; + partition9@1f50000 { label = "u-boot-env"; reg = <0x01f50000 0x00010000>; }; + partition10@1f60000 { label = "userconfig"; reg = <0x01f60000 0x000a0000>; diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-emd1.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-emd1.dts new file mode 100644 index 0000000000..57032740ee --- /dev/null +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-emd1.dts @@ -0,0 +1,242 @@ +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "qcom-ipq4019.dtsi" +#include +#include +#include + +/ { + model = "EnGenius EMD1"; + compatible = "engenius,emd1"; + + aliases { + led-boot = &led_power; + led-failsafe = &led_power; + led-running = &led_power; + led-upgrade = &led_power; + }; + + soc { + rng@22000 { + status = "okay"; + }; + + mdio@90000 { + status = "okay"; + }; + + ess-psgmii@98000 { + status = "okay"; + }; + + tcsr@1949000 { + compatible = "qcom,tcsr"; + reg = <0x1949000 0x100>; + qcom,wifi_glb_cfg = ; + }; + + 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 = ; + }; + + crypto@8e3a000 { + status = "okay"; + }; + + watchdog@b017000 { + status = "okay"; + }; + + ess-switch@c000000 { + status = "okay"; + switch_lan_bmp = <0x20>; + switch_wan_bmp = <0x00>; + }; + + edma@c080000 { + status = "okay"; + qcom,num_gmac = <1>; + }; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; + + leds { + compatible = "gpio-leds"; + + led_power: power { + label = "emd1:white:power"; + gpios = <&tlmm 58 GPIO_ACTIVE_LOW>; + }; + + wlan2g { + label = "emd1:red:wlan2g"; + gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "phy0tpt"; + }; + + wlan5g { + label = "emd1:blue:wlan5g"; + gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "phy1tpt"; + }; + + mesh { + label = "emd1:orange:mesh"; + gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; + }; + }; +}; + +&tlmm { + serial_pins: serial_pinmux { + mux { + pins = "gpio60", "gpio61"; + function = "blsp_uart0"; + bias-disable; + }; + }; + + spi_0_pins: spi_0_pinmux { + pin { + function = "blsp_spi0"; + pins = "gpio54", "gpio55", "gpio56", "gpio57"; + drive-strength = <12>; + bias-disable; + }; + + pin_cs { + function = "gpio"; + pins = "gpio54"; + drive-strength = <2>; + bias-disable; + output-high; + }; + }; +}; + +&blsp_dma { + status = "okay"; +}; + +&blsp1_spi1 { + pinctrl-0 = <&spi_0_pins>; + pinctrl-names = "default"; + status = "okay"; + cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <24000000>; + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition0@0 { + label = "0:SBL1"; + reg = <0x00000000 0x00040000>; + read-only; + }; + + partition1@40000 { + label = "0:MIBIB"; + reg = <0x00040000 0x00020000>; + read-only; + }; + + partition2@60000 { + label = "0:QSEE"; + reg = <0x00060000 0x00060000>; + read-only; + }; + + partition3@c0000 { + label = "0:CDT"; + reg = <0x000c0000 0x00010000>; + read-only; + }; + + partition4@d0000 { + label = "0:DDRPARAMS"; + reg = <0x000d0000 0x00010000>; + read-only; + }; + + partition5@e0000 { + label = "0:APPSBLENV"; + reg = <0x000e0000 0x00010000>; + read-only; + }; + + partition6@f0000 { + label = "0:APPSBL"; + reg = <0x000f0000 0x00080000>; + read-only; + }; + + partition7@170000 { + label = "0:ART"; + reg = <0x00170000 0x00010000>; + read-only; + }; + + partition8@180000 { + label = "userconfig"; + reg = <0x00180000 0x00080000>; + read-only; + }; + + partition9@200000 { + compatible = "denx,fit"; + label = "firmware"; + reg = <0x200000 0x01e00000>; + }; + }; + }; +}; + +&blsp1_uart1 { + pinctrl-0 = <&serial_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + +&gmac0 { + qcom,phy_mdio_addr = <4>; + qcom,poll_required = <1>; + qcom,forced_speed = <1000>; + qcom,forced_duplex = <1>; + vlan_tag = <1 0x20>; +}; + +&cryptobam { + status = "okay"; +}; + +&wifi0 { + status = "okay"; + qcom,ath10k-calibration-variant = "EnGenius-EMD1"; +}; + +&wifi1 { + status = "okay"; + qcom,ath10k-calibration-variant = "EnGenius-EMD1"; +}; diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-ens620ext.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-ens620ext.dts index 8636b18b2e..eca8a32f0a 100644 --- a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-ens620ext.dts +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-ens620ext.dts @@ -177,56 +177,67 @@ reg = <0x00000000 0x00040000>; read-only; }; + partition@40000 { label = "MIBIB"; reg = <0x00040000 0x00020000>; read-only; }; + partition@60000 { label = "QSEE"; reg = <0x00060000 0x00060000>; read-only; }; + partition@c0000 { label = "CDT"; reg = <0x000c0000 0x00010000>; read-only; }; + partition@d0000 { label = "DDRPARAMS"; reg = <0x000d0000 0x00010000>; read-only; }; + partition@e0000 { label = "APPSBLENV"; /* uboot env*/ reg = <0x000e0000 0x00010000>; read-only; }; + partition@f0000 { label = "APPSBL"; /* uboot */ reg = <0x000f0000 0x00090000>; read-only; }; + partition@180000 { label = "ART"; reg = <0x00180000 0x00010000>; read-only; }; + partition@190000 { compatible = "denx,fit"; label = "firmware"; reg = <0x00190000 0x14d0000>; }; + partition@1660000 { label = "failsafe"; reg = <0x01660000 0x008F0000>; read-only; }; + partition@1f50000 { label = "u-boot-env"; reg = <0x01f50000 0x00010000>; read-only; }; + partition@1f60000 { label = "userconfig"; reg = <0x01f60000 0x000a0000>; diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi index 04bba77475..de36e30e07 100644 --- a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi @@ -43,12 +43,6 @@ 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>; @@ -61,14 +55,6 @@ qcom,wifi_noc_memtype_m0_m2 = ; }; - usb2@60f8800 { - status = "okay"; - }; - - usb3@8af8800 { - status = "okay"; - }; - crypto@8e3a000 { status = "okay"; }; @@ -196,6 +182,7 @@ drive-strength = <12>; bias-disable; }; + pin_cs { function = "gpio"; pins = "gpio54"; diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-fritz4040.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-fritzbox-4040.dts similarity index 99% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-fritz4040.dts rename to target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-fritzbox-4040.dts index b2a32946d9..cef57dcb52 100644 --- a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-fritz4040.dts +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-fritzbox-4040.dts @@ -199,62 +199,74 @@ reg = <0x00000000 0x00040000>; read-only; }; + partition1@40000 { label = "MIBIB"; reg = <0x00040000 0x00020000>; read-only; }; + partition2@60000 { label = "QSEE"; reg = <0x00060000 0x00060000>; read-only; }; + partition3@c0000 { label = "CDT"; reg = <0x000c0000 0x00010000>; read-only; }; + partition4@d0000 { label = "DDRPARAMS"; reg = <0x000d0000 0x00010000>; read-only; }; + partition5@e0000 { label = "APPSBLENV"; /* uboot env - empty */ reg = <0x000e0000 0x00010000>; read-only; }; + partition6@f0000 { label = "urlader"; /* APPSBL */ reg = <0x000f0000 0x0002dc000>; read-only; }; + partition7@11dc00 { /* make a backup of this partition! */ label = "urlader_config"; reg = <0x0011dc00 0x00002400>; read-only; }; + partition8@120000 { label = "tffs1"; reg = <0x00120000 0x00080000>; read-only; }; + partition9@1a0000 { label = "tffs2"; reg = <0x001a0000 0x00080000>; read-only; }; + partition10@220000 { label = "uboot"; reg = <0x00220000 0x00080000>; read-only; }; + partition11@2A0000 { compatible = "denx,fit"; label = "firmware"; reg = <0x002a0000 0x01c60000>; }; + partition12@1f00000 { label = "jffs2"; reg = <0x01f00000 0x00100000>; diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-nbg6617.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-nbg6617.dts index a8c144f928..1c7e94eb06 100644 --- a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-nbg6617.dts +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-nbg6617.dts @@ -178,6 +178,7 @@ bias-disable; }; }; + spi_0_pins: spi_0_pinmux { mux { function = "blsp_spi0"; @@ -194,6 +195,7 @@ output-low; }; }; + led_pins: led_pinmux { mux { pins = "gpio0", "gpio1", "gpio3", "gpio5", "gpio58"; @@ -227,60 +229,72 @@ reg = <0x00000000 0x00040000>; read-only; }; + partition1@40000 { label = "MIBIB"; reg = <0x00040000 0x00020000>; read-only; }; + partition2@60000 { label = "QSEE"; reg = <0x00060000 0x00060000>; read-only; }; + partition3@c0000 { label = "CDT"; reg = <0x000c0000 0x00010000>; read-only; }; + partition4@d0000 { label = "DDRPARAMS"; reg = <0x000d0000 0x00010000>; read-only; }; + partition5@e0000 { label = "APPSBL"; /* u-boot */ reg = <0x000e0000 0x00080000>; /* U-Boot Standalone App "zloader" is located at 0x64000 */ read-only; }; + partition6@160000 { label = "APPSBLENV"; /* u-boot env */ reg = <0x00160000 0x00010000>; }; + partition7@170000 { /* make a backup of this partition! */ label = "ART"; reg = <0x00170000 0x00010000>; read-only; }; + partition8@180000 { label = "kernel"; reg = <0x00180000 0x00400000>; }; + partition9@580000 { label = "dualflag"; reg = <0x00580000 0x00010000>; read-only; }; + partition10@590000 { label = "header"; reg = <0x00590000 0x00010000>; }; + partition11@5a0000 { label = "romd"; reg = <0x005a0000 0x00100000>; read-only; }; + partition12@6a0000 { label = "not_root_data"; /* @@ -292,6 +306,7 @@ */ reg = <0x006a0000 0x00100000>; }; + partition13@7a0000 { label = "rootfs"; reg = <0x007a0000 0x01860000>; diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-rt-ac58u.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-rt-ac58u.dts index 26c086ed25..a0030f77ce 100644 --- a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-rt-ac58u.dts +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-rt-ac58u.dts @@ -15,10 +15,10 @@ }; aliases { - led-boot = &power; - led-failsafe = &power; - led-running = &power; - led-upgrade = &power; + led-boot = &led_power; + led-failsafe = &led_power; + led-running = &led_power; + led-upgrade = &led_power; }; chosen { @@ -62,20 +62,6 @@ qcom,wifi_noc_memtype_m0_m2 = ; }; - usb2@60f8800 { - status = "okay"; - - dwc3@6000000 { - #address-cells = <1>; - #size-cells = <0>; - - usb2_port1: port@1 { - reg = <1>; - #trigger-source-cells = <0>; - }; - }; - }; - usb3@8af8800 { status = "okay"; @@ -131,7 +117,7 @@ leds { compatible = "gpio-leds"; - power: status { + led_power: status { label = "rt-ac58u:blue:status"; gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; }; @@ -144,17 +130,19 @@ wlan2G { label = "rt-ac58u:blue:wlan2G"; gpios = <&tlmm 58 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "phy0tpt"; }; - wan5G { + wlan5G { label = "rt-ac58u:blue:wlan5G"; gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "phy1tpt"; }; usb { label = "rt-ac58u:blue:usb"; gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; - trigger-sources = <&usb3_port1>, <&usb3_port2>, <&usb2_port1>; + trigger-sources = <&usb3_port1>, <&usb3_port2>; linux,default-trigger = "usbport"; }; @@ -216,7 +204,7 @@ compatible = "jedec,spi-nor"; reg = <0>; linux,modalias = "m25p80", "mx25l1606e", "n25q128a11"; - spi-max-frequency = <24000000>; + spi-max-frequency = <30000000>; partitions { compatible = "fixed-partitions"; @@ -270,7 +258,7 @@ spi-nand@1 { compatible = "spi-nand"; reg = <1>; - spi-max-frequency = <24000000>; + spi-max-frequency = <30000000>; /* * U-boot looks for "spinand,mt29f" node, @@ -310,10 +298,6 @@ status = "okay"; }; -&usb2_hs_phy { - status = "okay"; -}; - &wifi0 { status = "okay"; qcom,ath10k-calibration-variant = "RT-AC58U"; diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-wre6606.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-wre6606.dts index 5932638da0..c850707a14 100644 --- a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-wre6606.dts +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-wre6606.dts @@ -145,6 +145,7 @@ drive-strength = <12>; bias-disable; }; + pin_cs { function = "gpio"; pins = "gpio54"; diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-a62.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-a62.dts index 25bbd6b332..11838159f1 100644 --- a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-a62.dts +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-a62.dts @@ -93,7 +93,7 @@ reset { label = "reset"; gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; - linux,code = ; + linux,code = ; }; }; @@ -151,6 +151,7 @@ drive-strength = <12>; bias-disable; }; + pin_cs { function = "gpio"; pins = "gpio12"; diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-ap.dk04.1.dtsi b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-ap.dk04.1.dtsi index 9801354625..24a095b9bd 100644 --- a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-ap.dk04.1.dtsi +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-ap.dk04.1.dtsi @@ -48,15 +48,18 @@ function = "blsp_spi0"; pins = "gpio13", "gpio14", "gpio15"; }; + pinmux_cs { function = "gpio"; pins = "gpio12"; }; + pinconf { pins = "gpio13", "gpio14", "gpio15"; drive-strength = <12>; bias-disable; }; + pinconf_cs { pins = "gpio12"; drive-strength = <2>; @@ -70,6 +73,7 @@ function = "blsp_i2c0"; pins = "gpio10", "gpio11"; }; + pinconf { pins = "gpio10", "gpio11"; drive-strength = <16>; @@ -78,7 +82,6 @@ }; nand_pins: nand_pins { - pullups { pins = "gpio52", "gpio53", "gpio58", "gpio59"; diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c1.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c1.dts new file mode 100644 index 0000000000..9f03070a58 --- /dev/null +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c1.dts @@ -0,0 +1,87 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later OR MIT + * + * Copyright (c) 2018 Peng Zhang + * + */ + +#include "qcom-ipq4019-e2600ac.dtsi" +#include +#include + +/ { + model = "Qxwlan E2600AC c1"; + compatible = "qxwlan,e2600ac-c1"; +}; + +&blsp1_spi1 { + pinctrl-0 = <&spi_0_pins>; + pinctrl-names = "default"; + status = "okay"; + cs-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>; + + 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 = "0:SBL1"; + reg = <0x0 0x40000>; + read-only; + }; + + partition@40000 { + label = "0:MIBIB"; + reg = <0x40000 0x20000>; + read-only; + }; + + partition@60000 { + label = "0:QSEE"; + reg = <0x60000 0x60000>; + read-only; + }; + + partition@c0000 { + label = "0:CDT"; + reg = <0xc0000 0x10000>; + read-only; + }; + + partition@d0000 { + label = "0:DDRPARAMS"; + reg = <0xd0000 0x10000>; + read-only; + }; + + partition@e0000 { + label = "0:APPSBLENV"; + reg = <0xe0000 0x10000>; + read-only; + }; + + partition@f0000 { + label = "0:APPSBL"; + reg = <0xf0000 0x80000>; + read-only; + }; + + partition@170000 { + label = "0:ART"; + reg = <0x170000 0x10000>; + read-only; + }; + + partition@180000 { + compatible = "denx,fit"; + label = "firmware"; + reg = <0x180000 0x1e80000>; + }; + }; + }; +}; diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c2.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c2.dts new file mode 100644 index 0000000000..a9b1778367 --- /dev/null +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c2.dts @@ -0,0 +1,120 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later OR MIT + * + * Copyright (c) 2018 Peng Zhang + * + */ + +#include "qcom-ipq4019-e2600ac.dtsi" +#include +#include + +/ { + model = "Qxwlan E2600AC c2"; + compatible = "qxwlan,e2600ac-c2"; +}; + +&blsp1_spi1 { + pinctrl-0 = <&spi_0_pins>; + pinctrl-names = "default"; + status = "okay"; + cs-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>; + + 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 = "0:SBL1"; + reg = <0x0 0x40000>; + read-only; + }; + + partition@40000 { + label = "0:MIBIB"; + reg = <0x40000 0x20000>; + read-only; + }; + + partition@60000 { + label = "0:QSEE"; + reg = <0x60000 0x60000>; + read-only; + }; + + partition@c0000 { + label = "0:CDT"; + reg = <0xc0000 0x10000>; + read-only; + }; + + partition@d0000 { + label = "0:DDRPARAMS"; + reg = <0xd0000 0x10000>; + read-only; + }; + + partition@e0000 { + label = "0:APPSBLENV"; + reg = <0xe0000 0x10000>; + read-only; + }; + + partition@f0000 { + label = "0:APPSBL"; + reg = <0xf0000 0x80000>; + read-only; + }; + + partition@170000 { + label = "0:ART"; + reg = <0x170000 0x10000>; + read-only; + }; + }; + }; +}; + +&nand { + pinctrl-0 = <&nand_pins>; + pinctrl-names = "default"; + status = "okay"; + + nand@0 { + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "ubi"; + reg = <0x00000000 0x04000000>; + }; + }; + }; +}; + +&tlmm { + nand_pins: nand-pins { + pullups { + pins = "gpio53", "gpio58", "gpio59"; + function = "qpic"; + bias-pull-up; + }; + + pulldowns { + pins = "gpio54", "gpio55", "gpio56", + "gpio57", "gpio60", "gpio61", + "gpio62", "gpio63", "gpio64", + "gpio65", "gpio66", "gpio67", + "gpio68", "gpio69"; + function = "qpic"; + bias-pull-down; + }; + }; +}; diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-hugo-ac1200.dtsi b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-e2600ac.dtsi similarity index 79% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-hugo-ac1200.dtsi rename to target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-e2600ac.dtsi index 6c5239d611..4295f92c55 100644 --- a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-hugo-ac1200.dtsi +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-e2600ac.dtsi @@ -1,5 +1,7 @@ -/* - * Copyright (c) 2019 Hugo Yuan +/* SPDX-License-Identifier: GPL-2.0-or-later OR MIT + * + * Copyright (c) 2018 Peng Zhang + * */ #include "qcom-ipq4019.dtsi" @@ -9,7 +11,7 @@ / { - model = "Hugo AC1200"; + model = "Qxwlan E2600AC"; compatible = "qcom,ipq4019"; memory { @@ -17,14 +19,11 @@ reg = <0x80000000 0x10000000>; /* 256MB */ }; - aliases { - led-boot = &power; - led-failsafe = &power; - led-running = &power; - led-upgrade = &power; - }; - soc { + rng@22000 { + status = "okay"; + }; + mdio@90000 { status = "okay"; pinctrl-0 = <&mdio_pins>; @@ -133,18 +132,35 @@ compatible = "gpio-leds"; led1 { - label = "ac1200:green:ctrl1"; - gpios = <&tlmm 44 GPIO_ACTIVE_LOW>; + label = "e2600ac:green:wlan0"; + gpios = <&tlmm 50 GPIO_ACTIVE_LOW>; }; led2 { - label = "ac1200:red:ctrl2"; - gpios = <&tlmm 45 GPIO_ACTIVE_LOW>; + label = "e2600ac:green:wlan1"; + gpios = <&tlmm 36 GPIO_ACTIVE_LOW>; }; - power: led3 { - label = "ac1200:blue:ctrl3"; - gpios = <&tlmm 46 GPIO_ACTIVE_LOW>; + led3 { + label = "e2600ac:green:usb"; + gpios = <&tlmm 32 GPIO_ACTIVE_LOW>; + trigger-sources = <&usb2_port1>, <&usb3_port1>, <&usb3_port2>; + linux,default-trigger = "usbport"; + }; + + led4 { + label = "e2600ac:green:ctrl1"; + gpios = <&tlmm 51 GPIO_ACTIVE_LOW>; + }; + + led5 { + label = "e2600ac:green:ctrl2"; + gpios = <&tlmm 30 GPIO_ACTIVE_LOW>; + }; + + led6 { + label = "e2600ac:green:ctrl3"; + gpios = <&tlmm 31 GPIO_ACTIVE_LOW>; }; }; @@ -187,6 +203,7 @@ function = "mdio"; bias-pull-up; }; + mux_2 { pins = "gpio7"; function = "mdc"; @@ -217,6 +234,7 @@ drive-strength = <12>; bias-disable; }; + pinmux_cs { function = "gpio"; pins = "gpio12"; @@ -241,10 +259,10 @@ &wifi0 { status = "okay"; - qcom,ath10k-calibration-variant = "hugo_ac1200"; + qcom,ath10k-calibration-variant = "Qxwlan-E2600AC"; }; &wifi1 { status = "okay"; - qcom,ath10k-calibration-variant = "hugo_ac1200"; + qcom,ath10k-calibration-variant = "Qxwlan-E2600AC"; }; diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-ea8300.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-ea8300.dts new file mode 100644 index 0000000000..e5b8e3175e --- /dev/null +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-ea8300.dts @@ -0,0 +1,391 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +/* + * Device Tree Source for Linksys EA8300 (Dallas) + * + * Copyright (C) 2019 Jeff Kletsky + * + */ + +/dts-v1/; + +#include "qcom-ipq4019.dtsi" +#include +#include +#include + +/ { + model = "Linksys EA8300 (Dallas)"; + compatible = "linksys,ea8300", "qcom,ipq4019"; + + aliases { + led-boot = &led_wps_amber; + led-failsafe = &led_wps; + led-running = &led_linksys; + led-upgrade = &led_world; + serial0 = &blsp1_uart1; + }; + + leds { + compatible = "gpio-leds"; + + // Retain node names from running OEM on EA8300 + + // Front panel LEDs, top to bottom + + led_plug: diag { + label = "ea8300:amber:plug"; + gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>; + }; + + led_world: internet { + label = "ea8300:amber:world"; + gpios = <&tlmm 49 GPIO_ACTIVE_HIGH>; + }; + + led_wps: wps { + label = "ea8300:white:wps"; + gpios = <&tlmm 46 GPIO_ACTIVE_HIGH>; + }; + + led_wps_amber: wps_amber { + label = "ea8300:amber:wps"; + gpios = <&tlmm 22 GPIO_ACTIVE_HIGH>; + panic-indicator; + }; + + led_linksys: pwr { + label = "ea8300:white:linksys"; + gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>; + }; + + // On back panel, above USB socket + + led_usb: usb { + label = "ea8300:green:usb"; + gpios = <&tlmm 61 GPIO_ACTIVE_LOW>; + trigger-sources = <&usb3_port1>, <&usb3_port2>, + <&usb2_port1>; + linux,default-trigger = "usbport"; + }; + }; + + keys { + compatible = "gpio-keys"; + + button@0 { + label = "reset"; + linux,code = ; + gpios = <&tlmm 50 GPIO_ACTIVE_LOW>; + }; + + button@1 { + label = "wps"; + linux,code = ; + gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; + }; + }; + + // + // OEM U-Boot provides either + // init=/sbin/init rootfstype=ubifs ubi.mtd=11,2048 \ + // root=ubi0:ubifs rootwait rw + // or the same with ubi.mtd=13,2048 + // + + chosen { + bootargs-append = " root=/dev/ubiblock0_0 rootfstype=squashfs ro"; + }; + + memory { + device_type = "memory"; + reg = <0x80000000 0x10000000>; + }; + + soc { + rng@22000 { + status = "okay"; + }; + + mdio@90000 { + status = "okay"; + }; + + 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"; + + dwc3@6000000 { + #address-cells = <1>; + #size-cells = <0>; + + usb2_port1: port@1 { + reg = <1>; + #trigger-source-cells = <0>; + }; + }; + }; + + usb3@8af8800 { + status = "okay"; + + dwc3@8a00000 { + #address-cells = <1>; + #size-cells = <0>; + + usb3_port1: port@1 { + reg = <1>; + #trigger-source-cells = <0>; + }; + + usb3_port2: port@2 { + reg = <2>; + #trigger-source-cells = <0>; + }; + }; + }; + + crypto@8e3a000 { + status = "okay"; + }; + + watchdog@b017000 { + status = "okay"; + }; + + ess-switch@c000000 { + status = "okay"; + }; + + edma@c080000 { + status = "okay"; + }; + }; +}; + +&blsp_dma { + status = "okay"; +}; + +&blsp1_uart1 { + status = "okay"; + pinctrl-0 = <&serial_0_pins>; + pinctrl-names = "default"; +}; + +&cryptobam { + status = "okay"; +}; + +&nand { + status = "okay"; + + pinctrl-0 = <&nand_pins>; + pinctrl-names = "default"; + + nand@0 { + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "sbl1"; + reg = <0x0 0x100000>; + read-only; + }; + + partition@100000 { + label = "mibib"; + reg = <0x100000 0x100000>; + read-only; + }; + + partition@200000 { + label = "qsee"; + reg = <0x200000 0x100000>; + read-only; + }; + + partition@300000 { + label = "cdt"; + reg = <0x300000 0x80000>; + read-only; + }; + + partition@380000 { + label = "appsblenv"; + reg = <0x380000 0x80000>; + read-only; + }; + + partition@400000 { + label = "ART"; + reg = <0x400000 0x80000>; + read-only; + }; + + partition@480000 { + label = "appsbl"; + reg = <0x480000 0x200000>; + read-only; + }; + + partition@680000 { + label = "u_env"; + reg = <0x680000 0x80000>; + // writable -- U-Boot environment + }; + + partition@700000 { + label = "s_env"; + reg = <0x700000 0x40000>; + // writable -- Boot counter records + }; + + partition@740000 { + label = "devinfo"; + reg = <0x740000 0x40000>; + read-only; + }; + + partition@780000 { + label = "kernel"; + reg = <0x780000 0x5800000>; + }; + + partition@a80000 { + label = "rootfs"; + reg = <0xa80000 0x5500000>; + }; + + partition@5f80000 { + label = "alt_kernel"; + reg = <0x5f80000 0x5800000>; + }; + + partition@6280000 { + label = "alt_rootfs"; + reg = <0x6280000 0x5500000>; + }; + + partition@b780000 { + label = "sysdiag"; + reg = <0xb780000 0x100000>; + read-only; + }; + + partition@b880000 { + label = "syscfg"; + reg = <0xb880000 0x4680000>; + read-only; + }; + }; + }; +}; + +&pcie0 { + status = "okay"; + + perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>; + wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>; + + bridge@0,0 { + reg = <0x00000000 0 0 0 0>; + #address-cells = <3>; + #size-cells = <2>; + ranges; + + wifi2: wifi@1,0 { + compatible = "qcom,ath10k"; + reg = <0x00010000 0 0 0 0>; + }; + }; +}; + +&qpic_bam { + status = "okay"; +}; + +&tlmm { + serial_0_pins: serial0-pinmux { + pins = "gpio16", "gpio17"; + function = "blsp_uart0"; + bias-disable; + }; + + nand_pins: nand_pins { + pullups { + pins = "gpio53", "gpio58", "gpio59"; + function = "qpic"; + bias-pull-up; + }; + + // gpio61 controls led_usb + + pulldowns { + pins = "gpio55", "gpio56", "gpio57", + "gpio60", "gpio62", "gpio63", + "gpio64", "gpio65", "gpio66", + "gpio67", "gpio68", "gpio69"; + function = "qpic"; + bias-pull-down; + }; + }; +}; + +&usb2_hs_phy { + status = "okay"; +}; + +&usb3_hs_phy { + status = "okay"; +}; + +&usb3_ss_phy { + status = "okay"; +}; + +&wifi0 { + status = "okay"; + qcom,ath10k-calibration-variant = "linksys-ea8300-fcc"; +}; + +&wifi1 { + status = "okay"; + ieee80211-freq-limit = <5170000 5330000>; + qcom,ath10k-calibration-variant = "linksys-ea8300-fcc"; +}; + +&wifi2 { + status = "okay"; + ieee80211-freq-limit = <5490000 5835000>; + qcom,ath10k-calibration-variant = "linksys-ea8300-fcc"; +}; diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-1200.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-1200.dts index e9b96b996a..0747919dae 100644 --- a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-1200.dts +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-1200.dts @@ -131,6 +131,7 @@ function = "mdio"; bias-pull-up; }; + mux_2 { pins = "gpio7"; function = "mdc"; diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-hugo-ac1200.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-hugo-ac1200.dts index f129d6b1d0..76d07399ff 100644 --- a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-hugo-ac1200.dts +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-hugo-ac1200.dts @@ -2,13 +2,165 @@ * Copyright (c) 2019 Hugo Yuan */ -#include "qcom-ipq4019-hugo-ac1200.dtsi" +#include "qcom-ipq4019.dtsi" #include #include +#include / { model = "Hugo AC1200"; compatible = "hugo,ac1200", "qcom,ipq4019"; + + memory { + device_type = "memory"; + reg = <0x80000000 0x10000000>; /* 256MB */ + }; + + aliases { + led-boot = &power; + led-failsafe = &power; + led-running = &power; + led-upgrade = &power; + }; + + soc { + 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 { + /* select hostmode */ + compatible = "qcom,tcsr"; + reg = <0x194b000 0x100>; + qcom,usb-hsphy-mode-select = ; + status = "okay"; + }; + + 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"; + + dwc3@6000000 { + #address-cells = <1>; + #size-cells = <0>; + + usb2_port1: port@1 { + reg = <1>; + #trigger-source-cells = <0>; + }; + }; + }; + + serial@78af000 { + pinctrl-0 = <&serial_0_pins>; + pinctrl-names = "default"; + status = "okay"; + }; + + serial@78b0000 { + pinctrl-0 = <&serial_1_pins>; + pinctrl-names = "default"; + status = "okay"; + }; + + i2c@78b7000 { /* BLSP1 QUP2 */ + pinctrl-0 = <&i2c_0_pins>; + pinctrl-names = "default"; + + status = "okay"; + }; + + usb3: usb3@8af8800 { + status = "okay"; + + dwc3@8a00000 { + #address-cells = <1>; + #size-cells = <0>; + + usb3_port1: port@1 { + reg = <1>; + #trigger-source-cells = <0>; + }; + + usb3_port2: port@2 { + reg = <2>; + #trigger-source-cells = <0>; + }; + }; + }; + + crypto@8e3a000 { + status = "okay"; + }; + + watchdog@b017000 { + status = "okay"; + }; + + ess-switch@c000000 { + status = "okay"; + }; + + edma@c080000 { + status = "okay"; + }; + + leds { + compatible = "gpio-leds"; + + led1 { + label = "ac1200:green:ctrl1"; + gpios = <&tlmm 44 GPIO_ACTIVE_LOW>; + }; + + led2 { + label = "ac1200:red:ctrl2"; + gpios = <&tlmm 45 GPIO_ACTIVE_LOW>; + }; + + power: led3 { + label = "ac1200:blue:ctrl3"; + gpios = <&tlmm 46 GPIO_ACTIVE_LOW>; + }; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; + }; +}; + +&blsp_dma { + status = "okay"; }; &blsp1_spi1 { @@ -32,41 +184,49 @@ reg = <0x0 0x40000>; read-only; }; + partition@40000 { label = "0:MIBIB"; reg = <0x40000 0x20000>; read-only; }; + partition@60000 { label = "0:QSEE"; reg = <0x60000 0x60000>; read-only; }; + partition@c0000 { label = "0:CDT"; reg = <0xc0000 0x10000>; read-only; }; + partition@d0000 { label = "0:DDRPARAMS"; reg = <0xd0000 0x10000>; read-only; }; + partition@e0000 { label = "0:APPSBLENV"; reg = <0xe0000 0x10000>; read-only; }; + partition@f0000 { label = "0:APPSBL"; reg = <0xf0000 0x80000>; read-only; }; + partition@170000 { label = "0:ART"; reg = <0x170000 0x10000>; read-only; }; + partition@180000 { compatible = "denx,fit"; label = "firmware"; @@ -76,3 +236,89 @@ }; }; +&cryptobam { + status = "okay"; +}; + +&qpic_bam { + status = "okay"; +}; + +&tlmm { + i2c_0_pins: i2c-0-pinmux { + mux { + pins = "gpio20", "gpio21"; + function = "blsp_i2c0"; + bias-disable; + }; + }; + + 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; + }; + }; + + serial_1_pins: serial1_pinmux { + mux { + pins = "gpio8", "gpio9"; + function = "blsp_uart1"; + bias-disable; + }; + }; + + spi_0_pins: spi_0_pinmux { + pinmux { + function = "blsp_spi0"; + pins = "gpio13", "gpio14", "gpio15"; + drive-strength = <12>; + bias-disable; + }; + + pinmux_cs { + function = "gpio"; + pins = "gpio12"; + drive-strength = <2>; + bias-disable; + output-high; + }; + }; +}; + +&usb3_ss_phy { + status = "okay"; +}; + +&usb3_hs_phy { + status = "okay"; +}; + +&usb2_hs_phy { + status = "okay"; +}; + +&wifi0 { + status = "okay"; + qcom,ath10k-calibration-variant = "hugo_ac1200"; +}; + +&wifi1 { + status = "okay"; + qcom,ath10k-calibration-variant = "hugo_ac1200"; +}; diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-linksys_ea8300.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-linksys_ea8300.dts index cfc3037fb2..70541b2298 100644 --- a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-linksys_ea8300.dts +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-linksys_ea8300.dts @@ -18,7 +18,6 @@ model = "Linksys EA8300 (Dallas)"; compatible = "linksys,ea8300", "qcom,ipq4019"; - aliases { led-boot = &led_wps_amber; led-failsafe = &led_wps; @@ -27,7 +26,6 @@ serial0 = &blsp1_uart1; }; - leds { compatible = "gpio-leds"; @@ -72,7 +70,6 @@ }; }; - keys { compatible = "gpio-keys"; @@ -89,7 +86,6 @@ }; }; - // // OEM U-Boot provides either // init=/sbin/init rootfstype=ubifs ubi.mtd=11,2048 \ @@ -101,13 +97,11 @@ bootargs-append = " root=/dev/ubiblock0_0 rootfstype=squashfs ro"; }; - memory { device_type = "memory"; reg = <0x80000000 0x10000000>; }; - soc { rng@22000 { status = "okay"; diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-qxwlan-e2600ac-c1.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-qxwlan-e2600ac-c1.dts index ab0ec76f16..9d3dfef116 100644 --- a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-qxwlan-e2600ac-c1.dts +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-qxwlan-e2600ac-c1.dts @@ -34,41 +34,49 @@ reg = <0x0 0x40000>; read-only; }; + partition@40000 { label = "0:MIBIB"; reg = <0x40000 0x20000>; read-only; }; + partition@60000 { label = "0:QSEE"; reg = <0x60000 0x60000>; read-only; }; + partition@c0000 { label = "0:CDT"; reg = <0xc0000 0x10000>; read-only; }; + partition@d0000 { label = "0:DDRPARAMS"; reg = <0xd0000 0x10000>; read-only; }; + partition@e0000 { label = "0:APPSBLENV"; reg = <0xe0000 0x10000>; read-only; }; + partition@f0000 { label = "0:APPSBL"; reg = <0xf0000 0x80000>; read-only; }; + partition@170000 { label = "0:ART"; reg = <0x170000 0x10000>; read-only; }; + partition@180000 { compatible = "denx,fit"; label = "firmware"; @@ -77,4 +85,3 @@ }; }; }; - diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-qxwlan-e2600ac-c2.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-qxwlan-e2600ac-c2.dts index 1c6e859951..1c7123c468 100644 --- a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-qxwlan-e2600ac-c2.dts +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-qxwlan-e2600ac-c2.dts @@ -34,36 +34,43 @@ reg = <0x0 0x40000>; read-only; }; + partition@40000 { label = "0:MIBIB"; reg = <0x40000 0x20000>; read-only; }; + partition@60000 { label = "0:QSEE"; reg = <0x60000 0x60000>; read-only; }; + partition@c0000 { label = "0:CDT"; reg = <0xc0000 0x10000>; read-only; }; + partition@d0000 { label = "0:DDRPARAMS"; reg = <0xd0000 0x10000>; read-only; }; + partition@e0000 { label = "0:APPSBLENV"; reg = <0xe0000 0x10000>; read-only; }; + partition@f0000 { label = "0:APPSBL"; reg = <0xf0000 0x80000>; read-only; }; + partition@170000 { label = "0:ART"; reg = <0x170000 0x10000>; @@ -94,7 +101,6 @@ &tlmm { nand_pins: nand-pins { - pullups { pins = "gpio53", "gpio58", "gpio59"; function = "qpic"; @@ -112,4 +118,3 @@ }; }; }; - diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-qxwlan-e2600ac.dtsi b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-qxwlan-e2600ac.dtsi index f4af2ba25f..4295f92c55 100644 --- a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-qxwlan-e2600ac.dtsi +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-qxwlan-e2600ac.dtsi @@ -203,6 +203,7 @@ function = "mdio"; bias-pull-up; }; + mux_2 { pins = "gpio7"; function = "mdc"; @@ -233,6 +234,7 @@ drive-strength = <12>; bias-disable; }; + pinmux_cs { function = "gpio"; pins = "gpio12"; diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-u4019-32m.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-u4019-32m.dts new file mode 100644 index 0000000000..747029b325 --- /dev/null +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-u4019-32m.dts @@ -0,0 +1,86 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +/dts-v1/; + +#include "qcom-ipq4019-u4019.dtsi" +#include +#include + +/ { + model = "Unielec U4019 (32M)"; + compatible = "unielec,u4019-32m","unielec,u4019","qcom,ipq4019"; +}; + +&blsp1_spi1 { + pinctrl-0 = <&spi_0_pins>; + pinctrl-names = "default"; + status = "okay"; + cs-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>; + + flash@0 { + reg = <0>; + compatible = "jedec,spi-nor"; + spi-max-frequency = <24000000>; + broken-flash-reset; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "0:SBL1"; + reg = <0x0 0x40000>; + read-only; + }; + + partition@40000 { + label = "0:MIBIB"; + reg = <0x40000 0x20000>; + read-only; + }; + + partition@60000 { + label = "0:QSEE"; + reg = <0x60000 0x60000>; + read-only; + }; + + partition@c0000 { + label = "0:CDT"; + reg = <0xc0000 0x10000>; + read-only; + }; + + partition@d0000 { + label = "0:DDRPARAMS"; + reg = <0xd0000 0x10000>; + read-only; + }; + + partition@e0000 { + label = "0:APPSBLENV"; + reg = <0xe0000 0x10000>; + read-only; + }; + + partition@f0000 { + label = "0:APPSBL"; + reg = <0xf0000 0x80000>; + read-only; + }; + + partition@170000 { + label = "0:ART"; + reg = <0x170000 0x10000>; + read-only; + }; + + partition@180000 { + compatible = "denx,fit"; + label = "firmware"; + reg = <0x180000 0x1e80000>; + }; + }; + }; +}; diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-u4019.dtsi b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-u4019.dtsi new file mode 100644 index 0000000000..b18746b767 --- /dev/null +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-u4019.dtsi @@ -0,0 +1,226 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "qcom-ipq4019.dtsi" +#include +#include +#include + +/ { + compatible = "unielec,u4019","qcom,ipq4019"; + + soc { + rng@22000 { + status = "okay"; + }; + + mdio@90000 { + status = "okay"; + pinctrl-0 = <&mdio_pins>; + pinctrl-names = "default"; + reset-gpios = <&tlmm 47 GPIO_ACTIVE_LOW>; + reset-delay-us = <2000>; + }; + + 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 = ; + status = "okay"; + }; + + 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"; + + dwc3@6000000 { + #address-cells = <1>; + #size-cells = <0>; + + port@1 { + reg = <1>; + #trigger-source-cells = <0>; + }; + }; + }; + + usb3@8af8800 { + status = "okay"; + + dwc3@8a00000 { + #address-cells = <1>; + #size-cells = <0>; + + port@1 { + reg = <1>; + #trigger-source-cells = <0>; + }; + + port@2 { + reg = <2>; + #trigger-source-cells = <0>; + }; + }; + }; + + watchdog@b017000 { + status = "okay"; + }; + + ess-switch@c000000 { + status = "okay"; + }; + + edma@c080000 { + status = "okay"; + }; + + aliases { + led-boot = &led_status; + led-failsafe = &led_status; + led-running = &led_status; + led-upgrade = &led_status; + serial0 = &blsp1_uart1; + serial1 = &blsp1_uart2; + }; + + leds { + compatible = "gpio-leds"; + pinctrl-0 = <&led_pins>; + pinctrl-names = "default"; + + led_status: led2 { + label = "u4019:green:led2"; + gpios = <&tlmm 68 GPIO_ACTIVE_LOW>; + }; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; + }; +}; + +&blsp_dma { + status = "okay"; +}; + +&blsp1_uart1 { + pinctrl-0 = <&serial_0_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + +&blsp1_uart2 { + pinctrl-0 = <&serial_1_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + +&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; + }; + }; + + serial_1_pins: serial1_pinmux { + mux { + pins = "gpio8", "gpio9"; + function = "blsp_uart1"; + bias-disable; + }; + }; + + spi_0_pins: spi_0_pinmux { + pinmux { + function = "blsp_spi0"; + pins = "gpio13", "gpio14", "gpio15"; + drive-strength = <12>; + bias-disable; + }; + + pinmux_cs { + function = "gpio"; + pins = "gpio12"; + drive-strength = <2>; + bias-disable; + output-high; + }; + }; + + led_pins: led_pinmux { + mux { + function = "gpio"; + pins = "gpio68"; + bias-disabled; + output-low; + }; + }; +}; + +&usb3_ss_phy { + status = "okay"; +}; + +&usb3_hs_phy { + status = "okay"; +}; + +&usb2_hs_phy { + status = "okay"; +}; + +&wifi0 { + status = "okay"; +}; + +&wifi1 { + status = "okay"; +}; diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-unielec-u4019-32m.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-unielec-u4019-32m.dts index 606ac165ba..bb59580721 100644 --- a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-unielec-u4019-32m.dts +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-unielec-u4019-32m.dts @@ -33,41 +33,49 @@ reg = <0x0 0x40000>; read-only; }; + partition@40000 { label = "0:MIBIB"; reg = <0x40000 0x20000>; read-only; }; + partition@60000 { label = "0:QSEE"; reg = <0x60000 0x60000>; read-only; }; + partition@c0000 { label = "0:CDT"; reg = <0xc0000 0x10000>; read-only; }; + partition@d0000 { label = "0:DDRPARAMS"; reg = <0xd0000 0x10000>; read-only; }; + partition@e0000 { label = "0:APPSBLENV"; reg = <0xe0000 0x10000>; read-only; }; + partition@f0000 { label = "0:APPSBL"; reg = <0xf0000 0x80000>; read-only; }; + partition@170000 { label = "0:ART"; reg = <0x170000 0x10000>; read-only; }; + partition@180000 { compatible = "denx,fit"; label = "firmware"; @@ -76,4 +84,3 @@ }; }; }; - diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-unielec-u4019.dtsi b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-unielec-u4019.dtsi index c768e25ca0..b18746b767 100644 --- a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-unielec-u4019.dtsi +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-unielec-u4019.dtsi @@ -154,6 +154,7 @@ function = "mdio"; bias-pull-up; }; + mux_2 { pins = "gpio7"; function = "mdc"; @@ -168,6 +169,7 @@ bias-disable; }; }; + serial_1_pins: serial1_pinmux { mux { pins = "gpio8", "gpio9"; diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-wpj419.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-wpj419.dts index e75d07606a..fef5c53860 100644 --- a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-wpj419.dts +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-wpj419.dts @@ -36,6 +36,7 @@ reg = <0x87000000 0x500000>; no-map; }; + wifi_dump@87500000 { reg = <0x87500000 0x600000>; no-map; @@ -131,6 +132,7 @@ function = "led0"; bias-pull-down; }; + mux_2 { pins = "gpio40"; function = "led4"; @@ -151,8 +153,6 @@ num-cs = <2>; flash0@0 { - #address-cells = <1>; - #size-cells = <1>; reg = <0>; compatible = "jedec,spi-nor"; spi-max-frequency = <24000000>; @@ -160,6 +160,8 @@ partitions { compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; partition@0 { label = "0:SBL1"; diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts index cf8540c101..4f5b2528b0 100644 --- a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts @@ -144,6 +144,7 @@ drive-strength = <12>; bias-disable; }; + pin_cs { function = "gpio"; pins = "gpio54"; @@ -179,41 +180,49 @@ reg = <0x00000000 0x00040000>; read-only; }; + partition1@40000 { label = "0:MIBIB"; reg = <0x00040000 0x00020000>; read-only; }; + partition2@60000 { label = "0:QSEE"; reg = <0x00060000 0x00060000>; read-only; }; + partition3@c0000 { label = "0:CDT"; reg = <0x000c0000 0x00010000>; read-only; }; + partition4@d0000 { label = "0:DDRPARAMS"; reg = <0x000d0000 0x00010000>; read-only; }; + partition5@e0000 { label = "0:APPSBLENV"; /* uboot env*/ reg = <0x000e0000 0x00010000>; read-only; }; + partition5@f0000 { label = "0:APPSBL"; /* uboot */ reg = <0x000f0000 0x00080000>; read-only; }; + partition5@170000 { label = "0:ART"; reg = <0x00170000 0x00010000>; read-only; }; + partition6@180000 { compatible = "denx,fit"; label = "firmware"; diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-ap-303.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-ap-303.dts new file mode 100644 index 0000000000..2cfe1e82c1 --- /dev/null +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-ap-303.dts @@ -0,0 +1,422 @@ +// SPDX-License-Identifier: GPL-2.0 OR MIT + +#include "qcom-ipq4019.dtsi" +#include +#include +#include + +/ { + model = "Aruba AP-303"; + compatible = "aruba,ap-303"; + + aliases { + led-boot = &led_system_green; + led-failsafe = &led_system_red; + led-running = &led_system_green; + led-upgrade = &led_system_red; + }; + + memory { + device_type = "memory"; + reg = <0x80000000 0x10000000>; + }; + + soc { + rng@22000 { + status = "okay"; + }; + + mdio@90000 { + status = "okay"; + pinctrl-0 = <&mdio_pins>; + pinctrl-names = "default"; + + /delete-node/ ethernet-phy@0; + /delete-node/ ethernet-phy@2; + /delete-node/ ethernet-phy@3; + /delete-node/ ethernet-phy@4; + + ethernet-phy@5 { + reg = <0x5>; + }; + }; + + counter@4a1000 { + compatible = "qcom,qca-gcnt"; + reg = <0x4a1000 0x4>; + }; + + ess_tcsr@1953000 { + compatible = "qcom,tcsr"; + reg = <0x1953000 0x1000>; + qcom,ess-interface-select = ; + }; + + tcsr@1949000 { + compatible = "qcom,tcsr"; + reg = <0x1949000 0x100>; + qcom,wifi_glb_cfg = ; + }; + + tcsr@1957000 { + compatible = "qcom,tcsr"; + reg = <0x1957000 0x100>; + qcom,wifi_noc_memtype_m0_m2 = ; + }; + + crypto@8e3a000 { + status = "okay"; + }; + + watchdog@b017000 { + status = "okay"; + }; + + ess-switch@c000000 { + switch_mac_mode = <0x3>; /* mac mode for RGMII RMII */ + switch_lan_bmp = <0x0>; /* lan port bitmap */ + switch_wan_bmp = <0x10>; /* wan port bitmap */ + }; + + edma@c080000 { + qcom,single-phy; + qcom,num_gmac = <1>; + phy-mode = "rgmii-id"; + status = "okay"; + }; + + i2c_0: i2c@78b7000 { + pinctrl-0 = <&i2c_0_pins>; + pinctrl-names = "default"; + status = "ok"; + + tpm@29 { + /* No Driver */ + compatible = "atmel,at97sc3203"; + reg = <0x29>; + read-only; + }; + }; + }; + + leds { + compatible = "gpio-leds"; + + wifi_green { + label = "ap-303:green:wifi"; + gpios = <&tlmm 39 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "phy0tpt"; + }; + + wifi_amber { + label = "ap-303:amber:wifi"; + gpios = <&tlmm 40 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "phy1tpt"; + }; + + led_system_red: system_red { + label = "ap-303:red:system"; + gpios = <&tlmm 46 GPIO_ACTIVE_HIGH>; + }; + + led_system_green: system_green { + label = "ap-303:green:system"; + gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>; + }; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "Reset button"; + gpios = <&tlmm 50 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; +}; + +&blsp_dma { + status = "okay"; +}; + +&blsp1_uart1 { + /* Texas Instruments CC2540T BLE radio */ + pinctrl-0 = <&serial_0_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + +&blsp1_uart2 { + pinctrl-0 = <&serial_1_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + +&cryptobam { + status = "okay"; +}; + +&gmac0 { + qcom,phy_mdio_addr = <5>; + qcom,poll_required = <1>; + vlan_tag = <0 0x20>; +}; + +&qpic_bam { + status = "okay"; +}; + +&tlmm { + /* + * In addition to the Pins listed below, + * the following GPIOs have "features": + * 54 - out - active low to force HW reset + * 41 - out - active low to reset TPM + * 43 - out - active low to reset BLE radio + * 19 - in - active high when DC powered + */ + mdio_pins: mdio_pinmux { + mux_1 { + pins = "gpio6"; + function = "mdio"; + bias-pull-up; + }; + + mux_2 { + pins = "gpio7"; + function = "mdc"; + bias-pull-up; + }; + }; + + nand_pins: nand_pins { + pullups { + pins = "gpio53", "gpio58", "gpio59"; + function = "qpic"; + bias-pull-up; + }; + + pulldowns { + pins = "gpio54", "gpio55", "gpio56", + "gpio57", "gpio60", "gpio61", + "gpio62", "gpio63", "gpio64", + "gpio65", "gpio66", "gpio67", + "gpio68", "gpio69"; + function = "qpic"; + bias-pull-down; + }; + }; + + spi_0_pins: spi_0_pinmux { + pin { + function = "blsp_spi0"; + pins = "gpio13", "gpio14", "gpio15"; + drive-strength = <12>; + bias-disable; + }; + + pin_cs { + function = "gpio"; + pins = "gpio12"; + drive-strength = <2>; + bias-disable; + output-high; + }; + }; + + i2c_0_pins: i2c_0_pinmux { + mux { + pins = "gpio10", "gpio11"; + function = "blsp_i2c0"; + drive-strength = <4>; + bias-disable; + }; + }; + + serial_0_pins: serial_0_pinmux { + mux { + pins = "gpio16", "gpio17"; + function = "blsp_uart0"; + bias-disable; + }; + }; + + serial_1_pins: serial_1_pinmux { + mux { + pins = "gpio8", "gpio9"; + function = "blsp_uart1"; + bias-disable; + }; + }; + + phy-reset { + line-name = "PHY-reset"; + gpios = <42 GPIO_ACTIVE_HIGH>; + gpio-hog; + output-high; + }; +}; + +&nand { + pinctrl-0 = <&nand_pins>; + pinctrl-names = "default"; + status = "okay"; + + nand@0 { + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + /* 'aos0' in Aruba firmware */ + label = "aos0"; + reg = <0x0 0x2000000>; + read-only; + }; + + partition@2000000 { + /* 'aos1' in AVM firmware */ + label = "ubi"; + reg = <0x2000000 0x2000000>; + }; + + partition@4000000 { + label = "aruba-ubifs"; + reg = <0x4000000 0x4000000>; + read-only; + }; + }; + }; +}; + +&blsp1_spi1 { + pinctrl-0 = <&spi_0_pins>; + pinctrl-names = "default"; + status = "okay"; + cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <24000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + /* + * There is no partition map for the NOR flash + * in the stock firmware. + * + * All partitions here are based on offsets + * found in the U-Boot GPL code and information + * from smem. + */ + + 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 = "ART"; + reg = <0xe0000 0x10000>; + read-only; + }; + + partition@f0000 { + label = "appsbl"; + reg = <0xf0000 0xf0000>; + read-only; + }; + + partition@1e0000 { + label = "mfginfo"; + reg = <0x1e0000 0x10000>; + read-only; + }; + + partition@1f0000 { + label = "apcd"; + reg = <0x1f0000 0x10000>; + read-only; + }; + + partition@200000 { + label = "osss"; + reg = <0x200000 0x180000>; + read-only; + }; + + partition@380000 { + /* This is empty */ + label = "appsblenv"; + reg = <0x380000 0x10000>; + read-only; + }; + + partition@390000 { + label = "pds"; + reg = <0x390000 0x10000>; + read-only; + }; + + partition@3a0000 { + label = "fcache"; + reg = <0x3a0000 0x10000>; + read-only; + }; + + partition@3b0000 { + /* Called osss1 in smem */ + label = "u-boot-env-bak"; + reg = <0x3b0000 0x10000>; + read-only; + }; + + partition@3f0000 { + label = "u-boot-env"; + reg = <0x3f0000 0x10000>; + read-only; + }; + }; + }; +}; + +&wifi0 { + status = "okay"; + qcom,ath10k-calibration-variant = "Aruba-AP-303"; +}; + +&wifi1 { + status = "okay"; + qcom,ath10k-calibration-variant = "Aruba-AP-303"; +}; diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-ap-303h.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-ap-303h.dts new file mode 100644 index 0000000000..d0723877cd --- /dev/null +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-ap-303h.dts @@ -0,0 +1,423 @@ +// SPDX-License-Identifier: GPL-2.0 OR MIT + +#include "qcom-ipq4019.dtsi" +#include +#include +#include + +/ { + model = "Aruba AP-303H"; + compatible = "aruba,ap-303h"; + + aliases { + led-boot = &led_system_green; + led-failsafe = &led_system_red; + led-running = &led_system_green; + led-upgrade = &led_system_amber; + }; + + memory { + device_type = "memory"; + reg = <0x80000000 0x10000000>; + }; + + soc { + rng@22000 { + status = "okay"; + }; + + mdio@90000 { + status = "okay"; + pinctrl-0 = <&mdio_pins>; + pinctrl-names = "default"; + + reset-gpios = <&tlmm 19 GPIO_ACTIVE_LOW>; + reset-delay-us = <2000>; + }; + + counter@4a1000 { + compatible = "qcom,qca-gcnt"; + reg = <0x4a1000 0x4>; + }; + + ess_tcsr@1953000 { + compatible = "qcom,tcsr"; + reg = <0x1953000 0x1000>; + qcom,ess-interface-select = ; + }; + + 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 = ; + }; + + tcsr@1957000 { + compatible = "qcom,tcsr"; + reg = <0x1957000 0x100>; + qcom,wifi_noc_memtype_m0_m2 = ; + }; + + usb2@60f8800 { + status = "okay"; + }; + + crypto@8e3a000 { + status = "okay"; + }; + + watchdog@b017000 { + status = "okay"; + }; + + ess-switch@c000000 { + status = "okay"; + }; + + edma@c080000 { + status = "okay"; + }; + + i2c_0: i2c@78b7000 { + pinctrl-0 = <&i2c_0_pins>; + pinctrl-names = "default"; + status = "ok"; + + tpm@29 { + /* No Driver */ + compatible = "atmel,at97sc3203"; + reg = <0x29>; + read-only; + }; + + power-monitor@40 { + /* No driver */ + compatible = "isl,isl28022"; + reg = <0x40>; + }; + }; + }; + + leds { + compatible = "gpio-leds"; + + wifi_green { + label = "ap-303h:green:wifi"; + gpios = <&tlmm 27 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "phy0tpt"; + }; + + wifi_amber { + label = "ap-303h:amber:wifi"; + gpios = <&tlmm 28 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "phy1tpt"; + }; + + pse { + label = "ap-303h:green:pse"; + gpios = <&tlmm 42 GPIO_ACTIVE_HIGH>; + }; + + led_system_red: system_red { + label = "ap-303h:red:system"; + gpios = <&tlmm 25 GPIO_ACTIVE_HIGH>; + }; + + led_system_green: system_green { + label = "ap-303h:green:system"; + gpios = <&tlmm 24 GPIO_ACTIVE_HIGH>; + }; + + led_system_amber: system_amber { + label = "ap-303h:amber:system"; + gpios = <&tlmm 26 GPIO_ACTIVE_HIGH>; + }; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "Reset button"; + gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; +}; + +&blsp_dma { + status = "okay"; +}; + +&blsp1_uart1 { + pinctrl-0 = <&serial_0_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + +&blsp1_uart2 { + /* Texas Instruments CC2540T BLE radio */ + pinctrl-0 = <&serial_1_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + +&cryptobam { + status = "okay"; +}; + +&qpic_bam { + status = "okay"; +}; + +&tlmm { + /* + * In addition to the Pins listed below, + * the following GPIOs have "features": + * 39 - out - active low to force HW reset + * 32 - out - active low to reset TPM + * 43 - out - active low to reset BLE radio + * 41 - out - pulse to set warm reset status + * 34 - out - active low to enable PSE port + * 22 - in - active low when 802.3at powered + * 29 - in - active high when DC powered + * 40 - in - active low when reset due to cold HW reset + * 30 - in - active low when USB overcurrent detected + * 35 - in - interrupt line for power monitor chip + * 31 - in - active low when PSE port active + */ + mdio_pins: mdio_pinmux { + mux_1 { + pins = "gpio6"; + function = "mdio"; + bias-pull-up; + }; + + mux_2 { + pins = "gpio7"; + function = "mdc"; + bias-pull-up; + }; + }; + + spi_0_pins: spi_0_pinmux { + pin { + function = "blsp_spi0"; + pins = "gpio13", "gpio14", "gpio15"; + drive-strength = <12>; + bias-disable; + }; + + pin_cs { + function = "gpio"; + pins = "gpio12", "gpio59"; + drive-strength = <2>; + bias-disable; + output-high; + }; + }; + + i2c_0_pins: i2c_0_pinmux { + mux { + pins = "gpio20", "gpio21"; + function = "blsp_i2c0"; + drive-strength = <4>; + bias-disable; + }; + }; + + serial_0_pins: serial_0_pinmux { + mux { + pins = "gpio16", "gpio17"; + function = "blsp_uart0"; + bias-disable; + }; + }; + + serial_1_pins: serial_1_pinmux { + mux { + pins = "gpio8", "gpio9"; + function = "blsp_uart1"; + bias-disable; + }; + }; + + usb-power { + line-name = "USB-power"; + gpios = <23 GPIO_ACTIVE_HIGH>; + gpio-hog; + output-high; + }; +}; + +&blsp1_spi1 { + pinctrl-0 = <&spi_0_pins>; + pinctrl-names = "default"; + status = "okay"; + cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>, <&tlmm 59 GPIO_ACTIVE_HIGH>; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <24000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + /* + * There is no partition map for the NOR flash + * in the stock firmware. + * + * All partitions here are based on offsets + * found in the U-Boot GPL code and information + * from smem. + */ + + 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 0x100000>; + read-only; + }; + + partition@1e0000 { + label = "ART"; + reg = <0x1f0000 0x10000>; + read-only; + }; + + partition@1f0000 { + label = "osss"; + reg = <0x200000 0x170000>; + read-only; + }; + + partition@200000 { + label = "pds"; + reg = <0x370000 0x10000>; + read-only; + }; + + partition@380000 { + label = "apcd"; + reg = <0x380000 0x10000>; + read-only; + }; + + partition@390000 { + label = "mfginfo"; + reg = <0x390000 0x10000>; + read-only; + }; + + partition@3a0000 { + label = "fcache"; + reg = <0x3a0000 0x10000>; + read-only; + }; + + partition@3b0000 { + /* Called osss1 in smem */ + label = "u-boot-env-bak"; + reg = <0x3b0000 0x10000>; + read-only; + }; + + partition@3f0000 { + label = "u-boot-env"; + reg = <0x3c0000 0x40000>; + read-only; + }; + }; + }; + + flash@1 { + status = "okay"; + + compatible = "spi-nand"; + reg = <1>; + spi-max-frequency = <24000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + /* 'aos0' in Aruba firmware */ + label = "aos0"; + reg = <0x0 0x2000000>; + read-only; + }; + + partition@2000000 { + /* 'aos1' in Aruba firmware */ + label = "ubi"; + reg = <0x2000000 0x2000000>; + }; + + partition@4000000 { + label = "aruba-ubifs"; + reg = <0x4000000 0x4000000>; + read-only; + }; + }; + }; +}; + +&usb2_hs_phy { + status = "okay"; +}; + +&wifi0 { + status = "okay"; + qcom,ath10k-calibration-variant = "Aruba-AP-303"; +}; + +&wifi1 { + status = "okay"; + qcom,ath10k-calibration-variant = "Aruba-AP-303"; +}; diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts index b32eb29f8c..a337af2bc4 100644 --- a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts @@ -239,15 +239,18 @@ function = "blsp_spi0"; pins = "gpio55", "gpio56", "gpio57"; }; + pinmux_cs { function = "gpio"; pins = "gpio54"; }; + pinconf { pins = "gpio55", "gpio56", "gpio57"; drive-strength = <12>; bias-disable; }; + pinconf_cs { pins = "gpio54"; drive-strength = <2>; diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-mr33.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-mr33.dts index 5003572420..6c53becb26 100644 --- a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-mr33.dts +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-mr33.dts @@ -148,6 +148,7 @@ pinctrl-0 = <&i2c_0_pins>; pinctrl-names = "default"; status = "okay"; + at24@50 { compatible = "atmel,24c64"; pagesize = <32>; @@ -210,56 +211,67 @@ reg = <0x00000000 0x00100000>; read-only; }; + partition@100000 { label = "mibib"; reg = <0x00100000 0x00100000>; read-only; }; + partition@200000 { label = "bootconfig"; reg = <0x00200000 0x00100000>; read-only; }; + partition@300000 { label = "qsee"; reg = <0x00300000 0x00100000>; read-only; }; + partition@400000 { label = "qsee_alt"; reg = <0x00400000 0x00100000>; read-only; }; + partition@500000 { label = "cdt"; reg = <0x00500000 0x00080000>; read-only; }; + partition@580000 { label = "cdt_alt"; reg = <0x00580000 0x00080000>; read-only; }; + partition@600000 { label = "ddrparams"; reg = <0x00600000 0x00080000>; read-only; }; + partition@700000 { label = "u-boot"; reg = <0x00700000 0x00200000>; read-only; }; + partition@900000 { label = "u-boot-backup"; reg = <0x00900000 0x00200000>; read-only; }; + partition@b00000 { label = "ART"; reg = <0x00b00000 0x00080000>; read-only; }; + partition@c00000 { label = "ubi"; reg = <0x00c00000 0x07000000>; @@ -311,6 +323,7 @@ function = "mdio"; bias-pull-up; }; + mux_2 { pins = "gpio7"; function = "mdc"; @@ -340,6 +353,7 @@ function = "blsp_i2c0"; pins = "gpio20", "gpio21"; }; + pinconf { pins = "gpio20", "gpio21"; drive-strength = <16>; @@ -352,6 +366,7 @@ function = "blsp_i2c1"; pins = "gpio34", "gpio35"; }; + pinconf { pins = "gpio34", "gpio35"; drive-strength = <16>; diff --git a/target/linux/ipq40xx/image/Makefile b/target/linux/ipq40xx/image/Makefile index 5ae22078f9..036a27b5dc 100644 --- a/target/linux/ipq40xx/image/Makefile +++ b/target/linux/ipq40xx/image/Makefile @@ -1,7 +1,8 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/image.mk -DEVICE_VARS += RAS_BOARD RAS_ROOTFS_SIZE RAS_VERSION +DEVICE_VARS += RAS_BOARD RAS_ROOTFS_SIZE RAS_VERSION \ + WRGG_DEVNAME WRGG_SIGNATURE define Device/Default PROFILES := Default @@ -51,33 +52,69 @@ define Device/DniImage endef DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_HW_ID +define Build/SenaoFW + -$(STAGING_DIR_HOST)/bin/mksenaofw \ + -n $(BOARD_NAME) -r $(VENDOR_ID) -p $(1) \ + -c $(DATECODE) -w $(2) -x $(CW_VER) -t 0 \ + -e $@ \ + -o $@.new + @cp $@.new $@ +endef + +define Build/wrgg-image + mkwrggimg -i $@ \ + -o $@.new \ + -d "$(WRGG_DEVNAME)" \ + -s "$(WRGG_SIGNATURE)" \ + -v "" -m "" -B "" + mv $@.new $@ +endef define Device/8dev_jalapeno $(call Device/FitImage) $(call Device/UbiFit) + DEVICE_VENDOR := 8devices + DEVICE_MODEL := Jalapeno DEVICE_DTS := qcom-ipq4018-jalapeno BLOCKSIZE := 128k PAGESIZE := 2048 - DEVICE_TITLE := 8devices Jalapeno endef TARGET_DEVICES += 8dev_jalapeno +define Device/alfa-network_ap120c-ac + $(call Device/FitImage) + $(call Device/UbiFit) + DEVICE_VENDOR := ALFA Network + DEVICE_MODEL := AP120C-AC + DEVICE_DTS := qcom-ipq4018-ap120c-ac + DEVICE_PACKAGES := kmod-usb-acm \ + kmod-tpm-i2c-atmel uboot-envtools + BLOCKSIZE := 128k + PAGESIZE := 2048 + IMAGE_SIZE := 65536k + IMAGES := nand-factory.bin nand-sysupgrade.bin + IMAGE/nand-factory.bin := append-ubi | qsdk-ipq-factory-nand +endef +TARGET_DEVICES += alfa-network_ap120c-ac + define Device/asus_map-ac2200 $(call Device/FitImageLzma) + DEVICE_VENDOR := ASUS + DEVICE_MODEL := Lyra (MAP-AC2200) DEVICE_DTS := qcom-ipq4019-map-ac2200 - DEVICE_TITLE := ASUS Lyra MAP-AC2200 IMAGES := sysupgrade.bin - DEVICE_PACKAGES := ipq-wifi-asus_map-ac2200 ath10k-firmware-qca9888-ct kmod-ath3k + DEVICE_PACKAGES := ath10k-firmware-qca9888 kmod-ath3k endef TARGET_DEVICES += asus_map-ac2200 define Device/asus_rt-ac58u $(call Device/FitImageLzma) + DEVICE_VENDOR := ASUS + DEVICE_MODEL := RT-AC58U / RT-AC1300UHP DEVICE_DTS := qcom-ipq4018-rt-ac58u BLOCKSIZE := 128k PAGESIZE := 2048 DTB_SIZE := 65536 - DEVICE_TITLE := Asus RT-AC58U / RT-AC1300UHP IMAGE_SIZE := 20439364 FILESYSTEMS := squashfs # Someone - in their infinite wisdom - decided to put the firmware @@ -89,33 +126,37 @@ define Device/asus_rt-ac58u KERNEL_INITRAMFS := $$(KERNEL) | uImage none KERNEL_INITRAMFS_SUFFIX := -factory.trx IMAGES := sysupgrade.bin - DEVICE_PACKAGES := kmod-usb-ledtrig-usbport + DEVICE_PACKAGES := -kmod-ath10k -ath10k-firmware-qca4019 \ + kmod-ath10k-ct-smallbuffers ath10k-firmware-qca4019-ct kmod-usb-ledtrig-usbport endef TARGET_DEVICES += asus_rt-ac58u define Device/asus_rt-acrh17 $(call Device/FitImageLzma) + DEVICE_VENDOR := ASUS + DEVICE_MODEL := RT-ACRH17 DEVICE_DTS := qcom-ipq4019-rt-acrh17 BLOCKSIZE := 128k PAGESIZE := 2048 DTB_SIZE := 65536 - DEVICE_TITLE := Asus RT-ACRH17 IMAGE_SIZE := 20439364 FILESYSTEMS := squashfs UIMAGE_NAME:=$(shell echo -e '\03\01\01\01RT-AC82U') KERNEL_INITRAMFS := $$(KERNEL) | uImage none KERNEL_INITRAMFS_SUFFIX := -factory.trx IMAGES := sysupgrade.bin - DEVICE_PACKAGES := ipq-wifi-rt-acrh17 ath10k-firmware-qca9984 + DEVICE_PACKAGES := ipq-wifi-asus_rt-acrh17 ath10k-firmware-qca9984 kmod-usb-ledtrig-usbport endef TARGET_DEVICES += asus_rt-acrh17 define Device/avm_fritzbox-4040 $(call Device/FitImageLzma) + DEVICE_VENDOR := AVM + DEVICE_MODEL := FRITZ!Box 4040 DEVICE_DTS := qcom-ipq4018-fritz4040 + DEVICE_DTS := qcom-ipq4018-fritzbox-4040 BOARD_NAME := fritz4040 - DEVICE_TITLE := AVM Fritz!Box 4040 - IMAGE_SIZE := 29753344 + IMAGE_SIZE := 29056k UBOOT_PATH := $(STAGING_DIR_IMAGE)/uboot-fritz4040.bin UBOOT_PARTITION_SIZE := 524288 IMAGES = eva.bin sysupgrade.bin @@ -125,12 +166,43 @@ define Device/avm_fritzbox-4040 endef TARGET_DEVICES += avm_fritzbox-4040 +define Device/avm_fritzbox-7530 + $(call Device/FitImageLzma) + DEVICE_VENDOR := AVM + DEVICE_MODEL := FRITZ!Box 7530 + DEVICE_DTS := qcom-ipq4019-fritzbox-7530 + DEVICE_PACKAGES := fritz-caldata fritz-tffs-nand + IMAGES := sysupgrade.bin +endef +TARGET_DEVICES += avm_fritzbox-7530 + +define Device/avm_fritzrepeater-1200 + $(call Device/FitImageLzma) + DEVICE_VENDOR := AVM + DEVICE_MODEL := FRITZ!Repeater 1200 + DEVICE_DTS := qcom-ipq4019-fritzrepeater-1200 + DEVICE_PACKAGES := fritz-caldata fritz-tffs-nand ipq-wifi-avm_fritzrepeater-1200 + IMAGES := sysupgrade.bin +endef +TARGET_DEVICES += avm_fritzrepeater-1200 + +define Device/avm_fritzrepeater-3000 + $(call Device/FitImageLzma) + DEVICE_VENDOR := AVM + DEVICE_MODEL := FRITZ!Repeater 3000 + DEVICE_DTS := qcom-ipq4019-fritzrepeater-3000 + DEVICE_PACKAGES := ath10k-firmware-qca9984 fritz-caldata fritz-tffs-nand + IMAGES := sysupgrade.bin +endef +TARGET_DEVICES += avm_fritzrepeater-3000 + define Device/compex_wpj428 $(call Device/FitImage) + DEVICE_VENDOR := Compex + DEVICE_MODEL := WPJ428 DEVICE_DTS := qcom-ipq4028-wpj428 DEVICE_DTS_CONFIG := config@4 BLOCKSIZE := 64k - DEVICE_TITLE := Compex WPJ428 IMAGE_SIZE := 31232k KERNEL_SIZE := 4096k IMAGES = sysupgrade.bin @@ -141,21 +213,48 @@ TARGET_DEVICES += compex_wpj428 define Device/engenius_eap1300 $(call Device/FitImage) - DEVICE_TITLE := EnGenius EAP1300 + DEVICE_VENDOR := EnGenius + DEVICE_MODEL := EAP1300 + DEVICE_DTS := qcom-ipq4018-eap1300 DEVICE_DTS_CONFIG := config@4 BOARD_NAME := eap1300 - DEVICE_DTS := qcom-ipq4018-eap1300 KERNEL_SIZE := 5120k IMAGE_SIZE := 25344k IMAGES := sysupgrade.bin IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata - DEVICE_PACKAGES := ipq-wifi-engenius_eap1300 endef TARGET_DEVICES += engenius_eap1300 +define Device/engenius_ens620ext + $(call Device/FitImage) + DEVICE_VENDOR := EnGenius + DEVICE_MODEL := ENS620EXT + DEVICE_DTS := qcom-ipq4018-ens620ext + DEVICE_DTS_CONFIG := config@4 + BLOCKSIZE := 64k + PAGESIZE := 256 + BOARD_NAME := ENS620EXT + VENDOR_ID := 0x0101 + PRODUCT_ID := 0x79 + PRODUCT_ID_NEW := 0xA4 + DATECODE := 190507 + FW_VER := 3.1.2 + FW_VER_NEW := 3.5.6 + CW_VER := 1.8.99 + IMAGE_SIZE := 21312k + KERNEL_SIZE := 5120k + FILESYSTEMS := squashfs + IMAGES := sysupgrade.bin factory_30.bin factory_35.bin + IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | append-metadata + IMAGE/factory_30.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | SenaoFW $$$$(PRODUCT_ID) $$$$(FW_VER) + IMAGE/factory_35.bin := qsdk-ipq-factory-nor | check-size $$$$(IMAGE_SIZE) | SenaoFW $$$$(PRODUCT_ID_NEW) $$$$(FW_VER_NEW) +endef +TARGET_DEVICES += engenius_ens620ext + define Device/glinet_gl-b1300 $(call Device/FitImage) - DEVICE_TITLE := GL.iNet GL-B1300 + DEVICE_VENDOR := GL.iNet + DEVICE_MODEL := GL-B1300 BOARD_NAME := gl-b1300 DEVICE_DTS := qcom-ipq4029-gl-b1300 KERNEL_SIZE := 4096k @@ -167,7 +266,7 @@ TARGET_DEVICES += glinet_gl-b1300 define Device/hugo_ac1200 $(call Device/FitImage) - DEVICE_TITLE := Hugo AC1200 + DEVICE_TITLE := Hugo AC1200 BOARD_NAME := hugo_ac1200 DEVICE_DTS := qcom-ipq4019-hugo-ac1200 KERNEL_SIZE := 4096k @@ -200,19 +299,49 @@ define Device/linksys_ea6350v3 # 4. The kernel command line from uboot is harcoded to boot with # rootfs either in mtd11 or mtd13. $(call Device/FitzImage) - DEVICE_TITLE := Linksys EA6350v3 + DEVICE_VENDOR := Linksys + DEVICE_MODEL := EA6350 + DEVICE_VARIANT := v3 DEVICE_DTS := qcom-ipq4018-ea6350v3 BLOCKSIZE := 128k PAGESIZE := 2048 - KERNEL_SIZE := 3145728 - IMAGE_SIZE := 38797312 + KERNEL_SIZE := 3072k + IMAGE_SIZE := 37888k UBINIZE_OPTS := -E 5 IMAGES := factory.bin sysupgrade.bin IMAGE/factory.bin := append-kernel | append-uImage-fakehdr filesystem | pad-to $$$${KERNEL_SIZE} | append-ubi | linksys-image type=EA6350v3 - DEVICE_PACKAGES := ipq-wifi-linksys_ea6350v3 uboot-envtools + DEVICE_PACKAGES := uboot-envtools endef TARGET_DEVICES += linksys_ea6350v3 +define Device/linksys_ea8300 + $(call Device/FitzImage) + DEVICE_VENDOR := Linksys + DEVICE_MODEL := EA8300 + DEVICE_DTS := qcom-ipq4019-ea8300 + KERNEL_SIZE := 3072k + IMAGE_SIZE := 87040k + BLOCKSIZE := 128k + PAGESIZE := 2048 + UBINIZE_OPTS := -E 5 # EOD marks to "hide" factory sig at EOF + IMAGES := sysupgrade.bin factory.bin + IMAGE/factory.bin := append-kernel | pad-to $$$${KERNEL_SIZE} | append-ubi | linksys-image type=EA8300 + DEVICE_PACKAGES := uboot-envtools ath10k-firmware-qca9888 ipq-wifi-linksys_ea8300 kmod-usb-ledtrig-usbport +endef +TARGET_DEVICES += linksys_ea8300 + +define Device/meraki_mr33 + $(call Device/FitImage) + DEVICE_VENDOR := Cisco Meraki + DEVICE_MODEL := MR33 + DEVICE_DTS := qcom-ipq4029-mr33 + BLOCKSIZE := 128k + PAGESIZE := 2048 + IMAGES = sysupgrade.bin + DEVICE_PACKAGES := -swconfig ath10k-firmware-qca9887 +endef +TARGET_DEVICES += meraki_mr33 + define Device/mobipromo_cm520-79f $(call Device/FitzImage) $(call Device/UbiFit) @@ -225,17 +354,6 @@ define Device/mobipromo_cm520-79f endef TARGET_DEVICES += mobipromo_cm520-79f -define Device/meraki_mr33 - $(call Device/FitImage) - DEVICE_DTS := qcom-ipq4029-mr33 - BLOCKSIZE := 131072 - PAGESIZE := 2048 - DEVICE_TITLE := Cisco Meraki MR33 - IMAGES = sysupgrade.bin - DEVICE_PACKAGES := -swconfig ath10k-firmware-qca9887 -endef -TARGET_DEVICES += meraki_mr33 - define Device/netgear_ex61x0v2 $(call Device/DniImage) DEVICE_DTS_CONFIG := config@4 @@ -245,24 +363,29 @@ endef define Device/netgear_ex6100v2 $(call Device/netgear_ex61x0v2) + DEVICE_VENDOR := Netgear + DEVICE_MODEL := EX6100 + DEVICE_VARIANT := v2 DEVICE_DTS := qcom-ipq4018-ex6100v2 - DEVICE_TITLE := Netgear EX6100v2 endef TARGET_DEVICES += netgear_ex6100v2 define Device/netgear_ex6150v2 $(call Device/netgear_ex61x0v2) + DEVICE_VENDOR := Netgear + DEVICE_MODEL := EX6150 + DEVICE_VARIANT := v2 DEVICE_DTS := qcom-ipq4018-ex6150v2 - DEVICE_TITLE := Netgear EX6150v2 endef TARGET_DEVICES += netgear_ex6150v2 define Device/openmesh_a42 $(call Device/FitImageLzma) + DEVICE_VENDOR := OpenMesh + DEVICE_MODEL := A42 DEVICE_DTS := qcom-ipq4018-a42 DEVICE_DTS_CONFIG := config@om.a42 BLOCKSIZE := 64k - DEVICE_TITLE := OpenMesh A42 KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb | pad-to $$(BLOCKSIZE) IMAGE_SIZE := 15616k IMAGES = factory.bin sysupgrade.bin @@ -274,19 +397,50 @@ TARGET_DEVICES += openmesh_a42 define Device/openmesh_a62 $(call Device/FitImageLzma) + DEVICE_VENDOR := OpenMesh + DEVICE_MODEL := A62 DEVICE_DTS := qcom-ipq4019-a62 DEVICE_DTS_CONFIG := config@om.a62 BLOCKSIZE := 64k - DEVICE_TITLE := OpenMesh A62 KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb | pad-to $$(BLOCKSIZE) IMAGE_SIZE := 15552k IMAGES = factory.bin sysupgrade.bin IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=A62 IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata - DEVICE_PACKAGES := ath10k-firmware-qca9888-ct uboot-envtools + DEVICE_PACKAGES := ath10k-firmware-qca9888 uboot-envtools endef TARGET_DEVICES += openmesh_a62 +define Device/qcom_ap-dk01.1-c1 + DEVICE_VENDOR := Qualcomm Atheros + DEVICE_MODEL := AP-DK01.1 + DEVICE_VARIANT := C1 + BOARD_NAME := ap-dk01.1-c1 + DEVICE_DTS := qcom-ipq4019-ap.dk01.1-c1 + KERNEL_INSTALL := 1 + KERNEL_SIZE := 4096k + IMAGE_SIZE := 26624k + $(call Device/FitImage) + IMAGES := sysupgrade.bin + IMAGE/sysupgrade.bin := append-kernel | pad-to $$$${KERNEL_SIZE} | append-rootfs | pad-rootfs | append-metadata +endef +TARGET_DEVICES += qcom_ap-dk01.1-c1 + +define Device/qcom_ap-dk04.1-c1 + $(call Device/FitImage) + $(call Device/UbiFit) + DEVICE_VENDOR := Qualcomm Atheros + DEVICE_MODEL := AP-DK04.1 + DEVICE_VARIANT := C1 + DEVICE_DTS := qcom-ipq4019-ap.dk04.1-c1 + KERNEL_INSTALL := 1 + KERNEL_SIZE := 4048k + BLOCKSIZE := 128k + PAGESIZE := 2048 + BOARD_NAME := ap-dk04.1-c1 +endef +TARGET_DEVICES += qcom_ap-dk04.1-c1 + define Device/p2w_r619ac $(call Device/FitzImage) $(call Device/UbiFit) @@ -316,36 +470,40 @@ define Device/p2w_r619ac-128m endef TARGET_DEVICES += p2w_r619ac-128m -define Device/qcom_ap-dk01.1-c1 - DEVICE_TITLE := QCA AP-DK01.1-C1 - BOARD_NAME := ap-dk01.1-c1 - DEVICE_DTS := qcom-ipq4019-ap.dk01.1-c1 - KERNEL_INSTALL := 1 - KERNEL_SIZE := 4096k - IMAGE_SIZE := 26624k +define Device/qxwlan_e2600ac-c1 $(call Device/FitImage) + DEVICE_VENDOR := Qxwlan + DEVICE_MODEL := E2600AC + DEVICE_VARIANT := C1 + BOARD_NAME := e2600ac-c1 + DEVICE_DTS := qcom-ipq4019-e2600ac-c1 + KERNEL_SIZE := 4096k + IMAGE_SIZE := 31232k IMAGES := sysupgrade.bin - IMAGE/sysupgrade.bin := append-kernel | pad-to $$$${KERNEL_SIZE} | append-rootfs | pad-rootfs | append-metadata + IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata + DEVICE_PACKAGES := ipq-wifi-qxwlan_e2600ac endef -TARGET_DEVICES += qcom_ap-dk01.1-c1 +TARGET_DEVICES += qxwlan_e2600ac-c1 -define Device/qcom_ap-dk04.1-c1 +define Device/qxwlan_e2600ac-c2 $(call Device/FitImage) $(call Device/UbiFit) - DEVICE_DTS := qcom-ipq4019-ap.dk04.1-c1 + DEVICE_VENDOR := Qxwlan + DEVICE_MODEL := E2600AC + DEVICE_VARIANT := C2 + DEVICE_DTS := qcom-ipq4019-e2600ac-c2 KERNEL_INSTALL := 1 - KERNEL_SIZE := 4048k BLOCKSIZE := 128k PAGESIZE := 2048 - BOARD_NAME := ap-dk04.1-c1 - DEVICE_TITLE := QCA AP-DK04.1-C1 + DEVICE_PACKAGES := ipq-wifi-qxwlan_e2600ac endef -TARGET_DEVICES += qcom_ap-dk04.1-c1 +TARGET_DEVICES += qxwlan_e2600ac-c2 define Device/zyxel_nbg6617 $(call Device/FitImageLzma) + DEVICE_VENDOR := ZyXEL + DEVICE_MODEL := NBG6617 DEVICE_DTS := qcom-ipq4018-nbg6617 - DEVICE_TITLE := ZyXEL NBG6617 ROOTFS_SIZE := 24960k RAS_BOARD := NBG6617 RAS_ROOTFS_SIZE := 19840k @@ -364,11 +522,14 @@ TARGET_DEVICES += zyxel_nbg6617 define Device/zyxel_wre6606 $(call Device/FitImage) - DEVICE_TITLE := ZyXEL WRE6606 - DEVICE_DTS_CONFIG := config@4 + DEVICE_VENDOR := ZyXEL + DEVICE_MODEL := WRE6606 DEVICE_DTS := qcom-ipq4018-wre6606 + DEVICE_DTS_CONFIG := config@4 IMAGES := sysupgrade.bin IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata + DEVICE_PACKAGES := -kmod-ath10k -ath10k-firmware-qca4019 \ + kmod-ath10k-ct-smallbuffers ath10k-firmware-qca4019-ct endef TARGET_DEVICES += zyxel_wre6606 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 649dc53f2b..955ca39bb5 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,16 +10,18 @@ Signed-off-by: John Crispin --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -697,7 +697,28 @@ dtb-$(CONFIG_ARCH_QCOM) += \ +@@ -697,7 +697,36 @@ dtb-$(CONFIG_ARCH_QCOM) += \ qcom-apq8074-dragonboard.dtb \ qcom-apq8084-ifc6540.dtb \ qcom-apq8084-mtp.dtb \ + qcom-ipq4018-a42.dtb \ ++ qcom-ipq4018-ap120c-ac.dtb \ + qcom-ipq4018-ea6350v3.dtb \ + qcom-ipq4018-eap1300.dtb \ ++ qcom-ipq4018-ens620ext.dtb \ + qcom-ipq4018-ex6100v2.dtb \ + qcom-ipq4018-ex6150v2.dtb \ -+ qcom-ipq4018-fritz4040.dtb \ ++ qcom-ipq4018-fritzbox-4040.dtb \ + qcom-ipq4018-jalapeno.dtb \ + qcom-ipq4018-nbg6617.dtb \ + qcom-ipq4018-rt-ac58u.dtb \ @@ -29,7 +31,13 @@ Signed-off-by: John Crispin + qcom-ipq4019-ap.dk04.1-c1.dtb \ + qcom-ipq4019-cm520-79f.dtb \ + qcom-ipq4019-hugo-ac1200.dtb \ ++ qcom-ipq4019-fritzbox-7530.dtb \ ++ qcom-ipq4019-fritzrepeater-1200.dtb \ ++ qcom-ipq4019-fritzrepeater-3000.dtb \ ++ qcom-ipq4019-ea8300.dtb \ + qcom-ipq4019-map-ac2200.dtb \ ++ qcom-ipq4019-e2600ac-c1.dtb \ ++ qcom-ipq4019-e2600ac-c2.dtb \ + qcom-ipq4019-r619ac.dtb \ + qcom-ipq4019-r619ac-128m.dtb \ + qcom-ipq4019-rt-acrh17.dtb \ 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 3823d62661..1c11ff0823 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 @@ -1,6 +1,6 @@ From a10fab12a927e60b7141a602e740d70cb4d09e4a Mon Sep 17 00:00:00 2001 From: John Crispin -Date: Thu, 9 Mar 2019 11:03:18 +0100 +Date: Thu, 9 Mar 2017 11:03:18 +0100 Subject: [PATCH] arm: boot: add dts files Signed-off-by: John Crispin @@ -10,19 +10,22 @@ Signed-off-by: John Crispin --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -785,11 +785,43 @@ dtb-$(CONFIG_ARCH_QCOM) += \ +@@ -785,11 +785,48 @@ dtb-$(CONFIG_ARCH_QCOM) += \ qcom-apq8074-dragonboard.dtb \ qcom-apq8084-ifc6540.dtb \ qcom-apq8084-mtp.dtb \ + qcom-ipq4018-a42.dtb \ + qcom-ipq4018-ap120c-ac.dtb \ ++ qcom-ipq4018-dap-2610.dtb \ ++ qcom-ipq4018-cs-w3-wd1200g-eup.dtb \ + qcom-ipq4018-ea6350v3.dtb \ + qcom-ipq4018-eap1300.dtb \ ++ qcom-ipq4018-emd1.dtb \ + qcom-ipq4018-ens620ext.dtb \ + qcom-ipq4018-ex6100v2.dtb \ + qcom-ipq4018-ex6150v2.dtb \ + qcom-ipq4018-ex6200v2.dtb \ -+ qcom-ipq4018-fritz4040.dtb \ ++ qcom-ipq4018-fritzbox-4040.dtb \ + qcom-ipq4018-jalapeno.dtb \ + qcom-ipq4018-meshpoint-one.dtb \ + qcom-ipq4018-nbg6617.dtb \ @@ -35,20 +38,22 @@ Signed-off-by: John Crispin qcom-ipq4019-ap.dk07.1-c2.dtb \ + qcom-ipq4019-a62.dtb \ + qcom-ipq4019-cm520-79f.dtb \ ++ qcom-ipq4019-hugo-ac1200.dtb \ + qcom-ipq4019-fritzbox-7530.dtb \ + qcom-ipq4019-fritzrepeater-1200.dtb \ + qcom-ipq4019-fritzrepeater-3000.dtb \ -+ qcom-ipq4019-hugo-ac1200.dtb \ -+ qcom-ipq4019-linksys_ea8300.dtb \ ++ qcom-ipq4019-ea8300.dtb \ + qcom-ipq4019-map-ac2200.dtb \ + qcom-ipq4019-r619ac.dtb \ + qcom-ipq4019-r619ac-128m.dtb \ -+ qcom-ipq4019-qxwlan-e2600ac-c1.dtb \ -+ qcom-ipq4019-qxwlan-e2600ac-c2.dtb \ -+ qcom-ipq4019-unielec-u4019-32m.dtb \ ++ qcom-ipq4019-e2600ac-c1.dtb \ ++ qcom-ipq4019-e2600ac-c2.dtb \ ++ qcom-ipq4019-u4019-32m.dtb \ + qcom-ipq4019-rt-acrh17.dtb \ + qcom-ipq4019-wpj419.dtb \ + qcom-ipq4028-wpj428.dtb \ ++ qcom-ipq4029-ap-303.dtb \ ++ qcom-ipq4029-ap-303h.dtb \ + qcom-ipq4029-gl-b1300.dtb \ + qcom-ipq4029-mr33.dtb \ qcom-ipq8064-ap148.dtb \