ipq40xx: add support for Netgear EX6100v2/EX6150v2
Specifications: SOC: Qualcomm IPQ4018 (DAKOTA) ARM Quad-Core RAM: 256 MB Winbond W632GU6KB12J FLASH: 16 MiB Macronix MX25L12805D ETH: Qualcomm QCA8072 WLAN1: Qualcomm Atheros QCA4018 2.4GHz 802.11b/g/n/ac 2x2 WLAN2: Qualcomm Atheros QCA4018 5GHz 802.11n/ac 1x1 (EX6100) 2x2 (EX6150) INPUT: Power, WPS, reset button AP / Range-extender toggle LED: Power, Router, Extender (dual), WPS, Left-/Right-arrow SERIAL: Header next to QCA8072 chip. VCC, TX, RX, GND (Square hole is VCC) WARNING: The serial port needs a TTL/RS-232 v3.3 level converter! The Serial setting is 115200-8-N-1. Tested and working: - Ethernet - 2.4 GHz WiFi (Correct MAC-address) - 5 GHz WiFi (Correct MAC-address) - Factory installation from WebIF - Factory installation from tftp - OpenWRT sysupgrade (Preserving and non-preserving) - LEDs - Buttons Not Working: - AP/Extender toggle-switch Untested: - Support on EX6100v2. They share the same GPL-Code and vendor-images. The 6100v2 seems to lack one 5GHz stream and differs in the 5GHz board-blob. I only own a EX6150v2, therefore i am only able to verify functionality on this device. Install via Web-Interface: Upload the factory image to the device to the Netgear Web-Interface. The device might asks you to confirm the update a second time due to detecting the OpenWRT firmware as older. The device will automatically reboot after the image is written to flash. Install via TFTP: Connect to the devices serial. Hit Enter-Key in bootloader to stop autobooting. Command "fw_recovery" will start a tftp server, waiting for a DNI image to be pushed. Assign your computer the IP-address 192.168.1.10/24. Push image with tftp -4 -v -m binary 192.168.1.1 -c put <OPENWRT_FACTORY> Device will erase factory-partition first, then writes the pushed image to flash and reboots. Parts of this commit are based on Thomas Hebb's work on the openwrt-devel mailinglist. See https://lists.openwrt.org/pipermail/openwrt-devel/2018-January/043418.html Signed-off-by: David Bauer <mail@david-bauer.net>
This commit is contained in:
parent
be6e28b516
commit
970f1914be
11 changed files with 448 additions and 4 deletions
|
@ -13,7 +13,7 @@ endef
|
||||||
define Build/Compile
|
define Build/Compile
|
||||||
endef
|
endef
|
||||||
|
|
||||||
ALLWIFIBOARDS:=8dev_jalapeno asus_rt-ac58u avm_fritzbox-4040 glinet_gl-b1300 meraki_mr33
|
ALLWIFIBOARDS:=8dev_jalapeno asus_rt-ac58u avm_fritzbox-4040 glinet_gl-b1300 meraki_mr33 netgear_ex61x0v2
|
||||||
ALLWIFIPACKAGES:=$(foreach BOARD,$(ALLWIFIBOARDS),ipq-wifi-$(BOARD))
|
ALLWIFIPACKAGES:=$(foreach BOARD,$(ALLWIFIBOARDS),ipq-wifi-$(BOARD))
|
||||||
|
|
||||||
define Package/ipq-wifi-default
|
define Package/ipq-wifi-default
|
||||||
|
@ -52,5 +52,6 @@ $(eval $(call generate-ipq-wifi-package,asus_rt-ac58u,board-asus_rt-ac58u.bin,AS
|
||||||
$(eval $(call generate-ipq-wifi-package,avm_fritzbox-4040,board-avm_fritzbox-4040.bin,AVM FRITZ!Box 4040))
|
$(eval $(call generate-ipq-wifi-package,avm_fritzbox-4040,board-avm_fritzbox-4040.bin,AVM FRITZ!Box 4040))
|
||||||
$(eval $(call generate-ipq-wifi-package,glinet_gl-b1300,board-glinet_gl-b1300.bin,GL.iNet GL-B1300))
|
$(eval $(call generate-ipq-wifi-package,glinet_gl-b1300,board-glinet_gl-b1300.bin,GL.iNet GL-B1300))
|
||||||
$(eval $(call generate-ipq-wifi-package,meraki_mr33,board-meraki_mr33.bin,Cisco Meraki MR33))
|
$(eval $(call generate-ipq-wifi-package,meraki_mr33,board-meraki_mr33.bin,Cisco Meraki MR33))
|
||||||
|
$(eval $(call generate-ipq-wifi-package,netgear_ex61x0v2,board-netgear_ex61x0v2.bin,Netgear EX61x0v2))
|
||||||
|
|
||||||
$(foreach PACKAGE,$(ALLWIFIPACKAGES),$(eval $(call BuildPackage,$(PACKAGE))))
|
$(foreach PACKAGE,$(ALLWIFIPACKAGES),$(eval $(call BuildPackage,$(PACKAGE))))
|
||||||
|
|
BIN
package/firmware/ipq-wifi/board-netgear_ex61x0v2.bin
Normal file
BIN
package/firmware/ipq-wifi/board-netgear_ex61x0v2.bin
Normal file
Binary file not shown.
|
@ -26,6 +26,11 @@ avm,fritzbox-4040)
|
||||||
glinet,gl-b1300)
|
glinet,gl-b1300)
|
||||||
ucidef_set_led_wlan "wlan" "WLAN" "${boardname}:green:wlan" "phy0tpt"
|
ucidef_set_led_wlan "wlan" "WLAN" "${boardname}:green:wlan" "phy0tpt"
|
||||||
;;
|
;;
|
||||||
|
netgear,ex6100v2 |\
|
||||||
|
netgear,ex6150v2)
|
||||||
|
ucidef_set_led_wlan "wlan2g" "WLAN2G" "ex61x0v2:green:router" "phy0tpt"
|
||||||
|
ucidef_set_led_wlan "wlan5g" "WLAN5G" "ex61x0v2:green:client" "phy1tpt"
|
||||||
|
;;
|
||||||
meraki,mr33)
|
meraki,mr33)
|
||||||
ucidef_set_interface_lan "eth0"
|
ucidef_set_interface_lan "eth0"
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -41,8 +41,9 @@ glinet,gl-b1300)
|
||||||
openmesh,a42)
|
openmesh,a42)
|
||||||
ucidef_set_interfaces_lan_wan "eth1" "eth0"
|
ucidef_set_interfaces_lan_wan "eth1" "eth0"
|
||||||
;;
|
;;
|
||||||
|
meraki,mr33 |\
|
||||||
meraki,mr33)
|
netgear,ex6100v2 |\
|
||||||
|
netgear,ex6150v2)
|
||||||
ucidef_set_interface_lan "eth0"
|
ucidef_set_interface_lan "eth0"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
|
|
@ -129,6 +129,11 @@ case "$FIRMWARE" in
|
||||||
ath10kcal_is_caldata_valid "202f" || ath10kcal_extract "ART" 4096 12064
|
ath10kcal_is_caldata_valid "202f" || ath10kcal_extract "ART" 4096 12064
|
||||||
ath10kcal_patch_mac_crc $(macaddr_add $(get_mac_binary "/sys/bus/i2c/devices/0-0050/eeprom" 102) +2)
|
ath10kcal_patch_mac_crc $(macaddr_add $(get_mac_binary "/sys/bus/i2c/devices/0-0050/eeprom" 102) +2)
|
||||||
;;
|
;;
|
||||||
|
netgear,ex6100v2 |\
|
||||||
|
netgear,ex6150v2)
|
||||||
|
ath10kcal_extract "ART" 4096 12064
|
||||||
|
ath10kcal_patch_mac_crc $(mtd_get_mac_binary dnidata 0)
|
||||||
|
;;
|
||||||
compex,wpj428 |\
|
compex,wpj428 |\
|
||||||
openmesh,a42)
|
openmesh,a42)
|
||||||
ath10kcal_extract "0:ART" 4096 12064
|
ath10kcal_extract "0:ART" 4096 12064
|
||||||
|
@ -154,6 +159,11 @@ case "$FIRMWARE" in
|
||||||
ath10kcal_is_caldata_valid "202f" || ath10kcal_extract "ART" 20480 12064
|
ath10kcal_is_caldata_valid "202f" || ath10kcal_extract "ART" 20480 12064
|
||||||
ath10kcal_patch_mac_crc $(macaddr_add $(get_mac_binary "/sys/bus/i2c/devices/0-0050/eeprom" 102) +3)
|
ath10kcal_patch_mac_crc $(macaddr_add $(get_mac_binary "/sys/bus/i2c/devices/0-0050/eeprom" 102) +3)
|
||||||
;;
|
;;
|
||||||
|
netgear,ex6100v2 |\
|
||||||
|
netgear,ex6150v2)
|
||||||
|
ath10kcal_extract "ART" 20480 12064
|
||||||
|
ath10kcal_patch_mac_crc $(mtd_get_mac_binary dnidata 12)
|
||||||
|
;;
|
||||||
compex,wpj428 |\
|
compex,wpj428 |\
|
||||||
openmesh,a42)
|
openmesh,a42)
|
||||||
ath10kcal_extract "0:ART" 20480 12064
|
ath10kcal_extract "0:ART" 20480 12064
|
||||||
|
|
|
@ -191,6 +191,7 @@ CONFIG_GENERIC_STRNLEN_USER=y
|
||||||
CONFIG_GENERIC_TIME_VSYSCALL=y
|
CONFIG_GENERIC_TIME_VSYSCALL=y
|
||||||
CONFIG_GPIOLIB=y
|
CONFIG_GPIOLIB=y
|
||||||
CONFIG_GPIOLIB_IRQCHIP=y
|
CONFIG_GPIOLIB_IRQCHIP=y
|
||||||
|
CONFIG_GPIO_74X164=y
|
||||||
CONFIG_GPIO_SYSFS=y
|
CONFIG_GPIO_SYSFS=y
|
||||||
CONFIG_GPIO_WATCHDOG=y
|
CONFIG_GPIO_WATCHDOG=y
|
||||||
# CONFIG_GPIO_WATCHDOG_ARCH_INITCALL is not set
|
# CONFIG_GPIO_WATCHDOG_ARCH_INITCALL is not set
|
||||||
|
@ -438,6 +439,7 @@ CONFIG_SMP_ON_UP=y
|
||||||
CONFIG_SPARSE_IRQ=y
|
CONFIG_SPARSE_IRQ=y
|
||||||
CONFIG_SPI=y
|
CONFIG_SPI=y
|
||||||
CONFIG_SPI_MASTER=y
|
CONFIG_SPI_MASTER=y
|
||||||
|
CONFIG_SPI_GPIO=y
|
||||||
CONFIG_SPI_QUP=y
|
CONFIG_SPI_QUP=y
|
||||||
CONFIG_SPMI=y
|
CONFIG_SPMI=y
|
||||||
CONFIG_SPMI_MSM_PMIC_ARB=y
|
CONFIG_SPMI_MSM_PMIC_ARB=y
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
/* Copyright (c) 2015, The Linux Foundation. All rights reserved.
|
||||||
|
* Copyright (c) 2018, David Bauer <mail@david-bauer.net>
|
||||||
|
*
|
||||||
|
* Permission to use, copy, modify, and/or distribute this software for any
|
||||||
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
|
* copyright notice and this permission notice appear in all copies.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||||
|
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||||
|
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||||
|
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||||
|
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||||
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
|
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "qcom-ipq4018-ex61x0v2.dtsi"
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
#include <dt-bindings/input/input.h>
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "Netgear EX6100v2";
|
||||||
|
compatible = "netgear,ex6100v2", "qcom,ipq4019";
|
||||||
|
};
|
||||||
|
|
||||||
|
&wifi0 {
|
||||||
|
qcom,ath10k-calibration-variant = "Netgear-EX6100v2";
|
||||||
|
};
|
||||||
|
|
||||||
|
&wifi1 {
|
||||||
|
qcom,ath10k-calibration-variant = "Netgear-EX6100v2";
|
||||||
|
};
|
|
@ -0,0 +1,33 @@
|
||||||
|
/* Copyright (c) 2015, The Linux Foundation. All rights reserved.
|
||||||
|
* Copyright (c) 2018, David Bauer <mail@david-bauer.net>
|
||||||
|
*
|
||||||
|
* Permission to use, copy, modify, and/or distribute this software for any
|
||||||
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
|
* copyright notice and this permission notice appear in all copies.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||||
|
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||||
|
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||||
|
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||||
|
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||||
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
|
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "qcom-ipq4018-ex61x0v2.dtsi"
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
#include <dt-bindings/input/input.h>
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "Netgear EX6150v2";
|
||||||
|
compatible = "netgear,ex6150v2", "qcom,ipq4019";
|
||||||
|
};
|
||||||
|
|
||||||
|
&wifi0 {
|
||||||
|
qcom,ath10k-calibration-variant = "Netgear-EX6150v2";
|
||||||
|
};
|
||||||
|
|
||||||
|
&wifi1 {
|
||||||
|
qcom,ath10k-calibration-variant = "Netgear-EX6150v2";
|
||||||
|
};
|
|
@ -0,0 +1,322 @@
|
||||||
|
/* Copyright (c) 2015, The Linux Foundation. All rights reserved.
|
||||||
|
* Copyright (c) 2018, David Bauer <mail@david-bauer.net>
|
||||||
|
*
|
||||||
|
* Permission to use, copy, modify, and/or distribute this software for any
|
||||||
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
|
* copyright notice and this permission notice appear in all copies.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||||
|
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||||
|
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||||
|
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||||
|
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||||
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
|
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "qcom-ipq4019.dtsi"
|
||||||
|
#include "qcom-ipq4019-bus.dtsi"
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
#include <dt-bindings/input/input.h>
|
||||||
|
#include <dt-bindings/soc/qcom,tcsr.h>
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "Netgear EX61X0v2";
|
||||||
|
compatible = "netgear,ex61x0v2", "qcom,ipq4019";
|
||||||
|
|
||||||
|
reserved-memory {
|
||||||
|
#address-cells = <0x1>;
|
||||||
|
#size-cells = <0x1>;
|
||||||
|
ranges;
|
||||||
|
|
||||||
|
smem@87e00000 {
|
||||||
|
reg = <0x87e00000 0x080000>;
|
||||||
|
no-map;
|
||||||
|
};
|
||||||
|
|
||||||
|
tz@87e80000 {
|
||||||
|
reg = <0x87e80000 0x180000>;
|
||||||
|
no-map;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
soc {
|
||||||
|
mdio@90000 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
ess-psgmii@98000 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
tcsr@1949000 {
|
||||||
|
compatible = "qcom,tcsr";
|
||||||
|
reg = <0x1949000 0x100>;
|
||||||
|
qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>;
|
||||||
|
};
|
||||||
|
|
||||||
|
ess_tcsr@1953000 {
|
||||||
|
compatible = "qcom,tcsr";
|
||||||
|
reg = <0x1953000 0x1000>;
|
||||||
|
qcom,ess-interface-select = <TCSR_ESS_PSGMII>;
|
||||||
|
};
|
||||||
|
|
||||||
|
tcsr@1957000 {
|
||||||
|
compatible = "qcom,tcsr";
|
||||||
|
reg = <0x1957000 0x100>;
|
||||||
|
qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>;
|
||||||
|
};
|
||||||
|
|
||||||
|
serial@78af000 {
|
||||||
|
pinctrl-0 = <&serial_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
crypto@8e3a000 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
watchdog@b017000 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
ess-switch@c000000 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
edma@c080000 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
aliases {
|
||||||
|
led-boot = &power_amber;
|
||||||
|
led-failsafe = &power_amber;
|
||||||
|
led-running = &power_green;
|
||||||
|
led-upgrade = &power_amber;
|
||||||
|
};
|
||||||
|
|
||||||
|
gpio-keys {
|
||||||
|
compatible = "gpio-keys";
|
||||||
|
|
||||||
|
wps {
|
||||||
|
label = "wps";
|
||||||
|
gpios = <&tlmm 0 GPIO_ACTIVE_LOW>;
|
||||||
|
linux,code = <KEY_WPS_BUTTON>;
|
||||||
|
};
|
||||||
|
|
||||||
|
reset {
|
||||||
|
label = "reset";
|
||||||
|
gpios = <&tlmm 63 GPIO_ACTIVE_LOW>;
|
||||||
|
linux,code = <KEY_RESTART>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
led_spi {
|
||||||
|
compatible = "spi-gpio";
|
||||||
|
#address-cells = <1>;
|
||||||
|
ranges;
|
||||||
|
|
||||||
|
gpio-sck = <&tlmm 5 GPIO_ACTIVE_HIGH>;
|
||||||
|
gpio-mosi = <&tlmm 4 GPIO_ACTIVE_HIGH>;
|
||||||
|
num-chipselects = <0>;
|
||||||
|
|
||||||
|
led_gpio: led_gpio@0 {
|
||||||
|
compatible = "fairchild,74hc595";
|
||||||
|
reg = <0>;
|
||||||
|
gpio-controller;
|
||||||
|
#gpio-cells = <2>;
|
||||||
|
registers-number = <1>;
|
||||||
|
spi-max-frequency = <1000000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
gpio-leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
|
||||||
|
power_amber: power_amber {
|
||||||
|
label = "ex61x0v2:amber:power";
|
||||||
|
gpios = <&led_gpio 7 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
|
||||||
|
power_green: power_green {
|
||||||
|
label = "ex61x0v2:green:power";
|
||||||
|
gpios = <&led_gpio 6 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
|
||||||
|
right {
|
||||||
|
label = "ex61x0v2:blue:right";
|
||||||
|
gpios = <&led_gpio 5 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
|
||||||
|
left {
|
||||||
|
label = "ex61x0v2:blue:left";
|
||||||
|
gpios = <&led_gpio 4 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
|
||||||
|
client_green {
|
||||||
|
label = "ex61x0v2:green:client";
|
||||||
|
gpios = <&led_gpio 3 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
|
||||||
|
client_red {
|
||||||
|
label = "ex61x0v2:red:client";
|
||||||
|
gpios = <&led_gpio 2 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
|
||||||
|
router_green {
|
||||||
|
label = "ex61x0v2:green:router";
|
||||||
|
gpios = <&led_gpio 1 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
|
||||||
|
router_red {
|
||||||
|
label = "ex61x0v2:red:router";
|
||||||
|
gpios = <&led_gpio 0 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
|
||||||
|
wps {
|
||||||
|
label = "ex61x0v2:green:wps";
|
||||||
|
gpios = <&tlmm 1 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&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 = "gpio55", "gpio56", "gpio57";
|
||||||
|
drive-strength = <12>;
|
||||||
|
bias-disable;
|
||||||
|
};
|
||||||
|
pin_cs {
|
||||||
|
function = "gpio";
|
||||||
|
pins = "gpio54";
|
||||||
|
drive-strength = <2>;
|
||||||
|
bias-disable;
|
||||||
|
output-high;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&spi_0 {
|
||||||
|
pinctrl-0 = <&spi_0_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>;
|
||||||
|
|
||||||
|
mx25l12805d@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;
|
||||||
|
};
|
||||||
|
|
||||||
|
partition8@180000 {
|
||||||
|
label = "config";
|
||||||
|
reg = <0x00180000 0x00010000>;
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
|
||||||
|
partition9@190000 {
|
||||||
|
label = "pot";
|
||||||
|
reg = <0x00190000 0x00010000>;
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
|
||||||
|
partition10@1a0000 {
|
||||||
|
label = "dnidata";
|
||||||
|
reg = <0x001a0000 0x00010000>;
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
|
||||||
|
partition11@1b0000 {
|
||||||
|
label = "firmware";
|
||||||
|
reg = <0x001b0000 0x00e10000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
partition12@fc0000 {
|
||||||
|
label = "language";
|
||||||
|
reg = <0x00fc0000 0x00040000>;
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&blsp_dma {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&cryptobam {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&wifi0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&wifi1 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
|
@ -31,6 +31,18 @@ define Device/UbiFit
|
||||||
IMAGE/nand-sysupgrade.bin := sysupgrade-tar | append-metadata
|
IMAGE/nand-sysupgrade.bin := sysupgrade-tar | append-metadata
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define Device/DniImage
|
||||||
|
KERNEL_SUFFIX := -fit-uImage.itb
|
||||||
|
KERNEL = kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb
|
||||||
|
KERNEL_NAME := Image
|
||||||
|
NETGEAR_BOARD_ID :=
|
||||||
|
NETGEAR_HW_ID :=
|
||||||
|
IMAGES := factory.img sysupgrade.bin
|
||||||
|
IMAGE/factory.img := append-kernel | pad-offset 64k 64 | append-uImage-fakeroot-hdr | pad-to $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | netgear-dni
|
||||||
|
IMAGE/sysupgrade.bin := append-kernel | pad-offset 64k 64 | append-uImage-fakeroot-hdr | pad-to $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | append-metadata
|
||||||
|
endef
|
||||||
|
DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_HW_ID
|
||||||
|
|
||||||
|
|
||||||
define Device/8dev_jalapeno
|
define Device/8dev_jalapeno
|
||||||
$(call Device/FitImage)
|
$(call Device/FitImage)
|
||||||
|
@ -113,6 +125,29 @@ define Device/meraki_mr33
|
||||||
endef
|
endef
|
||||||
TARGET_DEVICES += meraki_mr33
|
TARGET_DEVICES += meraki_mr33
|
||||||
|
|
||||||
|
define Device/netgear_ex61x0v2
|
||||||
|
$(call Device/DniImage)
|
||||||
|
KERNEL_SIZE := 3080192
|
||||||
|
DEVICE_DTS_CONFIG := config@4
|
||||||
|
DEVICE_PACKAGES := ath10k-firmware-qca4019 ipq-wifi-netgear_ex61x0v2
|
||||||
|
NETGEAR_BOARD_ID := EX6150v2series
|
||||||
|
NETGEAR_HW_ID := 29765285+16+0+128+2x2
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Device/netgear_ex6100v2
|
||||||
|
$(call Device/netgear_ex61x0v2)
|
||||||
|
DEVICE_DTS := qcom-ipq4018-ex6100v2
|
||||||
|
DEVICE_TITLE := Netgear EX6100v2
|
||||||
|
endef
|
||||||
|
TARGET_DEVICES += netgear_ex6100v2
|
||||||
|
|
||||||
|
define Device/netgear_ex6150v2
|
||||||
|
$(call Device/netgear_ex61x0v2)
|
||||||
|
DEVICE_DTS := qcom-ipq4018-ex6150v2
|
||||||
|
DEVICE_TITLE := Netgear EX6150v2
|
||||||
|
endef
|
||||||
|
TARGET_DEVICES += netgear_ex6150v2
|
||||||
|
|
||||||
define Device/openmesh_a42
|
define Device/openmesh_a42
|
||||||
$(call Device/FitImageLzma)
|
$(call Device/FitImageLzma)
|
||||||
DEVICE_DTS := qcom-ipq4018-a42
|
DEVICE_DTS := qcom-ipq4018-a42
|
||||||
|
|
|
@ -10,11 +10,13 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||||
|
|
||||||
--- a/arch/arm/boot/dts/Makefile
|
--- a/arch/arm/boot/dts/Makefile
|
||||||
+++ b/arch/arm/boot/dts/Makefile
|
+++ b/arch/arm/boot/dts/Makefile
|
||||||
@@ -697,7 +697,15 @@ dtb-$(CONFIG_ARCH_QCOM) += \
|
@@ -697,7 +697,17 @@ dtb-$(CONFIG_ARCH_QCOM) += \
|
||||||
qcom-apq8074-dragonboard.dtb \
|
qcom-apq8074-dragonboard.dtb \
|
||||||
qcom-apq8084-ifc6540.dtb \
|
qcom-apq8084-ifc6540.dtb \
|
||||||
qcom-apq8084-mtp.dtb \
|
qcom-apq8084-mtp.dtb \
|
||||||
+ qcom-ipq4018-a42.dtb \
|
+ qcom-ipq4018-a42.dtb \
|
||||||
|
+ qcom-ipq4018-ex6100v2.dtb \
|
||||||
|
+ qcom-ipq4018-ex6150v2.dtb \
|
||||||
+ qcom-ipq4018-fritz4040.dtb \
|
+ qcom-ipq4018-fritz4040.dtb \
|
||||||
+ qcom-ipq4018-jalapeno.dtb \
|
+ qcom-ipq4018-jalapeno.dtb \
|
||||||
+ qcom-ipq4018-rt-ac58u.dtb \
|
+ qcom-ipq4018-rt-ac58u.dtb \
|
||||||
|
|
Loading…
Reference in a new issue