summaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
authorChukun Pan <amadeus@jmu.edu.cn>2023-05-03 23:18:48 +0800
committerChristian Marangi <ansuelsmth@gmail.com>2023-09-18 12:20:04 +0200
commit9889de3397acc0b0ca4d1f0d42a8f7321c7f5ba0 (patch)
tree4c2bca2de1b2d8fbcd4f3c01d482232e94e12246 /target/linux
parenteb8ddf5d5c9df9e3ca97c12ee2e7685ffc4c88be (diff)
downloadopenwrt-9889de3397acc0b0ca4d1f0d42a8f7321c7f5ba0.tar.gz
openwrt-9889de3397acc0b0ca4d1f0d42a8f7321c7f5ba0.tar.bz2
openwrt-9889de3397acc0b0ca4d1f0d42a8f7321c7f5ba0.zip
ipq40xx: add support for YYeTs LE1
Hardware Highlights: SoC: Qualcomm IPQ4019 717 MHz RAM: 512M NT5CC256M16ER-EK Flash: 32M SPI NOR MX25L25635F WIFI1: 2.4 GHz 2T2R integrated WIFI2: 5 GHz 2T2R integrated Ethernet: QCA8075 (4x LAN, 1x WAN) LEDS: power, wlan2g, wlan5g, usb USB: 1x 3.0 Button: Reset Installation: Upload factory.bin in stock firmware's upgrade page, and this will take a few minutes. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/ipq40xx/base-files/etc/board.d/02_network1
-rw-r--r--target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-le1.dts326
-rw-r--r--target/linux/ipq40xx/image/generic.mk14
3 files changed, 341 insertions, 0 deletions
diff --git a/target/linux/ipq40xx/base-files/etc/board.d/02_network b/target/linux/ipq40xx/base-files/etc/board.d/02_network
index 614afa8590..5353cd398d 100644
--- a/target/linux/ipq40xx/base-files/etc/board.d/02_network
+++ b/target/linux/ipq40xx/base-files/etc/board.d/02_network
@@ -25,6 +25,7 @@ ipq40xx_setup_interfaces()
p2w,r619ac-128m|\
pakedge,wr-1|\
teltonika,rutx50|\
+ yyets,le1|\
zyxel,nbg6617)
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan"
;;
diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-le1.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-le1.dts
new file mode 100644
index 0000000000..282a0eaaa6
--- /dev/null
+++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-le1.dts
@@ -0,0 +1,326 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "qcom-ipq4019.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/soc/qcom,tcsr.h>
+
+/ {
+ model = "YYeTs LE1";
+ compatible = "yyets,le1";
+
+ aliases {
+ led-boot = &led_usb;
+ led-failsafe = &led_usb;
+ led-upgrade = &led_usb;
+
+ ethernet0 = &swport5;
+ ethernet1 = &gmac;
+ label-mac-device = &gmac;
+ };
+
+ keys {
+ compatible = "gpio-keys";
+
+ reset {
+ label = "reset";
+ gpios = <&tlmm 18 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ led_usb: usb {
+ label = "green:usb";
+ gpios = <&tlmm 36 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "usbport";
+ trigger-sources = <&usb3_port1>, <&usb3_port2>, <&usb2_port1>;
+ };
+
+ wlan2g {
+ label = "green:wlan2g";
+ gpios = <&tlmm 32 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "phy0tpt";
+ };
+
+ wlan5g {
+ label = "green:wlan5g";
+ gpios = <&tlmm 50 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "phy1tpt";
+ };
+ };
+
+ soc {
+ tcsr@1949000 {
+ compatible = "qcom,tcsr";
+ reg = <0x1949000 0x100>;
+ qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>;
+ };
+
+ tcsr@194b000 {
+ compatible = "qcom,tcsr";
+ reg = <0x194b000 0x100>;
+ qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>;
+ };
+
+ ess_tcsr@1953000 {
+ compatible = "qcom,tcsr";
+ reg = <0x1953000 0x1000>;
+ qcom,ess-interface-select = <TCSR_ESS_PSGMII>;
+ };
+
+ tcsr@1957000 {
+ compatible = "qcom,tcsr";
+ reg = <0x1957000 0x100>;
+ qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>;
+ };
+ };
+};
+
+&blsp_dma {
+ status = "okay";
+};
+
+&blsp1_spi1 {
+ cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>;
+ pinctrl-0 = <&spi_0_pins>;
+ pinctrl-names = "default";
+ status = "okay";
+
+ flash@0 {
+ compatible = "jedec,spi-nor";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ reg = <0>;
+ spi-max-frequency = <24000000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "SBL1";
+ reg = <0x0 0x40000>;
+ read-only;
+ };
+
+ partition@40000 {
+ label = "MIBIB";
+ reg = <0x40000 0x20000>;
+ read-only;
+ };
+
+ partition@60000 {
+ label = "QSEE";
+ reg = <0x60000 0x60000>;
+ read-only;
+ };
+
+ partition@c0000 {
+ label = "CDT";
+ reg = <0xc0000 0x10000>;
+ read-only;
+ };
+
+ partition@d0000 {
+ label = "DDRPARAMS";
+ reg = <0xd0000 0x10000>;
+ read-only;
+ };
+
+ partition@e0000 {
+ label = "APPSBLENV";
+ reg = <0xe0000 0x10000>;
+ read-only;
+ };
+
+ partition@f0000 {
+ label = "APPSBL";
+ reg = <0xf0000 0x80000>;
+ read-only;
+ };
+
+ partition@170000 {
+ label = "ART";
+ reg = <0x170000 0x10000>;
+ read-only;
+
+ compatible = "nvmem-cells";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ precal_art_1000: precal@1000 {
+ reg = <0x1000 0x2f20>;
+ };
+
+ precal_art_5000: precal@5000 {
+ reg = <0x5000 0x2f20>;
+ };
+ };
+
+ partition@180000 {
+ compatible = "denx,fit";
+ label = "firmware";
+ reg = <0x180000 0x1e80000>;
+ };
+ };
+ };
+};
+
+&blsp1_uart1 {
+ pinctrl-0 = <&serial_pins>;
+ pinctrl-names = "default";
+ status = "okay";
+};
+
+&cryptobam {
+ status = "okay";
+};
+
+&crypto {
+ status = "okay";
+};
+
+&gmac {
+ status = "okay";
+};
+
+&mdio {
+ pinctrl-0 = <&mdio_pins>;
+ pinctrl-names = "default";
+ status = "okay";
+};
+
+&prng {
+ status = "okay";
+};
+
+&switch {
+ status = "okay";
+};
+
+&swport1 {
+ status = "okay";
+};
+
+&swport2 {
+ status = "okay";
+};
+
+&swport3 {
+ status = "okay";
+};
+
+&swport4 {
+ status = "okay";
+};
+
+&swport5 {
+ status = "okay";
+};
+
+&tlmm {
+ mdio_pins: mdio_pinmux {
+ mux_1 {
+ pins = "gpio6";
+ function = "mdio";
+ bias-pull-up;
+ };
+ mux_2 {
+ pins = "gpio7";
+ function = "mdc";
+ bias-pull-up;
+ };
+ };
+
+ serial_pins: serial_pinmux {
+ mux {
+ pins = "gpio16", "gpio17";
+ function = "blsp_uart0";
+ bias-disable;
+ };
+ };
+
+ spi_0_pins: spi_0_pinmux {
+ pinmux {
+ function = "blsp_spi0";
+ pins = "gpio13", "gpio14", "gpio15";
+ drive-strength = <12>;
+ bias-disable;
+ };
+
+ pinmux_cs {
+ function = "gpio";
+ pins = "gpio12";
+ drive-strength = <2>;
+ bias-disable;
+ output-high;
+ };
+ };
+};
+
+&usb2 {
+ status = "okay";
+
+ dwc3@6000000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ usb2_port1: port@1 {
+ reg = <1>;
+ #trigger-source-cells = <0>;
+ };
+ };
+};
+
+&usb2_hs_phy {
+ status = "okay";
+};
+
+&usb3 {
+ status = "okay";
+
+ dwc3@8a00000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ usb3_port1: port@1 {
+ reg = <1>;
+ #trigger-source-cells = <0>;
+ };
+
+ usb3_port2: port@2 {
+ reg = <2>;
+ #trigger-source-cells = <0>;
+ };
+ };
+};
+
+&usb3_hs_phy {
+ status = "okay";
+};
+
+&usb3_ss_phy {
+ status = "okay";
+};
+
+&watchdog {
+ status = "okay";
+};
+
+&wifi0 {
+ status = "okay";
+ nvmem-cells = <&precal_art_1000>;
+ nvmem-cell-names = "pre-calibration";
+ qcom,ath10k-calibration-variant = "YYeTs-LE1";
+};
+
+&wifi1 {
+ status = "okay";
+ nvmem-cells = <&precal_art_5000>;
+ nvmem-cell-names = "pre-calibration";
+ qcom,ath10k-calibration-variant = "YYeTs-LE1";
+};
diff --git a/target/linux/ipq40xx/image/generic.mk b/target/linux/ipq40xx/image/generic.mk
index 8fd7ab2915..6dd4549f8d 100644
--- a/target/linux/ipq40xx/image/generic.mk
+++ b/target/linux/ipq40xx/image/generic.mk
@@ -1122,6 +1122,20 @@ define Device/wallys_dr40x9
endef
TARGET_DEVICES += wallys_dr40x9
+define Device/yyets_le1
+ $(call Device/FitzImage)
+ DEVICE_VENDOR := YYeTs
+ DEVICE_MODEL := LE1
+ SOC := qcom-ipq4019
+ KERNEL_SIZE := 4096k
+ IMAGE_SIZE := 31232k
+ IMAGES += factory.bin
+ IMAGE/factory.bin := qsdk-ipq-factory-nor | check-size
+ IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
+ DEVICE_PACKAGES := ipq-wifi-yyets_le1 kmod-usb-ledtrig-usbport
+endef
+TARGET_DEVICES += yyets_le1
+
define Device/zte_mf18a
$(call Device/FitImage)
DEVICE_VENDOR := ZTE