forked from openwrt/openwrt
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
qualcommax: ipq60xx: add Linksys MR7350 support
Linksys MR7350 is a 802.11ax Dual-band router/AP. Specifications: * CPU: Qualcomm IPQ6000 Quad core Cortex-A53 1.2GHz * RAM: 512MB of DDR3 * Storage: 256Mb NAND * Ethernet: 5x1G RJ45 ports (QCA8075) * WLAN: * 2.4GHz: Qualcomm QCN5022 2x2 802.11b/g/n/ax 574 Mbps PHY rate * 5GHz: Qualcomm QCN5052 2x2@80MHz or 802.11a/b/g/n/ac/ax 1201 Mbps PHY rate * LED-s: * RGB system led * Buttons: 1x Soft reset 1x WPS * Power: 12V DC Jack Installation instructions: Open Linksys Web UI - http://192.168.1.1/ca or http://10.65.1.1/ca depending on your setup. Login with your admin password. The default password can be found on a sticker under the device. To enter into the support mode, click on the “CA” link and the bottom of the page. Open the “Connectivity” menu and upload the squash-factory image with the “Choose file” button. Click start. Ignore all the prompts and warnings by click “yes” in all the popups. The Wifi radios are turned off by default. To configure the router, you will need to connect your computer to the LAN port of the device. Then you would need to write openwrt to the other partition for it to work - First Check booted partition fw_printenv -n boot_part Change the partition first: fw_setenv boot_part 1 or fw_setenv boot_part 2 depending on the current partition. - Then install Openwrt to the other partition if booted in slot 1: mtd -r -e alt_kernel -n write openwrt-qualcommax-ipq60xx-linksys_mr7350-squashfs-factory.bin alt_kernel - If in slot 2: mtd -r -e kernel -n write openwrt-qualcommax-ipq60xx-linksys_mr7350-squashfs-factory.bin kernel Signed-off-by: Vladyslav Andreichykov <[email protected]>
- Loading branch information
Showing
10 changed files
with
486 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
370 changes: 370 additions & 0 deletions
370
target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6000-mr7350.dts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,370 @@ | ||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||
|
||
/dts-v1/; | ||
|
||
#include "ipq6018.dtsi" | ||
#include "ipq6018-cp-cpu.dtsi" | ||
#include "ipq6018-ess.dtsi" | ||
#include <dt-bindings/gpio/gpio.h> | ||
#include <dt-bindings/input/input.h> | ||
#include <dt-bindings/leds/common.h> | ||
|
||
/ { | ||
model = "Linksys MR7350"; | ||
compatible = "linksys,mr7350", "qcom,ipq6000"; | ||
|
||
aliases { | ||
serial0 = &blsp1_uart3; | ||
led-boot = &led_system_blue; | ||
led-running = &led_system_blue; | ||
led-failsafe = &led_system_red; | ||
led-upgrade = &led_system_green; | ||
}; | ||
|
||
chosen { | ||
stdout-path = "serial0:115200n8"; | ||
bootargs-append = " root=/dev/ubiblock0_0"; | ||
}; | ||
|
||
keys { | ||
compatible = "gpio-keys"; | ||
|
||
reset-button { | ||
label = "reset"; | ||
gpios = <&tlmm 57 GPIO_ACTIVE_LOW>; | ||
linux,code = <KEY_RESTART>; | ||
}; | ||
|
||
wps-button { | ||
label = "wps"; | ||
gpios = <&tlmm 56 GPIO_ACTIVE_LOW>; | ||
linux,code = <KEY_WPS_BUTTON>; | ||
}; | ||
}; | ||
}; | ||
|
||
&tlmm { | ||
i2c3_pins: i2c3-pins { | ||
pins = "gpio42", "gpio43"; | ||
function = "blsp2_i2c"; | ||
drive-strength = <8>; | ||
}; | ||
|
||
mdio_pins: mdio-state { | ||
mdc-pins { | ||
pins = "gpio64"; | ||
function = "mdc"; | ||
drive-strength = <8>; | ||
bias-pull-up; | ||
}; | ||
|
||
mdio-pins { | ||
pins = "gpio65"; | ||
function = "mdio"; | ||
drive-strength = <8>; | ||
bias-pull-up; | ||
}; | ||
}; | ||
|
||
reg_usb_vbus: regulator-usb-vbus { | ||
compatible = "regulator-fixed"; | ||
regulator-name = "usb_vbus"; | ||
regulator-min-microvolt = <5000000>; | ||
regulator-max-microvolt = <5000000>; | ||
gpio = <&tlmm 61 GPIO_ACTIVE_LOW>; | ||
regulator-always-on; | ||
}; | ||
}; | ||
|
||
&blsp1_uart3 { | ||
pinctrl-0 = <&serial_3_pins>; | ||
pinctrl-names = "default"; | ||
status = "okay"; | ||
}; | ||
|
||
&prng { | ||
status = "okay"; | ||
}; | ||
|
||
&cryptobam { | ||
status = "okay"; | ||
}; | ||
|
||
&crypto { | ||
status = "okay"; | ||
}; | ||
|
||
&qpic_bam { | ||
status = "okay"; | ||
}; | ||
|
||
&qpic_nand { | ||
status = "okay"; | ||
|
||
nand@0 { | ||
reg = <0>; | ||
|
||
nand-ecc-strength = <4>; | ||
nand-ecc-step-size = <512>; | ||
nand-bus-width = <8>; | ||
|
||
partitions { | ||
compatible = "qcom,smem-part"; | ||
}; | ||
}; | ||
}; | ||
|
||
&blsp1_i2c3 { | ||
pinctrl-0 = <&i2c3_pins>; | ||
pinctrl-names = "default"; | ||
status = "okay"; | ||
|
||
led-controller@62 { | ||
compatible = "nxp,pca9633"; | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
reg = <0x62>; | ||
nxp,hw-blink; | ||
|
||
led_system_red: red@0 { | ||
reg = <0>; | ||
color = <LED_COLOR_ID_RED>; | ||
function = LED_FUNCTION_STATUS; | ||
}; | ||
|
||
led_system_green: green@1 { | ||
reg = <1>; | ||
color = <LED_COLOR_ID_GREEN>; | ||
function = LED_FUNCTION_STATUS; | ||
}; | ||
|
||
led_system_blue: blue@2 { | ||
reg = <2>; | ||
color = <LED_COLOR_ID_BLUE>; | ||
function = LED_FUNCTION_STATUS; | ||
}; | ||
}; | ||
}; | ||
|
||
&mdio { | ||
status = "okay"; | ||
|
||
pinctrl-0 = <&mdio_pins>; | ||
pinctrl-names = "default"; | ||
reset-gpios = <&tlmm 75 GPIO_ACTIVE_LOW>; | ||
|
||
ethernet-phy-package@0 { | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
compatible = "qcom,qca8075-package"; | ||
reg = <0>; | ||
qcom,package-mode = "psgmii"; | ||
|
||
qca8075_0: ethernet-phy@0 { | ||
compatible = "ethernet-phy-ieee802.3-c22"; | ||
reg = <0>; | ||
|
||
qcom,package-mode = "psgmii"; | ||
|
||
leds { | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
|
||
led@0 { | ||
reg = <0>; | ||
color = <LED_COLOR_ID_GREEN>; | ||
function = LED_FUNCTION_LAN; | ||
default-state = "keep"; | ||
}; | ||
|
||
led@1 { | ||
reg = <1>; | ||
color = <LED_COLOR_ID_YELLOW>; | ||
function = LED_FUNCTION_LAN; | ||
default-state = "keep"; | ||
}; | ||
}; | ||
}; | ||
|
||
qca8075_1: ethernet-phy@1 { | ||
compatible = "ethernet-phy-ieee802.3-c22"; | ||
reg = <1>; | ||
|
||
leds { | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
|
||
led@0 { | ||
reg = <0>; | ||
color = <LED_COLOR_ID_GREEN>; | ||
function = LED_FUNCTION_LAN; | ||
default-state = "keep"; | ||
}; | ||
|
||
led@1 { | ||
reg = <1>; | ||
color = <LED_COLOR_ID_YELLOW>; | ||
function = LED_FUNCTION_LAN; | ||
default-state = "keep"; | ||
}; | ||
}; | ||
}; | ||
|
||
qca8075_2: ethernet-phy@2 { | ||
compatible = "ethernet-phy-ieee802.3-c22"; | ||
reg = <2>; | ||
|
||
leds { | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
|
||
led@0 { | ||
reg = <0>; | ||
color = <LED_COLOR_ID_GREEN>; | ||
function = LED_FUNCTION_LAN; | ||
default-state = "keep"; | ||
}; | ||
|
||
led@1 { | ||
reg = <1>; | ||
color = <LED_COLOR_ID_YELLOW>; | ||
function = LED_FUNCTION_LAN; | ||
default-state = "keep"; | ||
}; | ||
}; | ||
}; | ||
|
||
qca8075_3: ethernet-phy@3 { | ||
compatible = "ethernet-phy-ieee802.3-c22"; | ||
reg = <3>; | ||
|
||
leds { | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
|
||
led@0 { | ||
reg = <0>; | ||
color = <LED_COLOR_ID_GREEN>; | ||
function = LED_FUNCTION_LAN; | ||
default-state = "keep"; | ||
}; | ||
|
||
led@1 { | ||
reg = <1>; | ||
color = <LED_COLOR_ID_YELLOW>; | ||
function = LED_FUNCTION_LAN; | ||
default-state = "keep"; | ||
}; | ||
}; | ||
}; | ||
|
||
qca8075_4: ethernet-phy@4 { | ||
compatible = "ethernet-phy-ieee802.3-c22"; | ||
reg = <4>; | ||
|
||
leds { | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
|
||
led@0 { | ||
reg = <0>; | ||
color = <LED_COLOR_ID_GREEN>; | ||
function = LED_FUNCTION_WAN; | ||
default-state = "keep"; | ||
}; | ||
|
||
led@1 { | ||
reg = <1>; | ||
color = <LED_COLOR_ID_YELLOW>; | ||
function = LED_FUNCTION_WAN; | ||
default-state = "keep"; | ||
}; | ||
}; | ||
}; | ||
}; | ||
}; | ||
|
||
&switch { | ||
status = "okay"; | ||
|
||
switch_lan_bmp = <(ESS_PORT1|ESS_PORT2|ESS_PORT3|ESS_PORT4)>; /* lan port bitmap */ | ||
switch_wan_bmp = <(ESS_PORT5)>; /* wan port bitmap */ | ||
switch_mac_mode = <MAC_MODE_PSGMII>; /* mac mode for uniphy instance0*/ | ||
|
||
qcom,port_phyinfo { | ||
port@1 { | ||
port_id = <1>; | ||
phy_address = <0>; | ||
}; | ||
port@2 { | ||
port_id = <2>; | ||
phy_address = <1>; | ||
}; | ||
port@3 { | ||
port_id = <3>; | ||
phy_address = <2>; | ||
}; | ||
port@4 { | ||
port_id = <4>; | ||
phy_address = <3>; | ||
}; | ||
port@5 { | ||
port_id = <5>; | ||
phy_address = <4>; | ||
}; | ||
}; | ||
}; | ||
|
||
&edma { | ||
status = "okay"; | ||
}; | ||
|
||
&dp1 { | ||
status = "okay"; | ||
phy-handle = <&qca8075_0>; | ||
label = "lan1"; | ||
}; | ||
|
||
&dp2 { | ||
status = "okay"; | ||
phy-handle = <&qca8075_1>; | ||
label = "lan2"; | ||
}; | ||
|
||
&dp3 { | ||
status = "okay"; | ||
phy-handle = <&qca8075_2>; | ||
label = "lan3"; | ||
}; | ||
|
||
&dp4 { | ||
status = "okay"; | ||
phy-handle = <&qca8075_3>; | ||
label = "lan4"; | ||
}; | ||
|
||
&dp5 { | ||
status = "okay"; | ||
phy-handle = <&qca8075_4>; | ||
label = "wan"; | ||
}; | ||
|
||
&wifi { | ||
status = "okay"; | ||
|
||
qcom,ath11k-calibration-variant = "Linksys-MR7350"; | ||
qcom,ath11k-fw-memory-mode = <1>; | ||
}; | ||
|
||
&ssphy_0 { | ||
status = "okay"; | ||
}; | ||
|
||
&qusb_phy_0 { | ||
status = "okay"; | ||
}; | ||
|
||
&usb3 { | ||
vbus-supply = <®_usb_vbus>; | ||
status = "okay"; | ||
}; |
Oops, something went wrong.