Initial commit
Some checks failed
Build Kernel / Build all affected Kernels (push) Has been cancelled
Build all core packages / Build all core packages for selected target (push) Has been cancelled
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build Toolchains / Build Toolchains for each target (push) Has been cancelled
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
Coverity scan build / Coverity x86/64 build (push) Has been cancelled
Some checks failed
Build Kernel / Build all affected Kernels (push) Has been cancelled
Build all core packages / Build all core packages for selected target (push) Has been cancelled
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build Toolchains / Build Toolchains for each target (push) Has been cancelled
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
Coverity scan build / Coverity x86/64 build (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,219 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "ipq6018-512m.dtsi"
|
||||
#include "ipq6018-ess.dtsi"
|
||||
#include "ipq6018-cp-cpu.dtsi"
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/ {
|
||||
model = "Qihoo 360V6";
|
||||
compatible = "qihoo,360v6", "qcom,ipq6018";
|
||||
|
||||
aliases {
|
||||
serial0 = &blsp1_uart3;
|
||||
led-boot = &led_status_red;
|
||||
led-failsafe = &led_status_red;
|
||||
led-running = &led_status_green;
|
||||
led-upgrade = &led_status_orange;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
bootargs-append = " root=/dev/ubiblock0_1";
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
wps {
|
||||
label = "wps";
|
||||
linux,code = <KEY_WPS_BUTTON>;
|
||||
gpios = <&tlmm 19 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
linux,code = <KEY_RESTART>;
|
||||
gpios = <&tlmm 68 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led_status_red: red {
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
gpios = <&tlmm 71 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
led_status_orange: orange {
|
||||
color = <LED_COLOR_ID_ORANGE>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
gpios = <&tlmm 72 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
led_status_green: green {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
gpios = <&tlmm 73 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
mdio_pins: mdio-pins {
|
||||
mdc {
|
||||
pins = "gpio64";
|
||||
function = "mdc";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mdio {
|
||||
pins = "gpio65";
|
||||
function = "mdio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_uart3 {
|
||||
pinctrl-0 = <&serial_3_pins>;
|
||||
pinctrl-names = "default";
|
||||
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";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&qusb_phy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ssphy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb3 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mdio {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
pinctrl-names = "default";
|
||||
reset-gpios = <&tlmm 75 GPIO_ACTIVE_LOW>;
|
||||
|
||||
ethernet-phy-package@0 {
|
||||
compatible = "qcom,qca8075-package";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
|
||||
qca8075_0: ethernet-phy@0 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
qca8075_1: ethernet-phy@1 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
qca8075_2: ethernet-phy@2 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <2>;
|
||||
};
|
||||
|
||||
qca8075_3: ethernet-phy@3 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <3>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&switch {
|
||||
status = "okay";
|
||||
|
||||
switch_lan_bmp = <(ESS_PORT1 | ESS_PORT2 | ESS_PORT3)>;
|
||||
switch_wan_bmp = <ESS_PORT4>;
|
||||
switch_mac_mode = <MAC_MODE_PSGMII>;
|
||||
|
||||
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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&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 = "wan";
|
||||
};
|
||||
|
||||
&wifi {
|
||||
status = "okay";
|
||||
|
||||
qcom,ath11k-fw-memory-mode = <1>;
|
||||
qcom,ath11k-calibration-variant = "Qihoo-360V6";
|
||||
};
|
||||
@@ -0,0 +1,462 @@
|
||||
// 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,ipq6018";
|
||||
|
||||
aliases {
|
||||
serial0 = &blsp1_uart3;
|
||||
serial1 = &blsp1_uart2;
|
||||
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";
|
||||
|
||||
wps-button {
|
||||
label = "wps";
|
||||
linux,code = <KEY_WPS_BUTTON>;
|
||||
gpios = <&tlmm 56 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
reset-button {
|
||||
label = "reset";
|
||||
linux,code = <KEY_RESTART>;
|
||||
gpios = <&tlmm 57 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
/*lan1-amber {
|
||||
label = "amber:lan1";
|
||||
color = <LED_COLOR_ID_AMBER>;
|
||||
gpios = <&qca8075_0 0 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
lan1-green {
|
||||
label = "green:lan1";
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
gpios = <&qca8075_0 1 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
lan2-amber {
|
||||
label = "amber:lan2";
|
||||
color = <LED_COLOR_ID_AMBER>;
|
||||
gpios = <&qca8075_1 0 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
lan2-green {
|
||||
label = "green:lan2";
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
gpios = <&qca8075_1 1 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
lan3-amber {
|
||||
label = "amber:lan3";
|
||||
color = <LED_COLOR_ID_AMBER>;
|
||||
gpios = <&qca8075_2 0 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
lan3-green {
|
||||
label = "green:lan3";
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
gpios = <&qca8075_2 1 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
lan4-amber {
|
||||
label = "amber:lan4";
|
||||
color = <LED_COLOR_ID_AMBER>;
|
||||
gpios = <&qca8075_3 0 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
lan4-green {
|
||||
label = "green:lan4";
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
gpios = <&qca8075_3 1 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
wan-amber {
|
||||
color = <LED_COLOR_ID_AMBER>;
|
||||
function = LED_FUNCTION_WAN;
|
||||
gpios = <&qca8075_4 0 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
wan-green {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_WAN;
|
||||
gpios = <&qca8075_4 1 GPIO_ACTIVE_HIGH>;
|
||||
};*/
|
||||
|
||||
usb {
|
||||
color = <LED_COLOR_ID_BLUE>;
|
||||
function = LED_FUNCTION_USB;
|
||||
gpios = <&tlmm 60 GPIO_ACTIVE_HIGH>;
|
||||
trigger-sources = <&usb3_port1>, <&usb3_port2>;
|
||||
linux,default-trigger = "usbport";
|
||||
};
|
||||
};
|
||||
|
||||
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-boot-on;
|
||||
};
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
hsuart_pins: hsuart-pins {
|
||||
mux {
|
||||
pins = "gpio69", "gpio70",
|
||||
"gpio71", "gpio72";
|
||||
function = "blsp1_uart";
|
||||
drive-strength = <8>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
|
||||
i2c_pins: i2c-pins {
|
||||
mux {
|
||||
pins = "gpio42", "gpio43";
|
||||
function = "blsp2_i2c";
|
||||
drive-strength = <8>;
|
||||
bias-pull-down;
|
||||
};
|
||||
};
|
||||
|
||||
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;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_i2c3 {
|
||||
pinctrl-0 = <&i2c_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
|
||||
led-controller@62 {
|
||||
compatible = "nxp,pca9633";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x62>;
|
||||
|
||||
led_system_red: led@0 {
|
||||
reg = <0>;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
};
|
||||
|
||||
led_system_green: led@1 {
|
||||
reg = <1>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
};
|
||||
|
||||
led_system_blue: led@2 {
|
||||
reg = <2>;
|
||||
color = <LED_COLOR_ID_BLUE>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_uart2 {
|
||||
pinctrl-0 = <&hsuart_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&blsp1_uart3 {
|
||||
pinctrl-0 = <&serial_3_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dwc_0 {
|
||||
#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>;
|
||||
};
|
||||
};
|
||||
|
||||
&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";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&qusb_phy_0 {
|
||||
status = "okay";
|
||||
|
||||
vdd-supply = <®_usb_vbus>;
|
||||
};
|
||||
|
||||
&ssphy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb3 {
|
||||
vbus-supply = <®_usb_vbus>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mdio {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
pinctrl-names = "default";
|
||||
reset-gpios = <&tlmm 75 GPIO_ACTIVE_LOW>;
|
||||
|
||||
ethernet-phy-package@0 {
|
||||
compatible = "qcom,qca8075-package";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
|
||||
qca8075_0: ethernet-phy@0 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0>;
|
||||
|
||||
leds {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
led@0 {
|
||||
reg = <0>;
|
||||
color = <LED_COLOR_ID_ORANGE>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
default-state = "keep";
|
||||
};
|
||||
|
||||
led@1 {
|
||||
reg = <1>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
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_ORANGE>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
default-state = "keep";
|
||||
};
|
||||
|
||||
led@1 {
|
||||
reg = <1>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
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_ORANGE>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
default-state = "keep";
|
||||
};
|
||||
|
||||
led@1 {
|
||||
reg = <1>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
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_ORANGE>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
default-state = "keep";
|
||||
};
|
||||
|
||||
led@1 {
|
||||
reg = <1>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
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_ORANGE>;
|
||||
function = LED_FUNCTION_WAN;
|
||||
default-state = "keep";
|
||||
};
|
||||
|
||||
led@1 {
|
||||
reg = <1>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_WAN;
|
||||
default-state = "keep";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&switch {
|
||||
status = "okay";
|
||||
|
||||
switch_lan_bmp = <(ESS_PORT1 | ESS_PORT2 | ESS_PORT3 | ESS_PORT4)>;
|
||||
switch_wan_bmp = <ESS_PORT5>;
|
||||
switch_mac_mode = <MAC_MODE_PSGMII>;
|
||||
|
||||
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>;
|
||||
};
|
||||
@@ -0,0 +1,364 @@
|
||||
// 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 = "8devices Mango-DVK";
|
||||
compatible = "8devices,mango-dvk", "qcom,ipq6018";
|
||||
|
||||
aliases {
|
||||
serial0 = &blsp1_uart3;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
wps {
|
||||
label = "wps";
|
||||
gpios = <&tlmm 79 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_WPS_BUTTON>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-0 = <&led_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
wlan5g {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_WLAN;
|
||||
function-enumerator = <0>;
|
||||
gpios = <&tlmm 66 GPIO_ACTIVE_HIGH>;
|
||||
linux,default-trigger = "phy0radio";
|
||||
};
|
||||
|
||||
wlan2g {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_WLAN;
|
||||
function-enumerator = <1>;
|
||||
gpios = <&tlmm 67 GPIO_ACTIVE_HIGH>;
|
||||
linux,default-trigger = "phy1radio";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
mdio_pins: mdio-pins {
|
||||
mdc {
|
||||
pins = "gpio64";
|
||||
function = "mdc";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mdio {
|
||||
pins = "gpio65";
|
||||
function = "mdio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
spi_0_pins: spi-0-pins {
|
||||
pins = "gpio38", "gpio39", "gpio40", "gpio41";
|
||||
function = "blsp0_spi";
|
||||
drive-strength = <8>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
led_pins: led_pins {
|
||||
leds {
|
||||
pins = "gpio66", "gpio67";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-down;
|
||||
};
|
||||
};
|
||||
|
||||
sd_pins: sd_pins {
|
||||
sd_cd {
|
||||
pins = "gpio62";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_uart3 {
|
||||
pinctrl-0 = <&serial_3_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&blsp1_spi1 {
|
||||
pinctrl-0 = <&spi_0_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
|
||||
flash@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0>;
|
||||
compatible = "jedec,spi-nor";
|
||||
spi-max-frequency = <25000000>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "0:SBL1";
|
||||
reg = <0x00000000 0x000c0000>;
|
||||
};
|
||||
|
||||
partition@c0000 {
|
||||
label = "0:MIBIB";
|
||||
reg = <0x000c0000 0x00010000>;
|
||||
};
|
||||
|
||||
partition@d0000 {
|
||||
label = "0:QSEE";
|
||||
reg = <0x000d0000 0x001a0000>;
|
||||
};
|
||||
|
||||
partition@270000 {
|
||||
label = "0:DEVCFG";
|
||||
reg = <0x00270000 0x00010000>;
|
||||
};
|
||||
|
||||
partition@280000 {
|
||||
label = "0:RPM";
|
||||
reg = <0x00280000 0x00020000>;
|
||||
};
|
||||
|
||||
partition@2a0000 {
|
||||
label = "0:CDT";
|
||||
reg = <0x002a0000 0x00010000>;
|
||||
};
|
||||
|
||||
partition@2b0000 {
|
||||
label = "0:APPSBLENV";
|
||||
reg = <0x002b0000 0x00010000>;
|
||||
};
|
||||
|
||||
partition@2c0000 {
|
||||
label = "0:APPSBL";
|
||||
reg = <0x002c0000 0x000a0000>;
|
||||
};
|
||||
|
||||
partition@360000 {
|
||||
compatible = "nvmem-cells";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
label = "0:ART";
|
||||
reg = <0x00360000 0x00040000>;
|
||||
|
||||
macaddr_eth0: macaddr@0 {
|
||||
reg = <0x0 0x6>;
|
||||
};
|
||||
|
||||
macaddr_eth1: macaddr@6 {
|
||||
reg = <0x6 0x6>;
|
||||
};
|
||||
|
||||
macaddr_eth2: macaddr@c {
|
||||
reg = <0xc 0x6>;
|
||||
};
|
||||
};
|
||||
|
||||
partition@3a0000 {
|
||||
label = "config";
|
||||
reg = <0x003a0000 0x00040000>;
|
||||
};
|
||||
|
||||
partition@3e0000 {
|
||||
label = "data";
|
||||
reg = <0x003e0000 0x00100000>;
|
||||
};
|
||||
|
||||
partition@4e0000 {
|
||||
label = "firmware";
|
||||
compatible = "denx,fit";
|
||||
reg = <0x004e0000 0x1b20000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&dp3 {
|
||||
status = "okay";
|
||||
|
||||
phy-handle = <&qca8072_1>;
|
||||
nvmem-cells = <&macaddr_eth1>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
label = "lan2";
|
||||
};
|
||||
|
||||
&dp4 {
|
||||
status = "okay";
|
||||
|
||||
phy-handle = <&qca8072_0>;
|
||||
nvmem-cells = <&macaddr_eth0>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
label = "lan1";
|
||||
};
|
||||
|
||||
&dp5 {
|
||||
status = "okay";
|
||||
|
||||
phy-mode = "sgmii";
|
||||
phy-handle = <&qca8081>;
|
||||
nvmem-cells = <&macaddr_eth2>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
label = "wan";
|
||||
};
|
||||
|
||||
&edma {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mdio {
|
||||
status = "okay";
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
pinctrl-names = "default";
|
||||
reset-gpios = <&tlmm 75 GPIO_ACTIVE_LOW>;
|
||||
reset-delay-us = <10000>;
|
||||
reset-post-delay-us = <50000>;
|
||||
|
||||
ethernet-phy-package@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "qcom,qca8075-package";
|
||||
reg = <0>;
|
||||
|
||||
qcom,package-mode = "psgmii";
|
||||
|
||||
qca8072_0: ethernet-phy@3 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <3>;
|
||||
};
|
||||
|
||||
qca8072_1: ethernet-phy@4 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <4>;
|
||||
};
|
||||
};
|
||||
|
||||
qca8081: ethernet-phy@24 {
|
||||
compatible = "ethernet-phy-id004d.d101";
|
||||
reg = <24>;
|
||||
reset-gpios = <&tlmm 77 GPIO_ACTIVE_LOW>;
|
||||
reset-assert-us = <10000>;
|
||||
reset-deassert-us = <50000>;
|
||||
};
|
||||
};
|
||||
|
||||
&sdhc_1 {
|
||||
pinctrl-0 = <&sd_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
|
||||
vqmmc-supply = <&ipq6018_l2>;
|
||||
cd-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
&switch {
|
||||
status = "okay";
|
||||
|
||||
switch_lan_bmp = <(ESS_PORT3 | ESS_PORT4)>;
|
||||
switch_wan_bmp = <ESS_PORT5>;
|
||||
switch_mac_mode = <MAC_MODE_PSGMII>;
|
||||
switch_mac_mode1 = <MAC_MODE_SGMII_PLUS>;
|
||||
port3_pcs_channel = <4>;
|
||||
|
||||
qcom,port_phyinfo {
|
||||
port@3 {
|
||||
port_id = <3>;
|
||||
phy_address = <4>;
|
||||
};
|
||||
port@4 {
|
||||
port_id = <4>;
|
||||
phy_address = <3>;
|
||||
};
|
||||
port@5 {
|
||||
port_id = <5>;
|
||||
phy_address = <24>;
|
||||
port_mac_sel = "QGMAC_PORT";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&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 = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "nand_data";
|
||||
reg = <0x0000000 0x10000000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&pcie_phy {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pcie0 {
|
||||
status = "okay";
|
||||
perst-gpio = <&tlmm 60 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
&wifi {
|
||||
status = "okay";
|
||||
qcom,ath11k-calibration-variant = "8devices-Mango";
|
||||
};
|
||||
|
||||
&qusb_phy_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qusb_phy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ssphy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb3 {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -0,0 +1,172 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+)
|
||||
|
||||
/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 = "Netgear WAX214";
|
||||
compatible = "netgear,wax214", "qcom,ipq6018";
|
||||
|
||||
aliases {
|
||||
serial0 = &blsp1_uart3;
|
||||
ethernet0 = &dp3;
|
||||
label-mac-device = &dp3;
|
||||
led-boot = &pwr;
|
||||
led-failsafe = &pwr;
|
||||
led-running = &pwr;
|
||||
led-upgrade = &pwr;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
bootargs-append = " root=/dev/ubiblock0_1";
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
gpios = <&tlmm 9 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
pwr: pwr {
|
||||
color = <LED_COLOR_ID_ORANGE>;
|
||||
function = LED_FUNCTION_POWER;
|
||||
gpios = <&tlmm 28 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
lan {
|
||||
color = <LED_COLOR_ID_BLUE>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
gpios = <&tlmm 29 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
wlan2g {
|
||||
color = <LED_COLOR_ID_BLUE>;
|
||||
function = LED_FUNCTION_WLAN;
|
||||
function-enumerator = <0>;
|
||||
gpios = <&tlmm 30 GPIO_ACTIVE_HIGH>;
|
||||
linux,default-trigger = "phy0radio";
|
||||
};
|
||||
|
||||
wlan5g {
|
||||
color = <LED_COLOR_ID_BLUE>;
|
||||
function = LED_FUNCTION_WLAN;
|
||||
function-enumerator = <1>;
|
||||
gpios = <&tlmm 31 GPIO_ACTIVE_HIGH>;
|
||||
linux,default-trigger = "phy1radio";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_uart3 {
|
||||
pinctrl-0 = <&serial_3_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
mdio_pins: mdio-pins {
|
||||
mdc {
|
||||
pins = "gpio64";
|
||||
function = "mdc";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mdio {
|
||||
pins = "gpio65";
|
||||
function = "mdio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&dp3 {
|
||||
status = "okay";
|
||||
|
||||
phy-handle = <&qca8072_4>;
|
||||
label = "lan";
|
||||
};
|
||||
|
||||
&edma {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mdio {
|
||||
status = "okay";
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
pinctrl-names = "default";
|
||||
reset-gpios = <&tlmm 75 GPIO_ACTIVE_LOW>;
|
||||
reset-delay-us = <10000>;
|
||||
reset-post-delay-us = <50000>;
|
||||
|
||||
ethernet-phy-package@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "qcom,qca8075-package";
|
||||
reg = <0>;
|
||||
|
||||
qcom,package-mode = "psgmii";
|
||||
|
||||
qca8072_4: ethernet-phy@4 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <4>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&switch {
|
||||
status = "okay";
|
||||
|
||||
switch_lan_bmp = <ESS_PORT3>;
|
||||
switch_mac_mode = <MAC_MODE_PSGMII>;
|
||||
port3_pcs_channel = <4>;
|
||||
|
||||
qcom,port_phyinfo {
|
||||
port@3 {
|
||||
port_id = <3>;
|
||||
phy_address = <4>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&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";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
&wifi {
|
||||
status = "okay";
|
||||
qcom,ath11k-fw-memory-mode = <1>;
|
||||
qcom,ath11k-calibration-variant = "Netgear-WAX214";
|
||||
};
|
||||
@@ -0,0 +1,454 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+)
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "ipq6018.dtsi"
|
||||
#include "ipq6018-fixed-smps.dtsi"
|
||||
#include "ipq6018-ess.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/ {
|
||||
/* Qualcomm Technologies, Inc. IPQ6018/AP-CP01-C3 */
|
||||
model = "Cambium Networks XE3-4";
|
||||
compatible = "cambiumnetworks,xe3-4", "qcom,ipq6018-cp01", "qcom,ipq6018";
|
||||
|
||||
aliases {
|
||||
serial0 = &blsp1_uart3;
|
||||
sdhc2 = &sdhc_1;
|
||||
ethernet0 = &dp5;
|
||||
ethernet1 = &dp4;
|
||||
label-mac-device = &dp5;
|
||||
|
||||
led-boot = &led_status_amber;
|
||||
led-failsafe = &led_status_amber;
|
||||
led-running = &led_status_white;
|
||||
led-upgrade = &led_status_amber;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
bootargs-append = " root=/dev/ubiblock0_1";
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
gpios = <&tlmm 19 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-0 = <&led_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
led_status_white: status-white {
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
gpio = <&tlmm 56 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led_status_amber: status-amber {
|
||||
color = <LED_COLOR_ID_AMBER>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
gpio = <&tlmm 35 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
reg_sd_vmmc: regulator-sdcard-vmmc {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "sdcard-vmmc";
|
||||
regulator-min-microvolt = <2950000>;
|
||||
regulator-max-microvolt = <2950000>;
|
||||
|
||||
startup-delay-us = <200>;
|
||||
|
||||
gpio = <&tlmm 66 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sd_vmmc_en_default>;
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_uart3 {
|
||||
pinctrl-0 = <&serial_3_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&blsp1_i2c3 {
|
||||
pinctrl-0 = <&i2c_1_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
/* TZ has exclusive control over GPIO20 */
|
||||
gpio-reserved-ranges = <20 1>;
|
||||
|
||||
mdio_pins: mdio-pins {
|
||||
mdc {
|
||||
pins = "gpio64";
|
||||
function = "mdc";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mdio {
|
||||
pins = "gpio65";
|
||||
function = "mdio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
i2c_1_pins: i2c-1-state {
|
||||
pins = "gpio42", "gpio43";
|
||||
function = "blsp2_i2c";
|
||||
drive-strength = <8>;
|
||||
};
|
||||
|
||||
spi_0_pins: spi-0-state {
|
||||
pins = "gpio38", "gpio39", "gpio40", "gpio41";
|
||||
function = "blsp0_spi";
|
||||
drive-strength = <8>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
led_pins: led_pins {
|
||||
leds {
|
||||
pins = "gpio35", "gpio37", "gpio50";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-down;
|
||||
};
|
||||
};
|
||||
|
||||
sd_vmmc_en_default: sd-vmmc-en-default-state {
|
||||
pins = "gpio66";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
sd_pins: sd-state {
|
||||
pins = "gpio62";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
&pcie_phy {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pcie0 {
|
||||
status = "okay";
|
||||
perst-gpio = <&tlmm 60 GPIO_ACTIVE_LOW>;
|
||||
|
||||
bridge@0,0 {
|
||||
reg = <0x00000000 0 0 0 0>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
wifi@1,0 {
|
||||
status = "okay";
|
||||
|
||||
/* ath11k has no DT compatible for PCI cards */
|
||||
compatible = "pci17cb,1104";
|
||||
reg = <0x00010000 0 0 0 0>;
|
||||
|
||||
qcom,ath11k-fw-memory-mode = <0>;
|
||||
qcom,ath11k-calibration-variant = "CambiumNetworks-XE34";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&sdhc_1 {
|
||||
pinctrl-0 = <&sd_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
|
||||
cd-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>;
|
||||
vqmmc-supply = <®_sd_vmmc>;
|
||||
bus-width = <4>;
|
||||
};
|
||||
|
||||
&edma {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&switch {
|
||||
status = "okay";
|
||||
|
||||
switch_lan_bmp = <(ESS_PORT4 | ESS_PORT5)>;
|
||||
switch_mac_mode = <MAC_MODE_PSGMII>;
|
||||
switch_mac_mode2 = <MAC_MODE_SGMII_PLUS>;
|
||||
|
||||
qcom,port_phyinfo {
|
||||
port@4 {
|
||||
port_id = <4>;
|
||||
phy_address = <3>;
|
||||
};
|
||||
|
||||
port@5 {
|
||||
port_id = <5>;
|
||||
phy_address = <24>;
|
||||
port_mac_sel = "QGMAC_PORT";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&mdio {
|
||||
status = "okay";
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
pinctrl-names = "default";
|
||||
reset-gpios = <&tlmm 75 GPIO_ACTIVE_LOW>;
|
||||
reset-delay-us = <10000>;
|
||||
reset-post-delay-us = <50000>;
|
||||
|
||||
ethernet-phy-package@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "qcom,qca8075-package";
|
||||
reg = <0>;
|
||||
|
||||
qcom,package-mode = "psgmii";
|
||||
|
||||
qca8072: ethernet-phy@3 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <3>;
|
||||
};
|
||||
};
|
||||
|
||||
qca8081: ethernet-phy@24 {
|
||||
compatible = "ethernet-phy-id004d.d101";
|
||||
reg = <24>;
|
||||
reset-gpios = <&tlmm 77 GPIO_ACTIVE_LOW>;
|
||||
reset-assert-us = <10000>;
|
||||
reset-deassert-us = <50000>;
|
||||
};
|
||||
};
|
||||
|
||||
&dp4 {
|
||||
status = "okay";
|
||||
|
||||
phy-handle = <&qca8072>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
nvmem-cells = <ð1addr 0>;
|
||||
label = "lan2";
|
||||
};
|
||||
|
||||
&dp5 {
|
||||
status = "okay";
|
||||
|
||||
phy-mode = "sgmii";
|
||||
phy-handle = <&qca8081>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
nvmem-cells = <ðaddr 0>;
|
||||
label = "lan1";
|
||||
};
|
||||
|
||||
&blsp1_spi1 {
|
||||
pinctrl-0 = <&spi_0_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
|
||||
flash@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0>;
|
||||
/*
|
||||
* U-boot looks for "n25q128a11" node,
|
||||
* if we don't have it, it will spit out the following warning:
|
||||
* "ipq: fdt fixup unable to find compatible node".
|
||||
*/
|
||||
linux,modalias = "m25p80", "mx30uf2g18ac", "n25q128a11";
|
||||
compatible = "micron,n25q128a11", "jedec,spi-nor";
|
||||
spi-max-frequency = <50000000>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "0:SBL1";
|
||||
reg = <0x0 0xc0000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@c0000 {
|
||||
label = "0:MIBIB";
|
||||
reg = <0xc0000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@d0000 {
|
||||
label = "0:BOOTCONFIG";
|
||||
reg = <0xd0000 0x20000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@f0000 {
|
||||
label = "0:BOOTCONFIG1";
|
||||
reg = <0xf0000 0x20000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@110000 {
|
||||
label = "0:QSEE";
|
||||
reg = <0x110000 0x1a0000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@2b0000 {
|
||||
label = "0:QSEE_1";
|
||||
reg = <0x2b0000 0x1a0000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@450000 {
|
||||
label = "0:DEVCFG";
|
||||
reg = <0x450000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@460000 {
|
||||
label = "mfginfo";
|
||||
reg = <0x460000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@470000 {
|
||||
label = "0:RPM";
|
||||
reg = <0x470000 0x40000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@4b0000 {
|
||||
label = "0:RPM_1";
|
||||
reg = <0x4b0000 0x40000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@4f0000 {
|
||||
label = "0:CDT";
|
||||
reg = <0x4f0000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@500000 {
|
||||
label = "0:CDT_1";
|
||||
reg = <0x500000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@510000 {
|
||||
compatible = "u-boot,env";
|
||||
label = "0:APPSBLENV";
|
||||
reg = <0x510000 0x10000>;
|
||||
|
||||
ethaddr: ethaddr {
|
||||
#nvmem-cell-cells = <0>;
|
||||
};
|
||||
|
||||
eth1addr: eth1addr {
|
||||
#nvmem-cell-cells = <0>;
|
||||
};
|
||||
|
||||
eth2addr: eth2addr {
|
||||
#nvmem-cell-cells = <0>;
|
||||
};
|
||||
|
||||
eth5addr: eth5addr {
|
||||
#nvmem-cell-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
partition@520000 {
|
||||
label = "0:APPSBL";
|
||||
reg = <0x520000 0xa0000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@5c0000 {
|
||||
label = "0:APPSBL_1";
|
||||
reg = <0x5c0000 0xa0000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@660000 {
|
||||
label = "0:ART";
|
||||
reg = <0x660000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&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 = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "rootfs";
|
||||
reg = <0x0 0x6000000>;
|
||||
};
|
||||
|
||||
partition@6000000 {
|
||||
label = "rootfs_1";
|
||||
reg = <0x6000000 0x6000000>;
|
||||
};
|
||||
|
||||
partition@c000000 {
|
||||
label = "NVRAM";
|
||||
reg = <0xc000000 0x3000000>;
|
||||
};
|
||||
|
||||
partition@f000000 {
|
||||
label = "crashLog";
|
||||
reg = <0xf000000 0x1000000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&wifi {
|
||||
status = "okay";
|
||||
qcom,ath11k-calibration-variant = "CambiumNetworks-XE34";
|
||||
|
||||
nvmem-cell-names = "mac-address";
|
||||
nvmem-cells = <ð2addr>;
|
||||
};
|
||||
|
||||
&qusb_phy_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb2 {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -0,0 +1,23 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
#include "ipq6018.dtsi"
|
||||
|
||||
&rpm_msg_ram {
|
||||
reg = <0x0 0x00060000 0x0 0x6000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
&tz {
|
||||
reg = <0x0 0x4a600000 0x0 0x00400000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
&smem_region {
|
||||
reg = <0x0 0x4aa00000 0x0 0x00100000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
&q6_region {
|
||||
reg = <0x0 0x4ab00000 0x0 0x03700000>;
|
||||
no-map;
|
||||
};
|
||||
@@ -0,0 +1,19 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
#include "ipq6018-cpr-regulator.dtsi"
|
||||
|
||||
&CPU0 {
|
||||
cpu-supply = <&apc_vreg>;
|
||||
};
|
||||
|
||||
&CPU1 {
|
||||
cpu-supply = <&apc_vreg>;
|
||||
};
|
||||
|
||||
&CPU2 {
|
||||
cpu-supply = <&apc_vreg>;
|
||||
};
|
||||
|
||||
&CPU3 {
|
||||
cpu-supply = <&apc_vreg>;
|
||||
};
|
||||
@@ -0,0 +1,124 @@
|
||||
/*
|
||||
* Copyright (c) 2019-2020 The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
&soc {
|
||||
apc_apm: apm@b111000 {
|
||||
compatible = "qcom,ipq807x-apm";
|
||||
reg = <0x0 0xb111000 0x0 0x1000>;
|
||||
reg-names = "pm-apcc-glb";
|
||||
qcom,apm-post-halt-delay = <0x2>;
|
||||
qcom,apm-halt-clk-delay = <0x11>;
|
||||
qcom,apm-resume-clk-delay = <0x10>;
|
||||
qcom,apm-sel-switch-delay = <0x01>;
|
||||
};
|
||||
|
||||
apc_cpr: cpr4-ctrl@b018000 {
|
||||
compatible = "qcom,cpr4-ipq6018-apss-regulator";
|
||||
reg = <0x0 0xb018000 0x0 0x4000>, <0x0 0xa4000 0x0 0x1000>, <0x0 0x0193d008 0x0 0x4>;
|
||||
reg-names = "cpr_ctrl", "fuse_base", "cpr_tcsr_reg";
|
||||
interrupts = <GIC_SPI 15 IRQ_TYPE_EDGE_RISING>;
|
||||
interrupt-names = "cpr";
|
||||
qcom,cpr-ctrl-name = "apc";
|
||||
qcom,cpr-sensor-time = <1000>;
|
||||
qcom,cpr-loop-time = <5000000>;
|
||||
qcom,cpr-idle-cycles = <15>;
|
||||
qcom,cpr-step-quot-init-min = <0>;
|
||||
qcom,cpr-step-quot-init-max = <15>;
|
||||
qcom,cpr-count-mode = <0>; /* All-at-once */
|
||||
qcom,cpr-count-repeat = <1>;
|
||||
qcom,cpr-down-error-step-limit = <1>;
|
||||
qcom,cpr-up-error-step-limit = <1>;
|
||||
qcom,apm-ctrl = <&apc_apm>;
|
||||
qcom,apm-threshold-voltage = <850000>;
|
||||
vdd-supply = <&ipq6018_s2>;
|
||||
qcom,voltage-step = <12500>;
|
||||
|
||||
thread@0 {
|
||||
qcom,cpr-thread-id = <0>;
|
||||
qcom,cpr-consecutive-up = <2>;
|
||||
qcom,cpr-consecutive-down = <2>;
|
||||
qcom,cpr-up-threshold = <2>;
|
||||
qcom,cpr-down-threshold = <2>;
|
||||
|
||||
apc_vreg: regulator {
|
||||
regulator-name = "apc_corner";
|
||||
regulator-min-microvolt = <1>;
|
||||
regulator-max-microvolt = <6>;
|
||||
qcom,cpr-fuse-corners = <4>;
|
||||
qcom,cpr-fuse-combos = <8>;
|
||||
qcom,cpr-corners = <6>;
|
||||
qcom,cpr-speed-bins = <1>;
|
||||
qcom,cpr-speed-bin-corners = <6>;
|
||||
qcom,cpr-corner-fmax-map = <1 3 5 6>;
|
||||
qcom,allow-voltage-interpolation;
|
||||
qcom,allow-quotient-interpolation;
|
||||
qcom,cpr-voltage-ceiling =
|
||||
<725000 787500 862500
|
||||
925000 987500 1062500>;
|
||||
qcom,cpr-voltage-floor =
|
||||
<587500 650000 712500
|
||||
750000 787500 850000>;
|
||||
qcom,corner-frequencies =
|
||||
<864000000 1056000000 1320000000
|
||||
1440000000 1608000000 1800000000>;
|
||||
qcom,cpr-ro-sel =
|
||||
/* Speed bin 0; CPR rev 0..7 */
|
||||
< 0 0 0 0>,
|
||||
< 7 7 7 7>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>;
|
||||
|
||||
qcom,cpr-open-loop-voltage-fuse-adjustment =
|
||||
/* Speed bin 0; CPR rev 0..7 */
|
||||
/* SVS Nominal Turbo Turbo_L1 */
|
||||
< 0 0 0 0>,
|
||||
< 0 0 15000 0>,
|
||||
< 0 0 15000 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>;
|
||||
|
||||
qcom,cpr-closed-loop-voltage-fuse-adjustment =
|
||||
/* Speed bin 0; CPR rev 0..7 */
|
||||
< 0 0 0 0>,
|
||||
< 13000 0 13000 13000>,
|
||||
< 13000 0 13000 13000>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>;
|
||||
|
||||
qcom,cpr-ro-scaling-factor =
|
||||
< 2000 1770 1900 1670 1930 1770 1910 1800
|
||||
1870 1730 2000 1840 1800 2030 1700 1890 >,
|
||||
< 2000 1770 1900 1670 1930 1770 1910 1800
|
||||
1870 1730 2000 1840 1800 2030 1700 1890 >,
|
||||
< 2000 1770 1900 1670 1930 1770 1910 1800
|
||||
1870 1730 2000 1840 1800 2030 1700 1890 >,
|
||||
< 2000 1770 1900 1670 1930 1770 1910 1800
|
||||
1870 1730 2000 1840 1800 2030 1700 1890 >;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,507 @@
|
||||
#include <dt-bindings/net/qcom-ipq-ess.h>
|
||||
|
||||
&soc {
|
||||
bias_pll_cc_clk: bias-pll-cc-clk {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <300000000>;
|
||||
clock-output-names = "bias_pll_cc_clk";
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
bias_pll_nss_noc_clk: bias-pll-nss-noc-clk {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <416500000>;
|
||||
clock-output-names = "bias_pll_nss_noc_clk";
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
edma: edma@3ab00000 {
|
||||
compatible = "qcom,edma";
|
||||
reg = <0x0 0x3ab00000 0x0 0xabe00>;
|
||||
reg-names = "edma-reg-base";
|
||||
qcom,txdesc-ring-start = <23>;
|
||||
qcom,txdesc-rings = <1>;
|
||||
qcom,txcmpl-ring-start = <23>;
|
||||
qcom,txcmpl-rings = <1>;
|
||||
qcom,rxfill-ring-start = <7>;
|
||||
qcom,rxfill-rings = <1>;
|
||||
qcom,rxdesc-ring-start = <15>;
|
||||
qcom,rxdesc-rings = <1>;
|
||||
interrupts = <GIC_SPI 378 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH>;
|
||||
resets = <&gcc GCC_EDMA_HW_RESET>;
|
||||
reset-names = "edma_rst";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ess_instance: ess-instance {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
num_devices = <1>;
|
||||
|
||||
switch: ess-switch@3a000000 {
|
||||
compatible = "qcom,ess-switch-ipq60xx";
|
||||
reg = <0x3a000000 0x1000000>;
|
||||
switch_access_mode = "local bus";
|
||||
clocks = <&gcc GCC_CMN_12GPLL_AHB_CLK>,
|
||||
<&gcc GCC_CMN_12GPLL_SYS_CLK>,
|
||||
<&gcc GCC_UNIPHY0_AHB_CLK>,
|
||||
<&gcc GCC_UNIPHY0_SYS_CLK>,
|
||||
<&gcc GCC_UNIPHY1_AHB_CLK>,
|
||||
<&gcc GCC_UNIPHY1_SYS_CLK>,
|
||||
<&gcc GCC_PORT1_MAC_CLK>,
|
||||
<&gcc GCC_PORT2_MAC_CLK>,
|
||||
<&gcc GCC_PORT3_MAC_CLK>,
|
||||
<&gcc GCC_PORT4_MAC_CLK>,
|
||||
<&gcc GCC_PORT5_MAC_CLK>,
|
||||
<&gcc GCC_NSS_PPE_CLK>,
|
||||
<&gcc GCC_NSS_PPE_CFG_CLK>,
|
||||
<&gcc GCC_NSSNOC_PPE_CLK>,
|
||||
<&gcc GCC_NSSNOC_PPE_CFG_CLK>,
|
||||
<&gcc GCC_NSS_EDMA_CLK>,
|
||||
<&gcc GCC_NSS_EDMA_CFG_CLK>,
|
||||
<&gcc GCC_NSS_PPE_IPE_CLK>,
|
||||
<&gcc GCC_MDIO_AHB_CLK>,
|
||||
<&gcc GCC_NSS_NOC_CLK>,
|
||||
<&gcc GCC_NSSNOC_SNOC_CLK>,
|
||||
<&gcc GCC_NSS_CRYPTO_CLK>,
|
||||
<&gcc GCC_NSS_PTP_REF_CLK>,
|
||||
<&gcc GCC_NSS_PORT1_RX_CLK>,
|
||||
<&gcc GCC_NSS_PORT1_TX_CLK>,
|
||||
<&gcc GCC_NSS_PORT2_RX_CLK>,
|
||||
<&gcc GCC_NSS_PORT2_TX_CLK>,
|
||||
<&gcc GCC_NSS_PORT3_RX_CLK>,
|
||||
<&gcc GCC_NSS_PORT3_TX_CLK>,
|
||||
<&gcc GCC_NSS_PORT4_RX_CLK>,
|
||||
<&gcc GCC_NSS_PORT4_TX_CLK>,
|
||||
<&gcc GCC_NSS_PORT5_RX_CLK>,
|
||||
<&gcc GCC_NSS_PORT5_TX_CLK>,
|
||||
<&gcc GCC_UNIPHY0_PORT1_RX_CLK>,
|
||||
<&gcc GCC_UNIPHY0_PORT1_TX_CLK>,
|
||||
<&gcc GCC_UNIPHY0_PORT2_RX_CLK>,
|
||||
<&gcc GCC_UNIPHY0_PORT2_TX_CLK>,
|
||||
<&gcc GCC_UNIPHY0_PORT3_RX_CLK>,
|
||||
<&gcc GCC_UNIPHY0_PORT3_TX_CLK>,
|
||||
<&gcc GCC_UNIPHY0_PORT4_RX_CLK>,
|
||||
<&gcc GCC_UNIPHY0_PORT4_TX_CLK>,
|
||||
<&gcc GCC_UNIPHY0_PORT5_RX_CLK>,
|
||||
<&gcc GCC_UNIPHY0_PORT5_TX_CLK>,
|
||||
<&gcc GCC_UNIPHY1_PORT5_RX_CLK>,
|
||||
<&gcc GCC_UNIPHY1_PORT5_TX_CLK>,
|
||||
<&gcc NSS_PORT5_RX_CLK_SRC>,
|
||||
<&gcc NSS_PORT5_TX_CLK_SRC>,
|
||||
<&gcc GCC_SNOC_NSSNOC_CLK>;
|
||||
clock-names = "cmn_ahb_clk", "cmn_sys_clk",
|
||||
"uniphy0_ahb_clk", "uniphy0_sys_clk",
|
||||
"uniphy1_ahb_clk", "uniphy1_sys_clk",
|
||||
"port1_mac_clk", "port2_mac_clk",
|
||||
"port3_mac_clk", "port4_mac_clk",
|
||||
"port5_mac_clk",
|
||||
"nss_ppe_clk", "nss_ppe_cfg_clk",
|
||||
"nssnoc_ppe_clk", "nssnoc_ppe_cfg_clk",
|
||||
"nss_edma_clk", "nss_edma_cfg_clk",
|
||||
"nss_ppe_ipe_clk",
|
||||
"gcc_mdio_ahb_clk", "gcc_nss_noc_clk",
|
||||
"gcc_nssnoc_snoc_clk",
|
||||
"gcc_nss_crypto_clk",
|
||||
"gcc_nss_ptp_ref_clk",
|
||||
"nss_port1_rx_clk", "nss_port1_tx_clk",
|
||||
"nss_port2_rx_clk", "nss_port2_tx_clk",
|
||||
"nss_port3_rx_clk", "nss_port3_tx_clk",
|
||||
"nss_port4_rx_clk", "nss_port4_tx_clk",
|
||||
"nss_port5_rx_clk", "nss_port5_tx_clk",
|
||||
"uniphy0_port1_rx_clk",
|
||||
"uniphy0_port1_tx_clk",
|
||||
"uniphy0_port2_rx_clk",
|
||||
"uniphy0_port2_tx_clk",
|
||||
"uniphy0_port3_rx_clk",
|
||||
"uniphy0_port3_tx_clk",
|
||||
"uniphy0_port4_rx_clk",
|
||||
"uniphy0_port4_tx_clk",
|
||||
"uniphy0_port5_rx_clk",
|
||||
"uniphy0_port5_tx_clk",
|
||||
"uniphy1_port5_rx_clk",
|
||||
"uniphy1_port5_tx_clk",
|
||||
"nss_port5_rx_clk_src",
|
||||
"nss_port5_tx_clk_src",
|
||||
"gcc_snoc_nssnoc_clk";
|
||||
resets = <&gcc GCC_PPE_FULL_RESET>,
|
||||
<&gcc GCC_UNIPHY0_SOFT_RESET>,
|
||||
<&gcc GCC_UNIPHY0_XPCS_RESET>,
|
||||
<&gcc GCC_UNIPHY1_SOFT_RESET>,
|
||||
<&gcc GCC_UNIPHY1_XPCS_RESET>,
|
||||
<&gcc GCC_NSSPORT1_RESET>,
|
||||
<&gcc GCC_NSSPORT2_RESET>,
|
||||
<&gcc GCC_NSSPORT3_RESET>,
|
||||
<&gcc GCC_NSSPORT4_RESET>,
|
||||
<&gcc GCC_NSSPORT5_RESET>,
|
||||
<&gcc GCC_UNIPHY0_PORT1_ARES>,
|
||||
<&gcc GCC_UNIPHY0_PORT2_ARES>,
|
||||
<&gcc GCC_UNIPHY0_PORT3_ARES>,
|
||||
<&gcc GCC_UNIPHY0_PORT4_ARES>,
|
||||
<&gcc GCC_UNIPHY0_PORT5_ARES>,
|
||||
<&gcc GCC_UNIPHY0_PORT_4_5_RESET>,
|
||||
<&gcc GCC_UNIPHY0_PORT_4_RESET>;
|
||||
reset-names = "ppe_rst", "uniphy0_soft_rst",
|
||||
"uniphy0_xpcs_rst", "uniphy1_soft_rst",
|
||||
"uniphy1_xpcs_rst", "nss_port1_rst",
|
||||
"nss_port2_rst", "nss_port3_rst",
|
||||
"nss_port4_rst", "nss_port5_rst",
|
||||
"uniphy0_port1_dis",
|
||||
"uniphy0_port2_dis",
|
||||
"uniphy0_port3_dis",
|
||||
"uniphy0_port4_dis",
|
||||
"uniphy0_port5_dis",
|
||||
"uniphy0_port_4_5_rst",
|
||||
"uniphy0_port_4_rst";
|
||||
mdio-bus = <&mdio>;
|
||||
|
||||
switch_cpu_bmp = <ESS_PORT0>; /* cpu port bitmap */
|
||||
switch_inner_bmp = <(ESS_PORT6 | ESS_PORT7)>; /*inner port bitmap*/
|
||||
switch_mac_mode = <MAC_MODE_DISABLED>; /* MAC mode for UNIPHY instance 0 */
|
||||
switch_mac_mode1 = <MAC_MODE_DISABLED>; /* MAC mode for UNIPHY instance 1 */
|
||||
switch_mac_mode2 = <MAC_MODE_DISABLED>; /* MAC mode for UNIPHY instance 2 */
|
||||
|
||||
status = "disabled";
|
||||
|
||||
bm_tick_mode = <0>; /* bm tick mode */
|
||||
tm_tick_mode = <0>; /* tm tick mode */
|
||||
|
||||
port_scheduler_resource {
|
||||
port@0 {
|
||||
port_id = <0>;
|
||||
ucast_queue = <0 143>;
|
||||
mcast_queue = <256 271>;
|
||||
l0sp = <0 35>;
|
||||
l0cdrr = <0 47>;
|
||||
l0edrr = <0 47>;
|
||||
l1cdrr = <0 7>;
|
||||
l1edrr = <0 7>;
|
||||
};
|
||||
port@1 {
|
||||
port_id = <1>;
|
||||
ucast_queue = <144 159>;
|
||||
mcast_queue = <272 275>;
|
||||
l0sp = <36 39>;
|
||||
l0cdrr = <48 63>;
|
||||
l0edrr = <48 63>;
|
||||
l1cdrr = <8 11>;
|
||||
l1edrr = <8 11>;
|
||||
};
|
||||
port@2 {
|
||||
port_id = <2>;
|
||||
ucast_queue = <160 175>;
|
||||
mcast_queue = <276 279>;
|
||||
l0sp = <40 43>;
|
||||
l0cdrr = <64 79>;
|
||||
l0edrr = <64 79>;
|
||||
l1cdrr = <12 15>;
|
||||
l1edrr = <12 15>;
|
||||
};
|
||||
port@3 {
|
||||
port_id = <3>;
|
||||
ucast_queue = <176 191>;
|
||||
mcast_queue = <280 283>;
|
||||
l0sp = <44 47>;
|
||||
l0cdrr = <80 95>;
|
||||
l0edrr = <80 95>;
|
||||
l1cdrr = <16 19>;
|
||||
l1edrr = <16 19>;
|
||||
};
|
||||
port@4 {
|
||||
port_id = <4>;
|
||||
ucast_queue = <192 207>;
|
||||
mcast_queue = <284 287>;
|
||||
l0sp = <48 51>;
|
||||
l0cdrr = <96 111>;
|
||||
l0edrr = <96 111>;
|
||||
l1cdrr = <20 23>;
|
||||
l1edrr = <20 23>;
|
||||
};
|
||||
port@5 {
|
||||
port_id = <5>;
|
||||
ucast_queue = <208 223>;
|
||||
mcast_queue = <288 291>;
|
||||
l0sp = <52 55>;
|
||||
l0cdrr = <112 127>;
|
||||
l0edrr = <112 127>;
|
||||
l1cdrr = <24 27>;
|
||||
l1edrr = <24 27>;
|
||||
};
|
||||
port@6 {
|
||||
port_id = <6>;
|
||||
ucast_queue = <224 239>;
|
||||
mcast_queue = <292 295>;
|
||||
l0sp = <56 59>;
|
||||
l0cdrr = <128 143>;
|
||||
l0edrr = <128 143>;
|
||||
l1cdrr = <28 31>;
|
||||
l1edrr = <28 31>;
|
||||
};
|
||||
port@7 {
|
||||
port_id = <7>;
|
||||
ucast_queue = <240 255>;
|
||||
mcast_queue = <296 299>;
|
||||
l0sp = <60 63>;
|
||||
l0cdrr = <144 159>;
|
||||
l0edrr = <144 159>;
|
||||
l1cdrr = <32 35>;
|
||||
l1edrr = <32 35>;
|
||||
};
|
||||
};
|
||||
port_scheduler_config {
|
||||
port@0 {
|
||||
port_id = <0>;
|
||||
l1scheduler {
|
||||
group@0 {
|
||||
sp = <0 1>; /*L0 SPs*/
|
||||
/*cpri cdrr epri edrr*/
|
||||
cfg = <0 0 0 0>;
|
||||
};
|
||||
};
|
||||
l0scheduler {
|
||||
group@0 {
|
||||
/*unicast queues*/
|
||||
ucast_queue = <0 4 8>;
|
||||
/*multicast queues*/
|
||||
mcast_queue = <256 260>;
|
||||
/*sp cpricdrrepriedrr*/
|
||||
cfg = <0 0 0 0 0>;
|
||||
};
|
||||
group@1 {
|
||||
ucast_queue = <1 5 9>;
|
||||
mcast_queue = <257 261>;
|
||||
cfg = <0 1 1 1 1>;
|
||||
};
|
||||
group@2 {
|
||||
ucast_queue = <2 6 10>;
|
||||
mcast_queue = <258 262>;
|
||||
cfg = <0 2 2 2 2>;
|
||||
};
|
||||
group@3 {
|
||||
ucast_queue = <3 7 11>;
|
||||
mcast_queue = <259 263>;
|
||||
cfg = <0 3 3 3 3>;
|
||||
};
|
||||
};
|
||||
};
|
||||
port@1 {
|
||||
port_id = <1>;
|
||||
l1scheduler {
|
||||
group@0 {
|
||||
sp = <36>;
|
||||
cfg = <0 8 0 8>;
|
||||
};
|
||||
group@1 {
|
||||
sp = <37>;
|
||||
cfg = <1 9 1 9>;
|
||||
};
|
||||
};
|
||||
l0scheduler {
|
||||
group@0 {
|
||||
ucast_queue = <144>;
|
||||
ucast_loop_pri = <16>;
|
||||
mcast_queue = <272>;
|
||||
mcast_loop_pri = <4>;
|
||||
cfg = <36 0 48 0 48>;
|
||||
};
|
||||
};
|
||||
};
|
||||
port@2 {
|
||||
port_id = <2>;
|
||||
l1scheduler {
|
||||
group@0 {
|
||||
sp = <40>;
|
||||
cfg = <0 12 0 12>;
|
||||
};
|
||||
group@1 {
|
||||
sp = <41>;
|
||||
cfg = <1 13 1 13>;
|
||||
};
|
||||
};
|
||||
l0scheduler {
|
||||
group@0 {
|
||||
ucast_queue = <160>;
|
||||
ucast_loop_pri = <16>;
|
||||
mcast_queue = <276>;
|
||||
mcast_loop_pri = <4>;
|
||||
cfg = <40 0 64 0 64>;
|
||||
};
|
||||
};
|
||||
};
|
||||
port@3 {
|
||||
port_id = <3>;
|
||||
l1scheduler {
|
||||
group@0 {
|
||||
sp = <44>;
|
||||
cfg = <0 16 0 16>;
|
||||
};
|
||||
group@1 {
|
||||
sp = <45>;
|
||||
cfg = <1 17 1 17>;
|
||||
};
|
||||
};
|
||||
l0scheduler {
|
||||
group@0 {
|
||||
ucast_queue = <176>;
|
||||
ucast_loop_pri = <16>;
|
||||
mcast_queue = <280>;
|
||||
mcast_loop_pri = <4>;
|
||||
cfg = <44 0 80 0 80>;
|
||||
};
|
||||
};
|
||||
};
|
||||
port@4 {
|
||||
port_id = <4>;
|
||||
l1scheduler {
|
||||
group@0 {
|
||||
sp = <48>;
|
||||
cfg = <0 20 0 20>;
|
||||
};
|
||||
group@1 {
|
||||
sp = <49>;
|
||||
cfg = <1 21 1 21>;
|
||||
};
|
||||
};
|
||||
l0scheduler {
|
||||
group@0 {
|
||||
ucast_queue = <192>;
|
||||
ucast_loop_pri = <16>;
|
||||
mcast_queue = <284>;
|
||||
mcast_loop_pri = <4>;
|
||||
cfg = <48 0 96 0 96>;
|
||||
};
|
||||
};
|
||||
};
|
||||
port@5 {
|
||||
port_id = <5>;
|
||||
l1scheduler {
|
||||
group@0 {
|
||||
sp = <52>;
|
||||
cfg = <0 24 0 24>;
|
||||
};
|
||||
group@1 {
|
||||
sp = <53>;
|
||||
cfg = <1 25 1 25>;
|
||||
};
|
||||
};
|
||||
l0scheduler {
|
||||
group@0 {
|
||||
ucast_queue = <208>;
|
||||
ucast_loop_pri = <16>;
|
||||
mcast_queue = <288>;
|
||||
mcast_loop_pri = <4>;
|
||||
cfg = <52 0 112 0 112>;
|
||||
};
|
||||
};
|
||||
};
|
||||
port@6 {
|
||||
port_id = <6>;
|
||||
l1scheduler {
|
||||
group@0 {
|
||||
sp = <56>;
|
||||
cfg = <0 28 0 28>;
|
||||
};
|
||||
group@1 {
|
||||
sp = <57>;
|
||||
cfg = <1 29 1 29>;
|
||||
};
|
||||
};
|
||||
l0scheduler {
|
||||
group@0 {
|
||||
ucast_queue = <224>;
|
||||
ucast_loop_pri = <16>;
|
||||
mcast_queue = <292>;
|
||||
mcast_loop_pri = <4>;
|
||||
cfg = <56 0 128 0 128>;
|
||||
};
|
||||
};
|
||||
};
|
||||
port@7 {
|
||||
port_id = <7>;
|
||||
l1scheduler {
|
||||
group@0 {
|
||||
sp = <60>;
|
||||
cfg = <0 32 0 32>;
|
||||
};
|
||||
group@1 {
|
||||
sp = <61>;
|
||||
cfg = <1 33 1 33>;
|
||||
};
|
||||
};
|
||||
l0scheduler {
|
||||
group@0 {
|
||||
ucast_queue = <240>;
|
||||
ucast_loop_pri = <16>;
|
||||
mcast_queue = <296>;
|
||||
cfg = <60 0 144 0 144>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
ess-uniphy@7a00000 {
|
||||
compatible = "qcom,ess-uniphy";
|
||||
reg = <0x7a00000 0x30000>;
|
||||
uniphy_access_mode = "local bus";
|
||||
};
|
||||
};
|
||||
|
||||
dp1: dp1 {
|
||||
device_type = "network";
|
||||
compatible = "qcom,nss-dp";
|
||||
qcom,id = <1>;
|
||||
reg = <0x0 0x3a001000 0x0 0x200>;
|
||||
qcom,mactype = <0>;
|
||||
local-mac-address = [000000000000];
|
||||
phy-mode = "psgmii";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
dp2: dp2 {
|
||||
device_type = "network";
|
||||
compatible = "qcom,nss-dp";
|
||||
qcom,id = <2>;
|
||||
reg = <0x0 0x3a001200 0x0 0x200>;
|
||||
qcom,mactype = <0>;
|
||||
local-mac-address = [000000000000];
|
||||
phy-mode = "psgmii";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
dp3: dp3 {
|
||||
device_type = "network";
|
||||
compatible = "qcom,nss-dp";
|
||||
qcom,id = <3>;
|
||||
reg = <0x0 0x3a001400 0x0 0x200>;
|
||||
qcom,mactype = <0>;
|
||||
local-mac-address = [000000000000];
|
||||
phy-mode = "psgmii";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
dp4: dp4 {
|
||||
device_type = "network";
|
||||
compatible = "qcom,nss-dp";
|
||||
qcom,id = <4>;
|
||||
reg = <0x0 0x3a001600 0x0 0x200>;
|
||||
qcom,mactype = <0>;
|
||||
local-mac-address = [000000000000];
|
||||
phy-mode = "psgmii";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
dp5: dp5 {
|
||||
device_type = "network";
|
||||
compatible = "qcom,nss-dp";
|
||||
qcom,id = <5>;
|
||||
reg = <0x0 0x3a001800 0x0 0x200>;
|
||||
qcom,mactype = <0>;
|
||||
local-mac-address = [000000000000];
|
||||
phy-mode = "psgmii";
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,365 @@
|
||||
// SPDX-License-Identifier: MIT, GPL-2.0 or later
|
||||
/* Copyright (c) 2023, Ruslan Isaev <legale.legale@gmail.com> */
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "ipq6018-512m.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 = "Yuncore FAP650";
|
||||
compatible = "yuncore,fap650", "qcom,ipq6018";
|
||||
|
||||
aliases {
|
||||
ethernet0 = &dp5;
|
||||
ethernet1 = &dp4;
|
||||
ethernet2 = &dp3;
|
||||
ethernet3 = &dp2;
|
||||
ethernet4 = &dp1;
|
||||
label-mac-device = &dp5;
|
||||
serial0 = &blsp1_uart3;
|
||||
led-boot = &led_system;
|
||||
led-failsafe = &led_system;
|
||||
led-running = &led_system;
|
||||
led-upgrade = &led_system;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
bootargs-append = " root=/dev/ubiblock0_1";
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
gpios = <&tlmm 19 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led_system: system {
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
gpios = <&tlmm 32 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
wlan2g {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_WLAN_2GHZ;
|
||||
gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
wlan5g {
|
||||
color = <LED_COLOR_ID_BLUE>;
|
||||
function = LED_FUNCTION_WLAN_5GHZ;
|
||||
gpios = <&tlmm 35 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_uart3 {
|
||||
pinctrl-0 = <&serial_3_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
mdio_pins: mdio-pins {
|
||||
mdc {
|
||||
pins = "gpio64";
|
||||
function = "mdc";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mdio {
|
||||
pins = "gpio65";
|
||||
function = "mdio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&mdio {
|
||||
status = "okay";
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
pinctrl-names = "default";
|
||||
reset-gpios = <&tlmm 75 GPIO_ACTIVE_LOW>;
|
||||
reset-delay-us = <10000>;
|
||||
reset-post-delay-us = <50000>;
|
||||
|
||||
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>;
|
||||
};
|
||||
|
||||
qca8075_1: ethernet-phy@1 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
qca8075_2: ethernet-phy@2 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <2>;
|
||||
};
|
||||
|
||||
qca8075_3: ethernet-phy@3 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <3>;
|
||||
};
|
||||
|
||||
qca8075_4: ethernet-phy@4 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <4>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&usb2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb3 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&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>;
|
||||
phy-mode = "psgmii";
|
||||
label = "wan";
|
||||
};
|
||||
|
||||
&qpic_bam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&blsp1_spi1 {
|
||||
status = "okay";
|
||||
|
||||
flash@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0>;
|
||||
compatible = "jedec,spi-nor";
|
||||
spi-max-frequency = <50000000>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
|
||||
partition@0 {
|
||||
reg = <0x00000000 0x000c0000>;
|
||||
label = "0:sbl1";
|
||||
};
|
||||
|
||||
partition@c0000 {
|
||||
reg = <0x000c0000 0x00010000>;
|
||||
label = "0:mibib";
|
||||
};
|
||||
|
||||
partition@d0000 {
|
||||
reg = <0x000d0000 0x00020000>;
|
||||
label = "0:bootconfig";
|
||||
};
|
||||
|
||||
partition@f0000 {
|
||||
reg = <0x000f0000 0x00020000>;
|
||||
label = "0:bootconfig1";
|
||||
};
|
||||
|
||||
partition@110000 {
|
||||
reg = <0x00110000 0x001a0000>;
|
||||
label = "0:qsee";
|
||||
};
|
||||
|
||||
partition@2b0000 {
|
||||
reg = <0x002b0000 0x001a0000>;
|
||||
label = "0:qsee_1";
|
||||
};
|
||||
|
||||
partition@450000 {
|
||||
reg = <0x00450000 0x00010000>;
|
||||
label = "0:devcfg";
|
||||
};
|
||||
|
||||
partition@460000 {
|
||||
reg = <0x00460000 0x00010000>;
|
||||
label = "0:devcfg_1";
|
||||
};
|
||||
|
||||
partition@470000 {
|
||||
reg = <0x00470000 0x00040000>;
|
||||
label = "0:rpm";
|
||||
};
|
||||
|
||||
partition@4b0000 {
|
||||
reg = <0x004b0000 0x00040000>;
|
||||
label = "0:rpm_1";
|
||||
};
|
||||
|
||||
partition@4f0000 {
|
||||
reg = <0x004f0000 0x00010000>;
|
||||
label = "0:cdt";
|
||||
};
|
||||
|
||||
partition@500000 {
|
||||
reg = <0x00500000 0x00010000>;
|
||||
label = "0:cdt_1";
|
||||
};
|
||||
|
||||
partition@510000 {
|
||||
reg = <0x00510000 0x00010000>;
|
||||
label = "0:appsblenv";
|
||||
};
|
||||
|
||||
partition@520000 {
|
||||
reg = <0x00520000 0x000a0000>;
|
||||
label = "0:appsbl";
|
||||
};
|
||||
|
||||
partition@5c0000 {
|
||||
reg = <0x005c0000 0x000a0000>;
|
||||
label = "0:appsbl_1";
|
||||
};
|
||||
|
||||
partition@660000 {
|
||||
reg = <0x00660000 0x00040000>;
|
||||
label = "0:art";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&qpic_nand {
|
||||
status = "okay";
|
||||
|
||||
nand@0 {
|
||||
reg = <0>;
|
||||
|
||||
nand-ecc-strength = <4>;
|
||||
nand-ecc-step-size = <512>;
|
||||
nand-bus-width = <8>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "rootfs";
|
||||
reg = <0x00000000 0x03c00000>;
|
||||
};
|
||||
|
||||
partition@3c00000 {
|
||||
label = "rootfs_1";
|
||||
reg = <0x03c00000 0x03c00000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&wifi {
|
||||
qcom,ath11k-calibration-variant = "Yuncore-FAP650";
|
||||
qcom,ath11k-fw-memory-mode = <1>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qusb_phy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qusb_phy_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ssphy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb3 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb2 {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -0,0 +1,52 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
/*
|
||||
* Board does not use companion MP5496 PMIC,
|
||||
* but rather uses fixed external SMPS.
|
||||
*/
|
||||
|
||||
&rpm {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&CPU0 {
|
||||
/delete-property/ cpu-supply;
|
||||
};
|
||||
|
||||
&CPU1 {
|
||||
/delete-property/ cpu-supply;
|
||||
};
|
||||
|
||||
&CPU2 {
|
||||
/delete-property/ cpu-supply;
|
||||
};
|
||||
|
||||
&CPU3 {
|
||||
/delete-property/ cpu-supply;
|
||||
};
|
||||
|
||||
&cpu_opp_table {
|
||||
opp-864000000 {
|
||||
opp-microvolt = <1100000>;
|
||||
};
|
||||
|
||||
opp-1056000000 {
|
||||
opp-microvolt = <1100000>;
|
||||
};
|
||||
|
||||
opp-1320000000 {
|
||||
opp-microvolt = <1100000>;
|
||||
};
|
||||
|
||||
opp-1440000000 {
|
||||
opp-microvolt = <1100000>;
|
||||
};
|
||||
|
||||
opp-1608000000 {
|
||||
opp-microvolt = <1100000>;
|
||||
};
|
||||
|
||||
opp-1800000000 {
|
||||
opp-microvolt = <1100000>;
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,307 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
/* Copyright (c) 2021, Dirk Buchwalder <buchwalder@posteo.de> */
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "ipq8074-512m.dtsi"
|
||||
#include "ipq8074-ac-cpu.dtsi"
|
||||
#include "ipq8074-ess.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
|
||||
/ {
|
||||
model = "Edimax CAX1800";
|
||||
compatible = "edimax,cax1800", "qcom,ipq8074";
|
||||
|
||||
aliases {
|
||||
serial0 = &blsp1_uart5;
|
||||
led-boot = &led_system_red;
|
||||
led-failsafe = &led_system_red;
|
||||
led-running = &led_system_green;
|
||||
led-upgrade = &led_system_red;
|
||||
/* Aliases as required by u-boot to patch MAC addresses */
|
||||
ethernet0 = &dp5;
|
||||
label-mac-device = &dp5;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
bootargs-append = " root=/dev/ubiblock0_1";
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
gpios = <&tlmm 32 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led_system_red: system-red {
|
||||
label = "red:system";
|
||||
gpios = <&tlmm 25 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
led_system_green: system-green {
|
||||
label = "green:system";
|
||||
gpios = <&tlmm 26 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
led_system_blue: system-blue {
|
||||
label = "blue:system";
|
||||
gpios = <&tlmm 27 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
mdio_pins: mdio-pins {
|
||||
mdc {
|
||||
pins = "gpio68";
|
||||
function = "mdc";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mdio {
|
||||
pins = "gpio69";
|
||||
function = "mdio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_uart5 {
|
||||
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 = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "rootfs";
|
||||
reg = <0x0000000 0x3400000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_spi1 {
|
||||
pinctrl-0 = <&spi_0_pins>;
|
||||
pinctrl-names = "default";
|
||||
cs-select = <0>;
|
||||
status = "okay";
|
||||
|
||||
m25p80@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0>;
|
||||
compatible = "jedec,spi-nor";
|
||||
spi-max-frequency = <50000000>;
|
||||
use-default-sizes;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "0:sbl1";
|
||||
reg = <0x0 0x50000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@50000 {
|
||||
label = "0:mibib";
|
||||
reg = <0x50000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@60000 {
|
||||
label = "0:bootconfig";
|
||||
reg = <0x60000 0x20000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@80000 {
|
||||
label = "0:bootconfig1";
|
||||
reg = <0x80000 0x20000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@a0000 {
|
||||
label = "0:qsee";
|
||||
reg = <0xa0000 0x180000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@220000 {
|
||||
label = "0:qsee_1";
|
||||
reg = <0x220000 0x180000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3a0000 {
|
||||
label = "0:devcfg";
|
||||
reg = <0x3a0000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3b0000 {
|
||||
label = "0:devcfg_1";
|
||||
reg = <0x3b0000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3c0000 {
|
||||
label = "0:apdp";
|
||||
reg = <0x3c0000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3d0000 {
|
||||
label = "0:apdp_1";
|
||||
reg = <0x3d0000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3e0000 {
|
||||
label = "0:rpm";
|
||||
reg = <0x3e0000 0x40000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@420000 {
|
||||
label = "0:rpm_1";
|
||||
reg = <0x420000 0x40000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@460000 {
|
||||
label = "0:cdt";
|
||||
reg = <0x460000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@470000 {
|
||||
label = "0:cdt_1";
|
||||
reg = <0x470000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@480000 {
|
||||
label = "0:appsblenv";
|
||||
reg = <0x480000 0x10000>;
|
||||
};
|
||||
|
||||
partition@490000 {
|
||||
label = "0:appsbl";
|
||||
reg = <0x490000 0xa0000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@530000 {
|
||||
label = "0:appsbl_1";
|
||||
reg = <0x530000 0xa0000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@5d0000 {
|
||||
label = "0:art";
|
||||
reg = <0x5d0000 0x40000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@610000 {
|
||||
label = "0:ethphyfw";
|
||||
reg = <0x610000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&mdio {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
|
||||
|
||||
ethernet-phy-package@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "qcom,qca8075-package";
|
||||
reg = <0>;
|
||||
|
||||
qca8075_4: ethernet-phy@4 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <4>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&switch {
|
||||
status = "okay";
|
||||
|
||||
switch_lan_bmp = <ESS_PORT5>; /* lan port bitmap */
|
||||
switch_mac_mode = <MAC_MODE_PSGMII>; /* mac mode for uniphy instance0*/
|
||||
|
||||
qcom,port_phyinfo {
|
||||
port@5 {
|
||||
port_id = <5>;
|
||||
phy_address = <4>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&edma {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dp5 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8075_4>;
|
||||
label = "lan";
|
||||
};
|
||||
|
||||
&wifi {
|
||||
status = "okay";
|
||||
|
||||
qcom,ath11k-calibration-variant = "Edimax-CAX1800";
|
||||
qcom,ath11k-fw-memory-mode = <1>;
|
||||
};
|
||||
@@ -0,0 +1,310 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "ipq8074-512m.dtsi"
|
||||
#include "ipq8074-ac-cpu.dtsi"
|
||||
#include "ipq8074-ess.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/ {
|
||||
model = "CMCC RM2-6";
|
||||
compatible = "cmcc,rm2-6", "qcom,ipq8074";
|
||||
|
||||
aliases {
|
||||
serial0 = &blsp1_uart5;
|
||||
serial1 = &blsp1_uart3;
|
||||
led-boot = &led_status_red;
|
||||
led-failsafe = &led_status_red;
|
||||
led-running = &led_status_blue;
|
||||
led-upgrade = &led_status_amber;
|
||||
/*
|
||||
* Aliases as required by u-boot
|
||||
* to patch MAC addresses
|
||||
*/
|
||||
ethernet0 = &dp4;
|
||||
ethernet1 = &dp2;
|
||||
ethernet2 = &dp5;
|
||||
label-mac-device = &dp4;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
bootargs-append = " root=/dev/ubiblock0_1";
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
wps {
|
||||
label = "wps";
|
||||
linux,code = <KEY_WPS_BUTTON>;
|
||||
gpios = <&tlmm 27 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
linux,code = <KEY_RESTART>;
|
||||
gpios = <&tlmm 30 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led_status_amber: status-amber {
|
||||
color = <LED_COLOR_ID_AMBER>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
gpios = <&tlmm 25 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
led_status_blue: status-blue {
|
||||
color = <LED_COLOR_ID_BLUE>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
gpios = <&tlmm 26 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
led_status_red: status-red {
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
gpios = <&tlmm 31 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
fan: gpio-fan {
|
||||
#cooling-cells = <2>;
|
||||
compatible = "gpio-fan";
|
||||
gpios = <&tlmm 29 GPIO_ACTIVE_HIGH>;
|
||||
gpio-fan,speed-map = <0 0>, <1 1>;
|
||||
};
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
mdio_pins: mdio-pins {
|
||||
mdc {
|
||||
pins = "gpio68";
|
||||
function = "mdc";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mdio {
|
||||
pins = "gpio69";
|
||||
function = "mdio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_uart3 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&blsp1_uart5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cryptobam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&crypto {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&prng {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qpic_bam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qpic_nand {
|
||||
status = "okay";
|
||||
|
||||
nand@0 {
|
||||
reg = <0>;
|
||||
nand-ecc-strength = <8>;
|
||||
nand-ecc-step-size = <512>;
|
||||
nand-bus-width = <8>;
|
||||
|
||||
partitions {
|
||||
compatible = "qcom,smem-part";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&cpu0_thermal {
|
||||
trips {
|
||||
cpu0_trip_active: cpu-active {
|
||||
temperature = <60000>;
|
||||
hysteresis = <2000>;
|
||||
type = "active";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
cpu-active {
|
||||
cooling-device = <&fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
trip = <&cpu0_trip_active>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&cpu1_thermal {
|
||||
trips {
|
||||
cpu1_trip_active: cpu-active {
|
||||
temperature = <60000>;
|
||||
hysteresis = <2000>;
|
||||
type = "active";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
cpu-active {
|
||||
cooling-device = <&fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
trip = <&cpu1_trip_active>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&cpu2_thermal {
|
||||
trips {
|
||||
cpu2_trip_active: cpu-active {
|
||||
temperature = <60000>;
|
||||
hysteresis = <2000>;
|
||||
type = "active";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
cpu-active {
|
||||
cooling-device = <&fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
trip = <&cpu2_trip_active>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&cpu3_thermal {
|
||||
trips {
|
||||
cpu3_trip_active: cpu-active {
|
||||
temperature = <60000>;
|
||||
hysteresis = <2000>;
|
||||
type = "active";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
cpu-active {
|
||||
cooling-device = <&fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
trip = <&cpu3_trip_active>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&cluster_thermal {
|
||||
trips {
|
||||
cluster_active: cluster-active {
|
||||
temperature = <60000>;
|
||||
hysteresis = <2000>;
|
||||
type = "active";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
cluster-active {
|
||||
cooling-device = <&fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
trip = <&cluster_active>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&mdio {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
pinctrl-names = "default";
|
||||
reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
|
||||
|
||||
ethernet-phy-package@0 {
|
||||
compatible = "qcom,qca8075-package";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
|
||||
qca8075_1: ethernet-phy@1 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
qca8075_3: ethernet-phy@3 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <3>;
|
||||
};
|
||||
|
||||
qca8075_4: ethernet-phy@4 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <4>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&switch {
|
||||
status = "okay";
|
||||
|
||||
switch_lan_bmp = <(ESS_PORT2 | ESS_PORT4)>;
|
||||
switch_wan_bmp = <ESS_PORT5>;
|
||||
switch_mac_mode = <MAC_MODE_PSGMII>;
|
||||
|
||||
qcom,port_phyinfo {
|
||||
port@2 {
|
||||
port_id = <2>;
|
||||
phy_address = <1>;
|
||||
};
|
||||
port@4 {
|
||||
port_id = <4>;
|
||||
phy_address = <3>;
|
||||
};
|
||||
port@5 {
|
||||
port_id = <5>;
|
||||
phy_address = <4>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&edma {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/*
|
||||
* Directly connect to the Hi5630
|
||||
* PLC (Power Line Communication)
|
||||
*/
|
||||
&dp2 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8075_1>;
|
||||
label = "plc";
|
||||
};
|
||||
|
||||
&dp4 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8075_3>;
|
||||
label = "lan";
|
||||
};
|
||||
|
||||
&dp5 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8075_4>;
|
||||
label = "wan";
|
||||
};
|
||||
|
||||
&wifi {
|
||||
status = "okay";
|
||||
|
||||
qcom,ath11k-calibration-variant = "CMCC-RM2-6";
|
||||
qcom,ath11k-fw-memory-mode = <1>;
|
||||
};
|
||||
@@ -0,0 +1,130 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
/* Copyright (c) 2021, Robert Marko <robimarko@gmail.com> */
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "ipq8071-ax3600.dtsi"
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/ {
|
||||
model = "Xiaomi AX3600";
|
||||
compatible = "xiaomi,ax3600", "qcom,ipq8074";
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led_system_blue: system-blue {
|
||||
label = "blue:system";
|
||||
gpios = <&tlmm 42 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
led_system_yellow: system-yellow {
|
||||
label = "yellow:system";
|
||||
gpios = <&tlmm 43 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
network-yellow {
|
||||
label = "yellow:network";
|
||||
gpios = <&tlmm 22 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
network-blue {
|
||||
label = "blue:network";
|
||||
gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
aiot {
|
||||
label = "blue:aiot";
|
||||
gpios = <&tlmm 51 GPIO_ACTIVE_HIGH>;
|
||||
linux,default-trigger = "phy0tpt";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&pcie_qmp0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pcie0 {
|
||||
status = "okay";
|
||||
|
||||
perst-gpio = <&tlmm 52 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
bridge@0,0 {
|
||||
reg = <0x00000000 0 0 0 0>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
wifi0: wifi@1,0 {
|
||||
status = "okay";
|
||||
|
||||
compatible = "qcom,ath10k";
|
||||
reg = <0x00010000 0 0 0 0>;
|
||||
|
||||
qcom,ath10k-calibration-variant = "Xiaomi-AX3600";
|
||||
nvmem-cell-names = "calibration";
|
||||
nvmem-cells = <&caldata_qca9889>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&wifi {
|
||||
qcom,ath11k-calibration-variant = "Xiaomi-AX3600";
|
||||
};
|
||||
|
||||
&qca8075_1 {
|
||||
leds {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
led@0 {
|
||||
reg = <0>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_WAN;
|
||||
default-state = "keep";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&qca8075_2 {
|
||||
leds {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
led@0 {
|
||||
reg = <0>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
default-state = "keep";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&qca8075_3 {
|
||||
leds {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
led@0 {
|
||||
reg = <0>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
default-state = "keep";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&qca8075_4 {
|
||||
leds {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
led@0 {
|
||||
reg = <0>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
default-state = "keep";
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,311 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
/* Copyright (c) 2021, Robert Marko <robimarko@gmail.com> */
|
||||
|
||||
#include "ipq8074-512m.dtsi"
|
||||
#include "ipq8074-ac-cpu.dtsi"
|
||||
#include "ipq8074-ess.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
|
||||
/ {
|
||||
aliases {
|
||||
serial0 = &blsp1_uart5;
|
||||
led-boot = &led_system_yellow;
|
||||
led-failsafe = &led_system_yellow;
|
||||
led-running = &led_system_blue;
|
||||
led-upgrade = &led_system_yellow;
|
||||
label-mac-device = &dp2;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
bootargs-append = " root=/dev/ubiblock0_0";
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
gpios = <&tlmm 34 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
mdio_pins: mdio-pins {
|
||||
mdc {
|
||||
pins = "gpio68";
|
||||
function = "mdc";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mdio {
|
||||
pins = "gpio69";
|
||||
function = "mdio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_uart5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&prng {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cryptobam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&crypto {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qpic_bam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qpic_nand {
|
||||
status = "okay";
|
||||
|
||||
/*
|
||||
* Bootloader will find the NAND DT node by the compatible and
|
||||
* then "fixup" it by adding the partitions from the SMEM table
|
||||
* using the legacy bindings thus making it impossible for us
|
||||
* to change the partition table or utilize NVMEM for calibration.
|
||||
* So add a dummy partitions node that bootloader will populate
|
||||
* and set it as disabled so the kernel ignores it instead of
|
||||
* printing warnings due to the broken way bootloader adds the
|
||||
* partitions.
|
||||
*/
|
||||
partitions {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
nand@0 {
|
||||
reg = <0>;
|
||||
nand-ecc-strength = <4>;
|
||||
nand-ecc-step-size = <512>;
|
||||
nand-bus-width = <8>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "0:sbl1";
|
||||
reg = <0x0 0x100000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@100000 {
|
||||
label = "0:mibib";
|
||||
reg = <0x100000 0x100000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@200000 {
|
||||
label = "0:qsee";
|
||||
reg = <0x200000 0x300000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@500000 {
|
||||
label = "0:devcfg";
|
||||
reg = <0x500000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@580000 {
|
||||
label = "0:rpm";
|
||||
reg = <0x580000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@600000 {
|
||||
label = "0:cdt";
|
||||
reg = <0x600000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@680000 {
|
||||
label = "0:appsblenv";
|
||||
reg = <0x680000 0x80000>;
|
||||
};
|
||||
|
||||
partition@700000 {
|
||||
label = "0:appsbl";
|
||||
reg = <0x700000 0x100000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@800000 {
|
||||
label = "0:art";
|
||||
reg = <0x800000 0x80000>;
|
||||
read-only;
|
||||
|
||||
nvmem-layout {
|
||||
compatible = "fixed-layout";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
macaddr_dp2: macaddr@6 {
|
||||
reg = <0x6 0x6>;
|
||||
};
|
||||
|
||||
macaddr_dp3: macaddr@c {
|
||||
reg = <0xc 0x6>;
|
||||
};
|
||||
|
||||
macaddr_dp4: macaddr@12 {
|
||||
reg = <0x12 0x6>;
|
||||
};
|
||||
|
||||
macaddr_dp5: macaddr@18 {
|
||||
reg = <0x18 0x6>;
|
||||
};
|
||||
|
||||
caldata_qca9889: caldata@4d000 {
|
||||
reg = <0x33000 0x844>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
partition@880000 {
|
||||
label = "bdata";
|
||||
reg = <0x880000 0x80000>;
|
||||
};
|
||||
|
||||
partition@900000 {
|
||||
/* This is crash + crash_syslog parts combined */
|
||||
label = "pstore";
|
||||
reg = <0x900000 0x100000>;
|
||||
};
|
||||
|
||||
/* Make the first rootfs a dedicated ubi partition for kernel */
|
||||
partition@a00000 {
|
||||
label = "ubi_kernel";
|
||||
reg = <0xa00000 0x23c0000>;
|
||||
};
|
||||
|
||||
/* Place the real rootfs in the original second rootfs and
|
||||
* expand it to the end of the nand
|
||||
*/
|
||||
rootfs: partition@2dc0000 {
|
||||
label = "rootfs";
|
||||
reg = <0x2dc0000 0xd240000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&mdio {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
pinctrl-names = "default";
|
||||
reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
|
||||
|
||||
ethernet-phy-package@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "qcom,qca8075-package";
|
||||
reg = <0>;
|
||||
|
||||
qca8075_1: ethernet-phy@1 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
qca8075_2: ethernet-phy@2 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <2>;
|
||||
};
|
||||
|
||||
qca8075_3: ethernet-phy@3 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <3>;
|
||||
};
|
||||
|
||||
qca8075_4: ethernet-phy@4 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <4>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&switch {
|
||||
status = "okay";
|
||||
|
||||
switch_lan_bmp = <(ESS_PORT3 | ESS_PORT4 | ESS_PORT5)>; /* lan port bitmap */
|
||||
switch_wan_bmp = <ESS_PORT2>; /* wan port bitmap */
|
||||
switch_mac_mode = <MAC_MODE_PSGMII>; /* mac mode for uniphy instance0*/
|
||||
|
||||
qcom,port_phyinfo {
|
||||
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";
|
||||
};
|
||||
|
||||
&dp2 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8075_1>;
|
||||
label = "wan";
|
||||
nvmem-cells = <&macaddr_dp2>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&dp3 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8075_2>;
|
||||
label = "lan1";
|
||||
nvmem-cells = <&macaddr_dp3>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&dp4 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8075_3>;
|
||||
label = "lan2";
|
||||
nvmem-cells = <&macaddr_dp4>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&dp5 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8075_4>;
|
||||
label = "lan3";
|
||||
nvmem-cells = <&macaddr_dp5>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&wifi {
|
||||
status = "okay";
|
||||
|
||||
qcom,ath11k-fw-memory-mode = <1>;
|
||||
};
|
||||
@@ -0,0 +1,46 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
/* Copyright (c) 2021, Zhijun You <hujy652@gmail.com> */
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "ipq8071-ax3600.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Redmi AX6";
|
||||
compatible = "redmi,ax6", "qcom,ipq8074";
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led_system_blue: system-blue {
|
||||
label = "blue:system";
|
||||
gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
led_system_yellow: system-yellow {
|
||||
label = "yellow:system";
|
||||
gpios = <&tlmm 22 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
network-blue {
|
||||
label = "blue:network";
|
||||
gpios = <&tlmm 42 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
network-yellow {
|
||||
label = "yellow:network";
|
||||
gpios = <&tlmm 43 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* AX6 can both have NAND of 256MiB or 128MiB.
|
||||
* To be on the safe side, assume 128MiB of NAND.
|
||||
*/
|
||||
&rootfs {
|
||||
reg = <0x2dc0000 0x5220000>;
|
||||
};
|
||||
|
||||
&wifi {
|
||||
qcom,ath11k-calibration-variant = "Redmi-AX6";
|
||||
};
|
||||
@@ -0,0 +1,390 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
/* Copyright (c) 2022, Matthew Hagan <mnhagan88@gmail.com> */
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "ipq8074.dtsi"
|
||||
#include "ipq8074-ac-cpu.dtsi"
|
||||
#include "ipq8074-ess.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/ {
|
||||
model = "Edgecore EAP102";
|
||||
compatible = "edgecore,eap102", "qcom,ipq8074";
|
||||
|
||||
aliases {
|
||||
serial0 = &blsp1_uart5;
|
||||
serial1 = &blsp1_uart3;
|
||||
led-boot = &led_system_green;
|
||||
led-failsafe = &led_system_green;
|
||||
led-running = &led_system_green;
|
||||
led-upgrade = &led_system_green;
|
||||
/* Aliases as required by u-boot to patch MAC addresses */
|
||||
ethernet0 = &dp6;
|
||||
ethernet1 = &dp5;
|
||||
label-mac-device = &dp5;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
bootargs-append = " root=/dev/ubiblock0_1";
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
pinctrl-0 = <&button_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
gpios = <&tlmm 66 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led_wanpoe {
|
||||
label = "green:wanpoe";
|
||||
gpios = <&tlmm 46 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
led_wlan2g {
|
||||
label = "green:wlan2g";
|
||||
gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>;
|
||||
linux,default-trigger = "phy1radio";
|
||||
};
|
||||
|
||||
led_wlan5g {
|
||||
label = "green:wlan5g";
|
||||
gpios = <&tlmm 48 GPIO_ACTIVE_HIGH>;
|
||||
linux,default-trigger = "phy0radio";
|
||||
};
|
||||
|
||||
led_system_green: led_system {
|
||||
function = LED_FUNCTION_POWER;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
gpios = <&tlmm 50 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
mdio_pins: mdio-pins {
|
||||
mdc {
|
||||
pins = "gpio68";
|
||||
function = "mdc";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mdio {
|
||||
pins = "gpio69";
|
||||
function = "mdio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
button_pins: button_pins {
|
||||
reset_button {
|
||||
pins = "gpio66";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_spi1 {
|
||||
status = "okay";
|
||||
|
||||
flash@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0>;
|
||||
compatible = "jedec,spi-nor";
|
||||
spi-max-frequency = <50000000>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "0:sbl1";
|
||||
reg = <0x0 0x50000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@50000 {
|
||||
label = "0:mibib";
|
||||
reg = <0x50000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@60000 {
|
||||
label = "0:bootconfig";
|
||||
reg = <0x60000 0x20000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@80000 {
|
||||
label = "0:bootconfig1";
|
||||
reg = <0x80000 0x20000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@a0000 {
|
||||
label = "0:qsee";
|
||||
reg = <0xa0000 0x180000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@220000 {
|
||||
label = "0:qsee_1";
|
||||
reg = <0x220000 0x180000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3a0000 {
|
||||
label = "0:devcfg";
|
||||
reg = <0x3a0000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3b0000 {
|
||||
label = "0:devcfg_1";
|
||||
reg = <0x3b0000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3c0000 {
|
||||
label = "0:apdp";
|
||||
reg = <0x3c0000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3d0000 {
|
||||
label = "0:apdp_1";
|
||||
reg = <0x3d0000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3e0000 {
|
||||
label = "0:rpm";
|
||||
reg = <0x3e0000 0x40000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@420000 {
|
||||
label = "0:rpm_1";
|
||||
reg = <0x420000 0x40000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@460000 {
|
||||
label = "0:cdt";
|
||||
reg = <0x460000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@470000 {
|
||||
label = "0:cdt_1";
|
||||
reg = <0x470000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@480000 {
|
||||
label = "0:appsblenv";
|
||||
reg = <0x480000 0x10000>;
|
||||
};
|
||||
|
||||
partition@490000 {
|
||||
label = "0:appsbl";
|
||||
reg = <0x490000 0xc0000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@550000 {
|
||||
label = "0:appsbl_1";
|
||||
reg = <0x530000 0xc0000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@610000 {
|
||||
label = "0:art";
|
||||
reg = <0x610000 0x40000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@650000 {
|
||||
label = "0:ethphyfw";
|
||||
reg = <0x650000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@6d0000 {
|
||||
label = "0:product_info";
|
||||
reg = <0x6d0000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@750000 {
|
||||
label = "priv_data1";
|
||||
reg = <0x750000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@760000 {
|
||||
label = "priv_data2";
|
||||
reg = <0x760000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_uart3 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&blsp1_uart5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&crypto {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cryptobam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&prng {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qpic_bam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qusb_phy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ssphy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qpic_nand {
|
||||
status = "okay";
|
||||
|
||||
nand@0 {
|
||||
reg = <0>;
|
||||
nand-ecc-strength = <8>;
|
||||
nand-ecc-step-size = <512>;
|
||||
nand-bus-width = <8>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "rootfs1";
|
||||
reg = <0x0000000 0x3400000>;
|
||||
};
|
||||
|
||||
partition@3400000 {
|
||||
label = "0:wififw";
|
||||
reg = <0x3400000 0x800000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3c00000 {
|
||||
label = "rootfs2";
|
||||
reg = <0x3c00000 0x3400000>;
|
||||
};
|
||||
|
||||
partition@7000000 {
|
||||
label = "0:wififw_1";
|
||||
reg = <0x7000000 0x800000>;
|
||||
read-only;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&mdio {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
qca8081_24: ethernet-phy@24 {
|
||||
compatible = "ethernet-phy-id004d.d101";
|
||||
reg = <24>;
|
||||
reset-deassert-us = <10000>;
|
||||
reset-gpios = <&tlmm 33 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
qca8081_28: ethernet-phy@28 {
|
||||
compatible = "ethernet-phy-id004d.d101";
|
||||
reg = <28>;
|
||||
reset-deassert-us = <10000>;
|
||||
reset-gpios = <&tlmm 44 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
&switch {
|
||||
status = "okay";
|
||||
|
||||
switch_lan_bmp = <ESS_PORT5>; /* lan port bitmap */
|
||||
switch_wan_bmp = <ESS_PORT6>; /* wan port bitmap */
|
||||
switch_mac_mode1 = <MAC_MODE_SGMII_CHANNEL0>; /* mac mode for uniphy instance1*/
|
||||
switch_mac_mode2 = <MAC_MODE_SGMII_CHANNEL0>; /* mac mode for uniphy instance2*/
|
||||
|
||||
qcom,port_phyinfo {
|
||||
port@5 {
|
||||
port_id = <5>;
|
||||
phy_address = <24>;
|
||||
port_mac_sel = "QGMAC_PORT";
|
||||
};
|
||||
port@6 {
|
||||
port_id = <6>;
|
||||
phy_address = <28>;
|
||||
port_mac_sel = "QGMAC_PORT";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&edma {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dp5 {
|
||||
status = "okay";
|
||||
phy-mode = "sgmii";
|
||||
phy-handle = <&qca8081_24>;
|
||||
label = "lan";
|
||||
};
|
||||
|
||||
&dp6 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8081_28>;
|
||||
label = "wan";
|
||||
};
|
||||
|
||||
&wifi {
|
||||
status = "okay";
|
||||
|
||||
qcom,ath11k-calibration-variant = "Edgecore-EAP102";
|
||||
};
|
||||
@@ -0,0 +1,452 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "ipq8074-512m.dtsi"
|
||||
#include "ipq8074-ac-cpu.dtsi"
|
||||
#include "ipq8074-ess.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/ {
|
||||
model = "ZTE MF269";
|
||||
compatible = "zte,mf269", "qcom,ipq8074";
|
||||
|
||||
aliases {
|
||||
serial0 = &blsp1_uart5;
|
||||
led-boot = &led_power;
|
||||
led-failsafe = &led_power;
|
||||
led-running = &led_power;
|
||||
led-upgrade = &led_power;
|
||||
label-mac-device = &dp6_syn;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
bootargs-append = " root=/dev/ubiblock0_0";
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
pinctrl-0 = <&button_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
wps {
|
||||
label = "wps";
|
||||
linux,code = <KEY_WPS_BUTTON>;
|
||||
gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
linux,code = <KEY_RESTART>;
|
||||
gpios = <&tlmm 46 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led_power: power {
|
||||
function = LED_FUNCTION_POWER;
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
gpios = <&tlmm 56 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
button_pins: button_pins {
|
||||
mux {
|
||||
pins = "gpio37", "gpio46";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
i2c_pins: i2c-pins {
|
||||
pins = "gpio21", "gpio22";
|
||||
function = "blsp4_i2c1";
|
||||
drive-strength = <8>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
mdio_pins: mdio-pins {
|
||||
mdc {
|
||||
pins = "gpio68";
|
||||
function = "mdc";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mdio {
|
||||
pins = "gpio69";
|
||||
function = "mdio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
usb_pwr_pins: usb_pwr_pins {
|
||||
mux {
|
||||
pins = "gpio29";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-disable;
|
||||
output-high;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_spi1 {
|
||||
pinctrl-0 = <&spi_0_pins>;
|
||||
pinctrl-names = "default";
|
||||
cs-select = <0>;
|
||||
status = "okay";
|
||||
|
||||
flash@0 {
|
||||
compatible = "jedec,spi-nor";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0>;
|
||||
spi-max-frequency = <50000000>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "0:sbl1";
|
||||
reg = <0x0 0x50000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@50000 {
|
||||
label = "0:mibib";
|
||||
reg = <0x50000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@60000 {
|
||||
label = "0:bootconfig";
|
||||
reg = <0x60000 0x20000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@80000 {
|
||||
label = "0:bootconfig1";
|
||||
reg = <0x80000 0x20000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@a0000 {
|
||||
label = "0:qsee";
|
||||
reg = <0xa0000 0x180000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@220000 {
|
||||
label = "0:qsee_1";
|
||||
reg = <0x220000 0x180000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3a0000 {
|
||||
label = "0:devcfg";
|
||||
reg = <0x3a0000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3b0000 {
|
||||
label = "0:devcfg_1";
|
||||
reg = <0x3b0000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3c0000 {
|
||||
label = "0:apdp";
|
||||
reg = <0x3c0000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3d0000 {
|
||||
label = "0:apdp_1";
|
||||
reg = <0x3d0000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3e0000 {
|
||||
label = "0:rpm";
|
||||
reg = <0x3e0000 0x40000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@420000 {
|
||||
label = "0:rpm_1";
|
||||
reg = <0x420000 0x40000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@460000 {
|
||||
label = "0:cdt";
|
||||
reg = <0x460000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@470000 {
|
||||
label = "0:cdt_1";
|
||||
reg = <0x470000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@480000 {
|
||||
label = "0:appsblenv";
|
||||
reg = <0x480000 0x10000>;
|
||||
};
|
||||
|
||||
partition@490000 {
|
||||
label = "0:appsbl";
|
||||
reg = <0x490000 0xc0000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@550000 {
|
||||
label = "0:appsbl_1";
|
||||
reg = <0x550000 0xc0000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@610000 {
|
||||
label = "0:art";
|
||||
reg = <0x610000 0x40000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@650000 {
|
||||
label = "0:ethphyfw";
|
||||
reg = <0x650000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_i2c5 {
|
||||
pinctrl-0 = <&i2c_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
|
||||
/* No driver exists */
|
||||
aw9106: gpio-expander@5b {
|
||||
reg = <0x5b>;
|
||||
reset-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_uart5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cryptobam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&crypto {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&prng {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qpic_bam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qpic_nand {
|
||||
status = "okay";
|
||||
|
||||
/*
|
||||
* Bootloader will find the NAND DT node by the compatible and
|
||||
* then "fixup" it by adding the partitions from the SMEM table
|
||||
* using the legacy bindings thus making it impossible for us
|
||||
* to change the partition table or utilize NVMEM for calibration.
|
||||
* So add a dummy partitions node that bootloader will populate
|
||||
* and set it as disabled so the kernel ignores it instead of
|
||||
* printing warnings due to the broken way bootloader adds the
|
||||
* partitions.
|
||||
*/
|
||||
partitions {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
nand@0 {
|
||||
reg = <0>;
|
||||
nand-ecc-strength = <4>;
|
||||
nand-ecc-step-size = <512>;
|
||||
nand-bus-width = <8>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "fota-flag";
|
||||
reg = <0x0000000 0x00a0000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@a0000 {
|
||||
label = "mac";
|
||||
reg = <0x00a0000 0x0080000>;
|
||||
read-only;
|
||||
|
||||
nvmem-layout {
|
||||
compatible = "fixed-layout";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
macaddr_mac_0: macaddr@0 {
|
||||
compatible = "mac-base";
|
||||
reg = <0x0 0x6>;
|
||||
#nvmem-cell-cells = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
partition@120000 {
|
||||
label = "cfg-param";
|
||||
reg = <0x0120000 0x1400000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@1520000 {
|
||||
label = "log";
|
||||
reg = <0x1520000 0x0600000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@1b20000 {
|
||||
label = "oops";
|
||||
reg = <0x1b20000 0x00a0000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@1bc0000 {
|
||||
label = "web";
|
||||
reg = <0x1bc0000 0x0800000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@23c0000 {
|
||||
label = "ubi_kernel";
|
||||
reg = <0x23c0000 0x3400000>;
|
||||
};
|
||||
|
||||
partition@57c0000 {
|
||||
label = "0:wififw";
|
||||
reg = <0x57c0000 0x0800000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
/* rootfs partition is the result of squashing
|
||||
* consecutive stock partitions:
|
||||
* - openwrt_data (25 MiB)
|
||||
* - data (30 MiB)
|
||||
* - fota (99 MiB)
|
||||
*/
|
||||
partition@5fc0000 {
|
||||
label = "rootfs";
|
||||
reg = <0x5fc0000 0x9a00000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&qusb_phy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ssphy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_0 {
|
||||
pinctrl-0 = <&usb_pwr_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mdio {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
qca8081_24: ethernet-phy@24 {
|
||||
compatible = "ethernet-phy-id004d.d101";
|
||||
reg = <24>;
|
||||
reset-deassert-us = <10000>;
|
||||
reset-gpios = <&tlmm 25 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
qca8081_28: ethernet-phy@28 {
|
||||
compatible = "ethernet-phy-id004d.d101";
|
||||
reg = <28>;
|
||||
reset-deassert-us = <10000>;
|
||||
reset-gpios = <&tlmm 44 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
&switch {
|
||||
status = "okay";
|
||||
|
||||
switch_lan_bmp = <ESS_PORT5>; /* lan port bitmap */
|
||||
switch_wan_bmp = <ESS_PORT6>; /* wan port bitmap */
|
||||
switch_mac_mode1 = <MAC_MODE_SGMII_PLUS>; /* mac mode for uniphy instance1*/
|
||||
switch_mac_mode2 = <MAC_MODE_SGMII_PLUS>; /* mac mode for uniphy instance2*/
|
||||
|
||||
qcom,port_phyinfo {
|
||||
port@5 {
|
||||
port_id = <5>;
|
||||
phy_address = <24>;
|
||||
port_mac_sel = "QGMAC_PORT";
|
||||
};
|
||||
port@6 {
|
||||
port_id = <6>;
|
||||
phy_address = <28>;
|
||||
port_mac_sel = "QGMAC_PORT";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&edma {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dp5_syn {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8081_24>;
|
||||
label = "lan";
|
||||
nvmem-cell-names = "mac-address";
|
||||
nvmem-cells = <&macaddr_mac_0 1>;
|
||||
};
|
||||
|
||||
&dp6_syn {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8081_28>;
|
||||
label = "wan";
|
||||
nvmem-cell-names = "mac-address";
|
||||
nvmem-cells = <&macaddr_mac_0 0>;
|
||||
};
|
||||
|
||||
&wifi {
|
||||
status = "okay";
|
||||
|
||||
qcom,ath11k-calibration-variant = "ZTE-MF269";
|
||||
qcom,ath11k-fw-memory-mode = <1>;
|
||||
};
|
||||
@@ -0,0 +1,532 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
/* Copyright (c) 2021, Dirk Buchwalder <buchwalder@posteo.de> */
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "ipq8074.dtsi"
|
||||
#include "ipq8074-hk-cpu.dtsi"
|
||||
#include "ipq8074-ess.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/ {
|
||||
model = "QNAP 301w";
|
||||
compatible = "qnap,301w", "qcom,ipq8074";
|
||||
|
||||
aliases {
|
||||
serial0 = &blsp1_uart5;
|
||||
/*
|
||||
* Aliases as required by u-boot
|
||||
* to patch MAC addresses
|
||||
*/
|
||||
led-boot = &led_system_red;
|
||||
led-failsafe = &led_system_red;
|
||||
led-running = &led_pwr_green;
|
||||
led-upgrade = &led_system_red;
|
||||
ethernet0 = &dp1;
|
||||
ethernet1 = &dp2;
|
||||
ethernet2 = &dp3;
|
||||
ethernet3 = &dp4;
|
||||
ethernet4 = &dp5;
|
||||
ethernet5 = &dp6_syn;
|
||||
label-mac-device = &dp1;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
pinctrl-0 = <&button_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
wps-button {
|
||||
label = "wps";
|
||||
gpios = <&tlmm 57 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_WPS_BUTTON>;
|
||||
};
|
||||
|
||||
reset-button {
|
||||
label = "reset";
|
||||
gpios = <&tlmm 67 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-0 = <&leds_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
led_system_green: led-system-green {
|
||||
gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
};
|
||||
|
||||
led_system_red: led-system-red {
|
||||
gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
};
|
||||
|
||||
led_pwr_green: led-pwr-green {
|
||||
gpios = <&tlmm 4 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_POWER;
|
||||
};
|
||||
|
||||
led-wifi-green {
|
||||
gpios = <&tlmm 42 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_WLAN;
|
||||
};
|
||||
|
||||
led-lan4-green {
|
||||
gpios = <&tlmm 6 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <4>;
|
||||
};
|
||||
|
||||
led-lan4-amber {
|
||||
gpios = <&tlmm 7 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_AMBER>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <4>;
|
||||
};
|
||||
|
||||
led-lan3-green {
|
||||
gpios = <&tlmm 8 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <3>;
|
||||
};
|
||||
|
||||
led-lan3-amber {
|
||||
gpios = <&tlmm 11 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_AMBER>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <3>;
|
||||
};
|
||||
|
||||
led-lan2-green {
|
||||
gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <2>;
|
||||
};
|
||||
|
||||
led-lan2-amber {
|
||||
gpios = <&tlmm 13 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_AMBER>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <2>;
|
||||
};
|
||||
|
||||
led-lan1-green {
|
||||
gpios = <&tlmm 14 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <1>;
|
||||
};
|
||||
|
||||
led-lan1-amber {
|
||||
gpios = <&tlmm 15 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_AMBER>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <1>;
|
||||
};
|
||||
|
||||
led-10g-1-green {
|
||||
gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = "10g";
|
||||
function-enumerator = <1>;
|
||||
};
|
||||
|
||||
led-10g-1-amber {
|
||||
gpios = <&tlmm 56 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_AMBER>;
|
||||
function = "10g";
|
||||
function-enumerator = <1>;
|
||||
};
|
||||
|
||||
led-10g-2-green {
|
||||
gpios = <&tlmm 51 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = "10g";
|
||||
function-enumerator = <2>;
|
||||
};
|
||||
|
||||
led-10g-2-amber {
|
||||
gpios = <&tlmm 52 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_AMBER>;
|
||||
function = "10g";
|
||||
function-enumerator = <2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
|
||||
mdio_pins: mdio-state {
|
||||
mdc-pins {
|
||||
pins = "gpio68";
|
||||
function = "mdc";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mdio-pins {
|
||||
pins = "gpio69";
|
||||
function = "mdio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
button_pins: button-state {
|
||||
wps-pins {
|
||||
pins = "gpio57";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
rst-pins {
|
||||
pins = "gpio67";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
leds_pins: leds-state {
|
||||
pins = "gpio1", "gpio3", "gpio4", "gpio6", "gpio7", "gpio8",
|
||||
"gpio11", "gpio12", "gpio13", "gpio14", "gpio15", "gpio42",
|
||||
"gpio51", "gpio52", "gpio54", "gpio56";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-down;
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_uart5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&prng {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ssphy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qusb_phy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ssphy_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qusb_phy_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cryptobam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&crypto {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qpic_bam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&blsp1_spi1 { /* BLSP1 QUP1 */
|
||||
pinctrl-0 = <&spi_0_pins>;
|
||||
pinctrl-names = "default";
|
||||
cs-gpios = <0>;
|
||||
status = "okay";
|
||||
|
||||
flash@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0>;
|
||||
compatible = "jedec,spi-nor";
|
||||
spi-max-frequency = <50000000>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "0:sbl1";
|
||||
reg = <0x0 0x50000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@50000 {
|
||||
label = "0:mibib";
|
||||
reg = <0x50000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@60000 {
|
||||
label = "0:qsee";
|
||||
reg = <0x60000 0x180000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@1e0000 {
|
||||
label = "0:devcfg";
|
||||
reg = <0x1e0000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@1f0000 {
|
||||
label = "0:apdp";
|
||||
reg = <0x1f0000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@200000 {
|
||||
label = "0:rpm";
|
||||
reg = <0x200000 0x40000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@240000 {
|
||||
label = "0:cdt";
|
||||
reg = <0x240000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@250000 {
|
||||
label = "0:appsblenv";
|
||||
reg = <0x250000 0x20000>;
|
||||
};
|
||||
|
||||
partition@270000 {
|
||||
label = "0:appsbl";
|
||||
reg = <0x250000 0x100000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@370000 {
|
||||
label = "0:art";
|
||||
reg = <0x370000 0x40000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3b0000 {
|
||||
label = "0:ethphyfw1";
|
||||
reg = <0x3b0000 0x80000>;
|
||||
|
||||
compatible = "nvmem-cells";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
aqr0_fw: firmware@0 {
|
||||
reg = <0x0 0x5fc02>;
|
||||
};
|
||||
};
|
||||
|
||||
partition@430000 {
|
||||
label = "0:ethphyfw2";
|
||||
reg = <0x430000 0x80000>;
|
||||
|
||||
compatible = "nvmem-cells";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
aqr1_fw: firmware@0 {
|
||||
reg = <0x0 0x5fc02>;
|
||||
};
|
||||
};
|
||||
|
||||
partition@4b0000 {
|
||||
label = "reserved";
|
||||
reg = <0x4b0000 0x350000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&mdio {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
pinctrl-names = "default";
|
||||
reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
|
||||
|
||||
aqr113c_0: ethernet-phy@0 {
|
||||
compatible ="ethernet-phy-ieee802.3-c45";
|
||||
reg = <0>;
|
||||
reset-gpios = <&tlmm 44 GPIO_ACTIVE_LOW>;
|
||||
firmware-name = "marvell/AQR-G4_v5.4.C-AQR_CIG_WF-1945_0x0_ID44778_VER1630.cld";
|
||||
nvmem-cell-names = "firmware";
|
||||
nvmem-cells = <&aqr0_fw>;
|
||||
};
|
||||
|
||||
aqr113c_8: ethernet-phy@8 {
|
||||
compatible ="ethernet-phy-ieee802.3-c45";
|
||||
reg = <8>;
|
||||
reset-gpios = <&tlmm 59 GPIO_ACTIVE_LOW>;
|
||||
firmware-name = "marvell/AQR-G4_v5.4.C-AQR_CIG_WF-1945_0x8_ID44776_VER1630.cld";
|
||||
nvmem-cell-names = "firmware";
|
||||
nvmem-cells = <&aqr1_fw>;
|
||||
};
|
||||
|
||||
ethernet-phy-package@16 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "qcom,qca8075-package";
|
||||
reg = <16>;
|
||||
|
||||
qcom,package-mode = "qsgmii";
|
||||
|
||||
qca8075_16: ethernet-phy@16 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <16>;
|
||||
};
|
||||
|
||||
qca8075_17: ethernet-phy@17 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <17>;
|
||||
};
|
||||
|
||||
qca8075_18: ethernet-phy@18 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <18>;
|
||||
};
|
||||
|
||||
qca8075_19: ethernet-phy@19 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <19>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&sdhc_1 {
|
||||
status = "okay";
|
||||
|
||||
/* According to the stock dts from the QNAP gpl drop
|
||||
* the emmc has a problem with the hs400 > hs200 speed switch.
|
||||
* Therefore remove the mmc-hs400-1_8v property
|
||||
*/
|
||||
/delete-property/ mmc-hs400-1_8v;
|
||||
mmc-hs200-1_8v;
|
||||
mmc-ddr-1_8v;
|
||||
vqmmc-supply = <&l11>;
|
||||
};
|
||||
|
||||
&switch {
|
||||
status = "okay";
|
||||
|
||||
switch_lan_bmp = <(ESS_PORT1 | ESS_PORT2 | ESS_PORT3 | ESS_PORT4 | ESS_PORT6)>; /* lan port bitmap */
|
||||
switch_wan_bmp = <ESS_PORT5>; /* wan port bitmap */
|
||||
switch_mac_mode = <MAC_MODE_QSGMII>; /* mac mode for uniphy instance0*/
|
||||
switch_mac_mode1 = <MAC_MODE_USXGMII>; /* mac mode for uniphy instance1*/
|
||||
switch_mac_mode2 = <MAC_MODE_USXGMII>; /* mac mode for uniphy instance2*/
|
||||
|
||||
qcom,port_phyinfo {
|
||||
port@0 {
|
||||
port_id = <1>;
|
||||
phy_address = <16>;
|
||||
};
|
||||
port@1 {
|
||||
port_id = <2>;
|
||||
phy_address = <17>;
|
||||
};
|
||||
port@2 {
|
||||
port_id = <3>;
|
||||
phy_address = <18>;
|
||||
};
|
||||
port@3 {
|
||||
port_id = <4>;
|
||||
phy_address = <19>;
|
||||
};
|
||||
port@4 {
|
||||
port_id = <5>;
|
||||
phy_address = <8>;
|
||||
compatible = "ethernet-phy-ieee802.3-c45";
|
||||
ethernet-phy-ieee802.3-c45;
|
||||
};
|
||||
port@5 {
|
||||
port_id = <6>;
|
||||
phy_address = <0>;
|
||||
compatible = "ethernet-phy-ieee802.3-c45";
|
||||
ethernet-phy-ieee802.3-c45;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&edma {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dp1 {
|
||||
status = "okay";
|
||||
phy-mode = "qsgmii";
|
||||
phy-handle = <&qca8075_16>;
|
||||
label = "lan4";
|
||||
};
|
||||
|
||||
&dp2 {
|
||||
status = "okay";
|
||||
phy-mode = "qsgmii";
|
||||
phy-handle = <&qca8075_17>;
|
||||
label = "lan3";
|
||||
};
|
||||
|
||||
&dp3 {
|
||||
status = "okay";
|
||||
phy-mode = "qsgmii";
|
||||
phy-handle = <&qca8075_18>;
|
||||
label = "lan2";
|
||||
};
|
||||
|
||||
&dp4 {
|
||||
status = "okay";
|
||||
phy-mode = "qsgmii";
|
||||
phy-handle = <&qca8075_19>;
|
||||
label = "lan1";
|
||||
};
|
||||
|
||||
&dp5 {
|
||||
status = "okay";
|
||||
qcom,mactype = <1>;
|
||||
phy-mode = "usxgmii";
|
||||
phy-handle = <&aqr113c_8>;
|
||||
label = "10g-1";
|
||||
};
|
||||
|
||||
&dp6_syn {
|
||||
status = "okay";
|
||||
phy-mode = "usxgmii";
|
||||
phy-handle = <&aqr113c_0>;
|
||||
label = "10g-2";
|
||||
};
|
||||
|
||||
&wifi {
|
||||
status = "okay";
|
||||
|
||||
qcom,ath11k-calibration-variant = "QNAP-301w";
|
||||
};
|
||||
@@ -0,0 +1,379 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
/* Copyright (c) 2023, Chukun Pan <amadeus@jmu.edu.cn> */
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "ipq8074.dtsi"
|
||||
#include "ipq8074-hk-cpu.dtsi"
|
||||
#include "ipq8074-ess.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/ {
|
||||
model = "Arcadyan AW1000";
|
||||
compatible = "arcadyan,aw1000", "qcom,ipq8074";
|
||||
|
||||
aliases {
|
||||
led-boot = &led_power;
|
||||
led-failsafe = &led_power;
|
||||
led-running = &led_power;
|
||||
led-upgrade = &led_power;
|
||||
serial0 = &blsp1_uart5;
|
||||
/*
|
||||
* Aliases as required by u-boot
|
||||
* to patch MAC addresses
|
||||
*/
|
||||
ethernet0 = &dp1;
|
||||
ethernet1 = &dp2;
|
||||
ethernet2 = &dp3;
|
||||
ethernet3 = &dp4;
|
||||
ethernet4 = &dp6_syn;
|
||||
label-mac-device = &dp1;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
bootargs-append = " root=/dev/ubiblock0_1";
|
||||
};
|
||||
|
||||
gpio-export {
|
||||
compatible = "gpio-export";
|
||||
|
||||
lte-pwrkey {
|
||||
gpio-export,name = "lte_pwrkey";
|
||||
gpio-export,output = <1>;
|
||||
gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
lte-power {
|
||||
gpio-export,name = "lte_power";
|
||||
gpio-export,output = <1>;
|
||||
gpios = <&tlmm 30 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
lte-reset {
|
||||
gpio-export,name = "lte_reset";
|
||||
gpio-export,output = <1>;
|
||||
gpios = <&tlmm 63 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
wlan {
|
||||
label = "wlan";
|
||||
linux,code = <KEY_WLAN>;
|
||||
gpios = <&tlmm 2 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
wps {
|
||||
label = "wps";
|
||||
linux,code = <KEY_WPS_BUTTON>;
|
||||
gpios = <&tlmm 62 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
linux,code = <KEY_RESTART>;
|
||||
gpios = <&tlmm 67 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
led-spi {
|
||||
compatible = "spi-gpio";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
sck-gpios = <&tlmm 18 GPIO_ACTIVE_HIGH>;
|
||||
mosi-gpios = <&tlmm 19 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
led_gpio: led-gpio@0 {
|
||||
compatible = "fairchild,74hc595";
|
||||
reg = <0>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
registers-number = <2>;
|
||||
spi-max-frequency = <1000000>;
|
||||
enable-gpios = <&tlmm 20 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led_power: power {
|
||||
function = LED_FUNCTION_POWER;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
gpios = <&led_gpio 0 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
wifi {
|
||||
label = "green:wifi";
|
||||
gpios = <&led_gpio 1 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
internet {
|
||||
label = "green:internet";
|
||||
gpios = <&led_gpio 2 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
5g-red {
|
||||
label = "red:5g";
|
||||
gpios = <&led_gpio 3 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
5g-green {
|
||||
label = "green:5g";
|
||||
gpios = <&led_gpio 4 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
5g-blue {
|
||||
label = "blue:5g";
|
||||
gpios = <&led_gpio 5 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
signal-red {
|
||||
label = "red:signal";
|
||||
gpios = <&led_gpio 6 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
signal-green {
|
||||
label = "green:signal";
|
||||
gpios = <&led_gpio 8 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
signal-blue {
|
||||
label = "blue:signal";
|
||||
gpios = <&led_gpio 9 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
phone {
|
||||
label = "green:phone";
|
||||
gpios = <&led_gpio 11 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
usb_vbus: regulator-usb-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "usb_vbus";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpio = <&tlmm 9 GPIO_ACTIVE_LOW>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
mdio_pins: mdio-pins {
|
||||
mdc {
|
||||
pins = "gpio68";
|
||||
function = "mdc";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mdio {
|
||||
pins = "gpio69";
|
||||
function = "mdio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_uart5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cryptobam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&crypto {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&prng {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qpic_bam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qpic_nand {
|
||||
status = "okay";
|
||||
|
||||
nand@0 {
|
||||
reg = <0>;
|
||||
nand-ecc-strength = <8>;
|
||||
nand-ecc-step-size = <512>;
|
||||
nand-bus-width = <8>;
|
||||
|
||||
partitions {
|
||||
compatible = "qcom,smem-part";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&qusb_phy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qusb_phy_1 {
|
||||
status = "okay";
|
||||
|
||||
vdd-supply = <&usb_vbus>;
|
||||
};
|
||||
|
||||
&ssphy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ssphy_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mdio {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
pinctrl-names = "default";
|
||||
reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
|
||||
|
||||
ethernet-phy-package@0 {
|
||||
compatible = "qcom,qca8075-package";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
|
||||
qcom,package-mode = "qsgmii";
|
||||
|
||||
qca8075_0: ethernet-phy@0 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
qca8075_1: ethernet-phy@1 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
qca8075_2: ethernet-phy@2 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <2>;
|
||||
};
|
||||
|
||||
qca8075_3: ethernet-phy@3 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <3>;
|
||||
};
|
||||
};
|
||||
|
||||
qca8081: ethernet-phy@28 {
|
||||
compatible = "ethernet-phy-id004d.d101";
|
||||
reg = <28>;
|
||||
reset-deassert-us = <10000>;
|
||||
reset-gpios = <&tlmm 64 GPIO_ACTIVE_LOW>;
|
||||
|
||||
leds {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
led@2 {
|
||||
reg = <2>;
|
||||
active-low;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
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_PORT6>; /* wan port bitmap */
|
||||
switch_mac_mode = <MAC_MODE_QSGMII>; /* mac mode for uniphy instance0*/
|
||||
switch_mac_mode2 = <MAC_MODE_SGMII_PLUS>; /* mac mode for uniphy instance2*/
|
||||
|
||||
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@6 {
|
||||
port_id = <6>;
|
||||
phy_address = <28>;
|
||||
port_mac_sel = "QGMAC_PORT";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&edma {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dp1 {
|
||||
status = "okay";
|
||||
phy-mode = "qsgmii";
|
||||
phy-handle = <&qca8075_0>;
|
||||
label = "lan1";
|
||||
};
|
||||
|
||||
&dp2 {
|
||||
status = "okay";
|
||||
phy-mode = "qsgmii";
|
||||
phy-handle = <&qca8075_1>;
|
||||
label = "lan2";
|
||||
};
|
||||
|
||||
&dp3 {
|
||||
status = "okay";
|
||||
phy-mode = "qsgmii";
|
||||
phy-handle = <&qca8075_2>;
|
||||
label = "lan3";
|
||||
};
|
||||
|
||||
&dp4 {
|
||||
status = "okay";
|
||||
phy-mode = "qsgmii";
|
||||
phy-handle = <&qca8075_3>;
|
||||
label = "lan4";
|
||||
};
|
||||
|
||||
&dp6_syn {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8081>;
|
||||
label = "wan";
|
||||
};
|
||||
|
||||
&wifi {
|
||||
status = "okay";
|
||||
|
||||
qcom,ath11k-calibration-variant = "Arcadyan-AW1000";
|
||||
};
|
||||
@@ -0,0 +1,391 @@
|
||||
// SPDX-License-Identifier: MIT, GPL-2.0 or later
|
||||
/* Copyright (c) 2023, Ruslan Isaev <legale.legale@gmail.com> */
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "ipq8074.dtsi"
|
||||
#include "ipq8074-hk-cpu.dtsi"
|
||||
#include "ipq8074-ess.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/ {
|
||||
model = "Yuncore AX880";
|
||||
compatible = "yuncore,ax880", "qcom,ipq8074", "qcom,ipq8074-hk09";
|
||||
|
||||
aliases {
|
||||
serial0 = &blsp1_uart5;
|
||||
serial1 = &blsp1_uart3;
|
||||
led-boot = &led_system;
|
||||
led-failsafe = &led_system;
|
||||
led-running = &led_system;
|
||||
led-upgrade = &led_system;
|
||||
/* Aliases as required by u-boot to patch MAC addresses */
|
||||
ethernet0 = &dp5_syn;
|
||||
ethernet1 = &dp6_syn;
|
||||
label-mac-device = &dp5_syn;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
bootargs-append = " root=/dev/ubiblock0_1";
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
pinctrl-0 = <&button_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
gpios = <&tlmm 57 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led_system: system {
|
||||
color = "red";
|
||||
gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
wlan2g {
|
||||
color = "green";
|
||||
linux,default-trigger = "phy0tpt";
|
||||
gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
wlan5g {
|
||||
color = "blue";
|
||||
linux,default-trigger = "phy1tpt";
|
||||
gpios = <&tlmm 9 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
mdio_pins: mdio-pins {
|
||||
mdc {
|
||||
pins = "gpio68";
|
||||
function = "mdc";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mdio {
|
||||
pins = "gpio69";
|
||||
function = "mdio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
button_pins: button_pins {
|
||||
reset_button {
|
||||
pins = "gpio57";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_spi1 {
|
||||
status = "okay";
|
||||
|
||||
flash@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0>;
|
||||
compatible = "jedec,spi-nor";
|
||||
spi-max-frequency = <50000000>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "0:sbl1";
|
||||
reg = <0x0 0x50000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@50000 {
|
||||
label = "0:mibib";
|
||||
reg = <0x50000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@60000 {
|
||||
label = "0:bootconfig";
|
||||
reg = <0x60000 0x20000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@80000 {
|
||||
label = "0:bootconfig1";
|
||||
reg = <0x80000 0x20000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@a0000 {
|
||||
label = "0:qsee_1";
|
||||
reg = <0xa0000 0x180000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@220000 {
|
||||
label = "0:qsee";
|
||||
reg = <0x220000 0x180000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3a0000 {
|
||||
label = "0:devcfg";
|
||||
reg = <0x3a0000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3b0000 {
|
||||
label = "0:devcfg_1";
|
||||
reg = <0x3b0000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3c0000 {
|
||||
label = "0:apdp";
|
||||
reg = <0x3c0000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3d0000 {
|
||||
label = "0:apdp_1";
|
||||
reg = <0x3d0000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3e0000 {
|
||||
label = "0:rpm_1";
|
||||
reg = <0x3e0000 0x40000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@420000 {
|
||||
label = "0:rpm";
|
||||
reg = <0x420000 0x40000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@460000 {
|
||||
label = "0:cdt_1";
|
||||
reg = <0x460000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@470000 {
|
||||
label = "0:cdt";
|
||||
reg = <0x470000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@480000 {
|
||||
compatible = "u-boot,env";
|
||||
label = "0:appsblenv";
|
||||
reg = <0x480000 0x10000>;
|
||||
};
|
||||
|
||||
partition@490000 {
|
||||
label = "0:appsbl_1";
|
||||
reg = <0x490000 0xa0000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@550000 {
|
||||
label = "0:appsbl";
|
||||
reg = <0x530000 0xa0000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@610000 {
|
||||
label = "0:art";
|
||||
reg = <0x5d0000 0x40000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@650000 {
|
||||
label = "0:ethphyfw";
|
||||
reg = <0x610000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
//serial interface
|
||||
&blsp1_uart3 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&blsp1_uart5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&crypto {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cryptobam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&prng {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qpic_bam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qusb_phy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ssphy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_0 {
|
||||
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 = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "rootfs_1";
|
||||
reg = <0x0000000 0x3400000>;
|
||||
};
|
||||
|
||||
partition@3400000 {
|
||||
label = "0:wififw";
|
||||
reg = <0x3400000 0x800000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
rootfs: partition@3c00000 {
|
||||
label = "rootfs";
|
||||
reg = <0x3c00000 0x3400000>;
|
||||
};
|
||||
|
||||
partition@7000000 {
|
||||
label = "0:wififw_1";
|
||||
reg = <0x7000000 0x800000>;
|
||||
read-only;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&mdio {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
qca8081_24: ethernet-phy@24 {
|
||||
compatible = "ethernet-phy-id004d.d101";
|
||||
reg = <24>;
|
||||
reset-deassert-us = <10000>;
|
||||
reset-gpios = <&tlmm 33 GPIO_ACTIVE_LOW>;
|
||||
|
||||
leds {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
led@0 {
|
||||
reg = <0>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_WAN;
|
||||
default-state = "keep";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
qca8081_28: ethernet-phy@28 {
|
||||
compatible = "ethernet-phy-id004d.d101";
|
||||
reg = <28>;
|
||||
reset-deassert-us = <10000>;
|
||||
reset-gpios = <&tlmm 44 GPIO_ACTIVE_LOW>;
|
||||
|
||||
leds {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
led@0 {
|
||||
reg = <0>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
default-state = "keep";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&switch {
|
||||
status = "okay";
|
||||
|
||||
switch_lan_bmp = <ESS_PORT6>; /* lan port bitmap */
|
||||
switch_wan_bmp = <ESS_PORT5>; /* wan port bitmap */
|
||||
switch_mac_mode1 = <MAC_MODE_SGMII_CHANNEL0>; /* mac mode for uniphy instance1*/
|
||||
switch_mac_mode2 = <MAC_MODE_SGMII_CHANNEL0>; /* mac mode for uniphy instance2*/
|
||||
|
||||
qcom,port_phyinfo {
|
||||
port@5 {
|
||||
port_id = <5>;
|
||||
phy_address = <24>;
|
||||
port_mac_sel = "QGMAC_PORT";
|
||||
};
|
||||
port@6 {
|
||||
port_id = <6>;
|
||||
phy_address = <28>;
|
||||
port_mac_sel = "QGMAC_PORT";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&edma {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dp5_syn {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8081_24>;
|
||||
label = "wan";
|
||||
};
|
||||
|
||||
&dp6_syn {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8081_28>;
|
||||
label = "lan";
|
||||
};
|
||||
|
||||
&wifi {
|
||||
status = "okay";
|
||||
qcom,ath11k-calibration-variant = "Yuncore-AX880";
|
||||
};
|
||||
@@ -0,0 +1,588 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
/* Copyright (c) 2021, Robert Marko <robimarko@gmail.com> */
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "ipq8074.dtsi"
|
||||
#include "ipq8074-hk-cpu.dtsi"
|
||||
#include "ipq8074-ess.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/ {
|
||||
model = "Xiaomi AX9000";
|
||||
compatible = "xiaomi,ax9000", "qcom,ipq8074";
|
||||
|
||||
aliases {
|
||||
serial0 = &blsp1_uart5;
|
||||
led-boot = &led_system_yellow;
|
||||
led-failsafe = &led_system_yellow;
|
||||
led-running = &led_system_blue;
|
||||
led-upgrade = &led_system_yellow;
|
||||
label-mac-device = &dp5;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
bootargs-append = " root=/dev/ubiblock0_0";
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
gpios = <&tlmm 47 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
|
||||
wps {
|
||||
label = "wps"; /* Labeled Mesh on the device */
|
||||
gpios = <&tlmm 46 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_WPS_BUTTON>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led_system_blue: system-blue {
|
||||
gpios = <&tlmm 48 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_BLUE>;
|
||||
};
|
||||
|
||||
led_system_yellow: system-yellow {
|
||||
gpios = <&tlmm 52 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_YELLOW>;
|
||||
};
|
||||
|
||||
network-yellow {
|
||||
gpios = <&tlmm 50 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_YELLOW>;
|
||||
};
|
||||
|
||||
network-blue {
|
||||
gpios = <&tlmm 51 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_BLUE>;
|
||||
};
|
||||
|
||||
top-red {
|
||||
gpios = <&tlmm 63 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
default-state = "keep";
|
||||
};
|
||||
|
||||
top-green {
|
||||
gpios = <&tlmm 64 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
default-state = "keep";
|
||||
};
|
||||
|
||||
top-blue {
|
||||
gpios = <&tlmm 66 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_BLUE>;
|
||||
default-state = "keep";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
mdio_pins: mdio-pins {
|
||||
mdc {
|
||||
pins = "gpio68";
|
||||
function = "mdc";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mdio {
|
||||
pins = "gpio69";
|
||||
function = "mdio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
i2c_pins: i2c-pins {
|
||||
pins = "gpio0", "gpio2";
|
||||
function = "blsp5_i2c";
|
||||
drive-strength = <8>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_uart5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&blsp1_i2c6 {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&i2c_pins>;
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
||||
&prng {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cryptobam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&crypto {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qpic_bam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qpic_nand {
|
||||
status = "okay";
|
||||
|
||||
/*
|
||||
* Bootloader will find the NAND DT node by the compatible and
|
||||
* then "fixup" it by adding the partitions from the SMEM table
|
||||
* using the legacy bindings thus making it impossible for us
|
||||
* to change the partition table or utilize NVMEM for calibration.
|
||||
* So add a dummy partitions node that bootloader will populate
|
||||
* and set it as disabled so the kernel ignores it instead of
|
||||
* printing warnings due to the broken way bootloader adds the
|
||||
* partitions.
|
||||
*/
|
||||
partitions {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
nand@0 {
|
||||
reg = <0>;
|
||||
nand-ecc-strength = <4>;
|
||||
nand-ecc-step-size = <512>;
|
||||
nand-bus-width = <8>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "0:sbl1";
|
||||
reg = <0x0 0x100000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@100000 {
|
||||
label = "0:mibib";
|
||||
reg = <0x100000 0x100000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@200000 {
|
||||
label = "0:bootconfig";
|
||||
reg = <0x200000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@280000 {
|
||||
label = "0:bootconfig1";
|
||||
reg = <0x280000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@300000 {
|
||||
label = "0:qsee";
|
||||
reg = <0x300000 0x300000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@600000 {
|
||||
label = "0:qsee_1";
|
||||
reg = <0x600000 0x300000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@900000 {
|
||||
label = "0:devcfg";
|
||||
reg = <0x900000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@980000 {
|
||||
label = "0:devcfg_1";
|
||||
reg = <0x980000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@a00000 {
|
||||
label = "0:apdp";
|
||||
reg = <0xa00000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@a80000 {
|
||||
label = "0:apdp_1";
|
||||
reg = <0xa80000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@b00000 {
|
||||
label = "0:rpm";
|
||||
reg = <0xb00000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@b80000 {
|
||||
label = "0:rpm_1";
|
||||
reg = <0xb80000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@c00000 {
|
||||
label = "0:cdt";
|
||||
reg = <0xc00000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@c80000 {
|
||||
label = "0:cdt_1";
|
||||
reg = <0xc80000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@d00000 {
|
||||
label = "0:appsblenv";
|
||||
reg = <0xd00000 0x80000>;
|
||||
};
|
||||
|
||||
partition@d80000 {
|
||||
label = "0:appsbl";
|
||||
reg = <0xd80000 0x100000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@e80000 {
|
||||
label = "0:appsbl_1";
|
||||
reg = <0xe80000 0x100000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@f80000 {
|
||||
label = "0:art";
|
||||
reg = <0xf80000 0x80000>;
|
||||
read-only;
|
||||
|
||||
nvmem-layout {
|
||||
compatible = "fixed-layout";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
macaddr_dp1: macaddr@0 {
|
||||
reg = <0x0 0x6>;
|
||||
};
|
||||
|
||||
macaddr_dp2: macaddr@6 {
|
||||
reg = <0x6 0x6>;
|
||||
};
|
||||
|
||||
macaddr_dp3: macaddr@c {
|
||||
reg = <0xc 0x6>;
|
||||
};
|
||||
|
||||
macaddr_dp4: macaddr@12 {
|
||||
reg = <0x12 0x6>;
|
||||
};
|
||||
|
||||
macaddr_dp5: macaddr@18 {
|
||||
reg = <0x18 0x6>;
|
||||
};
|
||||
|
||||
caldata_qca9889: caldata@4d000 {
|
||||
reg = <0x4d000 0x844>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
partition@1000000 {
|
||||
label = "bdata";
|
||||
reg = <0x1000000 0x80000>;
|
||||
};
|
||||
|
||||
partition@1080000 {
|
||||
/* This is crash + crash_syslog parts combined */
|
||||
label = "pstore";
|
||||
reg = <0x1080000 0x100000>;
|
||||
};
|
||||
|
||||
partition@1180000 {
|
||||
label = "ubi_kernel";
|
||||
reg = <0x1180000 0x3800000>;
|
||||
};
|
||||
|
||||
partition@4980000 {
|
||||
label = "rootfs";
|
||||
reg = <0x4980000 0xb680000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&qusb_phy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ssphy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mdio {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
pinctrl-names = "default";
|
||||
reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
|
||||
|
||||
ethernet-phy-package@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "qcom,qca8075-package";
|
||||
reg = <0>;
|
||||
|
||||
qcom,package-mode = "qsgmii";
|
||||
|
||||
qca8075_0: ethernet-phy@0 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0>;
|
||||
|
||||
leds {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
led@0 {
|
||||
reg = <0>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
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";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
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";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
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";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
qca8081: ethernet-phy@24 {
|
||||
compatible = "ethernet-phy-id004d.d101";
|
||||
reg = <24>;
|
||||
reset-deassert-us = <10000>;
|
||||
reset-gpios = <&tlmm 44 GPIO_ACTIVE_LOW>;
|
||||
|
||||
leds {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
led@0 {
|
||||
reg = <0>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
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_QSGMII>; /* mac mode for uniphy instance0*/
|
||||
switch_mac_mode1 = <MAC_MODE_SGMII_PLUS>; /* mac mode for uniphy instance1*/
|
||||
|
||||
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 = <24>;
|
||||
port_mac_sel = "QGMAC_PORT";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&edma {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dp1 {
|
||||
status = "okay";
|
||||
phy-mode = "qsgmii";
|
||||
phy-handle = <&qca8075_0>;
|
||||
label = "lan4";
|
||||
nvmem-cells = <&macaddr_dp1>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&dp2 {
|
||||
status = "okay";
|
||||
phy-mode = "qsgmii";
|
||||
phy-handle = <&qca8075_1>;
|
||||
label = "lan3";
|
||||
nvmem-cells = <&macaddr_dp2>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&dp3 {
|
||||
status = "okay";
|
||||
phy-mode = "qsgmii";
|
||||
phy-handle = <&qca8075_2>;
|
||||
label = "lan2";
|
||||
nvmem-cells = <&macaddr_dp3>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&dp4 {
|
||||
status = "okay";
|
||||
phy-mode = "qsgmii";
|
||||
phy-handle = <&qca8075_3>;
|
||||
label = "lan1";
|
||||
nvmem-cells = <&macaddr_dp4>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&dp5 {
|
||||
status = "okay";
|
||||
phy-mode = "sgmii";
|
||||
phy-handle = <&qca8081>;
|
||||
label = "wan";
|
||||
nvmem-cells = <&macaddr_dp5>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&pcie_qmp0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pcie0 {
|
||||
status = "okay";
|
||||
|
||||
perst-gpio = <&tlmm 58 GPIO_ACTIVE_LOW>;
|
||||
|
||||
bridge@0,0 {
|
||||
reg = <0x00000000 0 0 0 0>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
wifi@1,0 {
|
||||
status = "okay";
|
||||
|
||||
/* ath11k has no DT compatible for PCI cards */
|
||||
compatible = "pci17cb,1104";
|
||||
reg = <0x00010000 0 0 0 0>;
|
||||
|
||||
qcom,ath11k-calibration-variant = "Xiaomi-AX9000";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&pcie_qmp1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pcie1 {
|
||||
status = "okay";
|
||||
|
||||
perst-gpio = <&tlmm 62 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
bridge@1,0 {
|
||||
reg = <0x00010000 0 0 0 0>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
wifi@1,0 {
|
||||
status = "okay";
|
||||
|
||||
compatible = "qcom,ath10k";
|
||||
reg = <0x00010000 0 0 0 0>;
|
||||
|
||||
qcom,ath10k-calibration-variant = "Xiaomi-AX9000";
|
||||
nvmem-cell-names = "calibration";
|
||||
nvmem-cells = <&caldata_qca9889>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&wifi {
|
||||
status = "okay";
|
||||
|
||||
qcom,ath11k-calibration-variant = "Xiaomi-AX9000";
|
||||
};
|
||||
@@ -0,0 +1,270 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
/* Copyright (c) 2022, Robert Marko <robimarko@gmail.com> */
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "ipq8074.dtsi"
|
||||
#include "ipq8074-hk-cpu.dtsi"
|
||||
#include "ipq8074-ess.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/ {
|
||||
model = "Dynalink DL-WRX36";
|
||||
compatible = "dynalink,dl-wrx36", "qcom,ipq8074";
|
||||
|
||||
aliases {
|
||||
led-boot = &led_system_red;
|
||||
led-failsafe = &led_system_red;
|
||||
led-running = &led_system_blue;
|
||||
led-upgrade = &led_system_red;
|
||||
serial0 = &blsp1_uart5;
|
||||
/* Aliases as required by u-boot to patch MAC addresses */
|
||||
ethernet0 = &dp6_syn;
|
||||
ethernet1 = &dp4;
|
||||
ethernet2 = &dp3;
|
||||
ethernet3 = &dp2;
|
||||
ethernet4 = &dp1;
|
||||
label-mac-device = &dp6_syn;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
bootargs-append = " root=/dev/ubiblock0_1";
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
gpios = <&tlmm 34 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
|
||||
wps {
|
||||
label = "wps";
|
||||
gpios = <&tlmm 63 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_WPS_BUTTON>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led_system_blue: system-blue {
|
||||
gpios = <&tlmm 26 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_BLUE>;
|
||||
};
|
||||
|
||||
led_system_red: system-red {
|
||||
gpios = <&tlmm 25 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
mdio_pins: mdio-pins {
|
||||
mdc {
|
||||
pins = "gpio68";
|
||||
function = "mdc";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mdio {
|
||||
pins = "gpio69";
|
||||
function = "mdio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_uart5 {
|
||||
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 = <8>;
|
||||
nand-ecc-step-size = <512>;
|
||||
nand-bus-width = <8>;
|
||||
|
||||
partitions {
|
||||
compatible = "qcom,smem-part";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&qusb_phy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ssphy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mdio {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
pinctrl-names = "default";
|
||||
reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
|
||||
|
||||
ethernet-phy-package@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "qcom,qca8075-package";
|
||||
reg = <0>;
|
||||
|
||||
qcom,package-mode = "qsgmii";
|
||||
|
||||
qca8075_0: ethernet-phy@0 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
qca8075_1: ethernet-phy@1 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
qca8075_2: ethernet-phy@2 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <2>;
|
||||
};
|
||||
|
||||
qca8075_3: ethernet-phy@3 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <3>;
|
||||
};
|
||||
};
|
||||
|
||||
qca8081: ethernet-phy@28 {
|
||||
compatible = "ethernet-phy-id004d.d101";
|
||||
reg = <28>;
|
||||
reset-deassert-us = <10000>;
|
||||
reset-gpios = <&tlmm 44 GPIO_ACTIVE_LOW>;
|
||||
|
||||
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_PORT6>; /* wan port bitmap */
|
||||
switch_mac_mode = <MAC_MODE_QSGMII>; /* mac mode for uniphy instance0*/
|
||||
switch_mac_mode2 = <MAC_MODE_SGMII_PLUS>; /* mac mode for uniphy instance2*/
|
||||
|
||||
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@6 {
|
||||
port_id = <6>;
|
||||
phy_address = <28>;
|
||||
port_mac_sel = "QGMAC_PORT";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&edma {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dp1 {
|
||||
status = "okay";
|
||||
phy-mode = "qsgmii";
|
||||
phy-handle = <&qca8075_0>;
|
||||
label = "lan4";
|
||||
};
|
||||
|
||||
&dp2 {
|
||||
status = "okay";
|
||||
phy-mode = "qsgmii";
|
||||
phy-handle = <&qca8075_1>;
|
||||
label = "lan3";
|
||||
};
|
||||
|
||||
&dp3 {
|
||||
status = "okay";
|
||||
phy-mode = "qsgmii";
|
||||
phy-handle = <&qca8075_2>;
|
||||
label = "lan2";
|
||||
};
|
||||
|
||||
&dp4 {
|
||||
status = "okay";
|
||||
phy-mode = "qsgmii";
|
||||
phy-handle = <&qca8075_3>;
|
||||
label = "lan1";
|
||||
};
|
||||
|
||||
&dp6_syn {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8081>;
|
||||
label = "wan";
|
||||
};
|
||||
|
||||
&wifi {
|
||||
status = "okay";
|
||||
qcom,ath11k-calibration-variant = "Dynalink-DL-WRX36";
|
||||
};
|
||||
@@ -0,0 +1,131 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR BSD-2-Clause
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "ipq8074.dtsi"
|
||||
#include "ipq8074-hk-cpu.dtsi"
|
||||
#include "ipq8074-ess.dtsi"
|
||||
#include <dt-bindings/leds/common.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
/ {
|
||||
model = "TP-Link EAP660 HD v1";
|
||||
compatible = "tplink,eap660hd-v1", "qcom,ipq8074";
|
||||
|
||||
aliases {
|
||||
serial0 = &blsp1_uart5;
|
||||
led-boot = &led_status_blue;
|
||||
led-failsafe = &led_status_blue;
|
||||
led-running = &led_status_blue;
|
||||
led-upgrade = &led_status_blue;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0,115200n8";
|
||||
bootargs-append = " root=/dev/ubiblock0_1";
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
gpios = <&tlmm 50 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led_status_blue: status-blue {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
gpios = <&tlmm 42 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_BLUE>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_uart5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
mdio_pins: mdio-pins {
|
||||
mdc {
|
||||
pins = "gpio68";
|
||||
function = "mdc";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mdio {
|
||||
pins = "gpio69";
|
||||
function = "mdio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&mdio {
|
||||
status = "okay";
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
pinctrl-names = "default";
|
||||
reset-gpios = <&tlmm 25 GPIO_ACTIVE_LOW>;
|
||||
|
||||
qca8081_28: ethernet-phy@28 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <28>;
|
||||
};
|
||||
};
|
||||
|
||||
&dp5 {
|
||||
status = "okay";
|
||||
phy-mode = "sgmii";
|
||||
phy-handle = <&qca8081_28>;
|
||||
label = "lan";
|
||||
};
|
||||
|
||||
&switch {
|
||||
status = "okay";
|
||||
switch_lan_bmp = <ESS_PORT5>;
|
||||
switch_mac_mode1 = <MAC_MODE_SGMII_PLUS>;
|
||||
|
||||
qcom,port_phyinfo {
|
||||
port@5 {
|
||||
phy_address = <28>;
|
||||
port_id = <5>;
|
||||
port_mac_sel = "QGMAC_PORT";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&edma {
|
||||
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";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&wifi {
|
||||
status = "okay";
|
||||
qcom,ath11k-calibration-variant = "TP-Link-EAP660-HD-v1";
|
||||
};
|
||||
@@ -0,0 +1,362 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "ipq8074.dtsi"
|
||||
#include "ipq8074-hk-cpu.dtsi"
|
||||
#include "ipq8074-ess.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/ {
|
||||
model = "prpl Foundation Haze";
|
||||
compatible = "prpl,haze", "qcom,ipq8074";
|
||||
|
||||
aliases {
|
||||
serial0 = &blsp1_uart5;
|
||||
/* Aliases are required by U-Boot to patch MAC addresses */
|
||||
ethernet0 = &dp6_syn;
|
||||
ethernet1 = &dp4;
|
||||
ethernet2 = &dp3;
|
||||
ethernet3 = &dp2;
|
||||
label-mac-device = &dp6_syn;
|
||||
led-boot = &led_system_blue;
|
||||
led-failsafe = &led_system_red;
|
||||
led-running = &led_system_green;
|
||||
led-upgrade = &led_system_blue;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
pinctrl-0 = <&button_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
wps-button {
|
||||
label = "wps";
|
||||
gpios = <&tlmm 42 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_WPS_BUTTON>;
|
||||
};
|
||||
|
||||
reset-button {
|
||||
label = "reset";
|
||||
gpios = <&tlmm 44 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
mdio_pins: mdio-state {
|
||||
mdc-pins {
|
||||
pins = "gpio68";
|
||||
function = "mdc";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mdio-pins {
|
||||
pins = "gpio69";
|
||||
function = "mdio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
button_pins: button-state {
|
||||
wps-pins {
|
||||
pins = "gpio42";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
rst-pins {
|
||||
pins = "gpio44";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
i2c_3_pins: i2c-3-state {
|
||||
pins = "gpio46", "gpio47";
|
||||
function = "blsp2_i2c";
|
||||
drive-strength = <8>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_uart5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&prng {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ssphy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qusb_phy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ssphy_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qusb_phy_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cryptobam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&crypto {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qpic_bam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&blsp1_spi1 { /* BLSP1 QUP1 */
|
||||
pinctrl-0 = <&spi_0_pins>;
|
||||
pinctrl-names = "default";
|
||||
cs-gpios = <0>;
|
||||
status = "okay";
|
||||
|
||||
flash@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0>;
|
||||
compatible = "jedec,spi-nor";
|
||||
spi-max-frequency = <50000000>;
|
||||
|
||||
partitions {
|
||||
compatible = "qcom,smem-part";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&mdio {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
pinctrl-names = "default";
|
||||
reset-gpios = <&tlmm 22 GPIO_ACTIVE_LOW>;
|
||||
|
||||
ethernet-phy-package@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "qcom,qca8075-package";
|
||||
reg = <0>;
|
||||
|
||||
qca8075_0: ethernet-phy@0 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
qca8075_1: ethernet-phy@1 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
qca8075_2: ethernet-phy@2 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <2>;
|
||||
};
|
||||
|
||||
qca8075_3: ethernet-phy@3 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <3>;
|
||||
};
|
||||
};
|
||||
|
||||
aqr113c: ethernet-phy@5 {
|
||||
compatible ="ethernet-phy-ieee802.3-c45";
|
||||
reg = <8>;
|
||||
reset-gpios = <&tlmm 43 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
&sdhc_1 {
|
||||
status = "okay";
|
||||
|
||||
vqmmc-supply = <&l11>;
|
||||
};
|
||||
|
||||
&switch {
|
||||
status = "okay";
|
||||
|
||||
switch_lan_bmp = <(ESS_PORT1 | ESS_PORT2 | ESS_PORT3 | ESS_PORT4)>; /* lan port bitmap */
|
||||
switch_wan_bmp = <ESS_PORT6>; /* wan port bitmap */
|
||||
switch_mac_mode = <MAC_MODE_PSGMII>; /* mac mode for uniphy instance0*/
|
||||
switch_mac_mode1 = <MAC_MODE_10GBASE_R>; /* mac mode for uniphy instance1*/
|
||||
switch_mac_mode2 = <MAC_MODE_USXGMII>; /* mac mode for uniphy instance2*/
|
||||
|
||||
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@6 {
|
||||
port_id = <6>;
|
||||
phy_address = <8>;
|
||||
compatible = "ethernet-phy-ieee802.3-c45";
|
||||
ethernet-phy-ieee802.3-c45;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&edma {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Dummy LAN port */
|
||||
&dp1 {
|
||||
status = "disabled";
|
||||
phy-handle = <&qca8075_0>;
|
||||
label = "lan4";
|
||||
};
|
||||
|
||||
&dp2 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8075_1>;
|
||||
label = "lan3";
|
||||
};
|
||||
|
||||
&dp3 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8075_2>;
|
||||
label = "lan2";
|
||||
};
|
||||
|
||||
&dp4 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8075_3>;
|
||||
label = "lan1";
|
||||
};
|
||||
|
||||
&dp6_syn {
|
||||
status = "okay";
|
||||
qcom,mactype = <1>;
|
||||
phy-mode = "usxgmii";
|
||||
phy-handle = <&aqr113c>;
|
||||
label = "wan";
|
||||
};
|
||||
|
||||
&pcie_qmp0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pcie0 {
|
||||
status = "okay";
|
||||
|
||||
perst-gpio = <&tlmm 58 GPIO_ACTIVE_LOW>;
|
||||
|
||||
bridge@0,0 {
|
||||
reg = <0x00020000 0 0 0 0>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
};
|
||||
};
|
||||
|
||||
&pcie_qmp1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pcie1 {
|
||||
status = "okay";
|
||||
|
||||
perst-gpio = <&tlmm 61 GPIO_ACTIVE_LOW>;
|
||||
|
||||
bridge@1,0 {
|
||||
reg = <0x00010000 0 0 0 0>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
wifi@1,0 {
|
||||
status = "okay";
|
||||
|
||||
/* ath11k has no DT compatible for PCI cards */
|
||||
compatible = "pci17cb,1104";
|
||||
reg = <0x00010000 0 0 0 0>;
|
||||
|
||||
qcom,ath11k-calibration-variant = "prpl-Haze";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&wifi {
|
||||
status = "okay";
|
||||
|
||||
qcom,ath11k-calibration-variant = "prpl-Haze";
|
||||
};
|
||||
|
||||
&blsp1_i2c3{
|
||||
pinctrl-0 = <&i2c_3_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
|
||||
led-controller@30 {
|
||||
compatible = "ti,lp5562";
|
||||
reg = <0x30>;
|
||||
clock-mode = /bits/ 8 <2>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
led_system_red: chan@0 {
|
||||
chan-name = "red";
|
||||
led-cur = /bits/ 8 <0x20>;
|
||||
max-cur = /bits/ 8 <0x60>;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
led_system_green: chan@1 {
|
||||
chan-name = "green";
|
||||
led-cur = /bits/ 8 <0x20>;
|
||||
max-cur = /bits/ 8 <0x60>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
led_system_blue: chan@2 {
|
||||
chan-name = "blue";
|
||||
led-cur = /bits/ 8 <0x20>;
|
||||
max-cur = /bits/ 8 <0x60>;
|
||||
color = <LED_COLOR_ID_BLUE>;
|
||||
reg = <2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,548 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "ipq8074.dtsi"
|
||||
#include "ipq8074-hk-cpu.dtsi"
|
||||
#include "ipq8074-ess.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/ {
|
||||
model = "Linksys MX5300";
|
||||
compatible = "linksys,mx5300", "qcom,ipq8074";
|
||||
|
||||
aliases {
|
||||
serial0 = &blsp1_uart5;
|
||||
/*
|
||||
* Aliases as required by u-boot
|
||||
* to patch MAC addresses
|
||||
*/
|
||||
ethernet0 = &dp1;
|
||||
ethernet1 = &dp2;
|
||||
ethernet2 = &dp3;
|
||||
ethernet3 = &dp4;
|
||||
ethernet4 = &dp5;
|
||||
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 rootfstype=squashfs ro";
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
pinctrl-0 = <&button_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
reset-button {
|
||||
label = "reset";
|
||||
gpios = <&tlmm 67 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
|
||||
wps-button {
|
||||
label = "wps";
|
||||
gpios = <&tlmm 54 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_WPS_BUTTON>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
button_pins: button-state {
|
||||
pins = "gpio54", "gpio67";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mdio_pins: mdio-state {
|
||||
mdc-pins {
|
||||
pins = "gpio68";
|
||||
function = "mdc";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mdio-pins {
|
||||
pins = "gpio69";
|
||||
function = "mdio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
* QCA4024 is not currently supported, keep for documentation purposes
|
||||
*spi_3_pins: spi-3-state {
|
||||
* spi-pins {
|
||||
* pins = "gpio50", "gpio52", "gpio53";
|
||||
* function = "blsp3_spi";
|
||||
* drive-strength = <8>;
|
||||
* bias-disable;
|
||||
* };
|
||||
*
|
||||
* cs-pins {
|
||||
* pins = "gpio22";
|
||||
* function = "blsp3_spi2";
|
||||
* drive-strength = <8>;
|
||||
* bias-disable;
|
||||
* };
|
||||
*};
|
||||
*
|
||||
*quartz_pins: quartz-state {
|
||||
* interrupt-pins {
|
||||
* pins = "gpio48";
|
||||
* function = "gpio";
|
||||
* bias-disable;
|
||||
* input;
|
||||
* };
|
||||
*
|
||||
* reset-pins {
|
||||
* pins = "gpio21";
|
||||
* function = "gpio";
|
||||
* bias-disable;
|
||||
* output-high;
|
||||
* };
|
||||
*};
|
||||
*/
|
||||
};
|
||||
|
||||
&blsp1_uart5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&prng {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cryptobam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&crypto {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qpic_bam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qpic_nand {
|
||||
status = "okay";
|
||||
|
||||
/*
|
||||
* Bootloader will find the NAND DT node by the compatible and
|
||||
* then "fixup" it by adding the partitions from the SMEM table
|
||||
* using the legacy bindings thus making it impossible for us
|
||||
* to change the partition table or utilize NVMEM for calibration.
|
||||
* So add a dummy partitions node that bootloader will populate
|
||||
* and set it as disabled so the kernel ignores it instead of
|
||||
* printing warnings due to the broken way bootloader adds the
|
||||
* partitions.
|
||||
*/
|
||||
partitions {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
nand@0 {
|
||||
reg = <0>;
|
||||
nand-ecc-strength = <4>;
|
||||
nand-ecc-step-size = <512>;
|
||||
nand-bus-width = <8>;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "0:sbl1";
|
||||
reg = <0x0 0x100000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@100000 {
|
||||
label = "0:mibib";
|
||||
reg = <0x100000 0x100000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@200000 {
|
||||
label = "0:bootconfig";
|
||||
reg = <0x200000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@280000 {
|
||||
label = "0:bootconfig1";
|
||||
reg = <0x280000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@300000 {
|
||||
label = "0:qsee";
|
||||
reg = <0x300000 0x300000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@600000 {
|
||||
label = "0:qsee_1";
|
||||
reg = <0x600000 0x300000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@900000 {
|
||||
label = "0:devcfg";
|
||||
reg = <0x900000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@980000 {
|
||||
label = "0:devcfg_1";
|
||||
reg = <0x980000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@a00000 {
|
||||
label = "0:apdp";
|
||||
reg = <0xa00000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@a80000 {
|
||||
label = "0:apdp_1";
|
||||
reg = <0xa80000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@b00000 {
|
||||
label = "0:rpm";
|
||||
reg = <0xb00000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@b80000 {
|
||||
label = "0:rpm_1";
|
||||
reg = <0xb80000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@c00000 {
|
||||
label = "0:cdt";
|
||||
reg = <0xc00000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@c80000 {
|
||||
label = "0:cdt_1";
|
||||
reg = <0xc80000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@d00000 {
|
||||
label = "0:appsblenv";
|
||||
reg = <0xd00000 0x80000>;
|
||||
};
|
||||
|
||||
partition@d80000 {
|
||||
label = "0:appsbl";
|
||||
reg = <0xd80000 0x100000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@e80000 {
|
||||
label = "0:appsbl_1";
|
||||
reg = <0xe80000 0x100000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@f80000 {
|
||||
label = "0:art";
|
||||
reg = <0xf80000 0x80000>;
|
||||
read-only;
|
||||
|
||||
nvmem-layout {
|
||||
compatible = "fixed-layout";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
caldata_qca9984: caldata@33000 {
|
||||
reg = <0x33000 0x2f20>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
partition@1000000 {
|
||||
label = "u_env";
|
||||
reg = <0x1000000 0x40000>;
|
||||
};
|
||||
|
||||
partition@1040000 {
|
||||
label = "s_env";
|
||||
reg = <0x1040000 0x20000>;
|
||||
};
|
||||
|
||||
partition@1060000 {
|
||||
label = "devinfo";
|
||||
reg = <0x1060000 0x20000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@1080000 {
|
||||
label = "kernel";
|
||||
reg = <0x1080000 0x9600000>;
|
||||
};
|
||||
|
||||
partition@1680000 {
|
||||
label = "rootfs";
|
||||
reg = <0x1680000 0x9000000>;
|
||||
};
|
||||
|
||||
partition@a680000 {
|
||||
label = "alt_kernel";
|
||||
reg = <0xa680000 0x9600000>;
|
||||
};
|
||||
|
||||
partition@ac80000 {
|
||||
label = "alt_rootfs";
|
||||
reg = <0xac80000 0x9000000>;
|
||||
};
|
||||
|
||||
partition@13c80000 {
|
||||
label = "sysdiag";
|
||||
reg = <0x13c80000 0x200000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@13e80000 {
|
||||
label = "0:ethphyfw";
|
||||
reg = <0x13e80000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@13f00000 {
|
||||
label = "syscfg";
|
||||
reg = <0x13f00000 0xb800000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@1f700000 {
|
||||
label = "0:wififw";
|
||||
reg = <0x1f700000 0x900000>;
|
||||
read-only;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_i2c2 {
|
||||
status = "okay";
|
||||
|
||||
led-controller@62 {
|
||||
compatible = "nxp,pca9633";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x62>;
|
||||
nxp,hw-blink;
|
||||
|
||||
led_system_red: led@0 {
|
||||
reg = <0>;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
};
|
||||
|
||||
led_system_green: led@1 {
|
||||
reg = <1>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
};
|
||||
|
||||
led_system_blue: led@2 {
|
||||
reg = <2>;
|
||||
color = <LED_COLOR_ID_BLUE>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
};
|
||||
};
|
||||
|
||||
rtc@68 {
|
||||
compatible = "dallas,ds1307";
|
||||
reg = <0x68>;
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
* QCA4024 is not currently supported, keep for documentation purposes
|
||||
*&blsp1_spi4 {
|
||||
* status = "okay";
|
||||
*
|
||||
* pinctrl-0 = <&spi_3_pins &quartz_pins>;
|
||||
* pinctrl-names = "default";
|
||||
*
|
||||
* iot@3 {
|
||||
* compatible = "qca,qca4024";
|
||||
* reg = <0>;
|
||||
* spi-max-frequency = <24000000>;
|
||||
* };
|
||||
*};
|
||||
*/
|
||||
|
||||
&mdio {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
pinctrl-names = "default";
|
||||
reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
|
||||
|
||||
ethernet-phy-package@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "qcom,qca8075-package";
|
||||
reg = <0>;
|
||||
|
||||
qca8075_0: ethernet-phy@0 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
qca8075_1: ethernet-phy@1 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
qca8075_2: ethernet-phy@2 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <2>;
|
||||
};
|
||||
|
||||
qca8075_3: ethernet-phy@3 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <3>;
|
||||
};
|
||||
|
||||
qca8075_4: ethernet-phy@4 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <4>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&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";
|
||||
};
|
||||
|
||||
&ssphy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qusb_phy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pcie_qmp1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pcie1 {
|
||||
status = "okay";
|
||||
|
||||
perst-gpio = <&tlmm 58 GPIO_ACTIVE_LOW>;
|
||||
|
||||
bridge@0,0 {
|
||||
reg = <0x00000000 0 0 0 0>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
wifi0: wifi@1,0 {
|
||||
status = "okay";
|
||||
|
||||
compatible = "qcom,ath10k";
|
||||
reg = <0x00010000 0 0 0 0>;
|
||||
|
||||
qcom,ath10k-calibration-variant = "Linksys-MX5300";
|
||||
nvmem-cell-names = "pre-calibration";
|
||||
nvmem-cells = <&caldata_qca9984>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&wifi {
|
||||
status = "okay";
|
||||
|
||||
qcom,ath11k-calibration-variant = "Linksys-MX5300";
|
||||
};
|
||||
@@ -0,0 +1,523 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "ipq8074.dtsi"
|
||||
#include "ipq8074-hk-cpu.dtsi"
|
||||
#include "ipq8074-ess.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/ {
|
||||
model = "Linksys MX8500";
|
||||
compatible = "linksys,mx8500", "qcom,ipq8074";
|
||||
|
||||
aliases {
|
||||
serial0 = &blsp1_uart5;
|
||||
serial1 = &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 rootfstype=squashfs ro";
|
||||
};
|
||||
|
||||
gpio_export {
|
||||
compatible = "gpio-export";
|
||||
#size-cells = <0>;
|
||||
|
||||
bt_pwr {
|
||||
gpio-export,name = "bt_pwr";
|
||||
gpio-export,output = <1>;
|
||||
gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
pinctrl-0 = <&button_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
reset-button {
|
||||
label = "reset";
|
||||
gpios = <&tlmm 67 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
|
||||
wps-button {
|
||||
label = "wps";
|
||||
gpios = <&tlmm 64 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_WPS_BUTTON>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
button_pins: button-state {
|
||||
pins = "gpio64", "gpio67";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mdio_pins: mdio-state {
|
||||
mdc-pins {
|
||||
pins = "gpio68";
|
||||
function = "mdc";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mdio-pins {
|
||||
pins = "gpio69";
|
||||
function = "mdio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_uart3 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&blsp1_uart5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&prng {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cryptobam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&crypto {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qpic_bam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qpic_nand {
|
||||
status = "okay";
|
||||
|
||||
/*
|
||||
* Bootloader will find the NAND DT node by the compatible and
|
||||
* then "fixup" it by adding the partitions from the SMEM table
|
||||
* using the legacy bindings thus making it impossible for us
|
||||
* to change the partition table or utilize NVMEM for calibration.
|
||||
* So add a dummy partitions node that bootloader will populate
|
||||
* and set it as disabled so the kernel ignores it instead of
|
||||
* printing warnings due to the broken way bootloader adds the
|
||||
* partitions.
|
||||
*/
|
||||
partitions {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
nand@0 {
|
||||
reg = <0>;
|
||||
nand-ecc-strength = <4>;
|
||||
nand-ecc-step-size = <512>;
|
||||
nand-bus-width = <8>;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "0:sbl1";
|
||||
reg = <0x0 0x100000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@100000 {
|
||||
label = "0:mibib";
|
||||
reg = <0x100000 0x100000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@200000 {
|
||||
label = "0:bootconfig";
|
||||
reg = <0x200000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@280000 {
|
||||
label = "0:bootconfig1";
|
||||
reg = <0x280000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@300000 {
|
||||
label = "0:qsee";
|
||||
reg = <0x300000 0x300000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@600000 {
|
||||
label = "0:qsee_1";
|
||||
reg = <0x600000 0x300000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@900000 {
|
||||
label = "0:devcfg";
|
||||
reg = <0x900000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@980000 {
|
||||
label = "0:devcfg_1";
|
||||
reg = <0x980000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@a00000 {
|
||||
label = "0:apdp";
|
||||
reg = <0xa00000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@a80000 {
|
||||
label = "0:apdp_1";
|
||||
reg = <0xa80000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@b00000 {
|
||||
label = "0:rpm";
|
||||
reg = <0xb00000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@b80000 {
|
||||
label = "0:rpm_1";
|
||||
reg = <0xb80000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@c00000 {
|
||||
label = "0:cdt";
|
||||
reg = <0xc00000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@c80000 {
|
||||
label = "0:cdt_1";
|
||||
reg = <0xc80000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@d00000 {
|
||||
label = "0:appsblenv";
|
||||
reg = <0xd00000 0x80000>;
|
||||
};
|
||||
|
||||
partition@d80000 {
|
||||
label = "0:appsbl";
|
||||
reg = <0xd80000 0x100000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@e80000 {
|
||||
label = "0:appsbl_1";
|
||||
reg = <0xe80000 0x100000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@f80000 {
|
||||
label = "0:art";
|
||||
reg = <0xf80000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@1000000 {
|
||||
label = "u_env";
|
||||
reg = <0x1000000 0x40000>;
|
||||
};
|
||||
|
||||
partition@1040000 {
|
||||
label = "s_env";
|
||||
reg = <0x1040000 0x20000>;
|
||||
};
|
||||
|
||||
partition@1060000 {
|
||||
label = "devinfo";
|
||||
reg = <0x1060000 0x20000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@1080000 {
|
||||
label = "kernel";
|
||||
reg = <0x1080000 0x9600000>;
|
||||
};
|
||||
|
||||
partition@1680000 {
|
||||
label = "rootfs";
|
||||
reg = <0x1680000 0x9000000>;
|
||||
};
|
||||
|
||||
partition@a680000 {
|
||||
label = "alt_kernel";
|
||||
reg = <0xa680000 0x9600000>;
|
||||
};
|
||||
|
||||
partition@ac80000 {
|
||||
label = "alt_rootfs";
|
||||
reg = <0xac80000 0x9000000>;
|
||||
};
|
||||
|
||||
partition@13c80000 {
|
||||
label = "sysdiag";
|
||||
reg = <0x13c80000 0x200000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@13e80000 {
|
||||
label = "0:ethphyfw";
|
||||
reg = <0x13e80000 0x100000>;
|
||||
read-only;
|
||||
|
||||
nvmem-layout {
|
||||
compatible = "fixed-layout";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
aqr_fw: firmware@0 {
|
||||
/* Skip the QCOM MBN Header of 40 bytes */
|
||||
reg = <0x28 0x60002>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
partition@13f80000 {
|
||||
label = "syscfg";
|
||||
reg = <0x13f80000 0xb180000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@1f100000 {
|
||||
label = "app_data";
|
||||
reg = <0x1f100000 0x500000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@1f600000 {
|
||||
label = "0:wififw";
|
||||
reg = <0x1f600000 0xa00000>;
|
||||
read-only;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_i2c2 {
|
||||
status = "okay";
|
||||
|
||||
led-controller@62 {
|
||||
compatible = "nxp,pca9633";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x62>;
|
||||
nxp,hw-blink;
|
||||
|
||||
led_system_red: led@0 {
|
||||
reg = <0>;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
};
|
||||
|
||||
led_system_green: led@1 {
|
||||
reg = <1>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
};
|
||||
|
||||
led_system_blue: led@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 37 GPIO_ACTIVE_LOW>;
|
||||
|
||||
ethernet-phy-package@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "qcom,qca8075-package";
|
||||
reg = <0>;
|
||||
|
||||
qcom,package-mode = "qsgmii";
|
||||
|
||||
qca8075_0: ethernet-phy@0 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
qca8075_1: ethernet-phy@1 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
qca8075_2: ethernet-phy@2 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <2>;
|
||||
};
|
||||
|
||||
qca8075_3: ethernet-phy@3 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <3>;
|
||||
};
|
||||
};
|
||||
|
||||
aqr114c: ethernet-phy@8 {
|
||||
compatible = "ethernet-phy-ieee802.3-c45";
|
||||
reg = <8>;
|
||||
reset-gpios = <&tlmm 44 GPIO_ACTIVE_LOW>;
|
||||
firmware-name = "marvell/AQR-G4_v5.6.5-AQR_WNC_SAQA-L2_GT_ID45287_VER24005.cld";
|
||||
nvmem-cells = <&aqr_fw>;
|
||||
nvmem-cell-names = "firmware";
|
||||
};
|
||||
};
|
||||
|
||||
&switch {
|
||||
status = "okay";
|
||||
|
||||
switch_lan_bmp = <(ESS_PORT1 | ESS_PORT2 | ESS_PORT3 | ESS_PORT4)>; /* lan port bitmap */
|
||||
switch_wan_bmp = <ESS_PORT6>; /* wan port bitmap */
|
||||
switch_mac_mode = <MAC_MODE_QSGMII>; /* mac mode for uniphy instance0*/
|
||||
switch_mac_mode2 = <MAC_MODE_USXGMII>; /* mac mode for uniphy instance2*/
|
||||
|
||||
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@6 {
|
||||
port_id = <6>;
|
||||
phy_address = <8>;
|
||||
compatible = "ethernet-phy-ieee802.3-c45";
|
||||
ethernet-phy-ieee802.3-c45;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&edma {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dp1 {
|
||||
status = "okay";
|
||||
phy-mode = "qsgmii";
|
||||
phy-handle = <&qca8075_0>;
|
||||
label = "lan1";
|
||||
};
|
||||
|
||||
&dp2 {
|
||||
status = "okay";
|
||||
phy-mode = "qsgmii";
|
||||
phy-handle = <&qca8075_1>;
|
||||
label = "lan2";
|
||||
};
|
||||
|
||||
&dp3 {
|
||||
status = "okay";
|
||||
phy-mode = "qsgmii";
|
||||
phy-handle = <&qca8075_2>;
|
||||
label = "lan3";
|
||||
};
|
||||
|
||||
&dp4 {
|
||||
status = "okay";
|
||||
phy-mode = "qsgmii";
|
||||
phy-handle = <&qca8075_3>;
|
||||
label = "lan4";
|
||||
};
|
||||
|
||||
&dp6_syn {
|
||||
status = "okay";
|
||||
phy-mode = "usxgmii";
|
||||
phy-handle = <&aqr114c>;
|
||||
label = "wan";
|
||||
};
|
||||
|
||||
&ssphy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qusb_phy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pcie_qmp0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pcie0 {
|
||||
status = "okay";
|
||||
|
||||
perst-gpio = <&tlmm 61 GPIO_ACTIVE_LOW>;
|
||||
|
||||
bridge@0,0 {
|
||||
reg = <0x00000000 0 0 0 0>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
wifi@1,0 {
|
||||
status = "okay";
|
||||
|
||||
/* ath11k has no DT compatible for PCI cards */
|
||||
compatible = "pci17cb,1104";
|
||||
reg = <0x00010000 0 0 0 0>;
|
||||
|
||||
qcom,ath11k-calibration-variant = "Linksys-MX8500";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&wifi {
|
||||
status = "okay";
|
||||
|
||||
qcom,ath11k-calibration-variant = "Linksys-MX8500";
|
||||
};
|
||||
@@ -0,0 +1,220 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "ipq8074.dtsi"
|
||||
#include "ipq8074-hk-cpu.dtsi"
|
||||
#include "ipq8074-ess.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/ {
|
||||
model = "Spectrum SAX1V1K";
|
||||
compatible = "spectrum,sax1v1k", "qcom,ipq8074";
|
||||
|
||||
aliases {
|
||||
led-boot = &led_system_red;
|
||||
led-failsafe = &led_system_red;
|
||||
led-running = &led_system_blue;
|
||||
led-upgrade = &led_system_red;
|
||||
serial0 = &blsp1_uart5;
|
||||
/* Aliases as required by u-boot to patch MAC addresses */
|
||||
ethernet0 = &dp6_syn;
|
||||
ethernet1 = &dp4;
|
||||
ethernet2 = &dp3;
|
||||
ethernet3 = &dp2;
|
||||
label-mac-device = &dp6_syn;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
gpios = <&tlmm 34 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
|
||||
wps {
|
||||
label = "wps";
|
||||
gpios = <&tlmm 63 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_WPS_BUTTON>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led_system_blue: system-blue {
|
||||
gpios = <&tlmm 26 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_BLUE>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
};
|
||||
|
||||
led_system_red: system-red {
|
||||
gpios = <&tlmm 25 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
mdio_pins: mdio-pins {
|
||||
mdc {
|
||||
pins = "gpio68";
|
||||
function = "mdc";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mdio {
|
||||
pins = "gpio69";
|
||||
function = "mdio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_uart5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&prng {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cryptobam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&crypto {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qpic_bam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mdio {
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
pinctrl-names = "default";
|
||||
reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
|
||||
status = "okay";
|
||||
|
||||
ethernet-phy-package@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "qcom,qca8075-package";
|
||||
reg = <0>;
|
||||
|
||||
qcom,package-mode = "qsgmii";
|
||||
|
||||
qca8075_1: ethernet-phy@1 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
qca8075_2: ethernet-phy@2 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <2>;
|
||||
};
|
||||
|
||||
qca8075_3: ethernet-phy@3 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <3>;
|
||||
};
|
||||
};
|
||||
|
||||
qca8081: ethernet-phy@28 {
|
||||
compatible = "ethernet-phy-id004d.d101";
|
||||
reg = <28>;
|
||||
reset-gpios = <&tlmm 44 GPIO_ACTIVE_LOW>;
|
||||
reset-deassert-us = <10000>;
|
||||
};
|
||||
};
|
||||
|
||||
&sdhc_1 {
|
||||
/* Following same rule as QNAP 301W
|
||||
* the emmc has a problem with the hs400 > hs200 speed switch.
|
||||
* Therefore remove the mmc-hs400-1_8v property
|
||||
*/
|
||||
/delete-property/ mmc-hs400-1_8v;
|
||||
mmc-hs200-1_8v;
|
||||
mmc-ddr-1_8v;
|
||||
vqmmc-supply = <&l11>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&switch {
|
||||
switch_lan_bmp = <(ESS_PORT2 | ESS_PORT3 | ESS_PORT4)>; /* lan port bitmap */
|
||||
switch_wan_bmp = <ESS_PORT6>; /* wan port bitmap */
|
||||
switch_mac_mode = <MAC_MODE_QSGMII>; /* mac mode for uniphy instance0*/
|
||||
switch_mac_mode2 = <MAC_MODE_SGMII_PLUS>; /* mac mode for uniphy instance2*/
|
||||
status = "okay";
|
||||
|
||||
qcom,port_phyinfo {
|
||||
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@6 {
|
||||
port_id = <6>;
|
||||
phy_address = <28>;
|
||||
port_mac_sel = "QGMAC_PORT";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&edma {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dp2 {
|
||||
phy-mode = "qsgmii";
|
||||
phy-handle = <&qca8075_1>;
|
||||
label = "lan3";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dp3 {
|
||||
phy-mode = "qsgmii";
|
||||
phy-handle = <&qca8075_2>;
|
||||
label = "lan2";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dp4 {
|
||||
phy-mode = "qsgmii";
|
||||
phy-handle = <&qca8075_3>;
|
||||
label = "lan1";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dp6_syn {
|
||||
phy-handle = <&qca8081>;
|
||||
label = "wan";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&wifi {
|
||||
qcom,ath11k-calibration-variant = "Spectrum-SAX1V1K";
|
||||
status = "okay";
|
||||
};
|
||||
@@ -0,0 +1,189 @@
|
||||
/dts-v1/;
|
||||
|
||||
#include "ipq8074.dtsi"
|
||||
#include "ipq8074-hk-cpu.dtsi"
|
||||
#include "ipq8074-ess.dtsi"
|
||||
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
/ {
|
||||
model = "Netgear WAX218";
|
||||
compatible = "netgear,wax218", "qcom,ipq8074";
|
||||
|
||||
aliases {
|
||||
serial0 = &blsp1_uart5;
|
||||
led-boot = &led_power_amber;
|
||||
led-failsafe = &led_power_amber;
|
||||
led-running = &led_power_amber;
|
||||
led-upgrade = &led_power_amber;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
/*
|
||||
* Netgear's U-Boot adds "ubi.mtd=rootfs root=mtd:ubi_rootfs"
|
||||
* That fails to create a UBI block device, so add it here.
|
||||
*/
|
||||
bootargs-append = " ubi.block=0,rootfs root=/dev/ubiblock0_1";
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
gpios = <&tlmm 52 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
};
|
||||
|
||||
led_spi {
|
||||
compatible = "spi-gpio";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
sck-gpios = <&tlmm 18 GPIO_ACTIVE_HIGH>;
|
||||
mosi-gpios = <&tlmm 19 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
led_gpio: led_gpio@0 {
|
||||
compatible = "fairchild,74hc595";
|
||||
reg = <0>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
registers-number = <1>;
|
||||
enable-gpios = <&tlmm 20 GPIO_ACTIVE_HIGH>;
|
||||
spi-max-frequency = <1000000>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led_power_amber: led_power {
|
||||
function = LED_FUNCTION_POWER;
|
||||
color = <LED_COLOR_ID_AMBER>;
|
||||
gpios = <&led_gpio 1 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
led_lan {
|
||||
function = LED_FUNCTION_LAN;
|
||||
color = <LED_COLOR_ID_BLUE>;
|
||||
gpios = <&led_gpio 2 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
led_wlan_2g {
|
||||
label = "blue:wlan2g";
|
||||
gpios = <&led_gpio 3 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
led_wlan_5g {
|
||||
label = "blue:wlan5g";
|
||||
gpios = <&led_gpio 4 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&edma {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&switch {
|
||||
status = "okay";
|
||||
|
||||
switch_lan_bmp = <ESS_PORT6>;
|
||||
switch_mac_mode = <MAC_MODE_PSGMII>;
|
||||
switch_mac_mode2 = <MAC_MODE_SGMII_CHANNEL0>;
|
||||
|
||||
qcom,port_phyinfo {
|
||||
port@6 {
|
||||
port_id = <6>;
|
||||
phy_address = <28>;
|
||||
port_mac_sel = "QGMAC_PORT";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
mdio_pins: mdio-pins {
|
||||
mdc {
|
||||
pins = "gpio68";
|
||||
function = "mdc";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mdio {
|
||||
pins = "gpio69";
|
||||
function = "mdio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&mdio {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
pinctrl-names = "default";
|
||||
reset-gpios = <&tlmm 44 GPIO_ACTIVE_LOW>;
|
||||
|
||||
qca8081_28: ethernet-phy@28 {
|
||||
reg = <28>;
|
||||
};
|
||||
};
|
||||
|
||||
&dp6_syn {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8081_28>;
|
||||
label = "lan";
|
||||
nvmem-cells = <&macaddr_ubootenv_ethaddr>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&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";
|
||||
|
||||
partition-0-appsblenv {
|
||||
compatible = "fixed-partitions";
|
||||
label = "0:appsblenv";
|
||||
read-only;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
compatible = "u-boot,env";
|
||||
label = "env-data";
|
||||
reg = <0x0 0x40000>;
|
||||
|
||||
macaddr_ubootenv_ethaddr: ethaddr {};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_uart5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&wifi {
|
||||
status = "okay";
|
||||
|
||||
qcom,ath11k-calibration-variant = "Netgear-WAX218";
|
||||
};
|
||||
@@ -0,0 +1,197 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "ipq8074.dtsi"
|
||||
#include "ipq8074-hk-cpu.dtsi"
|
||||
#include "ipq8074-ess.dtsi"
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
/ {
|
||||
model = "Netgear WAX620";
|
||||
compatible = "netgear,wax620", "qcom,ipq8074";
|
||||
|
||||
aliases {
|
||||
serial0 = &blsp1_uart5;
|
||||
ethernet0 = &dp6;
|
||||
label-mac-device = &dp6;
|
||||
|
||||
led-boot = &led_system_blue;
|
||||
led-failsafe = &led_system_red;
|
||||
led-running = &led_system_green;
|
||||
led-upgrade = &led_system_blue;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
/*
|
||||
* Netgear's U-Boot adds "ubi.mtd=rootfs root=mtd:ubi_rootfs"
|
||||
* That fails to create a UBI block device, so add it here.
|
||||
*/
|
||||
bootargs-append = " root=/dev/ubiblock0_1";
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
gpios = <&tlmm 52 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
};
|
||||
|
||||
led_spi {
|
||||
compatible = "spi-gpio";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
sck-gpios = <&tlmm 18 GPIO_ACTIVE_HIGH>;
|
||||
mosi-gpios = <&tlmm 19 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
led_gpio: led_gpio@0 {
|
||||
compatible = "fairchild,74hc595";
|
||||
reg = <0>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
registers-number = <1>;
|
||||
enable-gpios = <&tlmm 20 GPIO_ACTIVE_HIGH>;
|
||||
spi-max-frequency = <1000000>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led_system_red: system-red {
|
||||
label = "system:red";
|
||||
gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
led_system_green: system-green {
|
||||
label = "system:green";
|
||||
gpios = <&tlmm 55 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
led_system_blue: system-blue {
|
||||
label = "system:blue";
|
||||
gpios = <&tlmm 56 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
led_lan_g {
|
||||
label = "lan:green";
|
||||
gpios = <&led_gpio 0 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
led_lan_o {
|
||||
label = "lan:orange";
|
||||
gpios = <&led_gpio 1 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
led_2g_b {
|
||||
label = "wlan2g:blue";
|
||||
gpios = <&led_gpio 2 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
led_2g_g {
|
||||
label = "wlan2g:green";
|
||||
gpios = <&led_gpio 3 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
led_5g_b {
|
||||
label = "wlan5g:blue";
|
||||
gpios = <&led_gpio 4 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
led_5g_g {
|
||||
label = "wlan5g:green";
|
||||
gpios = <&led_gpio 5 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&edma {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&switch {
|
||||
status = "okay";
|
||||
|
||||
switch_lan_bmp = <ESS_PORT6>;
|
||||
switch_mac_mode = <MAC_MODE_PSGMII>;
|
||||
switch_mac_mode2 = <MAC_MODE_SGMII_CHANNEL0>;
|
||||
|
||||
qcom,port_phyinfo {
|
||||
port@6 {
|
||||
port_id = <6>;
|
||||
phy_address = <28>;
|
||||
port_mac_sel = "QGMAC_PORT";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
mdio_pins: mdio-pins {
|
||||
mdc {
|
||||
pins = "gpio68";
|
||||
function = "mdc";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mdio {
|
||||
pins = "gpio69";
|
||||
function = "mdio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&mdio {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
pinctrl-names = "default";
|
||||
reset-gpios = <&tlmm 44 GPIO_ACTIVE_LOW>;
|
||||
|
||||
qca8081_28: ethernet-phy@28 {
|
||||
reg = <28>;
|
||||
};
|
||||
};
|
||||
|
||||
&dp6 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8081_28>;
|
||||
label = "lan";
|
||||
};
|
||||
|
||||
&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_uart5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&wifi {
|
||||
status = "okay";
|
||||
|
||||
qcom,ath11k-calibration-variant = "Netgear-WAX620";
|
||||
};
|
||||
@@ -0,0 +1,484 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
/* Copyright 2023 Nokia */
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "ipq8074.dtsi"
|
||||
#include "ipq8074-hk-cpu.dtsi"
|
||||
#include "ipq8074-ess.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/ {
|
||||
model = "Compex WPQ873";
|
||||
compatible = "compex,wpq873", "qcom,ipq8074";
|
||||
|
||||
aliases {
|
||||
serial0 = &blsp1_uart5;
|
||||
led-boot = &led_power_blue;
|
||||
led-failsafe = &led_power_red;
|
||||
led-running = &led_system_green;
|
||||
led-upgrade = &led_system_blue;
|
||||
/* Aliases as required by u-boot to patch MAC addresses */
|
||||
ethernet0 = &dp6;
|
||||
ethernet1 = &dp2;
|
||||
ethernet2 = &dp3;
|
||||
ethernet3 = &dp4;
|
||||
label-mac-device = &dp6;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
bootargs-append = " root=/dev/ubiblock0_1";
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
gpios = <&tlmm 21 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led_power_red: power-red {
|
||||
gpios = <&tlmm 42 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
};
|
||||
|
||||
led_power_blue: power-blue {
|
||||
gpios = <&tlmm 43 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_BLUE>;
|
||||
};
|
||||
|
||||
led_system_red: system-red {
|
||||
gpios = <&tlmm 28 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
};
|
||||
|
||||
led_system_green: system-green {
|
||||
gpios = <&tlmm 18 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
};
|
||||
|
||||
led_system_blue: system-blue {
|
||||
gpios = <&tlmm 19 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_BLUE>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
mdio_pins: mdio-pins {
|
||||
mdc {
|
||||
pins = "gpio68";
|
||||
function = "mdc";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mdio {
|
||||
pins = "gpio69";
|
||||
function = "mdio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
i2c_pins: i2c-pins {
|
||||
pins = "gpio0", "gpio2";
|
||||
function = "blsp5_i2c";
|
||||
drive-strength = <8>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_uart5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&blsp1_i2c6 {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&i2c_pins>;
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
||||
&prng {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cryptobam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&crypto {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qpic_bam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&blsp1_spi1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
mdio_pins: mdio-pins {
|
||||
mdc {
|
||||
pins = "gpio68";
|
||||
function = "mdc";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mdio {
|
||||
pins = "gpio69";
|
||||
function = "mdio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
button_pins: button_pins {
|
||||
reset_button {
|
||||
pins = "gpio66";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_spi1 {
|
||||
status = "okay";
|
||||
|
||||
flash@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0>;
|
||||
compatible = "jedec,spi-nor";
|
||||
spi-max-frequency = <50000000>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "0:sbl1";
|
||||
reg = <0x0 0x50000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@50000 {
|
||||
label = "0:mibib";
|
||||
reg = <0x50000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@60000 {
|
||||
label = "0:bootconfig";
|
||||
reg = <0x60000 0x20000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@80000 {
|
||||
label = "0:bootconfig1";
|
||||
reg = <0x80000 0x20000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@a0000 {
|
||||
label = "0:qsee";
|
||||
reg = <0xa0000 0x180000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@220000 {
|
||||
label = "0:qsee_1";
|
||||
reg = <0x220000 0x180000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3a0000 {
|
||||
label = "0:devcfg";
|
||||
reg = <0x3a0000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3b0000 {
|
||||
label = "0:devcfg_1";
|
||||
reg = <0x3b0000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3c0000 {
|
||||
label = "0:apdp";
|
||||
reg = <0x3c0000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3d0000 {
|
||||
label = "0:apdp_1";
|
||||
reg = <0x3d0000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3e0000 {
|
||||
label = "0:rpm";
|
||||
reg = <0x3e0000 0x40000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@420000 {
|
||||
label = "0:rpm_1";
|
||||
reg = <0x420000 0x40000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@460000 {
|
||||
label = "0:cdt";
|
||||
reg = <0x460000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@470000 {
|
||||
label = "0:cdt_1";
|
||||
reg = <0x470000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@480000 {
|
||||
label = "0:appsblenv";
|
||||
reg = <0x480000 0x10000>;
|
||||
};
|
||||
|
||||
partition@490000 {
|
||||
label = "0:appsbl";
|
||||
reg = <0x490000 0xa0000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@550000 {
|
||||
label = "0:appsbl_1";
|
||||
reg = <0x530000 0xa0000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@610000 {
|
||||
label = "0:art";
|
||||
reg = <0x5d0000 0x40000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@650000 {
|
||||
label = "0:ethphyfw";
|
||||
reg = <0x610000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&qpic_nand {
|
||||
status = "okay";
|
||||
|
||||
nand@0 {
|
||||
reg = <0>;
|
||||
nand-ecc-strength = <8>;
|
||||
nand-ecc-step-size = <512>;
|
||||
nand-bus-width = <8>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "rootfs";
|
||||
reg = <0x0000000 0x3400000>;
|
||||
};
|
||||
|
||||
partition@3400000 {
|
||||
label = "0:wififw";
|
||||
reg = <0x3400000 0x800000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3c00000 {
|
||||
label = "rootfs_1";
|
||||
reg = <0x3c00000 0x3400000>;
|
||||
};
|
||||
|
||||
partition@7000000 {
|
||||
label = "0:wififw_1";
|
||||
reg = <0x7000000 0x800000>;
|
||||
read-only;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&qusb_phy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qusb_phy_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ssphy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ssphy_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mdio {
|
||||
status = "okay";
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
pinctrl-names = "default";
|
||||
reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
|
||||
|
||||
ethernet-phy-package@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "qcom,qca8075-package";
|
||||
reg = <0>;
|
||||
|
||||
qca8075_1: ethernet-phy@1 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
qca8075_2: ethernet-phy@2 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <2>;
|
||||
};
|
||||
|
||||
qca8075_3: ethernet-phy@3 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <3>;
|
||||
};
|
||||
};
|
||||
|
||||
qca8081: ethernet-phy@28 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <28>;
|
||||
reset-gpios = <&tlmm 44 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
&switch {
|
||||
status = "okay";
|
||||
|
||||
switch_lan_bmp = <(ESS_PORT2 | ESS_PORT3 | ESS_PORT4)>; /* lan port bitmap */
|
||||
switch_wan_bmp = <ESS_PORT6>; /* wan port bitmap */
|
||||
switch_mac_mode = <MAC_MODE_PSGMII>; /* mac mode for uniphy instance0*/
|
||||
switch_mac_mode1 = <MAC_MODE_SGMII_CHANNEL0>; /* mac mode for uniphy instance1*/
|
||||
switch_mac_mode2 = <MAC_MODE_SGMII_CHANNEL0>; /* mac mode for uniphy instance2*/
|
||||
|
||||
qcom,port_phyinfo {
|
||||
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@6 {
|
||||
port_id = <6>;
|
||||
phy_address = <28>;
|
||||
port_mac_sel = "QGMAC_PORT";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&edma {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dp2 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8075_1>;
|
||||
label = "lan1";
|
||||
};
|
||||
|
||||
&dp3 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8075_2>;
|
||||
label = "lan2";
|
||||
};
|
||||
|
||||
&dp4 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8075_3>;
|
||||
label = "lan3";
|
||||
};
|
||||
|
||||
&dp6 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8081>;
|
||||
label = "wan";
|
||||
};
|
||||
|
||||
&pcie_qmp0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pcie0 {
|
||||
status = "okay";
|
||||
|
||||
perst-gpio = <&tlmm 58 GPIO_ACTIVE_LOW>;
|
||||
|
||||
bridge@0,0 {
|
||||
reg = <0x00020000 0 0 0 0>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
};
|
||||
};
|
||||
|
||||
&pcie_qmp1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pcie1 {
|
||||
status = "okay";
|
||||
|
||||
perst-gpio = <&tlmm 62 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
bridge@1,0 {
|
||||
reg = <0x00010000 0 0 0 0>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
};
|
||||
};
|
||||
|
||||
&wifi {
|
||||
status = "okay";
|
||||
|
||||
qcom,ath11k-calibration-variant = "Compex-WPQ873";
|
||||
};
|
||||
@@ -0,0 +1,452 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "ipq8074.dtsi"
|
||||
#include "ipq8074-hk-cpu.dtsi"
|
||||
#include "ipq8074-ess.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/ {
|
||||
model = "Zbtlink ZBT-Z800AX";
|
||||
compatible = "zbtlink,zbt-z800ax", "qcom,ipq8074";
|
||||
|
||||
aliases {
|
||||
led-boot = &led_net;
|
||||
led-failsafe = &led_net;
|
||||
led-upgrade = &led_net;
|
||||
serial0 = &blsp1_uart5;
|
||||
/*
|
||||
* Aliases as required by u-boot
|
||||
* to patch MAC addresses
|
||||
*/
|
||||
ethernet0 = &dp1;
|
||||
ethernet1 = &dp2;
|
||||
ethernet2 = &dp3;
|
||||
ethernet3 = &dp4;
|
||||
ethernet4 = &dp5;
|
||||
label-mac-device = &dp1;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
bootargs-append = " root=/dev/ubiblock0_1";
|
||||
};
|
||||
|
||||
gpio-export {
|
||||
compatible = "gpio-export";
|
||||
|
||||
lte-power {
|
||||
gpio-export,name = "lte_power";
|
||||
gpio-export,output = <1>;
|
||||
gpios = <&tlmm 55 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
pinctrl-0 = <&button_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
linux,code = <KEY_RESTART>;
|
||||
gpios = <&tlmm 34 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
wps {
|
||||
label = "wps";
|
||||
linux,code = <KEY_WPS_BUTTON>;
|
||||
gpios = <&tlmm 46 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led_net: net {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_WAN_ONLINE;
|
||||
gpios = <&tlmm 22 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
module {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_MOBILE;
|
||||
gpios = <&tlmm 30 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
wlan2g {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_WLAN_2GHZ;
|
||||
gpios = <&tlmm 42 GPIO_ACTIVE_HIGH>;
|
||||
linux,default-trigger = "phy1radio";
|
||||
};
|
||||
|
||||
wlan5g {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_WLAN_5GHZ;
|
||||
gpios = <&tlmm 43 GPIO_ACTIVE_HIGH>;
|
||||
linux,default-trigger = "phy0radio";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
button_pins: button-pins {
|
||||
mux {
|
||||
pins = "gpio34", "gpio46";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
mdio_pins: mdio-pins {
|
||||
mdc {
|
||||
pins = "gpio68";
|
||||
function = "mdc";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mdio {
|
||||
pins = "gpio69";
|
||||
function = "mdio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_spi1 {
|
||||
pinctrl-0 = <&spi_0_pins>;
|
||||
pinctrl-names = "default";
|
||||
cs-select = <0>;
|
||||
status = "okay";
|
||||
|
||||
flash@0 {
|
||||
compatible = "jedec,spi-nor";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0>;
|
||||
spi-max-frequency = <50000000>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "0:sbl1";
|
||||
reg = <0x0 0x50000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@50000 {
|
||||
label = "0:mibib";
|
||||
reg = <0x50000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@60000 {
|
||||
label = "0:bootconfig";
|
||||
reg = <0x60000 0x20000>;
|
||||
};
|
||||
|
||||
partition@80000 {
|
||||
label = "0:bootconfig1";
|
||||
reg = <0x80000 0x20000>;
|
||||
};
|
||||
|
||||
partition@a0000 {
|
||||
label = "0:qsee";
|
||||
reg = <0xa0000 0x180000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@220000 {
|
||||
label = "0:qsee_1";
|
||||
reg = <0x220000 0x180000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3a0000 {
|
||||
label = "0:devcfg";
|
||||
reg = <0x3a0000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3b0000 {
|
||||
label = "0:devcfg_1";
|
||||
reg = <0x3b0000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3c0000 {
|
||||
label = "0:apdp";
|
||||
reg = <0x3c0000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3d0000 {
|
||||
label = "0:apdp_1";
|
||||
reg = <0x3d0000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3e0000 {
|
||||
label = "0:rpm";
|
||||
reg = <0x3e0000 0x40000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@420000 {
|
||||
label = "0:rpm_1";
|
||||
reg = <0x420000 0x40000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@460000 {
|
||||
label = "0:cdt";
|
||||
reg = <0x460000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@470000 {
|
||||
label = "0:cdt_1";
|
||||
reg = <0x470000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@480000 {
|
||||
label = "0:appsblenv";
|
||||
reg = <0x480000 0x10000>;
|
||||
};
|
||||
|
||||
partition@490000 {
|
||||
label = "0:appsbl";
|
||||
reg = <0x490000 0xa0000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@530000 {
|
||||
label = "0:appsbl_1";
|
||||
reg = <0x530000 0xa0000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@5d0000 {
|
||||
label = "0:art";
|
||||
reg = <0x5d0000 0x40000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@610000 {
|
||||
label = "0:ethphyfw";
|
||||
reg = <0x610000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_uart5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cryptobam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&crypto {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&prng {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qpic_bam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qpic_nand {
|
||||
status = "okay";
|
||||
|
||||
partitions {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
nand@0 {
|
||||
reg = <0>;
|
||||
nand-ecc-strength = <8>;
|
||||
nand-ecc-step-size = <512>;
|
||||
nand-bus-width = <8>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "rootfs";
|
||||
reg = <0x0000000 0x3400000>;
|
||||
};
|
||||
|
||||
partition@3400000 {
|
||||
label = "0:wififw";
|
||||
reg = <0x3400000 0x0800000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3c00000 {
|
||||
label = "rootfs_1";
|
||||
reg = <0x3c00000 0x3400000>;
|
||||
};
|
||||
|
||||
partition@7000000 {
|
||||
label = "0:wififw_1";
|
||||
reg = <0x7000000 0x0800000>;
|
||||
read-only;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&qusb_phy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qusb_phy_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ssphy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ssphy_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mdio {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
pinctrl-names = "default";
|
||||
reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
|
||||
|
||||
ethernet-phy-package@0 {
|
||||
compatible = "qcom,qca8075-package";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
|
||||
qca8075_0: ethernet-phy@0 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
qca8075_1: ethernet-phy@1 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
qca8075_2: ethernet-phy@2 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <2>;
|
||||
};
|
||||
|
||||
qca8075_3: ethernet-phy@3 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <3>;
|
||||
};
|
||||
|
||||
qca8075_4: ethernet-phy@4 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <4>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&switch {
|
||||
status = "okay";
|
||||
|
||||
switch_lan_bmp = <(ESS_PORT1 | ESS_PORT2 | ESS_PORT3 | ESS_PORT4)>;
|
||||
switch_wan_bmp = <ESS_PORT5>;
|
||||
switch_mac_mode = <MAC_MODE_PSGMII>;
|
||||
|
||||
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 = "ZBT-Z800AX";
|
||||
};
|
||||
@@ -0,0 +1,19 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
#include "ipq8074.dtsi"
|
||||
|
||||
&tzapp_region {
|
||||
reg = <0x0 0x4a400000 0x0 0x100000>;
|
||||
};
|
||||
|
||||
&q6_region {
|
||||
reg = <0x0 0x4b000000 0x0 0x3700000>;
|
||||
};
|
||||
|
||||
&q6_etr_region {
|
||||
reg = <0x0 0x4e700000 0x0 0x100000>;
|
||||
};
|
||||
|
||||
&m3_dump_region {
|
||||
reg = <0x0 0x4e800000 0x0 0x100000>;
|
||||
};
|
||||
@@ -0,0 +1,124 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
#include <dt-bindings/thermal/thermal.h>
|
||||
#include "ipq8074-cpr-regulator.dtsi"
|
||||
|
||||
&CPU0 {
|
||||
cpu-supply = <&apc_vreg>;
|
||||
voltage-tolerance = <1>;
|
||||
};
|
||||
|
||||
&CPU1 {
|
||||
cpu-supply = <&apc_vreg>;
|
||||
voltage-tolerance = <1>;
|
||||
};
|
||||
|
||||
&CPU2 {
|
||||
cpu-supply = <&apc_vreg>;
|
||||
voltage-tolerance = <1>;
|
||||
};
|
||||
|
||||
&CPU3 {
|
||||
cpu-supply = <&apc_vreg>;
|
||||
voltage-tolerance = <1>;
|
||||
};
|
||||
|
||||
&cpu0_thermal {
|
||||
trips {
|
||||
cpu0_passive: cpu-passive {
|
||||
temperature = <95000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&cpu0_passive>;
|
||||
cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&cpu1_thermal {
|
||||
trips {
|
||||
cpu1_passive: cpu-passive {
|
||||
temperature = <95000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&cpu1_passive>;
|
||||
cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&cpu2_thermal {
|
||||
trips {
|
||||
cpu2_passive: cpu-passive {
|
||||
temperature = <95000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&cpu2_passive>;
|
||||
cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&cpu3_thermal {
|
||||
trips {
|
||||
cpu3_passive: cpu-passive {
|
||||
temperature = <95000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&cpu3_passive>;
|
||||
cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&cluster_thermal {
|
||||
trips {
|
||||
cluster_passive: cluster-passive {
|
||||
temperature = <95000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&cluster_passive>;
|
||||
cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,228 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
#include "pmp8074.dtsi"
|
||||
|
||||
&soc {
|
||||
apc_apm: apm@b111000 {
|
||||
compatible = "qcom,ipq807x-apm";
|
||||
reg = <0xb111000 0x1000>;
|
||||
reg-names = "pm-apcc-glb";
|
||||
qcom,apm-post-halt-delay = <0x2>;
|
||||
qcom,apm-halt-clk-delay = <0x11>;
|
||||
qcom,apm-resume-clk-delay = <0x10>;
|
||||
qcom,apm-sel-switch-delay = <0x01>;
|
||||
};
|
||||
|
||||
apc_cpr: cpr4-ctrl@b018000 {
|
||||
compatible = "qcom,cpr4-ipq807x-apss-regulator";
|
||||
reg = <0xb018000 0x4000>, <0xa4000 0x1000>, <0x0193d008 0x4>;
|
||||
reg-names = "cpr_ctrl", "fuse_base", "cpr_tcsr_reg";
|
||||
interrupts = <GIC_SPI 15 IRQ_TYPE_EDGE_RISING>;
|
||||
interrupt-names = "cpr";
|
||||
qcom,cpr-ctrl-name = "apc";
|
||||
qcom,cpr-sensor-time = <1000>;
|
||||
qcom,cpr-loop-time = <5000000>;
|
||||
qcom,cpr-idle-cycles = <15>;
|
||||
qcom,cpr-step-quot-init-min = <12>;
|
||||
qcom,cpr-step-quot-init-max = <14>;
|
||||
qcom,cpr-count-mode = <0>; /* All-at-once */
|
||||
qcom,cpr-count-repeat = <14>;
|
||||
qcom,cpr-down-error-step-limit = <1>;
|
||||
qcom,cpr-up-error-step-limit = <1>;
|
||||
qcom,apm-ctrl = <&apc_apm>;
|
||||
qcom,apm-threshold-voltage = <848000>;
|
||||
vdd-supply = <&s3>;
|
||||
qcom,voltage-step = <8000>;
|
||||
|
||||
thread@0 {
|
||||
qcom,cpr-thread-id = <0>;
|
||||
qcom,cpr-consecutive-up = <0>;
|
||||
qcom,cpr-consecutive-down = <0>;
|
||||
qcom,cpr-up-threshold = <4>;
|
||||
qcom,cpr-down-threshold = <1>;
|
||||
|
||||
apc_vreg: regulator {
|
||||
regulator-name = "apc_corner";
|
||||
regulator-min-microvolt = <1>;
|
||||
regulator-max-microvolt = <6>;
|
||||
qcom,cpr-part-types = <2>;
|
||||
qcom,cpr-parts-voltage = <1048000>;
|
||||
qcom,cpr-parts-voltage-v2 = <992000>;
|
||||
qcom,cpr-fuse-corners = <4>;
|
||||
qcom,cpr-fuse-combos = <8>;
|
||||
qcom,cpr-corners = <6>;
|
||||
qcom,cpr-speed-bins = <1>;
|
||||
qcom,cpr-speed-bin-corners = <6>;
|
||||
qcom,cpr-corner-fmax-map = <1 3 5 6>;
|
||||
qcom,allow-voltage-interpolation;
|
||||
qcom,allow-quotient-interpolation;
|
||||
qcom,cpr-scaled-open-loop-voltage-as-ceiling;
|
||||
qcom,cpr-voltage-ceiling =
|
||||
<840000 904000 944000
|
||||
984000 992000 1064000>;
|
||||
qcom,cpr-voltage-floor =
|
||||
<592000 648000 712000
|
||||
744000 784000 848000>;
|
||||
qcom,corner-frequencies =
|
||||
<1017600000 1382400000 1651200000
|
||||
1843200000 1920000000 2208000000>;
|
||||
|
||||
/* TT/FF parts i.e. turbo L1 OL voltage < 1048 mV */
|
||||
qcom,cpr-open-loop-voltage-fuse-adjustment-0 =
|
||||
/* Speed bin 0; CPR rev 0..7 */
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 12000>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>;
|
||||
|
||||
/* SS parts i.e turbo L1 OL voltage >= 1048 mV */
|
||||
qcom,cpr-open-loop-voltage-fuse-adjustment-1 =
|
||||
/* Speed bin 0; CPR rev 0..7 */
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 20000 26000 0 20000>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>;
|
||||
|
||||
/* v2 - FF parts i.e. turbo L1 OL voltage < 992 mV */
|
||||
qcom,cpr-open-loop-voltage-fuse-adjustment-v2-0 =
|
||||
/* Speed bin 0; CPR rev 0..7 */
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>;
|
||||
|
||||
/* v2 - SS/TT parts i.e turbo L1 OL voltage >= 992 mV */
|
||||
qcom,cpr-open-loop-voltage-fuse-adjustment-v2-1 =
|
||||
/* Speed bin 0; CPR rev 0..7 */
|
||||
< 0 0 0 0>,
|
||||
< 0 7000 36000 4000>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>;
|
||||
|
||||
/* v2 - FF parts i.e. turbo L1 OL voltage < 992 mV */
|
||||
qcom,cpr-closed-loop-voltage-adjustment-v2-0 =
|
||||
/* Speed bin 0; CPR rev 0..7 */
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>;
|
||||
|
||||
/* v2 - SS/TT parts i.e turbo L1 OL voltage >= 992 mV */
|
||||
qcom,cpr-closed-loop-voltage-adjustment-v2-1 =
|
||||
/* Speed bin 0; CPR rev 0..7 */
|
||||
< 0 0 0 0>,
|
||||
< 0 0 19000 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>,
|
||||
< 0 0 0 0>;
|
||||
|
||||
qcom,cpr-ro-scaling-factor =
|
||||
< 3970 4150 0 2280 2520 2470 2250 2280
|
||||
2390 2330 2530 2500 850 2900 2510 2170 >,
|
||||
< 3970 4150 0 2280 2520 2470 2250 2280
|
||||
2390 2330 2530 2500 850 2900 2510 2170 >,
|
||||
< 3970 4150 0 2280 2520 2470 2250 2280
|
||||
2390 2330 2530 2500 850 2900 2510 2170 >,
|
||||
< 3970 4150 0 2280 2520 2470 2250 2280
|
||||
2390 2330 2530 2500 850 2900 2510 2170 >;
|
||||
|
||||
qcom,cpr-floor-to-ceiling-max-range =
|
||||
< 40000 40000 40000 40000 40000 40000>,
|
||||
< 40000 40000 40000 40000 40000 40000>,
|
||||
< 40000 40000 40000 40000 40000 40000>,
|
||||
< 40000 40000 40000 40000 40000 40000>,
|
||||
< 40000 40000 40000 40000 40000 40000>,
|
||||
< 40000 40000 40000 40000 40000 40000>,
|
||||
< 40000 40000 40000 40000 40000 40000>,
|
||||
< 40000 40000 40000 40000 40000 40000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
npu_cpr: npu-cpr {
|
||||
compatible = "qcom,cpr3-ipq807x-npu-regulator";
|
||||
reg = <0xa4000 0x1000>, <0x0193d008 0x4>;
|
||||
reg-names = "fuse_base", "cpr_tcsr_reg";
|
||||
qcom,cpr-ctrl-name = "npu";
|
||||
vdd-supply = <&s4>;
|
||||
qcom,voltage-step = <8000>;
|
||||
thread@0 {
|
||||
qcom,cpr-thread-id = <0>;
|
||||
qcom,cpr-consecutive-up = <0>;
|
||||
qcom,cpr-consecutive-down = <2>;
|
||||
qcom,cpr-up-threshold = <2>;
|
||||
qcom,cpr-down-threshold = <1>;
|
||||
|
||||
npu_vreg: regulator {
|
||||
regulator-name = "npu_corner";
|
||||
regulator-min-microvolt = <1>;
|
||||
regulator-max-microvolt = <3>;
|
||||
qcom,cpr-part-types = <2>;
|
||||
qcom,cpr-parts-voltage = <968000>;
|
||||
qcom,cpr-parts-voltage-v2 = <832001>;
|
||||
qcom,cpr-cold-temp-threshold-v2 = <30>;
|
||||
qcom,cpr-fuse-corners = <2>;
|
||||
qcom,cpr-fuse-combos = <1>;
|
||||
qcom,cpr-corners = <2>;
|
||||
qcom,cpr-speed-bins = <1>;
|
||||
qcom,cpr-speed-bin-corners = <2>;
|
||||
qcom,allow-voltage-interpolation;
|
||||
qcom,cpr-corner-fmax-map = <1 2>;
|
||||
qcom,cpr-voltage-ceiling =
|
||||
<912000 992000>;
|
||||
qcom,cpr-voltage-floor =
|
||||
<752000 792000>;
|
||||
qcom,corner-frequencies =
|
||||
<1497600000 1689600000>;
|
||||
|
||||
/* TT/FF parts i.e. turbo OL voltage < 968 mV */
|
||||
qcom,cpr-open-loop-voltage-fuse-adjustment-0 =
|
||||
< 40000 40000>;
|
||||
|
||||
/* SS parts i.e turbo OL voltage >= 968 mV */
|
||||
qcom,cpr-open-loop-voltage-fuse-adjustment-1 =
|
||||
< 24000 24000>;
|
||||
|
||||
/* FF parts i.e. turbo OL voltage <= 832 mV */
|
||||
qcom,cpr-open-loop-voltage-fuse-adjustment-v2-0=
|
||||
<40000 40000>;
|
||||
|
||||
/* TT/SS parts i.e turbo OL voltage > 832 mV */
|
||||
qcom,cpr-open-loop-voltage-fuse-adjustment-v2-1=
|
||||
<40000 40000>;
|
||||
|
||||
/* FF parts i.e. turbo OL voltage <= 832 mV */
|
||||
qcom,cpr-cold-temp-voltage-adjustment-v2-0 =
|
||||
<0 0>;
|
||||
|
||||
/* TT/SS parts i.e turbo OL voltage > 832 mV */
|
||||
qcom,cpr-cold-temp-voltage-adjustment-v2-1 =
|
||||
<35000 27000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,547 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
#include <dt-bindings/net/qcom-ipq-ess.h>
|
||||
|
||||
&clocks {
|
||||
bias_pll_cc_clk {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <300000000>;
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
bias_pll_nss_noc_clk {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <416500000>;
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
&soc {
|
||||
ess_instance: ess-instance {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
num_devices = <1>;
|
||||
|
||||
switch: ess-switch@3a000000 {
|
||||
compatible = "qcom,ess-switch-ipq807x";
|
||||
reg = <0x3a000000 0x1000000>;
|
||||
switch_access_mode = "local bus";
|
||||
switch_cpu_bmp = <ESS_PORT0>; /* cpu port bitmap */
|
||||
switch_inner_bmp = <ESS_PORT7>; /*inner port bitmap*/
|
||||
clocks = <&gcc GCC_CMN_12GPLL_AHB_CLK>,
|
||||
<&gcc GCC_CMN_12GPLL_SYS_CLK>,
|
||||
<&gcc GCC_UNIPHY0_AHB_CLK>,
|
||||
<&gcc GCC_UNIPHY0_SYS_CLK>,
|
||||
<&gcc GCC_UNIPHY1_AHB_CLK>,
|
||||
<&gcc GCC_UNIPHY1_SYS_CLK>,
|
||||
<&gcc GCC_UNIPHY2_AHB_CLK>,
|
||||
<&gcc GCC_UNIPHY2_SYS_CLK>,
|
||||
<&gcc GCC_PORT1_MAC_CLK>,
|
||||
<&gcc GCC_PORT2_MAC_CLK>,
|
||||
<&gcc GCC_PORT3_MAC_CLK>,
|
||||
<&gcc GCC_PORT4_MAC_CLK>,
|
||||
<&gcc GCC_PORT5_MAC_CLK>,
|
||||
<&gcc GCC_PORT6_MAC_CLK>,
|
||||
<&gcc GCC_NSS_PPE_CLK>,
|
||||
<&gcc GCC_NSS_PPE_CFG_CLK>,
|
||||
<&gcc GCC_NSSNOC_PPE_CLK>,
|
||||
<&gcc GCC_NSSNOC_PPE_CFG_CLK>,
|
||||
<&gcc GCC_NSS_EDMA_CLK>,
|
||||
<&gcc GCC_NSS_EDMA_CFG_CLK>,
|
||||
<&gcc GCC_NSS_PPE_IPE_CLK>,
|
||||
<&gcc GCC_NSS_PPE_BTQ_CLK>,
|
||||
<&gcc GCC_MDIO_AHB_CLK>,
|
||||
<&gcc GCC_NSS_NOC_CLK>,
|
||||
<&gcc GCC_NSSNOC_SNOC_CLK>,
|
||||
<&gcc GCC_MEM_NOC_NSS_AXI_CLK>,
|
||||
<&gcc GCC_NSS_CRYPTO_CLK>,
|
||||
<&gcc GCC_NSS_IMEM_CLK>,
|
||||
<&gcc GCC_NSS_PTP_REF_CLK>,
|
||||
<&gcc GCC_NSS_PORT1_RX_CLK>,
|
||||
<&gcc GCC_NSS_PORT1_TX_CLK>,
|
||||
<&gcc GCC_NSS_PORT2_RX_CLK>,
|
||||
<&gcc GCC_NSS_PORT2_TX_CLK>,
|
||||
<&gcc GCC_NSS_PORT3_RX_CLK>,
|
||||
<&gcc GCC_NSS_PORT3_TX_CLK>,
|
||||
<&gcc GCC_NSS_PORT4_RX_CLK>,
|
||||
<&gcc GCC_NSS_PORT4_TX_CLK>,
|
||||
<&gcc GCC_NSS_PORT5_RX_CLK>,
|
||||
<&gcc GCC_NSS_PORT5_TX_CLK>,
|
||||
<&gcc GCC_NSS_PORT6_RX_CLK>,
|
||||
<&gcc GCC_NSS_PORT6_TX_CLK>,
|
||||
<&gcc GCC_UNIPHY0_PORT1_RX_CLK>,
|
||||
<&gcc GCC_UNIPHY0_PORT1_TX_CLK>,
|
||||
<&gcc GCC_UNIPHY0_PORT2_RX_CLK>,
|
||||
<&gcc GCC_UNIPHY0_PORT2_TX_CLK>,
|
||||
<&gcc GCC_UNIPHY0_PORT3_RX_CLK>,
|
||||
<&gcc GCC_UNIPHY0_PORT3_TX_CLK>,
|
||||
<&gcc GCC_UNIPHY0_PORT4_RX_CLK>,
|
||||
<&gcc GCC_UNIPHY0_PORT4_TX_CLK>,
|
||||
<&gcc GCC_UNIPHY0_PORT5_RX_CLK>,
|
||||
<&gcc GCC_UNIPHY0_PORT5_TX_CLK>,
|
||||
<&gcc GCC_UNIPHY1_PORT5_RX_CLK>,
|
||||
<&gcc GCC_UNIPHY1_PORT5_TX_CLK>,
|
||||
<&gcc GCC_UNIPHY2_PORT6_RX_CLK>,
|
||||
<&gcc GCC_UNIPHY2_PORT6_TX_CLK>,
|
||||
<&gcc NSS_PORT5_RX_CLK_SRC>,
|
||||
<&gcc NSS_PORT5_TX_CLK_SRC>;
|
||||
clock-names = "cmn_ahb_clk", "cmn_sys_clk",
|
||||
"uniphy0_ahb_clk", "uniphy0_sys_clk",
|
||||
"uniphy1_ahb_clk", "uniphy1_sys_clk",
|
||||
"uniphy2_ahb_clk", "uniphy2_sys_clk",
|
||||
"port1_mac_clk", "port2_mac_clk",
|
||||
"port3_mac_clk", "port4_mac_clk",
|
||||
"port5_mac_clk", "port6_mac_clk",
|
||||
"nss_ppe_clk", "nss_ppe_cfg_clk",
|
||||
"nssnoc_ppe_clk", "nssnoc_ppe_cfg_clk",
|
||||
"nss_edma_clk", "nss_edma_cfg_clk",
|
||||
"nss_ppe_ipe_clk", "nss_ppe_btq_clk",
|
||||
"gcc_mdio_ahb_clk", "gcc_nss_noc_clk",
|
||||
"gcc_nssnoc_snoc_clk",
|
||||
"gcc_mem_noc_nss_axi_clk",
|
||||
"gcc_nss_crypto_clk",
|
||||
"gcc_nss_imem_clk",
|
||||
"gcc_nss_ptp_ref_clk",
|
||||
"nss_port1_rx_clk", "nss_port1_tx_clk",
|
||||
"nss_port2_rx_clk", "nss_port2_tx_clk",
|
||||
"nss_port3_rx_clk", "nss_port3_tx_clk",
|
||||
"nss_port4_rx_clk", "nss_port4_tx_clk",
|
||||
"nss_port5_rx_clk", "nss_port5_tx_clk",
|
||||
"nss_port6_rx_clk", "nss_port6_tx_clk",
|
||||
"uniphy0_port1_rx_clk",
|
||||
"uniphy0_port1_tx_clk",
|
||||
"uniphy0_port2_rx_clk",
|
||||
"uniphy0_port2_tx_clk",
|
||||
"uniphy0_port3_rx_clk",
|
||||
"uniphy0_port3_tx_clk",
|
||||
"uniphy0_port4_rx_clk",
|
||||
"uniphy0_port4_tx_clk",
|
||||
"uniphy0_port5_rx_clk",
|
||||
"uniphy0_port5_tx_clk",
|
||||
"uniphy1_port5_rx_clk",
|
||||
"uniphy1_port5_tx_clk",
|
||||
"uniphy2_port6_rx_clk",
|
||||
"uniphy2_port6_tx_clk",
|
||||
"nss_port5_rx_clk_src",
|
||||
"nss_port5_tx_clk_src";
|
||||
resets = <&gcc GCC_PPE_FULL_RESET>,
|
||||
<&gcc GCC_UNIPHY0_SOFT_RESET>,
|
||||
<&gcc GCC_UNIPHY0_XPCS_RESET>,
|
||||
<&gcc GCC_UNIPHY1_SOFT_RESET>,
|
||||
<&gcc GCC_UNIPHY1_XPCS_RESET>,
|
||||
<&gcc GCC_UNIPHY2_SOFT_RESET>,
|
||||
<&gcc GCC_UNIPHY2_XPCS_RESET>,
|
||||
<&gcc GCC_NSSPORT1_RESET>,
|
||||
<&gcc GCC_NSSPORT2_RESET>,
|
||||
<&gcc GCC_NSSPORT3_RESET>,
|
||||
<&gcc GCC_NSSPORT4_RESET>,
|
||||
<&gcc GCC_NSSPORT5_RESET>,
|
||||
<&gcc GCC_NSSPORT6_RESET>;
|
||||
reset-names = "ppe_rst", "uniphy0_soft_rst",
|
||||
"uniphy0_xpcs_rst", "uniphy1_soft_rst",
|
||||
"uniphy1_xpcs_rst", "uniphy2_soft_rst",
|
||||
"uniphy2_xpcs_rst", "nss_port1_rst",
|
||||
"nss_port2_rst", "nss_port3_rst",
|
||||
"nss_port4_rst", "nss_port5_rst",
|
||||
"nss_port6_rst";
|
||||
mdio-bus = <&mdio>;
|
||||
|
||||
switch_mac_mode = <MAC_MODE_DISABLED>; /* MAC mode for UNIPHY instance 0 */
|
||||
switch_mac_mode1 = <MAC_MODE_DISABLED>; /* MAC mode for UNIPHY instance 1 */
|
||||
switch_mac_mode2 = <MAC_MODE_DISABLED>; /* MAC mode for UNIPHY instance 2 */
|
||||
|
||||
bm_tick_mode = <0>; /* bm tick mode */
|
||||
tm_tick_mode = <0>; /* tm tick mode */
|
||||
|
||||
status = "disabled";
|
||||
|
||||
port_scheduler_resource {
|
||||
port@0 {
|
||||
port_id = <0>;
|
||||
ucast_queue = <0 143>;
|
||||
mcast_queue = <256 271>;
|
||||
l0sp = <0 35>;
|
||||
l0cdrr = <0 47>;
|
||||
l0edrr = <0 47>;
|
||||
l1cdrr = <0 7>;
|
||||
l1edrr = <0 7>;
|
||||
};
|
||||
port@1 {
|
||||
port_id = <1>;
|
||||
ucast_queue = <144 159>;
|
||||
mcast_queue = <272 275>;
|
||||
l0sp = <36 39>;
|
||||
l0cdrr = <48 63>;
|
||||
l0edrr = <48 63>;
|
||||
l1cdrr = <8 11>;
|
||||
l1edrr = <8 11>;
|
||||
};
|
||||
port@2 {
|
||||
port_id = <2>;
|
||||
ucast_queue = <160 175>;
|
||||
mcast_queue = <276 279>;
|
||||
l0sp = <40 43>;
|
||||
l0cdrr = <64 79>;
|
||||
l0edrr = <64 79>;
|
||||
l1cdrr = <12 15>;
|
||||
l1edrr = <12 15>;
|
||||
};
|
||||
port@3 {
|
||||
port_id = <3>;
|
||||
ucast_queue = <176 191>;
|
||||
mcast_queue = <280 283>;
|
||||
l0sp = <44 47>;
|
||||
l0cdrr = <80 95>;
|
||||
l0edrr = <80 95>;
|
||||
l1cdrr = <16 19>;
|
||||
l1edrr = <16 19>;
|
||||
};
|
||||
port@4 {
|
||||
port_id = <4>;
|
||||
ucast_queue = <192 207>;
|
||||
mcast_queue = <284 287>;
|
||||
l0sp = <48 51>;
|
||||
l0cdrr = <96 111>;
|
||||
l0edrr = <96 111>;
|
||||
l1cdrr = <20 23>;
|
||||
l1edrr = <20 23>;
|
||||
};
|
||||
port@5 {
|
||||
port_id = <5>;
|
||||
ucast_queue = <208 223>;
|
||||
mcast_queue = <288 291>;
|
||||
l0sp = <52 55>;
|
||||
l0cdrr = <112 127>;
|
||||
l0edrr = <112 127>;
|
||||
l1cdrr = <24 27>;
|
||||
l1edrr = <24 27>;
|
||||
};
|
||||
port@6 {
|
||||
port_id = <6>;
|
||||
ucast_queue = <224 239>;
|
||||
mcast_queue = <292 295>;
|
||||
l0sp = <56 59>;
|
||||
l0cdrr = <128 143>;
|
||||
l0edrr = <128 143>;
|
||||
l1cdrr = <28 31>;
|
||||
l1edrr = <28 31>;
|
||||
};
|
||||
port@7 {
|
||||
port_id = <7>;
|
||||
ucast_queue = <240 255>;
|
||||
mcast_queue = <296 299>;
|
||||
l0sp = <60 63>;
|
||||
l0cdrr = <144 159>;
|
||||
l0edrr = <144 159>;
|
||||
l1cdrr = <32 35>;
|
||||
l1edrr = <32 35>;
|
||||
};
|
||||
};
|
||||
port_scheduler_config {
|
||||
port@0 {
|
||||
port_id = <0>;
|
||||
l1scheduler {
|
||||
group@0 {
|
||||
sp = <0 1>; /*L0 SPs*/
|
||||
/*cpri cdrr epri edrr*/
|
||||
cfg = <0 0 0 0>;
|
||||
};
|
||||
};
|
||||
l0scheduler {
|
||||
group@0 {
|
||||
/*unicast queues*/
|
||||
ucast_queue = <0 4 8>;
|
||||
/*multicast queues*/
|
||||
mcast_queue = <256 260>;
|
||||
/*sp cpri cdrr epri edrr*/
|
||||
cfg = <0 0 0 0 0>;
|
||||
};
|
||||
group@1 {
|
||||
ucast_queue = <1 5 9>;
|
||||
mcast_queue = <257 261>;
|
||||
cfg = <0 1 1 1 1>;
|
||||
};
|
||||
group@2 {
|
||||
ucast_queue = <2 6 10>;
|
||||
mcast_queue = <258 262>;
|
||||
cfg = <0 2 2 2 2>;
|
||||
};
|
||||
group@3 {
|
||||
ucast_queue = <3 7 11>;
|
||||
mcast_queue = <259 263>;
|
||||
cfg = <0 3 3 3 3>;
|
||||
};
|
||||
};
|
||||
};
|
||||
port@1 {
|
||||
port_id = <1>;
|
||||
l1scheduler {
|
||||
group@0 {
|
||||
sp = <36>;
|
||||
cfg = <0 8 0 8>;
|
||||
};
|
||||
group@1 {
|
||||
sp = <37>;
|
||||
cfg = <1 9 1 9>;
|
||||
};
|
||||
};
|
||||
l0scheduler {
|
||||
group@0 {
|
||||
ucast_queue = <144>;
|
||||
ucast_loop_pri = <16>;
|
||||
mcast_queue = <272>;
|
||||
mcast_loop_pri = <4>;
|
||||
cfg = <36 0 48 0 48>;
|
||||
};
|
||||
};
|
||||
};
|
||||
port@2 {
|
||||
port_id = <2>;
|
||||
l1scheduler {
|
||||
group@0 {
|
||||
sp = <40>;
|
||||
cfg = <0 12 0 12>;
|
||||
};
|
||||
group@1 {
|
||||
sp = <41>;
|
||||
cfg = <1 13 1 13>;
|
||||
};
|
||||
};
|
||||
l0scheduler {
|
||||
group@0 {
|
||||
ucast_queue = <160>;
|
||||
ucast_loop_pri = <16>;
|
||||
mcast_queue = <276>;
|
||||
mcast_loop_pri = <4>;
|
||||
cfg = <40 0 64 0 64>;
|
||||
};
|
||||
};
|
||||
};
|
||||
port@3 {
|
||||
port_id = <3>;
|
||||
l1scheduler {
|
||||
group@0 {
|
||||
sp = <44>;
|
||||
cfg = <0 16 0 16>;
|
||||
};
|
||||
group@1 {
|
||||
sp = <45>;
|
||||
cfg = <1 17 1 17>;
|
||||
};
|
||||
};
|
||||
l0scheduler {
|
||||
group@0 {
|
||||
ucast_queue = <176>;
|
||||
ucast_loop_pri = <16>;
|
||||
mcast_queue = <280>;
|
||||
mcast_loop_pri = <4>;
|
||||
cfg = <44 0 80 0 80>;
|
||||
};
|
||||
};
|
||||
};
|
||||
port@4 {
|
||||
port_id = <4>;
|
||||
l1scheduler {
|
||||
group@0 {
|
||||
sp = <48>;
|
||||
cfg = <0 20 0 20>;
|
||||
};
|
||||
group@1 {
|
||||
sp = <49>;
|
||||
cfg = <1 21 1 21>;
|
||||
};
|
||||
};
|
||||
l0scheduler {
|
||||
group@0 {
|
||||
ucast_queue = <192>;
|
||||
ucast_loop_pri = <16>;
|
||||
mcast_queue = <284>;
|
||||
mcast_loop_pri = <4>;
|
||||
cfg = <48 0 96 0 96>;
|
||||
};
|
||||
};
|
||||
};
|
||||
port@5 {
|
||||
port_id = <5>;
|
||||
l1scheduler {
|
||||
group@0 {
|
||||
sp = <52>;
|
||||
cfg = <0 24 0 24>;
|
||||
};
|
||||
group@1 {
|
||||
sp = <53>;
|
||||
cfg = <1 25 1 25>;
|
||||
};
|
||||
};
|
||||
l0scheduler {
|
||||
group@0 {
|
||||
ucast_queue = <208>;
|
||||
ucast_loop_pri = <16>;
|
||||
mcast_queue = <288>;
|
||||
mcast_loop_pri = <4>;
|
||||
cfg = <52 0 112 0 112>;
|
||||
};
|
||||
};
|
||||
};
|
||||
port@6 {
|
||||
port_id = <6>;
|
||||
l1scheduler {
|
||||
group@0 {
|
||||
sp = <56>;
|
||||
cfg = <0 28 0 28>;
|
||||
};
|
||||
group@1 {
|
||||
sp = <57>;
|
||||
cfg = <1 29 1 29>;
|
||||
};
|
||||
};
|
||||
l0scheduler {
|
||||
group@0 {
|
||||
ucast_queue = <224>;
|
||||
ucast_loop_pri = <16>;
|
||||
mcast_queue = <292>;
|
||||
mcast_loop_pri = <4>;
|
||||
cfg = <56 0 128 0 128>;
|
||||
};
|
||||
};
|
||||
};
|
||||
port@7 {
|
||||
port_id = <7>;
|
||||
l1scheduler {
|
||||
group@0 {
|
||||
sp = <60>;
|
||||
cfg = <0 32 0 32>;
|
||||
};
|
||||
group@1 {
|
||||
sp = <61>;
|
||||
cfg = <1 33 1 33>;
|
||||
};
|
||||
};
|
||||
l0scheduler {
|
||||
group@0 {
|
||||
ucast_queue = <240>;
|
||||
ucast_loop_pri = <16>;
|
||||
mcast_queue = <296>;
|
||||
cfg = <60 0 144 0 144>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
ess-uniphy@7a00000 {
|
||||
compatible = "qcom,ess-uniphy";
|
||||
reg = <0x7a00000 0x30000>;
|
||||
uniphy_access_mode = "local bus";
|
||||
};
|
||||
|
||||
edma: edma@3ab00000 {
|
||||
compatible = "qcom,edma";
|
||||
reg = <0x3ab00000 0x76900>;
|
||||
reg-names = "edma-reg-base";
|
||||
qcom,txdesc-ring-start = <23>;
|
||||
qcom,txdesc-rings = <1>;
|
||||
qcom,txcmpl-ring-start = <7>;
|
||||
qcom,txcmpl-rings = <1>;
|
||||
qcom,rxfill-ring-start = <7>;
|
||||
qcom,rxfill-rings = <1>;
|
||||
qcom,rxdesc-ring-start = <15>;
|
||||
qcom,rxdesc-rings = <1>;
|
||||
interrupts = <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>;
|
||||
resets = <&gcc GCC_EDMA_HW_RESET>;
|
||||
reset-names = "edma_rst";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
dp1: dp1@3a001000 {
|
||||
device_type = "network";
|
||||
compatible = "qcom,nss-dp";
|
||||
qcom,id = <1>;
|
||||
reg = <0x3a001000 0x200>;
|
||||
qcom,mactype = <0>;
|
||||
local-mac-address = [000000000000];
|
||||
phy-mode = "psgmii";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
dp2: dp2@3a001200 {
|
||||
device_type = "network";
|
||||
compatible = "qcom,nss-dp";
|
||||
qcom,id = <2>;
|
||||
reg = <0x3a001200 0x200>;
|
||||
qcom,mactype = <0>;
|
||||
local-mac-address = [000000000000];
|
||||
phy-mode = "psgmii";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
dp3: dp3@3a001400 {
|
||||
device_type = "network";
|
||||
compatible = "qcom,nss-dp";
|
||||
qcom,id = <3>;
|
||||
reg = <0x3a001400 0x200>;
|
||||
qcom,mactype = <0>;
|
||||
local-mac-address = [000000000000];
|
||||
phy-mode = "psgmii";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
dp4: dp4@3a001600 {
|
||||
device_type = "network";
|
||||
compatible = "qcom,nss-dp";
|
||||
qcom,id = <4>;
|
||||
reg = <0x3a001600 0x200>;
|
||||
qcom,mactype = <0>;
|
||||
local-mac-address = [000000000000];
|
||||
phy-mode = "psgmii";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
dp5: dp5@3a001800 {
|
||||
device_type = "network";
|
||||
compatible = "qcom,nss-dp";
|
||||
qcom,id = <5>;
|
||||
reg = <0x3a001800 0x200>;
|
||||
qcom,mactype = <0>;
|
||||
local-mac-address = [000000000000];
|
||||
phy-mode = "psgmii";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
dp6: dp6@3a001a00 {
|
||||
device_type = "network";
|
||||
compatible = "qcom,nss-dp";
|
||||
qcom,id = <6>;
|
||||
reg = <0x3a001a00 0x200>;
|
||||
qcom,mactype = <0>;
|
||||
local-mac-address = [000000000000];
|
||||
phy-mode = "sgmii";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
dp5_syn: dp5-syn@3a003000 {
|
||||
device_type = "network";
|
||||
compatible = "qcom,nss-dp";
|
||||
qcom,id = <5>;
|
||||
reg = <0x3a003000 0x3fff>;
|
||||
qcom,mactype = <1>;
|
||||
local-mac-address = [000000000000];
|
||||
phy-mode = "sgmii";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
dp6_syn: dp6-syn@3a007000 {
|
||||
device_type = "network";
|
||||
compatible = "qcom,nss-dp";
|
||||
qcom,id = <6>;
|
||||
reg = <0x3a007000 0x3fff>;
|
||||
qcom,mactype = <1>;
|
||||
local-mac-address = [000000000000];
|
||||
phy-mode = "sgmii";
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,189 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
#include <dt-bindings/thermal/thermal.h>
|
||||
#include "ipq8074-cpr-regulator.dtsi"
|
||||
|
||||
&CPU0 {
|
||||
cpu-supply = <&apc_vreg>;
|
||||
voltage-tolerance = <1>;
|
||||
};
|
||||
|
||||
&CPU1 {
|
||||
cpu-supply = <&apc_vreg>;
|
||||
voltage-tolerance = <1>;
|
||||
};
|
||||
|
||||
&CPU2 {
|
||||
cpu-supply = <&apc_vreg>;
|
||||
voltage-tolerance = <1>;
|
||||
};
|
||||
|
||||
&CPU3 {
|
||||
cpu-supply = <&apc_vreg>;
|
||||
voltage-tolerance = <1>;
|
||||
};
|
||||
|
||||
&cpu0_thermal {
|
||||
trips {
|
||||
cpu0_passive_low: cpu-passive-low {
|
||||
temperature = <95000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
|
||||
cpu0_passive_high: cpu-passive-high {
|
||||
temperature = <100000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&cpu0_passive_low>;
|
||||
cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
map1 {
|
||||
trip = <&cpu0_passive_high>;
|
||||
cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&cpu1_thermal {
|
||||
trips {
|
||||
cpu1_passive_low: cpu-passive-low {
|
||||
temperature = <95000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
|
||||
cpu1_passive_high: cpu-passive-high {
|
||||
temperature = <100000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&cpu1_passive_low>;
|
||||
cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
map1 {
|
||||
trip = <&cpu1_passive_high>;
|
||||
cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&cpu2_thermal {
|
||||
trips {
|
||||
cpu2_passive_low: cpu-passive-low {
|
||||
temperature = <95000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
|
||||
cpu2_passive_high: cpu-passive-high {
|
||||
temperature = <100000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&cpu2_passive_low>;
|
||||
cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
map1 {
|
||||
trip = <&cpu2_passive_high>;
|
||||
cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&cpu3_thermal {
|
||||
trips {
|
||||
cpu3_passive_low: cpu-passive-low {
|
||||
temperature = <95000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
|
||||
cpu3_passive_high: cpu-passive-high {
|
||||
temperature = <100000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&cpu3_passive_low>;
|
||||
cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
map1 {
|
||||
trip = <&cpu3_passive_high>;
|
||||
cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&cluster_thermal {
|
||||
trips {
|
||||
cluster_passive_low: cluster-passive {
|
||||
temperature = <95000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
|
||||
cluster_passive_high: cluster-passive-high {
|
||||
temperature = <100000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&cluster_passive_low>;
|
||||
cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
map1 {
|
||||
trip = <&cluster_passive_high>;
|
||||
cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,461 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
/*
|
||||
* Copyright (c) 2022, Karol Przybylski <itor@o2.pl>
|
||||
* Copyright (c) 2023, Andre Valentin <avalentin@marcant.net>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "ipq8074.dtsi"
|
||||
#include "ipq8074-hk-cpu.dtsi"
|
||||
#include "ipq8074-ess.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
|
||||
/ {
|
||||
model = "Zyxel NBG7815";
|
||||
compatible = "zyxel,nbg7815", "qcom,ipq8074";
|
||||
|
||||
aliases {
|
||||
serial0 = &blsp1_uart5;
|
||||
serial1 = &blsp1_uart3;
|
||||
/* Alias as required by u-boot to patch MAC addresses */
|
||||
ethernet0 = &dp1;
|
||||
label-mac-device = &dp1;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
linux,code = <KEY_RESTART>;
|
||||
gpios = <&tlmm 54 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
mdio_pins: mdio-pins {
|
||||
mdc {
|
||||
pins = "gpio68";
|
||||
function = "mdc";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mdio {
|
||||
pins = "gpio69";
|
||||
function = "mdio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_uart3 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&blsp1_uart5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&prng {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cryptobam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&crypto {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qpic_bam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
||||
&blsp1_spi1 {
|
||||
pinctrl-0 = <&spi_0_pins>;
|
||||
pinctrl-names = "default";
|
||||
cs-gpios = <0>;
|
||||
status = "okay";
|
||||
|
||||
/*
|
||||
* Bootloader will find the NAND DT node by the compatible and
|
||||
* then "fixup" it by adding the partitions from the SMEM table
|
||||
* using the legacy bindings thus making it impossible for us
|
||||
* to change the partition table or utilize NVMEM for calibration.
|
||||
* So add a dummy partitions node that bootloader will populate
|
||||
* and set it as disabled so the kernel ignores it instead of
|
||||
* printing warnings due to the broken way bootloader adds the
|
||||
* partitions.
|
||||
*/
|
||||
partitions {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
flash@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0>;
|
||||
compatible = "jedec,spi-nor";
|
||||
spi-max-frequency = <50000000>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "0:sbl1";
|
||||
reg = <0x0 0x50000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@50000 {
|
||||
label = "0:mibib";
|
||||
reg = <0x50000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@60000 {
|
||||
label = "0:bootconfig";
|
||||
reg = <0x60000 0x20000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@80000 {
|
||||
label = "0:bootconfig1";
|
||||
reg = <0x80000 0x20000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@a0000 {
|
||||
label = "0:qsee";
|
||||
reg = <0xa0000 0x180000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@220000 {
|
||||
label = "0:qsee_1";
|
||||
reg = <0x220000 0x180000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3a0000 {
|
||||
label = "0:devcfg";
|
||||
reg = <0x3a0000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3b0000 {
|
||||
label = "0:devcfg_1";
|
||||
reg = <0x3b0000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3c0000 {
|
||||
label = "0:apdp";
|
||||
reg = <0x3c0000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3d0000 {
|
||||
label = "0:apdp_1";
|
||||
reg = <0x3d0000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3e0000 {
|
||||
label = "0:rpm";
|
||||
reg = <0x3e0000 0x40000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@420000 {
|
||||
label = "0:rpm_1";
|
||||
reg = <0x420000 0x40000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@460000 {
|
||||
label = "0:cdt";
|
||||
reg = <0x460000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@470000 {
|
||||
label = "0:cdt_1";
|
||||
reg = <0x470000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@480000 {
|
||||
label = "0:appsbl";
|
||||
reg = <0x480000 0xc0000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@540000 {
|
||||
label = "0:appsbl_1";
|
||||
reg = <0x540000 0xc0000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@600000 {
|
||||
compatible = "u-boot,env";
|
||||
label = "0:appsblenv";
|
||||
reg = <0x600000 0x10000>;
|
||||
|
||||
macaddr_lan: ethaddr {
|
||||
#nvmem-cell-cells = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
partition@610000 {
|
||||
label = "0:art";
|
||||
reg = <0x610000 0x40000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@650000 {
|
||||
label = "0:ethphyfw";
|
||||
reg = <0x650000 0x80000>;
|
||||
read-only;
|
||||
|
||||
nvmem-layout {
|
||||
compatible = "fixed-layout";
|
||||
|
||||
aqr_fw: aqr-fw@0 {
|
||||
/* Skip the QCOM MBN Header of 40 bytes */
|
||||
reg = <0x28 0x5f402>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
partition@6d0000 {
|
||||
label = "0:crt";
|
||||
reg = <0x6d0000 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@6e0000 {
|
||||
label = "dual_flag";
|
||||
reg = <0x6e0000 0x10000>;
|
||||
};
|
||||
|
||||
partition@6f0000 {
|
||||
label = "reserved";
|
||||
reg = <0x6f0000 0x110000>;
|
||||
read-only;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&mdio {
|
||||
status = "okay";
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
pinctrl-names = "default";
|
||||
reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
|
||||
|
||||
ethernet-phy-package@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "qcom,qca8075-package";
|
||||
reg = <0>;
|
||||
|
||||
qca8075_0: ethernet-phy@0 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
qca8075_1: ethernet-phy@1 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
qca8075_2: ethernet-phy@2 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <2>;
|
||||
};
|
||||
|
||||
qca8075_3: ethernet-phy@3 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <3>;
|
||||
};
|
||||
};
|
||||
|
||||
qca8081: ethernet-phy@28 {
|
||||
compatible = "ethernet-phy-id004d.d101";
|
||||
reg = <28>;
|
||||
reset-deassert-us = <10000>;
|
||||
reset-gpios = <&tlmm 31 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
aqr113c: ethernet-phy@5 {
|
||||
compatible = "ethernet-phy-ieee802.3-c45";
|
||||
reg = <8>;
|
||||
reset-gpios = <&tlmm 63 GPIO_ACTIVE_LOW>;
|
||||
|
||||
nvmem-cells = <&aqr_fw>;
|
||||
nvmem-cell-names = "firmware";
|
||||
};
|
||||
};
|
||||
|
||||
&switch {
|
||||
status = "okay";
|
||||
|
||||
switch_lan_bmp = <(ESS_PORT1 | ESS_PORT2 | ESS_PORT3 | ESS_PORT4 | ESS_PORT6)>;
|
||||
switch_wan_bmp = <ESS_PORT5>;
|
||||
switch_mac_mode = <MAC_MODE_PSGMII>;
|
||||
switch_mac_mode1 = <MAC_MODE_SGMII_CHANNEL0>;
|
||||
switch_mac_mode2 = <MAC_MODE_USXGMII>;
|
||||
|
||||
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 = <28>;
|
||||
port_mac_sel = "QGMAC_PORT";
|
||||
};
|
||||
|
||||
port@6 {
|
||||
port_id = <6>;
|
||||
ethernet-phy-ieee802.3-c45;
|
||||
phy_address = <8>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&edma {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dp1 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8075_0>;
|
||||
label = "lan1";
|
||||
nvmem-cells = <&macaddr_lan 0>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&dp2 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8075_1>;
|
||||
label = "lan2";
|
||||
nvmem-cells = <&macaddr_lan 0>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&dp3 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8075_2>;
|
||||
label = "lan3";
|
||||
nvmem-cells = <&macaddr_lan 0>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&dp4 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8075_3>;
|
||||
label = "lan4";
|
||||
nvmem-cells = <&macaddr_lan 0>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&dp5 {
|
||||
status = "okay";
|
||||
phy-mode = "sgmii";
|
||||
phy-handle = <&qca8081>;
|
||||
label = "wan";
|
||||
nvmem-cells = <&macaddr_lan 1>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&dp6_syn {
|
||||
status = "okay";
|
||||
phy-mode = "usxgmii";
|
||||
phy-handle = <&aqr113c>;
|
||||
label = "10g";
|
||||
nvmem-cells = <&macaddr_lan 0>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&blsp1_i2c2 {
|
||||
pinctrl-0 = <&i2c_0_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
|
||||
tmp103@70 {
|
||||
compatible = "ti,tmp103";
|
||||
reg = <0x70>;
|
||||
};
|
||||
};
|
||||
|
||||
&sdhc_1 {
|
||||
status = "okay";
|
||||
/* unstable, problem with the hs400 > h200 speed switch */
|
||||
/delete-property/ mmc-hs400-1_8v;
|
||||
mmc-hs200-1_8v;
|
||||
mmc-ddr-1_8v;
|
||||
vqmmc-supply = <&l11>;
|
||||
};
|
||||
|
||||
&ssphy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qusb_phy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ssphy_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qusb_phy_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&wifi {
|
||||
status = "okay";
|
||||
|
||||
qcom,ath11k-calibration-variant = "Zyxel-NBG7815";
|
||||
};
|
||||
@@ -0,0 +1,537 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "ipq8074.dtsi"
|
||||
#include "ipq8074-ess.dtsi"
|
||||
#include "ipq8074-hk-cpu.dtsi"
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/ {
|
||||
model = "Netgear RAX120v2";
|
||||
compatible = "netgear,rax120v2", "qcom,ipq8074";
|
||||
|
||||
aliases {
|
||||
serial0 = &blsp1_uart5;
|
||||
|
||||
led-running = &led_system_white;
|
||||
led-upgrade = &led_system_white;
|
||||
led-internet = &led_wan_white;
|
||||
label-mac-device = &dp5;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
bootargs-append = " ubi.mtd=rootfs root=/dev/ubiblock0_0";
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
rfkill {
|
||||
label = "rfkill";
|
||||
gpios = <&tlmm 25 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RFKILL>;
|
||||
};
|
||||
|
||||
wps {
|
||||
label = "wps";
|
||||
gpios = <&tlmm 57 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_WPS_BUTTON>;
|
||||
};
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
gpios = <&tlmm 54 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
};
|
||||
|
||||
led_spi {
|
||||
compatible = "spi-gpio";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
sck-gpios = <&tlmm 18 GPIO_ACTIVE_HIGH>;
|
||||
mosi-gpios = <&tlmm 19 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
led_gpio: led_gpio@0 {
|
||||
compatible = "fairchild,74hc595";
|
||||
reg = <0>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
registers-number = <2>;
|
||||
enable-gpios = <&tlmm 20 GPIO_ACTIVE_HIGH>;
|
||||
spi-max-frequency = <1000000>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led_system_white: system-white {
|
||||
gpios = <&led_gpio 0 GPIO_ACTIVE_LOW>;
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
};
|
||||
|
||||
led_24g_white {
|
||||
gpios = <&led_gpio 1 GPIO_ACTIVE_LOW>;
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
linux,default-trigger = "phy1radio";
|
||||
};
|
||||
|
||||
led_5g_white {
|
||||
gpios = <&led_gpio 2 GPIO_ACTIVE_LOW>;
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
linux,default-trigger = "phy0radio";
|
||||
};
|
||||
|
||||
led_usb1_white {
|
||||
gpios = <&led_gpio 3 GPIO_ACTIVE_LOW>;
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
};
|
||||
|
||||
led_usb2_white {
|
||||
gpios = <&led_gpio 4 GPIO_ACTIVE_LOW>;
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
};
|
||||
|
||||
led_wan_white: wan-white {
|
||||
gpios = <&led_gpio 5 GPIO_ACTIVE_LOW>;
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
};
|
||||
|
||||
led_aqr_green {
|
||||
gpios = <&led_gpio 6 GPIO_ACTIVE_LOW>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
};
|
||||
|
||||
led_aqr_red {
|
||||
gpios = <&led_gpio 10 GPIO_ACTIVE_LOW>;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
};
|
||||
|
||||
led_aqr_white {
|
||||
gpios = <&led_gpio 11 GPIO_ACTIVE_LOW>;
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
};
|
||||
|
||||
led_wps_white {
|
||||
gpios = <&tlmm 40 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
mdio_pins: mdio-pins {
|
||||
mdc {
|
||||
pins = "gpio68";
|
||||
function = "mdc";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mdio {
|
||||
pins = "gpio69";
|
||||
function = "mdio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&mdio {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
pinctrl-names = "default";
|
||||
reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
|
||||
|
||||
ethernet-phy-package@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
|
||||
compatible = "qcom,qca8075-package";
|
||||
|
||||
qca8075_0: ethernet-phy@0 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
qca8075_1: ethernet-phy@1 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
qca8075_2: ethernet-phy@2 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <2>;
|
||||
};
|
||||
|
||||
qca8075_3: ethernet-phy@3 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <3>;
|
||||
};
|
||||
|
||||
qca8075_4: ethernet-phy@4 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <4>;
|
||||
};
|
||||
};
|
||||
|
||||
aqr111b0: ethernet-phy@7 {
|
||||
compatible ="ethernet-phy-ieee802.3-c45";
|
||||
reg = <7>;
|
||||
reset-gpios = <&tlmm 59 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
&switch {
|
||||
status = "okay";
|
||||
|
||||
switch_lan_bmp = <(ESS_PORT1 | ESS_PORT2 | ESS_PORT3 | ESS_PORT4 | ESS_PORT6)>; /* lan port bitmap */
|
||||
switch_wan_bmp = <ESS_PORT5>; /* wan port bitmap */
|
||||
switch_mac_mode = <MAC_MODE_PSGMII>; /* mac mode for uniphy instance0*/
|
||||
switch_mac_mode2 = <MAC_MODE_USXGMII>; /* mac mode for uniphy instance2*/
|
||||
|
||||
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>;
|
||||
};
|
||||
port@6 {
|
||||
port_id = <6>;
|
||||
phy_address = <7>;
|
||||
compatible = "ethernet-phy-ieee802.3-c45";
|
||||
ethernet-phy-ieee802.3-c45;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&edma {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dp1 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8075_0>;
|
||||
label = "lan4";
|
||||
nvmem-cells = <&macaddr_lan>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&dp2 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8075_1>;
|
||||
label = "lan3";
|
||||
nvmem-cells = <&macaddr_lan>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&dp3 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8075_2>;
|
||||
label = "lan2";
|
||||
nvmem-cells = <&macaddr_lan>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&dp4 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8075_3>;
|
||||
label = "lan1";
|
||||
nvmem-cells = <&macaddr_lan>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&dp5 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8075_4>;
|
||||
label = "wan";
|
||||
nvmem-cells = <&macaddr_wan>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&dp6_syn {
|
||||
status = "okay";
|
||||
phy-mode = "usxgmii";
|
||||
phy-handle = <&aqr111b0>;
|
||||
label = "lan5";
|
||||
nvmem-cells = <&macaddr_lan>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&blsp1_uart5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&blsp1_i2c2 {
|
||||
status = "okay";
|
||||
|
||||
g761@3e {
|
||||
compatible = "gmt,g761";
|
||||
reg = <0x3e>;
|
||||
fan_gear_mode = <0>;
|
||||
fan_start = <1>;
|
||||
pwm_polarity = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
&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 = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "0:sbl1";
|
||||
reg = <0x00 0x100000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@100000 {
|
||||
label = "0:mibib";
|
||||
reg = <0x100000 0x100000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@200000 {
|
||||
label = "0:bootconfig";
|
||||
reg = <0x200000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@280000 {
|
||||
label = "0:bootconfig_1";
|
||||
reg = <0x280000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@300000 {
|
||||
label = "0:qsee";
|
||||
reg = <0x300000 0x300000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@600000 {
|
||||
label = "0:qsee_1";
|
||||
reg = <0x600000 0x300000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@900000 {
|
||||
label = "0:devcfg";
|
||||
reg = <0x900000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@980000 {
|
||||
label = "0:devcfg_1";
|
||||
reg = <0x980000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@a00000 {
|
||||
label = "0:apdp";
|
||||
reg = <0xa00000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@a80000 {
|
||||
label = "0:apdp_1";
|
||||
reg = <0xa80000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@b00000 {
|
||||
label = "0:rpm";
|
||||
reg = <0xb00000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@b80000 {
|
||||
label = "0:rpm_1";
|
||||
reg = <0xb80000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@c00000 {
|
||||
label = "0:cdt";
|
||||
reg = <0xc00000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@c80000 {
|
||||
label = "0:cdt_1";
|
||||
reg = <0xc80000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@d00000 {
|
||||
label = "0:appsblenv";
|
||||
reg = <0xd00000 0x80000>;
|
||||
};
|
||||
|
||||
partition@d80000 {
|
||||
label = "0:appsbl";
|
||||
reg = <0xd80000 0x100000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@e80000 {
|
||||
label = "0:appsbl_1";
|
||||
reg = <0xe80000 0x100000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@f80000 {
|
||||
label = "0:art";
|
||||
reg = <0xf80000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@1000000 {
|
||||
label = "0:art.bak";
|
||||
reg = <0x1000000 0x0080000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@1080000 {
|
||||
label = "config";
|
||||
reg = <0x1080000 0x0100000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@1180000 {
|
||||
label = "boarddata1";
|
||||
reg = <0x1180000 0x0100000>;
|
||||
read-only;
|
||||
|
||||
nvmem-layout {
|
||||
compatible = "fixed-layout";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
macaddr_lan: macaddr@0 {
|
||||
reg = <0x0 0x6>;
|
||||
};
|
||||
|
||||
macaddr_wan: macaddr@1 {
|
||||
reg = <0x6 0x6>;
|
||||
};
|
||||
|
||||
macaddr_wlan5g: macaddr@2 {
|
||||
reg = <0xc 0x6>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
partition@1280000 {
|
||||
label = "boarddata2";
|
||||
reg = <0x1280000 0x0100000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@1380000 {
|
||||
label = "pot";
|
||||
reg = <0x1380000 0x0100000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@1480000 {
|
||||
label = "dnidata";
|
||||
reg = <0x1480000 0x0500000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@1980000 {
|
||||
label = "kernel";
|
||||
reg = <0x1980000 0x1d00000>;
|
||||
};
|
||||
|
||||
partition@7e00000 {
|
||||
label = "ethphyfw";
|
||||
reg = <0x7e00000 0x80000>;
|
||||
};
|
||||
|
||||
partition@e8800000 {
|
||||
label = "rootfs";
|
||||
reg = <0xe880000 0x11780000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&qusb_phy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qusb_phy_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ssphy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ssphy_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&wifi{
|
||||
status = "okay";
|
||||
|
||||
qcom,ath11k-calibration-variant = "Netgear-RAX120v2";
|
||||
};
|
||||
|
||||
&cryptobam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&crypto {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&prng {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -0,0 +1,735 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
/* Copyright (c) 2024, Robert Marko <robimarko@gmail.com> */
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "ipq8074.dtsi"
|
||||
#include "ipq8074-hk-cpu.dtsi"
|
||||
#include "ipq8074-ess.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/ {
|
||||
model = "Asus RT-AX89X";
|
||||
compatible = "asus,rt-ax89x", "qcom,ipq8074";
|
||||
|
||||
aliases {
|
||||
serial0 = &blsp1_uart5;
|
||||
mdio-gpio0 = &mdio1;
|
||||
ethernet0 = &dp1;
|
||||
ethernet1 = &dp2;
|
||||
ethernet2 = &dp3;
|
||||
ethernet3 = &dp4;
|
||||
ethernet4 = &dp5_syn;
|
||||
ethernet5 = &dp6_syn;
|
||||
led-boot = &led_pwr;
|
||||
led-failsafe = &led_pwr;
|
||||
led-running = &led_pwr;
|
||||
led-upgrade = &led_pwr;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
/* We have to override root and ubi device passed by bootloader */
|
||||
bootargs-append = " ubi.block=0,jffs2 root=/dev/ubiblock0_4";
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
pinctrl-0 = <&button_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
wifi-button {
|
||||
label = "wifi";
|
||||
gpios = <&tlmm 26 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_WLAN>;
|
||||
};
|
||||
|
||||
reset-button {
|
||||
label = "reset";
|
||||
gpios = <&tlmm 61 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
|
||||
wps-button {
|
||||
label = "wps";
|
||||
gpios = <&tlmm 34 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_WPS_BUTTON>;
|
||||
};
|
||||
|
||||
led-button {
|
||||
label = "led";
|
||||
gpios = <&tlmm 25 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_LIGHTS_TOGGLE>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-0 = <&led_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
led_pwr: led-pwr {
|
||||
function = LED_FUNCTION_POWER;
|
||||
gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
};
|
||||
|
||||
led-2g {
|
||||
function = LED_FUNCTION_WLAN_2GHZ;
|
||||
gpios = <&tlmm 18 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
linux,default-trigger = "phy0radio";
|
||||
};
|
||||
|
||||
led-5g {
|
||||
function = LED_FUNCTION_WLAN_5GHZ;
|
||||
gpios = <&tlmm 19 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
linux,default-trigger = "phy1radio";
|
||||
};
|
||||
|
||||
led-10g-copper {
|
||||
function = "aqr10g";
|
||||
gpios = <&tlmm 20 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
};
|
||||
|
||||
led-lan {
|
||||
function = LED_FUNCTION_LAN;
|
||||
gpios = <&tlmm 35 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
};
|
||||
|
||||
led-sfp {
|
||||
function = "sfp";
|
||||
gpios = <&tlmm 36 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
};
|
||||
|
||||
led-wan-red {
|
||||
function = LED_FUNCTION_WAN;
|
||||
gpios = <&tlmm 44 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
};
|
||||
|
||||
led-wan-white {
|
||||
function = LED_FUNCTION_WAN;
|
||||
gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
};
|
||||
};
|
||||
|
||||
gpio_fan: gpio-fan {
|
||||
compatible = "gpio-fan";
|
||||
pinctrl-0 = <&fan_pins>;
|
||||
pinctrl-names = "default";
|
||||
gpios = <&tlmm 64 GPIO_ACTIVE_HIGH
|
||||
&tlmm 66 GPIO_ACTIVE_HIGH>;
|
||||
/*
|
||||
* Not supported upstream, but good to document for
|
||||
* future uses.
|
||||
* It seems that Delta AFB0712VHB fan has its tacho
|
||||
* output connected to GPIO 65.
|
||||
*/
|
||||
//rpm-gpios = <&tlmm 65 GPIO_ACTIVE_HIGH>;
|
||||
gpio-fan,speed-map = < 0 0
|
||||
1600 1
|
||||
1850 2
|
||||
2100 3 >;
|
||||
#cooling-cells = <2>;
|
||||
};
|
||||
|
||||
usb0_vbus: regulator-usb0-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "usb0_vbus";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpio = <&tlmm 30 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
usb1_vbus: regulator-usb1-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "usb1_vbus";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpio = <&tlmm 31 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
regulator-boot-on;
|
||||
};
|
||||
};
|
||||
|
||||
&cpu0_thermal {
|
||||
trips {
|
||||
cpu0_active: cpu-active {
|
||||
temperature = <70000>;
|
||||
hysteresis = <2000>;
|
||||
type = "active";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
map2 {
|
||||
trip = <&cpu0_active>;
|
||||
cooling-device = <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&cpu1_thermal {
|
||||
trips {
|
||||
cpu1_active: cpu-active {
|
||||
temperature = <70000>;
|
||||
hysteresis = <2000>;
|
||||
type = "active";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
map2 {
|
||||
trip = <&cpu1_active>;
|
||||
cooling-device = <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&cpu2_thermal {
|
||||
trips {
|
||||
cpu2_active: cpu-active {
|
||||
temperature = <70000>;
|
||||
hysteresis = <2000>;
|
||||
type = "active";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
map2 {
|
||||
trip = <&cpu2_active>;
|
||||
cooling-device = <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&cpu3_thermal {
|
||||
trips {
|
||||
cpu3_active: cpu-active {
|
||||
temperature = <70000>;
|
||||
hysteresis = <2000>;
|
||||
type = "active";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
map2 {
|
||||
trip = <&cpu3_active>;
|
||||
cooling-device = <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&cluster_thermal {
|
||||
trips {
|
||||
cluster_active: cluster-active {
|
||||
temperature = <70000>;
|
||||
hysteresis = <2000>;
|
||||
type = "active";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
map2 {
|
||||
trip = <&cluster_active>;
|
||||
cooling-device = <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
button_pins: button-state {
|
||||
pins = "gpio25", "gpio26", "gpio34", "gpio61";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
i2c_pins: i2c-pins {
|
||||
pins = "gpio42", "gpio43";
|
||||
function = "blsp1_i2c";
|
||||
drive-strength = <8>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
mdio_pins: mdio-pins {
|
||||
mdc {
|
||||
pins = "gpio68";
|
||||
function = "mdc";
|
||||
drive-strength = <16>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mdio {
|
||||
pins = "gpio69";
|
||||
function = "mdio";
|
||||
drive-strength = <16>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
mdio_gpio_pins: mdio-gpio-pins {
|
||||
pins = "gpio54", "gpio56";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
uniphy_pins: uniphy_pinmux {
|
||||
mux {
|
||||
pins = "gpio60";
|
||||
function = "rx2";
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
sfp_tx_disable {
|
||||
pins = "gpio48";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-down;
|
||||
output-low;
|
||||
};
|
||||
|
||||
sfp_tx_fault {
|
||||
pins = "gpio62";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
output-high;
|
||||
};
|
||||
|
||||
sfp_mod_def0 {
|
||||
pins = "gpio46";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
led_pins: led-state {
|
||||
power {
|
||||
pins = "gpio21";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
default_off {
|
||||
pins = "gpio18", "gpio19", "gpio20", "gpio47",
|
||||
"gpio44", "gpio35", "gpio36";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-down;
|
||||
};
|
||||
};
|
||||
|
||||
fan_pins: fan-state {
|
||||
pins = "gpio64", "gpio66";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-disable;
|
||||
output-high;
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_uart5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&prng {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cryptobam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&crypto {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ssphy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qusb_phy_0 {
|
||||
status = "okay";
|
||||
|
||||
vdd-supply = <&usb0_vbus>;
|
||||
};
|
||||
|
||||
&ssphy_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qusb_phy_1 {
|
||||
status = "okay";
|
||||
|
||||
vdd-supply = <&usb1_vbus>;
|
||||
};
|
||||
|
||||
&usb_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_1 {
|
||||
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 = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "0:sbl1";
|
||||
reg = <0x0 0x60000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@60000 {
|
||||
label = "0:mibib";
|
||||
reg = <0x00060000 0x40000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@a0000 {
|
||||
label = "0:qsee";
|
||||
reg = <0x000a0000 0x1e0000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@280000 {
|
||||
label = "0:devcfg";
|
||||
reg = <0x00280000 0x20000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@2a0000 {
|
||||
label = "0:apdp";
|
||||
reg = <0x002a0000 0x20000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@2c0000 {
|
||||
label = "0:rpm";
|
||||
reg = <0x002c0000 0x40000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@300000 {
|
||||
label = "0:cdt";
|
||||
reg = <0x00300000 0x20000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@320000 {
|
||||
label = "0:appsbl";
|
||||
reg = <0x00320000 0xc0000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3e0000 {
|
||||
label = "0:appsblenv";
|
||||
reg = <0x003e0000 0x20000>;
|
||||
};
|
||||
|
||||
partition@400000 {
|
||||
compatible = "linux,ubi";
|
||||
label = "UBI_DEV";
|
||||
reg = <0x00400000 0xfc00000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_i2c2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mdio {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
pinctrl-names = "default";
|
||||
reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
|
||||
|
||||
qca8337_0: ethernet-phy@0 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0x0>;
|
||||
};
|
||||
|
||||
qca8337_1: ethernet-phy@1 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0x1>;
|
||||
};
|
||||
|
||||
qca8337_2: ethernet-phy@2 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0x2>;
|
||||
};
|
||||
|
||||
qca8337_3: ethernet-phy@3 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0x3>;
|
||||
};
|
||||
|
||||
qca8337_4: ethernet-phy@4 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0x4>;
|
||||
};
|
||||
|
||||
/*
|
||||
* Vendor bootloader has path for ethernet-phy@5 hardcoded
|
||||
* and if its there it will delete the node, but since we
|
||||
* need the QCA8035 for DSA lets fool the bootloader by using
|
||||
* ethernet-phy@05 even though it causes DTC to print a warning.
|
||||
*/
|
||||
qca8035: ethernet-phy@05 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0x5>;
|
||||
};
|
||||
|
||||
qca8033: ethernet-phy@6 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0x6>;
|
||||
};
|
||||
|
||||
ethernet-phy-package@8 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "qcom,qca8075-package";
|
||||
reg = <8>;
|
||||
|
||||
qcom,package-mode = "qsgmii";
|
||||
|
||||
qca8075_8: ethernet-phy@8 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0x8>;
|
||||
};
|
||||
|
||||
qca8075_9: ethernet-phy@9 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0x9>;
|
||||
};
|
||||
|
||||
qca8075_a: ethernet-phy@a {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0xa>;
|
||||
};
|
||||
|
||||
qca8075_b: ethernet-phy@b {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0xb>;
|
||||
};
|
||||
};
|
||||
|
||||
qca8337: switch@10 {
|
||||
compatible = "qca,qca8337";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x10>;
|
||||
|
||||
ports {
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
label = "cpu";
|
||||
ethernet = <&dp1>;
|
||||
phy-mode = "rgmii-rxid";
|
||||
phy-handle = <&qca8035>;
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
label = "lan7";
|
||||
phy-handle = <&qca8337_0>;
|
||||
};
|
||||
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
label = "lan6";
|
||||
phy-handle = <&qca8337_1>;
|
||||
};
|
||||
|
||||
port@3 {
|
||||
reg = <3>;
|
||||
label = "lan5";
|
||||
phy-handle = <&qca8337_2>;
|
||||
};
|
||||
|
||||
port@4 {
|
||||
reg = <4>;
|
||||
label = "lan4";
|
||||
phy-handle = <&qca8337_3>;
|
||||
};
|
||||
|
||||
port@5 {
|
||||
reg = <5>;
|
||||
label = "lan3";
|
||||
phy-handle = <&qca8337_4>;
|
||||
};
|
||||
|
||||
port@6 {
|
||||
reg = <6>;
|
||||
label = "lan8";
|
||||
phy-mode = "sgmii";
|
||||
phy-handle = <&qca8033>;
|
||||
managed = "in-band-status";
|
||||
qca,sgmii-enable-pll;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&soc {
|
||||
/*
|
||||
* This is techically incorrect and will cause a DTC warning as
|
||||
* all nodes under a bus are supposed to have addresses as well
|
||||
* but its required as bootloader has this path hardcoded in
|
||||
* order to enable AQR113C on newer revisions.
|
||||
*/
|
||||
mdio1: mdio1 {
|
||||
compatible = "virtual,mdio-gpio";
|
||||
pinctrl-0 = <&mdio_gpio_pins>;
|
||||
pinctrl-names = "default";
|
||||
gpios = <&tlmm 56 GPIO_ACTIVE_HIGH>,
|
||||
<&tlmm 54 GPIO_ACTIVE_HIGH>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
/*
|
||||
* PCB R5.00, AQR113C
|
||||
* No idea why the bitbanged this one.
|
||||
* @5 is wrong, but their bootloader has it hardcoded in
|
||||
* order to dynamically enable the PHY for newer HW.
|
||||
*/
|
||||
aqr113c: ethernet-phy@5 {
|
||||
status = "disabled";
|
||||
compatible ="ethernet-phy-ieee802.3-c45";
|
||||
reg = <8>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&switch {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&uniphy_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
switch_lan_bmp = <(ESS_PORT1 | ESS_PORT2 | ESS_PORT3 | ESS_PORT5 | ESS_PORT6)>; /* lan port bitmap */
|
||||
switch_wan_bmp = <ESS_PORT4>; /* wan port bitmap */
|
||||
switch_mac_mode = <MAC_MODE_QSGMII>; /* mac mode for uniphy instance0*/
|
||||
switch_mac_mode1 = <MAC_MODE_10GBASE_R>; /* mac mode for uniphy instance1*/
|
||||
switch_mac_mode2 = <MAC_MODE_USXGMII>; /* mac mode for uniphy instance2*/
|
||||
|
||||
qcom,port_phyinfo {
|
||||
port@0 {
|
||||
port_id = <1>;
|
||||
phy_address = <0x8>;
|
||||
};
|
||||
port@1 {
|
||||
port_id = <2>;
|
||||
phy_address = <0x9>;
|
||||
};
|
||||
port@2 {
|
||||
port_id = <3>;
|
||||
phy_address = <0xa>;
|
||||
};
|
||||
port@3 {
|
||||
port_id = <4>;
|
||||
phy_address = <0xb>;
|
||||
};
|
||||
|
||||
sfp: port@4 {
|
||||
port_id = <5>;
|
||||
phy_address = <30>;
|
||||
phy_i2c_address = <30>;
|
||||
phy-i2c-mode; /*i2c access phy */
|
||||
media-type = "sfp"; /* fiber mode */
|
||||
sfp_tx_dis_pin = <&tlmm 48 GPIO_ACTIVE_HIGH>;
|
||||
sfp_mod_present_pin = <&tlmm 46 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
/* PCB R5.00, AQR113C */
|
||||
port@5_113c {
|
||||
status = "disabled";
|
||||
port_id = <6>;
|
||||
phy_address = <8>;
|
||||
ethernet-phy-ieee802.3-c45;
|
||||
mdiobus = <&mdio1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&edma {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dp1 {
|
||||
status = "okay";
|
||||
phy-mode = "qsgmii";
|
||||
phy-handle = <&qca8075_8>;
|
||||
label = "switch";
|
||||
};
|
||||
|
||||
&dp2 {
|
||||
status = "okay";
|
||||
phy-mode = "qsgmii";
|
||||
phy-handle = <&qca8075_9>;
|
||||
label = "lan2";
|
||||
};
|
||||
|
||||
&dp3 {
|
||||
status = "okay";
|
||||
phy-mode = "qsgmii";
|
||||
phy-handle = <&qca8075_a>;
|
||||
label = "lan1";
|
||||
};
|
||||
|
||||
&dp4 {
|
||||
status = "okay";
|
||||
phy-mode = "qsgmii";
|
||||
phy-handle = <&qca8075_b>;
|
||||
label = "wan";
|
||||
};
|
||||
|
||||
&dp5_syn {
|
||||
status = "okay";
|
||||
phy-handle = <&sfp>;
|
||||
label = "10g-sfp";
|
||||
};
|
||||
|
||||
&dp6_syn {
|
||||
status = "okay";
|
||||
phy-handle = <&aqr113c>;
|
||||
label = "10g-copper";
|
||||
};
|
||||
|
||||
&wifi {
|
||||
status = "okay";
|
||||
qcom,ath11k-calibration-variant = "Asus-RT-AX89X";
|
||||
};
|
||||
@@ -0,0 +1,541 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
/*
|
||||
* Copyright (c) 2021, Flole <flole@flole.de>
|
||||
* Copyright (c) 2023, Andrew Smith <gul.code@outlook.com>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "ipq8074.dtsi"
|
||||
#include "ipq8074-ess.dtsi"
|
||||
#include "ipq8074-hk-cpu.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/ {
|
||||
aliases {
|
||||
serial0 = &blsp1_uart5;
|
||||
led-boot = &led_front_blue;
|
||||
led-failsafe = &led_front_red;
|
||||
led-running = &led_front_green;
|
||||
led-upgrade = &led_front_white;
|
||||
label-mac-device = &dp2;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
bootargs-append = " ubi.mtd=rootfs root=/dev/ubiblock0_0";
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
gpios = <&tlmm 54 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
|
||||
wps {
|
||||
label = "wps";
|
||||
gpios = <&tlmm 57 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_WPS_BUTTON>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led_front_blue: front-blue {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
gpios = <&tlmm 33 GPIO_ACTIVE_LOW>;
|
||||
color = <LED_COLOR_ID_BLUE>;
|
||||
};
|
||||
|
||||
led_front_green: front-green {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
gpios = <&tlmm 29 GPIO_ACTIVE_LOW>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
};
|
||||
|
||||
led_front_red: front-red {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
gpios = <&tlmm 31 GPIO_ACTIVE_LOW>;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
};
|
||||
|
||||
led_front_white: front-white {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
gpios = <&tlmm 26 GPIO_ACTIVE_LOW>;
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
};
|
||||
|
||||
led_power_green: power-green {
|
||||
function = LED_FUNCTION_POWER;
|
||||
gpios = <&tlmm 21 GPIO_ACTIVE_LOW>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
default-state = "on";
|
||||
};
|
||||
|
||||
led_power_red: power-red {
|
||||
function = LED_FUNCTION_POWER;
|
||||
gpios = <&tlmm 22 GPIO_ACTIVE_LOW>;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
panic-indicator;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
mdio_pins: mdio-pins {
|
||||
mdc {
|
||||
pins = "gpio68";
|
||||
function = "mdc";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mdio {
|
||||
pins = "gpio69";
|
||||
function = "mdio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
leds_pins: leds_pinmux {
|
||||
led_power_green {
|
||||
pins = "gpio21";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
led_power_red {
|
||||
pins = "gpio22";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
led_white {
|
||||
pins = "gpio26";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
led_green {
|
||||
pins = "gpio29";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
led_red {
|
||||
pins = "gpio31";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
led_blue {
|
||||
pins = "gpio33";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-down;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_uart5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&blsp1_i2c2 {
|
||||
pinctrl-0 = <&i2c_0_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
status = "okay";
|
||||
|
||||
tlc59208f@27 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "ti,tlc59108";
|
||||
reg = <0x27>;
|
||||
|
||||
led@0 {
|
||||
label = "rgb:led0";
|
||||
reg = <0>;
|
||||
linux,default-trigger = "default-off";
|
||||
};
|
||||
|
||||
led@1 {
|
||||
label = "rgb:led1";
|
||||
reg = <1>;
|
||||
linux,default-trigger = "default-off";
|
||||
};
|
||||
|
||||
led@2 {
|
||||
label = "rgb:led2";
|
||||
reg = <2>;
|
||||
linux,default-trigger = "default-off";
|
||||
};
|
||||
|
||||
led@3 {
|
||||
label = "rgb:led3";
|
||||
reg = <3>;
|
||||
linux,default-trigger = "default-off";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&prng {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cryptobam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&crypto {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qpic_bam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qpic_nand {
|
||||
status = "okay";
|
||||
|
||||
/*
|
||||
* Bootloader will find the NAND DT node by the compatible and
|
||||
* then "fixup" it by adding the partitions from the SMEM table
|
||||
* using the legacy bindings thus making it impossible for us
|
||||
* to change the partition table or utilize NVMEM for calibration.
|
||||
* So add a dummy partitions node that bootloader will populate
|
||||
* and set it as disabled so the kernel ignores it instead of
|
||||
* printing warnings due to the broken way bootloader adds the
|
||||
* partitions.
|
||||
*/
|
||||
partitions {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
nand@0 {
|
||||
reg = <0>;
|
||||
nand-ecc-strength = <4>;
|
||||
nand-ecc-step-size = <512>;
|
||||
nand-bus-width = <8>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "0:sbl1";
|
||||
reg = <0x00 0x100000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@100000 {
|
||||
label = "0:mibib";
|
||||
reg = <0x100000 0x100000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@200000 {
|
||||
label = "0:bootconfig";
|
||||
reg = <0x200000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@280000 {
|
||||
label = "0:bootconfig_1";
|
||||
reg = <0x280000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@300000 {
|
||||
label = "0:qsee";
|
||||
reg = <0x300000 0x300000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@600000 {
|
||||
label = "0:qsee_1";
|
||||
reg = <0x600000 0x300000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@900000 {
|
||||
label = "0:devcfg";
|
||||
reg = <0x900000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@980000 {
|
||||
label = "0:devcfg_1";
|
||||
reg = <0x980000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@a00000 {
|
||||
label = "0:apdp";
|
||||
reg = <0xa00000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@a80000 {
|
||||
label = "0:apdp_1";
|
||||
reg = <0xa80000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@b00000 {
|
||||
label = "0:rpm";
|
||||
reg = <0xb00000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@b80000 {
|
||||
label = "0:rpm_1";
|
||||
reg = <0xb80000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@c00000 {
|
||||
label = "0:cdt";
|
||||
reg = <0xc00000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@c80000 {
|
||||
label = "0:cdt_1";
|
||||
reg = <0xc80000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@d00000 {
|
||||
label = "0:appsblenv";
|
||||
reg = <0xd00000 0x80000>;
|
||||
};
|
||||
|
||||
partition@d80000 {
|
||||
label = "0:appsbl";
|
||||
reg = <0xd80000 0x100000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@e80000 {
|
||||
label = "0:appsbl_1";
|
||||
reg = <0xe80000 0x100000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@f80000 {
|
||||
label = "0:art";
|
||||
reg = <0xf80000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@1000000 {
|
||||
label = "0:art.bak";
|
||||
reg = <0x1000000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@1080000 {
|
||||
label = "config";
|
||||
reg = <0x1080000 0x100000>;
|
||||
};
|
||||
|
||||
partition@1180000 {
|
||||
label = "boarddata1";
|
||||
reg = <0x1180000 0x100000>;
|
||||
|
||||
nvmem-layout {
|
||||
compatible = "fixed-layout";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
macaddr_boarddata1_0: macaddr@0 {
|
||||
reg = <0x0 0x6>;
|
||||
};
|
||||
|
||||
macaddr_boarddata1_6: macaddr@6 {
|
||||
reg = <0x6 0x6>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
partition@1280000 {
|
||||
label = "boarddata2";
|
||||
reg = <0x1280000 0x100000>;
|
||||
};
|
||||
|
||||
partition@1380000 {
|
||||
label = "pot";
|
||||
reg = <0x1380000 0x100000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@1480000 {
|
||||
label = "dnidata";
|
||||
reg = <0x1480000 0x500000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@1980000 {
|
||||
label = "kernel";
|
||||
reg = <0x1980000 0x620000>;
|
||||
};
|
||||
|
||||
partition@1fa0000 {
|
||||
label = "rootfs";
|
||||
reg = <0x1fa0000 0x66e0000>;
|
||||
};
|
||||
|
||||
partition@8680000 {
|
||||
label = "kernel2";
|
||||
reg = <0x8680000 0x620000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@8ca0000 {
|
||||
label = "rootfs2";
|
||||
reg = <0x8ca0000 0x66e0000>;
|
||||
read-only;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&mdio {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
pinctrl-names = "default";
|
||||
reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
|
||||
|
||||
ethernet-phy-package@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
|
||||
compatible = "qcom,qca8075-package";
|
||||
|
||||
qca8075_1: ethernet-phy@1 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
qca8075_2: ethernet-phy@2 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <2>;
|
||||
};
|
||||
|
||||
qca8075_3: ethernet-phy@3 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <3>;
|
||||
};
|
||||
|
||||
qca8075_4: ethernet-phy@4 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <4>;
|
||||
};
|
||||
};
|
||||
|
||||
qca8081_28: ethernet-phy@28 {
|
||||
compatible = "ethernet-phy-id004d.d101";
|
||||
reg = <28>;
|
||||
reset-deassert-us = <10000>;
|
||||
reset-gpios = <&tlmm 25 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
&switch {
|
||||
status = "okay";
|
||||
|
||||
switch_lan_bmp = <(ESS_PORT2 | ESS_PORT3 | ESS_PORT4 | ESS_PORT5)>; /* lan port bitmap */
|
||||
switch_wan_bmp = <ESS_PORT6>; /* wan port bitmap */
|
||||
switch_mac_mode = <MAC_MODE_PSGMII>; /* mac mode for uniphy instance0*/
|
||||
switch_mac_mode2 = <MAC_MODE_SGMII_PLUS>; /* mac mode for uniphy instance2*/
|
||||
|
||||
qcom,port_phyinfo {
|
||||
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>;
|
||||
};
|
||||
port@6 {
|
||||
port_id = <6>;
|
||||
phy_address = <28>;
|
||||
port_mac_sel = "QGMAC_PORT";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&edma {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dp2 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8075_1>;
|
||||
label = "lan2";
|
||||
nvmem-cells = <&macaddr_boarddata1_0>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&dp3 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8075_2>;
|
||||
label = "lan3";
|
||||
nvmem-cells = <&macaddr_boarddata1_0>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&dp4 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8075_3>;
|
||||
label = "lan4";
|
||||
nvmem-cells = <&macaddr_boarddata1_0>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&dp5 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8075_4>;
|
||||
label = "lan5";
|
||||
nvmem-cells = <&macaddr_boarddata1_0>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&dp6 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8081_28>;
|
||||
label = "wan";
|
||||
nvmem-cells = <&macaddr_boarddata1_6>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&wifi {
|
||||
status = "okay";
|
||||
|
||||
qcom,ath11k-calibration-variant = "Netgear-SXK80";
|
||||
};
|
||||
@@ -0,0 +1,11 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
/* Copyright (c) 2021, Flole <flole@flole.de> */
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "ipq8074-sxk80.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Netgear SXR80";
|
||||
compatible = "netgear,sxr80", "qcom,ipq8074";
|
||||
};
|
||||
@@ -0,0 +1,11 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
/* Copyright (c) 2021, Flole <flole@flole.de> */
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "ipq8074-sxk80.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Netgear SXS80";
|
||||
compatible = "netgear,sxs80", "qcom,ipq8074";
|
||||
};
|
||||
@@ -0,0 +1,256 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "ipq8074.dtsi"
|
||||
#include "ipq8074-hk-cpu.dtsi"
|
||||
#include "ipq8074-ess.dtsi"
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/ {
|
||||
model = "Netgear WAX630";
|
||||
compatible = "netgear,wax630", "qcom,ipq8074";
|
||||
|
||||
aliases {
|
||||
serial0 = &blsp1_uart5;
|
||||
|
||||
ethernet0 = &dp6_syn;
|
||||
ethernet1 = &dp4;
|
||||
label-mac-device = &dp6_syn;
|
||||
|
||||
led-boot = &led_system_blue;
|
||||
led-failsafe = &led_system_red;
|
||||
led-running = &led_system_green;
|
||||
led-upgrade = &led_system_blue;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
bootargs-append = " root=/dev/ubiblock0_1";
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
gpios = <&tlmm 54 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
};
|
||||
|
||||
led-spi {
|
||||
compatible = "spi-gpio";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
sck-gpios = <&tlmm 18 GPIO_ACTIVE_HIGH>;
|
||||
mosi-gpios = <&tlmm 19 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
led_gpio: led-gpio@0 {
|
||||
compatible = "fairchild,74hc595";
|
||||
reg = <0>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
registers-number = <1>;
|
||||
enable-gpios = <&tlmm 20 GPIO_ACTIVE_HIGH>;
|
||||
spi-max-frequency = <1000000>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led_system_red: system-red {
|
||||
label = "system:red";
|
||||
gpios = <&tlmm 22 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led_system_green: system-green {
|
||||
label = "system:green";
|
||||
gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led_system_blue: system-blue {
|
||||
label = "system:blue";
|
||||
gpios = <&tlmm 21 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
lan1-green {
|
||||
label = "lan1:green";
|
||||
gpios = <&tlmm 26 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
lan1-orange {
|
||||
label = "lan1:orange";
|
||||
gpios = <&tlmm 27 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
lan2-green {
|
||||
label = "lan2:green";
|
||||
gpios = <&tlmm 57 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
lan2-orange {
|
||||
label = "lan2:orange";
|
||||
gpios = <&tlmm 60 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
2g-blue {
|
||||
label = "wlan2g:blue";
|
||||
gpios = <&tlmm 29 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
2g-green {
|
||||
label = "wlan2g:green";
|
||||
gpios = <&tlmm 30 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
5g-low-blue {
|
||||
label = "wlan5g_low:blue";
|
||||
gpios = <&tlmm 33 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
5g-low-green {
|
||||
label = "wlan5g_low:green";
|
||||
gpios = <&tlmm 34 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
5g-high-blue {
|
||||
label = "wlan5g_high:blue";
|
||||
gpios = <&tlmm 31 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
5g-high-green {
|
||||
label = "wlan5g_high:green";
|
||||
gpios = <&tlmm 32 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
&edma {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&switch {
|
||||
status = "okay";
|
||||
|
||||
switch_lan_bmp = <(ESS_PORT4 | ESS_PORT6)>;
|
||||
switch_mac_mode = <MAC_MODE_PSGMII>;
|
||||
switch_mac_mode2 = <MAC_MODE_SGMII_PLUS>;
|
||||
|
||||
qcom,port_phyinfo {
|
||||
port@4 {
|
||||
port_id = <4>;
|
||||
phy_address = <3>;
|
||||
};
|
||||
|
||||
port@6 {
|
||||
port_id = <6>;
|
||||
phy_address = <28>;
|
||||
port_mac_sel = "QGMAC_PORT";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
mdio_pins: mdio-pins {
|
||||
mdc {
|
||||
pins = "gpio68";
|
||||
function = "mdc";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mdio {
|
||||
pins = "gpio69";
|
||||
function = "mdio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&mdio {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
pinctrl-names = "default";
|
||||
reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
|
||||
|
||||
ethernet-phy-package@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "qcom,qca8075-package";
|
||||
reg = <0>;
|
||||
|
||||
qca8075_3: ethernet-phy@3 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <3>;
|
||||
};
|
||||
};
|
||||
|
||||
qca8081: ethernet-phy@28 {
|
||||
compatible = "ethernet-phy-id004d.d101";
|
||||
reg = <28>;
|
||||
reset-deassert-us = <10000>;
|
||||
reset-gpios = <&tlmm 25 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
&dp4 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8075_3>;
|
||||
label = "lan2";
|
||||
};
|
||||
|
||||
&dp6_syn {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8081>;
|
||||
label = "lan1";
|
||||
};
|
||||
|
||||
&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_uart5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&wifi {
|
||||
status = "okay";
|
||||
|
||||
qcom,ath11k-calibration-variant = "Netgear-WAX630";
|
||||
};
|
||||
@@ -0,0 +1,368 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "ipq8074.dtsi"
|
||||
#include "ipq8074-hk-cpu.dtsi"
|
||||
#include "ipq8074-ess.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
|
||||
/ {
|
||||
model = "Buffalo WXR-5950AX12";
|
||||
compatible = "buffalo,wxr-5950ax12", "qcom,ipq8074";
|
||||
|
||||
aliases {
|
||||
serial0 = &blsp1_uart5;
|
||||
led-boot = &led_power_white;
|
||||
led-failsafe = &led_power_red;
|
||||
led-running = &led_power_white;
|
||||
led-upgrade = &led_power_white;
|
||||
label-mac-device = &dp5_syn;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
bootargs-append = " ubi.mtd=user_property root=/dev/ubiblock1_0";
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led-0 {
|
||||
gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
function = "router";
|
||||
};
|
||||
|
||||
led-1 {
|
||||
gpios = <&tlmm 22 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
function = "router";
|
||||
};
|
||||
|
||||
led_power_red: led-2 {
|
||||
gpios = <&tlmm 31 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
function = LED_FUNCTION_POWER;
|
||||
};
|
||||
|
||||
led_power_white: led-3 {
|
||||
gpios = <&tlmm 34 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
function = LED_FUNCTION_POWER;
|
||||
};
|
||||
|
||||
led-4 {
|
||||
gpios = <&tlmm 43 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
function = "internet";
|
||||
};
|
||||
|
||||
led-5 {
|
||||
gpios = <&tlmm 44 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
function = "internet";
|
||||
};
|
||||
|
||||
led-6 {
|
||||
gpios = <&tlmm 55 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
function = LED_FUNCTION_WLAN;
|
||||
};
|
||||
|
||||
led-7 {
|
||||
gpios = <&tlmm 56 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
function = LED_FUNCTION_WLAN;
|
||||
};
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
/*
|
||||
* mode: 3x position switch
|
||||
*
|
||||
* - ROUTER
|
||||
* - AP
|
||||
* - WB (Wireless Bridge)
|
||||
*/
|
||||
ap {
|
||||
label = "mode-ap";
|
||||
gpios = <&tlmm 29 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <BTN_0>;
|
||||
};
|
||||
|
||||
bridge {
|
||||
label = "mode-wb";
|
||||
gpios = <&tlmm 30 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <BTN_1>;
|
||||
};
|
||||
|
||||
/*
|
||||
* op: 2x position switch
|
||||
*
|
||||
* - AUTO
|
||||
* - MANUAL (select Router/AP/WB manually)
|
||||
*/
|
||||
manual {
|
||||
label = "op-manual";
|
||||
gpios = <&tlmm 52 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <BTN_2>;
|
||||
};
|
||||
|
||||
wps {
|
||||
label = "wps";
|
||||
gpios = <&tlmm 51 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_WPS_BUTTON>;
|
||||
};
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
gpios = <&tlmm 54 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
};
|
||||
|
||||
reg_usb_vbus: regulator-5v-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vbus";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpios = <&tlmm 64 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
mdio_pins: mdio-pins {
|
||||
mdc {
|
||||
pins = "gpio68";
|
||||
function = "mdc";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mdio {
|
||||
pins = "gpio69";
|
||||
function = "mdio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_uart5 {
|
||||
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";
|
||||
|
||||
partition-0-appsblenv {
|
||||
compatible = "fixed-partitions";
|
||||
label = "0:appsblenv";
|
||||
read-only;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
compatible = "u-boot,env";
|
||||
label = "env-data";
|
||||
reg = <0x0 0x40000>;
|
||||
|
||||
macaddr_appsblenv_ethaddr: ethaddr {
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&mdio {
|
||||
status = "okay";
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
pinctrl-names = "default";
|
||||
/*
|
||||
* RESET pins of phy chips
|
||||
*
|
||||
* WXR-5950AX12 has 2x RESET pins for QCA8075 and AQR113C.
|
||||
* The pin of QCA8075 is for the chip and not phys in the chip, the
|
||||
* pin of AQR113C is for 2x chips. So both pins are not appropriate
|
||||
* to declare them as reset-gpios in phy nodes.
|
||||
* Multiple entries in reset-gpios of mdio may not be supported, but
|
||||
* leave the following as-is to show that the those reset pin exists.
|
||||
*/
|
||||
reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>, /* QCA8075 RESET */
|
||||
<&tlmm 63 GPIO_ACTIVE_LOW>; /* AQR113C RESET (2x) */
|
||||
|
||||
aqr113c_1: ethernet-phy@0 {
|
||||
compatible = "ethernet-phy-ieee802.3-c45";
|
||||
reg = <0x0>;
|
||||
};
|
||||
|
||||
aqr113c_2: ethernet-phy@8 {
|
||||
compatible = "ethernet-phy-ieee802.3-c45";
|
||||
reg = <0x8>;
|
||||
};
|
||||
|
||||
ethernet-phy-package@17 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "qcom,qca8075-package";
|
||||
reg = <0x18>;
|
||||
|
||||
qcom,package-mode = "qsgmii";
|
||||
|
||||
qca8075_1: ethernet-phy@19 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0x19>;
|
||||
};
|
||||
|
||||
qca8075_2: ethernet-phy@1a {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0x1a>;
|
||||
};
|
||||
|
||||
qca8075_3: ethernet-phy@1b {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0x1b>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&switch {
|
||||
status = "okay";
|
||||
|
||||
switch_lan_bmp = <(ESS_PORT2 | ESS_PORT3 | ESS_PORT4 | ESS_PORT6)>;
|
||||
switch_wan_bmp = <ESS_PORT5>;
|
||||
switch_mac_mode = <MAC_MODE_QSGMII>;
|
||||
switch_mac_mode1 = <MAC_MODE_USXGMII>;
|
||||
switch_mac_mode2 = <MAC_MODE_USXGMII>;
|
||||
|
||||
qcom,port_phyinfo {
|
||||
port@2 {
|
||||
port_id = <2>;
|
||||
phy_address = <0x19>;
|
||||
};
|
||||
|
||||
port@3 {
|
||||
port_id = <3>;
|
||||
phy_address = <0x1a>;
|
||||
};
|
||||
|
||||
port@4 {
|
||||
port_id = <4>;
|
||||
phy_address = <0x1b>;
|
||||
};
|
||||
|
||||
port@5 {
|
||||
port_id = <5>;
|
||||
ethernet-phy-ieee802.3-c45;
|
||||
phy_address = <0x0>;
|
||||
};
|
||||
|
||||
port@6 {
|
||||
port_id = <6>;
|
||||
ethernet-phy-ieee802.3-c45;
|
||||
phy_address = <0x8>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&edma {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dp2 {
|
||||
status = "okay";
|
||||
phy-mode = "qsgmii";
|
||||
phy-handle = <&qca8075_1>;
|
||||
label = "lan4";
|
||||
nvmem-cells = <&macaddr_appsblenv_ethaddr>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&dp3 {
|
||||
status = "okay";
|
||||
phy-mode = "qsgmii";
|
||||
phy-handle = <&qca8075_2>;
|
||||
label = "lan3";
|
||||
nvmem-cells = <&macaddr_appsblenv_ethaddr>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&dp4 {
|
||||
status = "okay";
|
||||
phy-mode = "qsgmii";
|
||||
phy-handle = <&qca8075_3>;
|
||||
label = "lan2";
|
||||
nvmem-cells = <&macaddr_appsblenv_ethaddr>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&dp5_syn {
|
||||
status = "okay";
|
||||
phy-mode = "usxgmii";
|
||||
phy-handle = <&aqr113c_1>;
|
||||
label = "wan";
|
||||
nvmem-cells = <&macaddr_appsblenv_ethaddr>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&dp6_syn {
|
||||
status = "okay";
|
||||
phy-mode = "usxgmii";
|
||||
phy-handle = <&aqr113c_2>;
|
||||
label = "lan1";
|
||||
nvmem-cells = <&macaddr_appsblenv_ethaddr>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&ssphy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qusb_phy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_0 {
|
||||
status = "okay";
|
||||
|
||||
vbus-supply = <®_usb_vbus>;
|
||||
};
|
||||
|
||||
&wifi {
|
||||
status = "okay";
|
||||
|
||||
qcom,ath11k-calibration-variant = "Buffalo-WXR-5950AX12";
|
||||
};
|
||||
@@ -0,0 +1,447 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
/* Copyright (c) 2023, Mohammad Sayful Islam <Sayf.mohammad01@gmail.com> */
|
||||
|
||||
#include "ipq8074.dtsi"
|
||||
#include "ipq8074-ac-cpu.dtsi"
|
||||
#include "ipq8074-ess.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/ {
|
||||
|
||||
aliases {
|
||||
serial0 = &blsp1_uart5;
|
||||
serial1 = &blsp1_uart3;
|
||||
/*
|
||||
* Aliases as required by u-boot
|
||||
* to patch MAC addresses
|
||||
*/
|
||||
ethernet1 = &dp2;
|
||||
ethernet2 = &dp3;
|
||||
ethernet3 = &dp4;
|
||||
ethernet4 = &dp5;
|
||||
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";
|
||||
pinctrl-0 = <&button_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
reset-button {
|
||||
label = "reset";
|
||||
gpios = <&tlmm 52 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
|
||||
wps-button {
|
||||
label = "wps";
|
||||
gpios = <&tlmm 67 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_WPS_BUTTON>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
button_pins: button-state {
|
||||
pins = "gpio52", "gpio67";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mdio_pins: mdio-state {
|
||||
mdc-pins {
|
||||
pins = "gpio68";
|
||||
function = "mdc";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mdio-pins {
|
||||
pins = "gpio69";
|
||||
function = "mdio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
iot_pins: iot-state {
|
||||
recovery-pins {
|
||||
pins = "gpio22";
|
||||
function = "gpio";
|
||||
input;
|
||||
};
|
||||
|
||||
reset-pins {
|
||||
pins = "gpio21";
|
||||
function = "gpio";
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_uart3 {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&hsuart_pins &iot_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
/* Silicon Labs EFR32MG21 IoT */
|
||||
};
|
||||
|
||||
&blsp1_uart5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&prng {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cryptobam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&crypto {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qpic_bam {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qpic_nand {
|
||||
status = "okay";
|
||||
|
||||
/*
|
||||
* Bootloader will find the NAND DT node by the compatible and
|
||||
* then "fixup" it by adding the partitions from the SMEM table
|
||||
* using the legacy bindings thus making it impossible for us
|
||||
* to change the partition table or utilize NVMEM for calibration.
|
||||
* So add a dummy partitions node that bootloader will populate
|
||||
* and set it as disabled so the kernel ignores it instead of
|
||||
* printing warnings due to the broken way bootloader adds the
|
||||
* partitions.
|
||||
*/
|
||||
partitions {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
nand@0 {
|
||||
reg = <0>;
|
||||
nand-ecc-strength = <4>;
|
||||
nand-ecc-step-size = <512>;
|
||||
nand-bus-width = <8>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "0:sbl1";
|
||||
reg = <0x0 0x100000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@100000 {
|
||||
label = "0:mibib";
|
||||
reg = <0x100000 0x100000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@200000 {
|
||||
label = "0:bootconfig";
|
||||
reg = <0x200000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@280000 {
|
||||
label = "0:bootconfig1";
|
||||
reg = <0x280000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@300000 {
|
||||
label = "0:qsee";
|
||||
reg = <0x300000 0x300000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@600000 {
|
||||
label = "0:qsee_1";
|
||||
reg = <0x600000 0x300000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@900000 {
|
||||
label = "0:devcfg";
|
||||
reg = <0x900000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@980000 {
|
||||
label = "0:devcfg_1";
|
||||
reg = <0x980000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@a00000 {
|
||||
label = "0:apdp";
|
||||
reg = <0xa00000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@a80000 {
|
||||
label = "0:apdp_1";
|
||||
reg = <0xa80000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@b00000 {
|
||||
label = "0:rpm";
|
||||
reg = <0xb00000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@b80000 {
|
||||
label = "0:rpm_1";
|
||||
reg = <0xb80000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@c00000 {
|
||||
label = "0:cdt";
|
||||
reg = <0xc00000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@c80000 {
|
||||
label = "0:cdt_1";
|
||||
reg = <0xc80000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@d00000 {
|
||||
label = "0:appsblenv";
|
||||
reg = <0xd00000 0x80000>;
|
||||
};
|
||||
|
||||
partition@d80000 {
|
||||
label = "0:appsbl";
|
||||
reg = <0xd80000 0x100000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@e80000 {
|
||||
label = "0:appsbl_1";
|
||||
reg = <0xe80000 0x100000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@f80000 {
|
||||
label = "0:art";
|
||||
reg = <0xf80000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@1000000 {
|
||||
label = "u_env";
|
||||
reg = <0x1000000 0x40000>;
|
||||
};
|
||||
|
||||
partition@1040000 {
|
||||
label = "s_env";
|
||||
reg = <0x1040000 0x20000>;
|
||||
};
|
||||
|
||||
partition@1060000 {
|
||||
label = "devinfo";
|
||||
reg = <0x1060000 0x20000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@1080000 {
|
||||
label = "kernel";
|
||||
reg = <0x1080000 0x9600000>;
|
||||
};
|
||||
|
||||
partition@1680000 {
|
||||
label = "rootfs";
|
||||
reg = <0x1680000 0x9000000>;
|
||||
};
|
||||
|
||||
partition@a680000 {
|
||||
label = "alt_kernel";
|
||||
reg = <0xa680000 0x9600000>;
|
||||
};
|
||||
|
||||
partition@ac80000 {
|
||||
label = "alt_rootfs";
|
||||
reg = <0xac80000 0x9000000>;
|
||||
};
|
||||
partition@13c80000 {
|
||||
label = "sysdiag";
|
||||
reg = <0x13c80000 0x200000>;
|
||||
read-only;
|
||||
};
|
||||
partition@13e80000 {
|
||||
label = "0:ethphyfw";
|
||||
reg = <0x13e80000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
partition@13f00000 {
|
||||
label = "syscfg";
|
||||
reg = <0x13f00000 0xb800000>;
|
||||
read-only;
|
||||
};
|
||||
partition@1f700000 {
|
||||
label = "0:wififw";
|
||||
reg = <0x1f700000 0x900000>;
|
||||
read-only;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&blsp1_i2c2 {
|
||||
status = "okay";
|
||||
|
||||
led-controller@62 {
|
||||
compatible = "nxp,pca9633";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x62>;
|
||||
nxp,hw-blink;
|
||||
|
||||
led_system_red: led@0 {
|
||||
reg = <0>;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
};
|
||||
|
||||
led_system_green: led@1 {
|
||||
reg = <1>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
};
|
||||
|
||||
led_system_blue: led@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 37 GPIO_ACTIVE_LOW>;
|
||||
|
||||
ethernet-phy-package@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "qcom,qca8075-package";
|
||||
reg = <0>;
|
||||
|
||||
qca8075_1: ethernet-phy@1 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
qca8075_2: ethernet-phy@2 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <2>;
|
||||
};
|
||||
|
||||
qca8075_3: ethernet-phy@3 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <3>;
|
||||
};
|
||||
|
||||
qca8075_4: ethernet-phy@4 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <4>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&switch {
|
||||
status = "okay";
|
||||
|
||||
switch_lan_bmp = <(ESS_PORT3 | ESS_PORT4 | ESS_PORT5)>; /* lan port bitmap */
|
||||
switch_wan_bmp = <ESS_PORT2>; /* wan port bitmap */
|
||||
switch_mac_mode = <MAC_MODE_PSGMII>; /* mac mode for uniphy instance0*/
|
||||
|
||||
qcom,port_phyinfo {
|
||||
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";
|
||||
};
|
||||
|
||||
&dp2 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8075_1>;
|
||||
label = "wan";
|
||||
};
|
||||
|
||||
&dp3 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8075_2>;
|
||||
label = "lan1";
|
||||
};
|
||||
|
||||
&dp4 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8075_3>;
|
||||
label = "lan2";
|
||||
};
|
||||
|
||||
&dp5 {
|
||||
status = "okay";
|
||||
phy-handle = <&qca8075_4>;
|
||||
label = "lan3";
|
||||
};
|
||||
|
||||
&ssphy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qusb_phy_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
/* Copyright (c) 2023, Mohammad Sayful Islam <Sayf.mohammad01@gmail.com> */
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "ipq8074-512m.dtsi"
|
||||
#include "ipq8174-mx4200.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Linksys MX4200v1";
|
||||
compatible = "linksys,mx4200v1", "qcom,ipq8074";
|
||||
};
|
||||
|
||||
&wifi {
|
||||
status = "okay";
|
||||
|
||||
qcom,ath11k-calibration-variant = "Linksys-MX4200v1";
|
||||
qcom,ath11k-fw-memory-mode = <1>;
|
||||
};
|
||||
@@ -0,0 +1,17 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
/* Copyright (c) 2023, Mohammad Sayful Islam <Sayf.mohammad01@gmail.com> */
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "ipq8174-mx4200.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Linksys MX4200v2";
|
||||
compatible = "linksys,mx4200v2", "qcom,ipq8074";
|
||||
};
|
||||
|
||||
&wifi {
|
||||
status = "okay";
|
||||
|
||||
qcom,ath11k-calibration-variant = "Linksys-MX4200v2";
|
||||
};
|
||||
Reference in New Issue
Block a user