-
-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
qualcommax: ipq50xx: add support for Linksys MR5500
Flash instructions are the same as for MX2000 and MX5500. Signed-off-by: George Moussalem <george.moussalem@outlook.com>
- Loading branch information
1 parent
e637b8a
commit 15650d9
Showing
8 changed files
with
317 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
297 changes: 297 additions & 0 deletions
297
target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq5018-mr5500.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,297 @@ | ||
/dts-v1/; | ||
|
||
#include "ipq5018.dtsi" | ||
#include "ipq5018-mx-base.dtsi" | ||
|
||
/ { | ||
model = "Linksys MR5500"; | ||
compatible = "linksys,mr5500", "qcom,ipq5018"; | ||
|
||
gpio-leds { | ||
compatible = "gpio-leds"; | ||
|
||
usb { | ||
label="led:usb"; | ||
gpios = <&tlmm 19 GPIO_ACTIVE_LOW>; | ||
}; | ||
}; | ||
|
||
regulator_fixed_5p0: regulator-s0500 { | ||
compatible = "regulator-fixed"; | ||
regulator-min-microvolt = <500000>; | ||
regulator-max-microvolt = <500000>; | ||
regulator-boot-on; | ||
regulator-always-on; | ||
regulator-name = "fixed_5p0"; | ||
}; | ||
}; | ||
|
||
/* | ||
* =============================================================== | ||
* _______________________ _______________________ | ||
* | IPQ5018 | | QCA8337 | | ||
* | +------+ +--------+ | | +--------+ +------+ | | ||
* | | MAC0 |---| GE Phy | | | | Phy0 |---| MAC1 | | | ||
* | +------+ +--------+ | | +--------+ +------+ | | ||
* | +------+ +--------+ | | +--------+ +------+ | | ||
* | | MAC1 |---| Uniphy |-+-SGMII-+-| SerDes |---| MAC6 | | | ||
* | +------+ +--------+ | | +--------+ +------+ | | ||
* |_______________________| |_______________________| | ||
* | ||
* =============================================================== | ||
*/ | ||
|
||
&switch { | ||
status = "okay"; | ||
|
||
switch_mac_mode = <MAC_MODE_SGMII_CHANNEL0>; | ||
|
||
qcom,port_phyinfo { | ||
// MAC0 -> GE Phy -> QCA8337 Phy4 | ||
port@0 { | ||
port_id = <1>; | ||
mdiobus = <&mdio0>; | ||
phy_address = <7>; | ||
// status = "disabled"; | ||
}; | ||
|
||
// MAC1 ---SGMII---> QCA8337 SerDes | ||
port@1 { | ||
port_id = <2>; | ||
forced-speed = <1000>; | ||
forced-duplex = <1>; | ||
}; | ||
}; | ||
}; | ||
|
||
// MAC1 ---SGMII---> QCA8337 SerDes | ||
&dp2 { | ||
status = "okay"; | ||
|
||
phy-mode = "sgmii"; | ||
|
||
nvmem-cells = <&hw_mac_addr 0>; | ||
nvmem-cell-names = "mac-address"; | ||
|
||
fixed-link { | ||
speed = <1000>; | ||
full-duplex; | ||
}; | ||
}; | ||
|
||
&mdio0 { | ||
status = "okay"; | ||
}; | ||
|
||
// IPQ5018 GE Phy -> QCA8337 PHY4 | ||
&ge_phy { | ||
status = "okay"; | ||
}; | ||
|
||
&mdio1 { | ||
status = "okay"; | ||
|
||
pinctrl-0 = <&mdio1_pins>; | ||
pinctrl-names = "default"; | ||
reset-gpios = <&tlmm 39 GPIO_ACTIVE_LOW>; | ||
|
||
// QCA8337 Phy0 -> LAN1 | ||
qca8337_0: ethernet-phy@0 { | ||
reg = <0>; | ||
}; | ||
|
||
// QCA8337 Phy1 -> LAN2 | ||
qca8337_1: ethernet-phy@1 { | ||
reg = <1>; | ||
}; | ||
|
||
// QCA8337 Phy2 -> LAN3 | ||
qca8337_2: ethernet-phy@2 { | ||
reg = <2>; | ||
}; | ||
|
||
// QCA8337 Phy3 -> LAN4 | ||
qca8337_3: ethernet-phy@3 { | ||
reg = <3>; | ||
}; | ||
|
||
// QCA8337 Phy4 -> WAN | ||
qca8337_4: ethernet-phy@4 { | ||
reg = <4>; | ||
}; | ||
|
||
switch1: ethernet-switch@17 { | ||
compatible = "qca,qca8337"; | ||
reg = <17>; | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
|
||
ports { | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
|
||
port@1 { | ||
reg = <1>; | ||
label = "lan1"; | ||
phy-handle = <&qca8337_0>; | ||
}; | ||
|
||
port@2 { | ||
reg = <2>; | ||
label = "lan2"; | ||
phy-handle = <&qca8337_1>; | ||
}; | ||
|
||
port@3 { | ||
reg = <3>; | ||
label = "lan3"; | ||
phy-handle = <&qca8337_2>; | ||
}; | ||
|
||
port@4 { | ||
reg = <4>; | ||
label = "lan4"; | ||
phy-handle = <&qca8337_3>; | ||
}; | ||
|
||
port@5 { | ||
reg = <5>; | ||
label = "wan"; | ||
phy-handle = <&qca8337_4>; | ||
}; | ||
|
||
port@6 { | ||
reg = <6>; | ||
label = "cpu"; | ||
phy-mode = "sgmii"; | ||
ethernet = <&dp2>; | ||
qca,sgmii-enable-pll; | ||
|
||
fixed-link { | ||
speed = <1000>; | ||
full-duplex; | ||
}; | ||
}; | ||
}; | ||
}; | ||
}; | ||
|
||
&tlmm { | ||
usbled_pins: usbled-state { | ||
pins = "gpio19"; | ||
function = "gpio"; | ||
drive-strength = <8>; | ||
bias-pull-down; | ||
}; | ||
}; | ||
|
||
&usbphy0 { | ||
status = "okay"; | ||
|
||
/*vdd-supply = <®ulator_fixed_5p0>;*/ | ||
}; | ||
|
||
&usbphy1 { | ||
status = "okay"; | ||
|
||
/*vdd-supply = <®ulator_fixed_5p0>;*/ | ||
}; | ||
|
||
&usb { | ||
status = "okay"; | ||
|
||
/*vbus-supply = <®ulator_fixed_5p0>;*/ | ||
}; | ||
|
||
&usb_dwc { | ||
dr_mode = "host"; | ||
}; | ||
|
||
&pcie0_phy { | ||
status = "okay"; | ||
}; | ||
|
||
&pcie0 { | ||
status = "okay"; | ||
|
||
perst-gpios = <&tlmm 15 GPIO_ACTIVE_LOW>; | ||
|
||
bridge@0,0 { | ||
reg = <0x00000000 0 0 0 0>; | ||
#address-cells = <3>; | ||
#size-cells = <2>; | ||
ranges; | ||
|
||
wifi@1,0 { | ||
status = "okay"; | ||
|
||
/* QCN9074: ath11k lacks DT compatible for PCI cards */ | ||
compatible = "pci17cb,1104"; | ||
reg = <0x00010000 0 0 0 0>; | ||
|
||
qcom,ath11k-calibration-variant = "Linksys-MR5500"; | ||
}; | ||
}; | ||
}; | ||
|
||
&q6v5_wcss { | ||
status = "okay"; | ||
|
||
memory-region = <&q6_mem_regions>; | ||
firmware-name = "ath11k/IPQ5018/hw1.0/q6_fw.mdt", | ||
"ath11k/IPQ5018/hw1.0/m3_fw.mdt"; | ||
|
||
// IPQ5018 | ||
q6_wcss_pd1: pd-1 { | ||
firmware-name = "ath11k/IPQ5018/hw1.0/q6_fw.mdt"; | ||
|
||
resets = | ||
<&gcc GCC_WCSSAON_RESET>, | ||
<&gcc GCC_WCSS_BCR>, | ||
<&gcc GCC_CE_BCR>; | ||
reset-names = | ||
"wcss_aon_reset", | ||
"wcss_reset", | ||
"ce_reset"; | ||
|
||
clocks = | ||
<&gcc GCC_WCSS_AHB_S_CLK>, | ||
<&gcc GCC_WCSS_ACMT_CLK>, | ||
<&gcc GCC_WCSS_AXI_M_CLK>; | ||
clock-names = | ||
"gcc_wcss_ahb_s_clk", | ||
"gcc_wcss_acmt_clk", | ||
"gcc_wcss_axi_m_clk"; | ||
|
||
interrupts-extended = | ||
<&wcss_smp2p_in 8 0>, | ||
<&wcss_smp2p_in 9 0>, | ||
<&wcss_smp2p_in 12 0>, | ||
<&wcss_smp2p_in 11 0>; | ||
interrupt-names = | ||
"fatal", | ||
"ready", | ||
"spawn-ack", | ||
"stop-ack"; | ||
|
||
qcom,smem-states = | ||
<&wcss_smp2p_out 8>, | ||
<&wcss_smp2p_out 9>, | ||
<&wcss_smp2p_out 10>; | ||
qcom,smem-state-names = | ||
"shutdown", | ||
"stop", | ||
"spawn"; | ||
status = "okay"; | ||
}; | ||
}; | ||
|
||
&wifi0 { | ||
// IPQ5018 | ||
qcom,rproc = <&q6_wcss_pd1>; | ||
qcom,ath11k-calibration-variant = "Linksys-MR5500"; | ||
qcom,ath11k-fw-memory-mode = <2>; | ||
qcom,bdf-addr = <0x4c400000>; | ||
|
||
status = "okay"; | ||
}; |
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
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
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