Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
commit
59ac244b6d
@ -15,6 +15,11 @@ cambiumnetworks,xe3-4)
|
|||||||
[ -n "$idx" ] && \
|
[ -n "$idx" ] && \
|
||||||
ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x10000" "0x10000"
|
ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x10000" "0x10000"
|
||||||
;;
|
;;
|
||||||
|
linksys,mr7350)
|
||||||
|
idx="$(find_mtd_index u_env)"
|
||||||
|
[ -n "$idx" ] && \
|
||||||
|
ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x40000" "0x20000" "2"
|
||||||
|
;;
|
||||||
netgear,wax214)
|
netgear,wax214)
|
||||||
idx="$(find_mtd_index 0:appsblenv)"
|
idx="$(find_mtd_index 0:appsblenv)"
|
||||||
[ -n "$idx" ] && \
|
[ -n "$idx" ] && \
|
||||||
|
@ -6,9 +6,9 @@ PKG_RELEASE:=1
|
|||||||
|
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/firmware/qca-wireless.git
|
PKG_SOURCE_URL=$(PROJECT_GIT)/project/firmware/qca-wireless.git
|
||||||
PKG_SOURCE_DATE:=2024-10-08
|
PKG_SOURCE_DATE:=2024-11-28
|
||||||
PKG_SOURCE_VERSION:=dcbab62272bf5cab2ed857bc655d240970e14f2a
|
PKG_SOURCE_VERSION:=e1f6c9ac9e1508852f292a2b8167823e180db4e8
|
||||||
PKG_MIRROR_HASH:=e53a3872abf5e35db6baaceb56e6ffa289f8dd9b6226cf8a4d5b87b541179175
|
PKG_MIRROR_HASH:=cc7ef25d43bbea4d521e0cb69887b975295be98ddf83b29f52c3c0e7d1ceeb25
|
||||||
PKG_FLAGS:=nonshared
|
PKG_FLAGS:=nonshared
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
@ -37,6 +37,7 @@ ALLWIFIBOARDS:= \
|
|||||||
dynalink_dl-wrx36 \
|
dynalink_dl-wrx36 \
|
||||||
edgecore_eap102 \
|
edgecore_eap102 \
|
||||||
edimax_cax1800 \
|
edimax_cax1800 \
|
||||||
|
linksys_mr7350 \
|
||||||
linksys_mx4200 \
|
linksys_mx4200 \
|
||||||
linksys_mx5300 \
|
linksys_mx5300 \
|
||||||
linksys_mx8500 \
|
linksys_mx8500 \
|
||||||
@ -49,6 +50,7 @@ ALLWIFIBOARDS:= \
|
|||||||
netgear_wax620 \
|
netgear_wax620 \
|
||||||
netgear_wax630 \
|
netgear_wax630 \
|
||||||
prpl_haze \
|
prpl_haze \
|
||||||
|
qihoo_360v6 \
|
||||||
qnap_301w \
|
qnap_301w \
|
||||||
redmi_ax6 \
|
redmi_ax6 \
|
||||||
skspruce_wia3300-20 \
|
skspruce_wia3300-20 \
|
||||||
@ -164,6 +166,7 @@ $(eval $(call generate-ipq-wifi-package,compex_wpq873,Compex WPQ-873))
|
|||||||
$(eval $(call generate-ipq-wifi-package,dynalink_dl-wrx36,Dynalink DL-WRX36))
|
$(eval $(call generate-ipq-wifi-package,dynalink_dl-wrx36,Dynalink DL-WRX36))
|
||||||
$(eval $(call generate-ipq-wifi-package,edgecore_eap102,Edgecore EAP102))
|
$(eval $(call generate-ipq-wifi-package,edgecore_eap102,Edgecore EAP102))
|
||||||
$(eval $(call generate-ipq-wifi-package,edimax_cax1800,Edimax CAX1800))
|
$(eval $(call generate-ipq-wifi-package,edimax_cax1800,Edimax CAX1800))
|
||||||
|
$(eval $(call generate-ipq-wifi-package,linksys_mr7350,Linksys MR7350))
|
||||||
$(eval $(call generate-ipq-wifi-package,linksys_mx4200,Linksys MX4200))
|
$(eval $(call generate-ipq-wifi-package,linksys_mx4200,Linksys MX4200))
|
||||||
$(eval $(call generate-ipq-wifi-package,linksys_mx5300,Linksys MX5300))
|
$(eval $(call generate-ipq-wifi-package,linksys_mx5300,Linksys MX5300))
|
||||||
$(eval $(call generate-ipq-wifi-package,linksys_mx8500,Linksys MX8500))
|
$(eval $(call generate-ipq-wifi-package,linksys_mx8500,Linksys MX8500))
|
||||||
@ -175,6 +178,7 @@ $(eval $(call generate-ipq-wifi-package,netgear_wax214,Netgear WAX214))
|
|||||||
$(eval $(call generate-ipq-wifi-package,netgear_wax218,Netgear WAX218))
|
$(eval $(call generate-ipq-wifi-package,netgear_wax218,Netgear WAX218))
|
||||||
$(eval $(call generate-ipq-wifi-package,netgear_wax620,Netgear WAX620))
|
$(eval $(call generate-ipq-wifi-package,netgear_wax620,Netgear WAX620))
|
||||||
$(eval $(call generate-ipq-wifi-package,netgear_wax630,Netgear WAX630))
|
$(eval $(call generate-ipq-wifi-package,netgear_wax630,Netgear WAX630))
|
||||||
|
$(eval $(call generate-ipq-wifi-package,qihoo_360v6,Qihoo 360V6))
|
||||||
$(eval $(call generate-ipq-wifi-package,qnap_301w,QNAP 301w))
|
$(eval $(call generate-ipq-wifi-package,qnap_301w,QNAP 301w))
|
||||||
$(eval $(call generate-ipq-wifi-package,prpl_haze,prpl Haze))
|
$(eval $(call generate-ipq-wifi-package,prpl_haze,prpl Haze))
|
||||||
$(eval $(call generate-ipq-wifi-package,redmi_ax6,Redmi AX6))
|
$(eval $(call generate-ipq-wifi-package,redmi_ax6,Redmi AX6))
|
||||||
|
@ -12,9 +12,9 @@ PKG_RELEASE:=1
|
|||||||
|
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
PKG_SOURCE_URL=https://github.com/jow-/ucode.git
|
PKG_SOURCE_URL=https://github.com/jow-/ucode.git
|
||||||
PKG_SOURCE_DATE:=2024-12-02
|
PKG_SOURCE_DATE:=2024-12-06
|
||||||
PKG_SOURCE_VERSION:=b0b5d93846a1fb9d1d94992d5fdf508ef345e87d
|
PKG_SOURCE_VERSION:=209f041f3193b55702fadefca51888a62d38cc28
|
||||||
PKG_MIRROR_HASH:=b43fcb38a85469552d5fb641ade271c346634a52c3628155d3215953ff2c25e1
|
PKG_MIRROR_HASH:=432a7566e9536b6d0e99f924fcf2e6aaf45b88f87ed58d1e5d1dd1154307a8b7
|
||||||
PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
|
PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
|
||||||
PKG_LICENSE:=ISC
|
PKG_LICENSE:=ISC
|
||||||
|
|
||||||
|
@ -0,0 +1,146 @@
|
|||||||
|
From 49c8e854869d673df8452f24dfa8989cd0f615a8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Martin Kurbanov <mmkurbanov@salutedevices.com>
|
||||||
|
Date: Mon, 2 Oct 2023 17:04:58 +0300
|
||||||
|
Subject: [PATCH] mtd: spinand: add support for FORESEE F35SQA002G
|
||||||
|
|
||||||
|
Add support for FORESEE F35SQA002G SPI NAND.
|
||||||
|
Datasheet:
|
||||||
|
https://www.longsys.com/uploads/LM-00006FORESEEF35SQA002GDatasheet_1650183701.pdf
|
||||||
|
|
||||||
|
Signed-off-by: Martin Kurbanov <mmkurbanov@salutedevices.com>
|
||||||
|
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
|
||||||
|
Link: https://lore.kernel.org/linux-mtd/20231002140458.147605-1-mmkurbanov@salutedevices.com
|
||||||
|
---
|
||||||
|
drivers/mtd/nand/spi/Makefile | 2 +-
|
||||||
|
drivers/mtd/nand/spi/core.c | 1 +
|
||||||
|
drivers/mtd/nand/spi/foresee.c | 95 ++++++++++++++++++++++++++++++++++
|
||||||
|
include/linux/mtd/spinand.h | 1 +
|
||||||
|
4 files changed, 98 insertions(+), 1 deletion(-)
|
||||||
|
create mode 100644 drivers/mtd/nand/spi/foresee.c
|
||||||
|
|
||||||
|
--- a/drivers/mtd/nand/spi/Makefile
|
||||||
|
+++ b/drivers/mtd/nand/spi/Makefile
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
-spinand-objs := core.o alliancememory.o ato.o esmt.o gigadevice.o macronix.o
|
||||||
|
+spinand-objs := core.o alliancememory.o ato.o esmt.o foresee.o gigadevice.o macronix.o
|
||||||
|
spinand-objs += micron.o paragon.o toshiba.o winbond.o xtx.o
|
||||||
|
obj-$(CONFIG_MTD_SPI_NAND) += spinand.o
|
||||||
|
--- a/drivers/mtd/nand/spi/core.c
|
||||||
|
+++ b/drivers/mtd/nand/spi/core.c
|
||||||
|
@@ -940,6 +940,7 @@ static const struct spinand_manufacturer
|
||||||
|
&alliancememory_spinand_manufacturer,
|
||||||
|
&ato_spinand_manufacturer,
|
||||||
|
&esmt_c8_spinand_manufacturer,
|
||||||
|
+ &foresee_spinand_manufacturer,
|
||||||
|
&gigadevice_spinand_manufacturer,
|
||||||
|
¯onix_spinand_manufacturer,
|
||||||
|
µn_spinand_manufacturer,
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/drivers/mtd/nand/spi/foresee.c
|
||||||
|
@@ -0,0 +1,95 @@
|
||||||
|
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||||
|
+/*
|
||||||
|
+ * Copyright (c) 2023, SberDevices. All Rights Reserved.
|
||||||
|
+ *
|
||||||
|
+ * Author: Martin Kurbanov <mmkurbanov@salutedevices.com>
|
||||||
|
+ */
|
||||||
|
+
|
||||||
|
+#include <linux/device.h>
|
||||||
|
+#include <linux/kernel.h>
|
||||||
|
+#include <linux/mtd/spinand.h>
|
||||||
|
+
|
||||||
|
+#define SPINAND_MFR_FORESEE 0xCD
|
||||||
|
+
|
||||||
|
+static SPINAND_OP_VARIANTS(read_cache_variants,
|
||||||
|
+ SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
|
||||||
|
+ SPINAND_PAGE_READ_FROM_CACHE_X2_OP(0, 1, NULL, 0),
|
||||||
|
+ SPINAND_PAGE_READ_FROM_CACHE_OP(true, 0, 1, NULL, 0),
|
||||||
|
+ SPINAND_PAGE_READ_FROM_CACHE_OP(false, 0, 1, NULL, 0));
|
||||||
|
+
|
||||||
|
+static SPINAND_OP_VARIANTS(write_cache_variants,
|
||||||
|
+ SPINAND_PROG_LOAD_X4(true, 0, NULL, 0),
|
||||||
|
+ SPINAND_PROG_LOAD(true, 0, NULL, 0));
|
||||||
|
+
|
||||||
|
+static SPINAND_OP_VARIANTS(update_cache_variants,
|
||||||
|
+ SPINAND_PROG_LOAD_X4(false, 0, NULL, 0),
|
||||||
|
+ SPINAND_PROG_LOAD(false, 0, NULL, 0));
|
||||||
|
+
|
||||||
|
+static int f35sqa002g_ooblayout_ecc(struct mtd_info *mtd, int section,
|
||||||
|
+ struct mtd_oob_region *region)
|
||||||
|
+{
|
||||||
|
+ return -ERANGE;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static int f35sqa002g_ooblayout_free(struct mtd_info *mtd, int section,
|
||||||
|
+ struct mtd_oob_region *region)
|
||||||
|
+{
|
||||||
|
+ if (section)
|
||||||
|
+ return -ERANGE;
|
||||||
|
+
|
||||||
|
+ /* Reserve 2 bytes for the BBM. */
|
||||||
|
+ region->offset = 2;
|
||||||
|
+ region->length = 62;
|
||||||
|
+
|
||||||
|
+ return 0;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static const struct mtd_ooblayout_ops f35sqa002g_ooblayout = {
|
||||||
|
+ .ecc = f35sqa002g_ooblayout_ecc,
|
||||||
|
+ .free = f35sqa002g_ooblayout_free,
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+static int f35sqa002g_ecc_get_status(struct spinand_device *spinand, u8 status)
|
||||||
|
+{
|
||||||
|
+ struct nand_device *nand = spinand_to_nand(spinand);
|
||||||
|
+
|
||||||
|
+ switch (status & STATUS_ECC_MASK) {
|
||||||
|
+ case STATUS_ECC_NO_BITFLIPS:
|
||||||
|
+ return 0;
|
||||||
|
+
|
||||||
|
+ case STATUS_ECC_HAS_BITFLIPS:
|
||||||
|
+ return nanddev_get_ecc_conf(nand)->strength;
|
||||||
|
+
|
||||||
|
+ default:
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ /* More than 1-bit error was detected in one or more sectors and
|
||||||
|
+ * cannot be corrected.
|
||||||
|
+ */
|
||||||
|
+ return -EBADMSG;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static const struct spinand_info foresee_spinand_table[] = {
|
||||||
|
+ SPINAND_INFO("F35SQA002G",
|
||||||
|
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x72, 0x72),
|
||||||
|
+ NAND_MEMORG(1, 2048, 64, 64, 2048, 40, 1, 1, 1),
|
||||||
|
+ NAND_ECCREQ(1, 512),
|
||||||
|
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
|
||||||
|
+ &write_cache_variants,
|
||||||
|
+ &update_cache_variants),
|
||||||
|
+ SPINAND_HAS_QE_BIT,
|
||||||
|
+ SPINAND_ECCINFO(&f35sqa002g_ooblayout,
|
||||||
|
+ f35sqa002g_ecc_get_status)),
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+static const struct spinand_manufacturer_ops foresee_spinand_manuf_ops = {
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+const struct spinand_manufacturer foresee_spinand_manufacturer = {
|
||||||
|
+ .id = SPINAND_MFR_FORESEE,
|
||||||
|
+ .name = "FORESEE",
|
||||||
|
+ .chips = foresee_spinand_table,
|
||||||
|
+ .nchips = ARRAY_SIZE(foresee_spinand_table),
|
||||||
|
+ .ops = &foresee_spinand_manuf_ops,
|
||||||
|
+};
|
||||||
|
--- a/include/linux/mtd/spinand.h
|
||||||
|
+++ b/include/linux/mtd/spinand.h
|
||||||
|
@@ -263,6 +263,7 @@ struct spinand_manufacturer {
|
||||||
|
extern const struct spinand_manufacturer alliancememory_spinand_manufacturer;
|
||||||
|
extern const struct spinand_manufacturer ato_spinand_manufacturer;
|
||||||
|
extern const struct spinand_manufacturer esmt_c8_spinand_manufacturer;
|
||||||
|
+extern const struct spinand_manufacturer foresee_spinand_manufacturer;
|
||||||
|
extern const struct spinand_manufacturer gigadevice_spinand_manufacturer;
|
||||||
|
extern const struct spinand_manufacturer macronix_spinand_manufacturer;
|
||||||
|
extern const struct spinand_manufacturer micron_spinand_manufacturer;
|
@ -0,0 +1,38 @@
|
|||||||
|
From ae461cde5c559675fc4c0ba351c7c31ace705f56 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Bohdan Chubuk <chbgdn@gmail.com>
|
||||||
|
Date: Sun, 10 Nov 2024 22:50:47 +0200
|
||||||
|
Subject: [PATCH] mtd: spinand: add support for FORESEE F35SQA001G
|
||||||
|
|
||||||
|
Add support for FORESEE F35SQA001G SPI NAND.
|
||||||
|
|
||||||
|
Similar to F35SQA002G, but differs in capacity.
|
||||||
|
Datasheet:
|
||||||
|
- https://cdn.ozdisan.com/ETicaret_Dosya/704795_871495.pdf
|
||||||
|
|
||||||
|
Tested on Xiaomi AX3000T flashed with OpenWRT.
|
||||||
|
|
||||||
|
Signed-off-by: Bohdan Chubuk <chbgdn@gmail.com>
|
||||||
|
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
|
||||||
|
---
|
||||||
|
drivers/mtd/nand/spi/foresee.c | 10 ++++++++++
|
||||||
|
1 file changed, 10 insertions(+)
|
||||||
|
|
||||||
|
--- a/drivers/mtd/nand/spi/foresee.c
|
||||||
|
+++ b/drivers/mtd/nand/spi/foresee.c
|
||||||
|
@@ -81,6 +81,16 @@ static const struct spinand_info foresee
|
||||||
|
SPINAND_HAS_QE_BIT,
|
||||||
|
SPINAND_ECCINFO(&f35sqa002g_ooblayout,
|
||||||
|
f35sqa002g_ecc_get_status)),
|
||||||
|
+ SPINAND_INFO("F35SQA001G",
|
||||||
|
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x71, 0x71),
|
||||||
|
+ NAND_MEMORG(1, 2048, 64, 64, 1024, 20, 1, 1, 1),
|
||||||
|
+ NAND_ECCREQ(1, 512),
|
||||||
|
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
|
||||||
|
+ &write_cache_variants,
|
||||||
|
+ &update_cache_variants),
|
||||||
|
+ SPINAND_HAS_QE_BIT,
|
||||||
|
+ SPINAND_ECCINFO(&f35sqa002g_ooblayout,
|
||||||
|
+ f35sqa002g_ecc_get_status)),
|
||||||
|
};
|
||||||
|
|
||||||
|
static const struct spinand_manufacturer_ops foresee_spinand_manuf_ops = {
|
@ -53,7 +53,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
|||||||
|
|
||||||
--- a/drivers/mtd/nand/spi/core.c
|
--- a/drivers/mtd/nand/spi/core.c
|
||||||
+++ b/drivers/mtd/nand/spi/core.c
|
+++ b/drivers/mtd/nand/spi/core.c
|
||||||
@@ -1286,6 +1286,7 @@ static int spinand_init(struct spinand_d
|
@@ -1287,6 +1287,7 @@ static int spinand_init(struct spinand_d
|
||||||
/* Propagate ECC information to mtd_info */
|
/* Propagate ECC information to mtd_info */
|
||||||
mtd->ecc_strength = nanddev_get_ecc_conf(nand)->strength;
|
mtd->ecc_strength = nanddev_get_ecc_conf(nand)->strength;
|
||||||
mtd->ecc_step_size = nanddev_get_ecc_conf(nand)->step_size;
|
mtd->ecc_step_size = nanddev_get_ecc_conf(nand)->step_size;
|
||||||
|
@ -42,9 +42,9 @@ Submitted-by: Daniel Danzberger <daniel@dd-wrt.com>
|
|||||||
+++ b/drivers/mtd/nand/spi/Makefile
|
+++ b/drivers/mtd/nand/spi/Makefile
|
||||||
@@ -1,4 +1,4 @@
|
@@ -1,4 +1,4 @@
|
||||||
# SPDX-License-Identifier: GPL-2.0
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
-spinand-objs := core.o alliancememory.o ato.o esmt.o gigadevice.o macronix.o
|
-spinand-objs := core.o alliancememory.o ato.o esmt.o foresee.o gigadevice.o macronix.o
|
||||||
-spinand-objs += micron.o paragon.o toshiba.o winbond.o xtx.o
|
-spinand-objs += micron.o paragon.o toshiba.o winbond.o xtx.o
|
||||||
+spinand-objs := core.o alliancememory.o ato.o esmt.o etron.o gigadevice.o
|
+spinand-objs := core.o alliancememory.o ato.o esmt.o etron.o foresee.o gigadevice.o
|
||||||
+spinand-objs += macronix.o micron.o paragon.o toshiba.o winbond.o xtx.o
|
+spinand-objs += macronix.o micron.o paragon.o toshiba.o winbond.o xtx.o
|
||||||
obj-$(CONFIG_MTD_SPI_NAND) += spinand.o
|
obj-$(CONFIG_MTD_SPI_NAND) += spinand.o
|
||||||
--- a/drivers/mtd/nand/spi/core.c
|
--- a/drivers/mtd/nand/spi/core.c
|
||||||
@ -54,9 +54,9 @@ Submitted-by: Daniel Danzberger <daniel@dd-wrt.com>
|
|||||||
&ato_spinand_manufacturer,
|
&ato_spinand_manufacturer,
|
||||||
&esmt_c8_spinand_manufacturer,
|
&esmt_c8_spinand_manufacturer,
|
||||||
+ &etron_spinand_manufacturer,
|
+ &etron_spinand_manufacturer,
|
||||||
|
&foresee_spinand_manufacturer,
|
||||||
&gigadevice_spinand_manufacturer,
|
&gigadevice_spinand_manufacturer,
|
||||||
¯onix_spinand_manufacturer,
|
¯onix_spinand_manufacturer,
|
||||||
µn_spinand_manufacturer,
|
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/drivers/mtd/nand/spi/etron.c
|
+++ b/drivers/mtd/nand/spi/etron.c
|
||||||
@@ -0,0 +1,98 @@
|
@@ -0,0 +1,98 @@
|
||||||
@ -165,6 +165,6 @@ Submitted-by: Daniel Danzberger <daniel@dd-wrt.com>
|
|||||||
extern const struct spinand_manufacturer ato_spinand_manufacturer;
|
extern const struct spinand_manufacturer ato_spinand_manufacturer;
|
||||||
extern const struct spinand_manufacturer esmt_c8_spinand_manufacturer;
|
extern const struct spinand_manufacturer esmt_c8_spinand_manufacturer;
|
||||||
+extern const struct spinand_manufacturer etron_spinand_manufacturer;
|
+extern const struct spinand_manufacturer etron_spinand_manufacturer;
|
||||||
|
extern const struct spinand_manufacturer foresee_spinand_manufacturer;
|
||||||
extern const struct spinand_manufacturer gigadevice_spinand_manufacturer;
|
extern const struct spinand_manufacturer gigadevice_spinand_manufacturer;
|
||||||
extern const struct spinand_manufacturer macronix_spinand_manufacturer;
|
extern const struct spinand_manufacturer macronix_spinand_manufacturer;
|
||||||
extern const struct spinand_manufacturer micron_spinand_manufacturer;
|
|
||||||
|
@ -254,17 +254,9 @@
|
|||||||
reg = <0x1000 0x2f20>;
|
reg = <0x1000 0x2f20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
macaddr_art_1006: mac-address@1006 {
|
|
||||||
reg = <0x1006 0x6>;
|
|
||||||
};
|
|
||||||
|
|
||||||
precal_art_5000: precal@5000 {
|
precal_art_5000: precal@5000 {
|
||||||
reg = <0x5000 0x2f20>;
|
reg = <0x5000 0x2f20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
macaddr_art_5006: mac-address@5006 {
|
|
||||||
reg = <0x5006 0x6>;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -382,15 +374,15 @@
|
|||||||
|
|
||||||
&wifi0 {
|
&wifi0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
nvmem-cells = <&precal_art_1000>, <&macaddr_art_1006>;
|
nvmem-cells = <&precal_art_1000>;
|
||||||
nvmem-cell-names = "pre-calibration", "mac-address";
|
nvmem-cell-names = "pre-calibration";
|
||||||
qcom,ath10k-calibration-variant = "Wallys-DR40X9";
|
qcom,ath10k-calibration-variant = "Wallys-DR40X9";
|
||||||
};
|
};
|
||||||
|
|
||||||
&wifi1 {
|
&wifi1 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
nvmem-cell-names = "pre-calibration", "mac-address";
|
nvmem-cell-names = "pre-calibration";
|
||||||
nvmem-cells = <&precal_art_5000>, <&macaddr_art_5006>;
|
nvmem-cells = <&precal_art_5000>;
|
||||||
qcom,ath10k-calibration-variant = "Wallys-DR40X9";
|
qcom,ath10k-calibration-variant = "Wallys-DR40X9";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
static int spinand_read_reg_op(struct spinand_device *spinand, u8 reg, u8 *val)
|
static int spinand_read_reg_op(struct spinand_device *spinand, u8 reg, u8 *val)
|
||||||
{
|
{
|
||||||
@@ -1346,6 +1347,7 @@ static int spinand_probe(struct spi_mem
|
@@ -1347,6 +1348,7 @@ static int spinand_probe(struct spi_mem
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
@ -16,7 +16,7 @@
|
|||||||
ret = mtd_device_register(mtd, NULL, 0);
|
ret = mtd_device_register(mtd, NULL, 0);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err_spinand_cleanup;
|
goto err_spinand_cleanup;
|
||||||
@@ -1353,6 +1355,7 @@ static int spinand_probe(struct spi_mem
|
@@ -1354,6 +1356,7 @@ static int spinand_probe(struct spi_mem
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
err_spinand_cleanup:
|
err_spinand_cleanup:
|
||||||
@ -24,7 +24,7 @@
|
|||||||
spinand_cleanup(spinand);
|
spinand_cleanup(spinand);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
@@ -1371,6 +1374,7 @@ static int spinand_remove(struct spi_mem
|
@@ -1372,6 +1375,7 @@ static int spinand_remove(struct spi_mem
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
@ -18,18 +18,18 @@ Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com>
|
|||||||
+++ b/drivers/mtd/nand/spi/Makefile
|
+++ b/drivers/mtd/nand/spi/Makefile
|
||||||
@@ -1,4 +1,4 @@
|
@@ -1,4 +1,4 @@
|
||||||
# SPDX-License-Identifier: GPL-2.0
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
-spinand-objs := core.o alliancememory.o ato.o esmt.o etron.o gigadevice.o
|
-spinand-objs := core.o alliancememory.o ato.o esmt.o etron.o foresee.o gigadevice.o
|
||||||
+spinand-objs := core.o alliancememory.o ato.o esmt.o etron.o fidelix.o gigadevice.o
|
+spinand-objs := core.o alliancememory.o ato.o esmt.o etron.o fidelix.o foresee.o gigadevice.o
|
||||||
spinand-objs += macronix.o micron.o paragon.o toshiba.o winbond.o xtx.o
|
spinand-objs += macronix.o micron.o paragon.o toshiba.o winbond.o xtx.o
|
||||||
obj-$(CONFIG_MTD_SPI_NAND) += spinand.o
|
obj-$(CONFIG_MTD_SPI_NAND) += spinand.o
|
||||||
--- a/drivers/mtd/nand/spi/core.c
|
--- a/drivers/mtd/nand/spi/core.c
|
||||||
+++ b/drivers/mtd/nand/spi/core.c
|
+++ b/drivers/mtd/nand/spi/core.c
|
||||||
@@ -941,6 +941,7 @@ static const struct spinand_manufacturer
|
@@ -942,6 +942,7 @@ static const struct spinand_manufacturer
|
||||||
&alliancememory_spinand_manufacturer,
|
|
||||||
&ato_spinand_manufacturer,
|
&ato_spinand_manufacturer,
|
||||||
&esmt_c8_spinand_manufacturer,
|
&esmt_c8_spinand_manufacturer,
|
||||||
+ &fidelix_spinand_manufacturer,
|
|
||||||
&etron_spinand_manufacturer,
|
&etron_spinand_manufacturer,
|
||||||
|
+ &fidelix_spinand_manufacturer,
|
||||||
|
&foresee_spinand_manufacturer,
|
||||||
&gigadevice_spinand_manufacturer,
|
&gigadevice_spinand_manufacturer,
|
||||||
¯onix_spinand_manufacturer,
|
¯onix_spinand_manufacturer,
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
@ -118,6 +118,6 @@ Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com>
|
|||||||
extern const struct spinand_manufacturer esmt_c8_spinand_manufacturer;
|
extern const struct spinand_manufacturer esmt_c8_spinand_manufacturer;
|
||||||
extern const struct spinand_manufacturer etron_spinand_manufacturer;
|
extern const struct spinand_manufacturer etron_spinand_manufacturer;
|
||||||
+extern const struct spinand_manufacturer fidelix_spinand_manufacturer;
|
+extern const struct spinand_manufacturer fidelix_spinand_manufacturer;
|
||||||
|
extern const struct spinand_manufacturer foresee_spinand_manufacturer;
|
||||||
extern const struct spinand_manufacturer gigadevice_spinand_manufacturer;
|
extern const struct spinand_manufacturer gigadevice_spinand_manufacturer;
|
||||||
extern const struct spinand_manufacturer macronix_spinand_manufacturer;
|
extern const struct spinand_manufacturer macronix_spinand_manufacturer;
|
||||||
extern const struct spinand_manufacturer micron_spinand_manufacturer;
|
|
||||||
|
@ -11,7 +11,7 @@ Signed-off-by: SkyLake.Huang <skylake.huang@mediatek.com>
|
|||||||
|
|
||||||
--- a/drivers/mtd/nand/spi/core.c
|
--- a/drivers/mtd/nand/spi/core.c
|
||||||
+++ b/drivers/mtd/nand/spi/core.c
|
+++ b/drivers/mtd/nand/spi/core.c
|
||||||
@@ -979,6 +979,56 @@ static int spinand_manufacturer_match(st
|
@@ -980,6 +980,56 @@ static int spinand_manufacturer_match(st
|
||||||
return -ENOTSUPP;
|
return -ENOTSUPP;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -68,7 +68,7 @@ Signed-off-by: SkyLake.Huang <skylake.huang@mediatek.com>
|
|||||||
static int spinand_id_detect(struct spinand_device *spinand)
|
static int spinand_id_detect(struct spinand_device *spinand)
|
||||||
{
|
{
|
||||||
u8 *id = spinand->id.data;
|
u8 *id = spinand->id.data;
|
||||||
@@ -1229,6 +1279,10 @@ static int spinand_init(struct spinand_d
|
@@ -1230,6 +1280,10 @@ static int spinand_init(struct spinand_d
|
||||||
if (!spinand->scratchbuf)
|
if (!spinand->scratchbuf)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ Signed-off-by: SkyLake.Huang <skylake.huang@mediatek.com>
|
|||||||
|
|
||||||
--- a/drivers/mtd/nand/spi/core.c
|
--- a/drivers/mtd/nand/spi/core.c
|
||||||
+++ b/drivers/mtd/nand/spi/core.c
|
+++ b/drivers/mtd/nand/spi/core.c
|
||||||
@@ -1020,7 +1020,10 @@ int spinand_cal_read(void *priv, u32 *ad
|
@@ -1021,7 +1021,10 @@ int spinand_cal_read(void *priv, u32 *ad
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
@ -33,7 +33,6 @@ CONFIG_ARM64_PA_BITS=48
|
|||||||
CONFIG_ARM64_PA_BITS_48=y
|
CONFIG_ARM64_PA_BITS_48=y
|
||||||
CONFIG_ARM64_PTR_AUTH=y
|
CONFIG_ARM64_PTR_AUTH=y
|
||||||
CONFIG_ARM64_PTR_AUTH_KERNEL=y
|
CONFIG_ARM64_PTR_AUTH_KERNEL=y
|
||||||
CONFIG_ARM64_SME=y
|
|
||||||
CONFIG_ARM64_SVE=y
|
CONFIG_ARM64_SVE=y
|
||||||
CONFIG_ARM64_TAGGED_ADDR_ABI=y
|
CONFIG_ARM64_TAGGED_ADDR_ABI=y
|
||||||
CONFIG_ARM64_VA_BITS=39
|
CONFIG_ARM64_VA_BITS=39
|
||||||
@ -91,6 +90,7 @@ CONFIG_CPU_IDLE=y
|
|||||||
CONFIG_CPU_IDLE_GOV_MENU=y
|
CONFIG_CPU_IDLE_GOV_MENU=y
|
||||||
CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y
|
CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y
|
||||||
CONFIG_CPU_LITTLE_ENDIAN=y
|
CONFIG_CPU_LITTLE_ENDIAN=y
|
||||||
|
CONFIG_CPU_MITIGATIONS=y
|
||||||
CONFIG_CPU_PM=y
|
CONFIG_CPU_PM=y
|
||||||
CONFIG_CPU_RMAP=y
|
CONFIG_CPU_RMAP=y
|
||||||
CONFIG_CPU_THERMAL=y
|
CONFIG_CPU_THERMAL=y
|
||||||
@ -149,7 +149,6 @@ CONFIG_FUNCTION_ALIGNMENT_4B=y
|
|||||||
CONFIG_FWNODE_MDIO=y
|
CONFIG_FWNODE_MDIO=y
|
||||||
CONFIG_FW_LOADER_PAGED_BUF=y
|
CONFIG_FW_LOADER_PAGED_BUF=y
|
||||||
CONFIG_FW_LOADER_SYSFS=y
|
CONFIG_FW_LOADER_SYSFS=y
|
||||||
CONFIG_GCC_ASM_GOTO_OUTPUT_WORKAROUND=y
|
|
||||||
CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS=y
|
CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS=y
|
||||||
CONFIG_GENERIC_ALLOCATOR=y
|
CONFIG_GENERIC_ALLOCATOR=y
|
||||||
CONFIG_GENERIC_ARCH_TOPOLOGY=y
|
CONFIG_GENERIC_ARCH_TOPOLOGY=y
|
||||||
@ -277,6 +276,7 @@ CONFIG_NR_CPUS=4
|
|||||||
CONFIG_NVIDIA_CARMEL_CNP_ERRATUM=y
|
CONFIG_NVIDIA_CARMEL_CNP_ERRATUM=y
|
||||||
CONFIG_NVMEM=y
|
CONFIG_NVMEM=y
|
||||||
CONFIG_NVMEM_LAYOUTS=y
|
CONFIG_NVMEM_LAYOUTS=y
|
||||||
|
CONFIG_NVMEM_LAYOUT_U_BOOT_ENV=y
|
||||||
CONFIG_NVMEM_QCOM_QFPROM=y
|
CONFIG_NVMEM_QCOM_QFPROM=y
|
||||||
# CONFIG_NVMEM_QCOM_SEC_QFPROM is not set
|
# CONFIG_NVMEM_QCOM_SEC_QFPROM is not set
|
||||||
CONFIG_NVMEM_SYSFS=y
|
CONFIG_NVMEM_SYSFS=y
|
||||||
@ -444,7 +444,7 @@ CONFIG_REGMAP_MMIO=y
|
|||||||
CONFIG_REGULATOR=y
|
CONFIG_REGULATOR=y
|
||||||
# CONFIG_REGULATOR_CPR3 is not set
|
# CONFIG_REGULATOR_CPR3 is not set
|
||||||
CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
||||||
# CONFIG_REGULATOR_QCOM_REFGEN is not set
|
CONFIG_REGULATOR_USERSPACE_CONSUMER=y
|
||||||
# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set
|
# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set
|
||||||
CONFIG_RELOCATABLE=y
|
CONFIG_RELOCATABLE=y
|
||||||
CONFIG_REMOTEPROC=y
|
CONFIG_REMOTEPROC=y
|
||||||
|
@ -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,465 @@
|
|||||||
|
// 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;
|
||||||
|
};
|
||||||
|
|
||||||
|
output-usb0-power {
|
||||||
|
compatible = "regulator-output";
|
||||||
|
vout-supply = <®_usb_vbus>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&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";
|
||||||
|
};
|
||||||
|
|
||||||
|
&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>;
|
||||||
|
};
|
@ -24,6 +24,24 @@ define Device/cambiumnetworks_xe3-4
|
|||||||
endef
|
endef
|
||||||
TARGET_DEVICES += cambiumnetworks_xe3-4
|
TARGET_DEVICES += cambiumnetworks_xe3-4
|
||||||
|
|
||||||
|
define Device/linksys_mr7350
|
||||||
|
$(call Device/FitImage)
|
||||||
|
DEVICE_VENDOR := Linksys
|
||||||
|
DEVICE_MODEL := MR7350
|
||||||
|
SOC := ipq6000
|
||||||
|
NAND_SIZE := 256m
|
||||||
|
KERNEL_SIZE := 8192k
|
||||||
|
BLOCKSIZE := 128k
|
||||||
|
PAGESIZE := 2048
|
||||||
|
IMAGE_SIZE := 75776k
|
||||||
|
IMAGES += factory.bin
|
||||||
|
IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | \
|
||||||
|
append-ubi | linksys-image type=MR7350
|
||||||
|
DEVICE_PACKAGES := ipq-wifi-linksys_mr7350 \
|
||||||
|
kmod-leds-pca963x kmod-usb-ledtrig-usbport
|
||||||
|
endef
|
||||||
|
TARGET_DEVICES += linksys_mr7350
|
||||||
|
|
||||||
define Device/netgear_wax214
|
define Device/netgear_wax214
|
||||||
$(call Device/FitImage)
|
$(call Device/FitImage)
|
||||||
$(call Device/UbiFit)
|
$(call Device/UbiFit)
|
||||||
@ -37,6 +55,19 @@ define Device/netgear_wax214
|
|||||||
endef
|
endef
|
||||||
TARGET_DEVICES += netgear_wax214
|
TARGET_DEVICES += netgear_wax214
|
||||||
|
|
||||||
|
define Device/qihoo_360v6
|
||||||
|
$(call Device/FitImage)
|
||||||
|
$(call Device/UbiFit)
|
||||||
|
DEVICE_VENDOR := Qihoo
|
||||||
|
DEVICE_MODEL := 360V6
|
||||||
|
BLOCKSIZE := 128k
|
||||||
|
PAGESIZE := 2048
|
||||||
|
SOC := ipq6000
|
||||||
|
DEVICE_DTS_CONFIG := config@cp03-c1
|
||||||
|
DEVICE_PACKAGES := ipq-wifi-qihoo_360v6
|
||||||
|
endef
|
||||||
|
TARGET_DEVICES += qihoo_360v6
|
||||||
|
|
||||||
define Device/yuncore_fap650
|
define Device/yuncore_fap650
|
||||||
$(call Device/FitImage)
|
$(call Device/FitImage)
|
||||||
$(call Device/UbiFit)
|
$(call Device/UbiFit)
|
||||||
@ -51,4 +82,3 @@ define Device/yuncore_fap650
|
|||||||
IMAGE/factory.ubin := append-ubi | qsdk-ipq-factory-nand
|
IMAGE/factory.ubin := append-ubi | qsdk-ipq-factory-nand
|
||||||
endef
|
endef
|
||||||
TARGET_DEVICES += yuncore_fap650
|
TARGET_DEVICES += yuncore_fap650
|
||||||
|
|
||||||
|
@ -7,6 +7,18 @@ board_config_update
|
|||||||
board=$(board_name)
|
board=$(board_name)
|
||||||
|
|
||||||
case "$board" in
|
case "$board" in
|
||||||
|
linksys,mr7350)
|
||||||
|
ucidef_set_led_netdev "lan1-port-link" "LAN1-PORT-LINK" "90000.mdio-1:00:green:lan" "lan1" "link_10 link_100 link_1000"
|
||||||
|
ucidef_set_led_netdev "lan1-port-traffic" "LAN1-PORT-TRAFFIC" "90000.mdio-1:00:orange:lan" "lan1" "tx rx link_10 link_100 link_1000"
|
||||||
|
ucidef_set_led_netdev "lan2-port-link" "LAN2-PORT-LINK" "90000.mdio-1:01:green:lan" "lan2" "link_10 link_100 link_1000"
|
||||||
|
ucidef_set_led_netdev "lan2-port-traffic" "LAN2-PORT-TRAFFIC" "90000.mdio-1:01:orange:lan" "lan2" "tx rx link_10 link_100 link_1000"
|
||||||
|
ucidef_set_led_netdev "lan3-port-link" "LAN3-PORT-LINK" "90000.mdio-1:02:green:lan" "lan3" "link_10 link_100 link_1000"
|
||||||
|
ucidef_set_led_netdev "lan3-port-traffic" "LAN3-PORT-TRAFFIC" "90000.mdio-1:02:orange:lan" "lan3" "tx rx link_10 link_100 link_1000"
|
||||||
|
ucidef_set_led_netdev "lan4-port-link" "LAN4-PORT-LINK" "90000.mdio-1:03:green:lan" "lan4" "link_10 link_100 link_1000"
|
||||||
|
ucidef_set_led_netdev "lan4-port-traffic" "LAN4-PORT-TRAFFIC" "90000.mdio-1:03:orange:lan" "lan4" "tx rx link_10 link_100 link_1000"
|
||||||
|
ucidef_set_led_netdev "wan-port-link" "WAN-PORT-LINK" "90000.mdio-1:04:green:wan" "wan" "link_10 link_100 link_1000"
|
||||||
|
ucidef_set_led_netdev "wan-port-traffic" "WAN-PORT-TRAFFIC" "90000.mdio-1:04:orange:wan" "wan" "tx rx link_10 link_100 link_1000"
|
||||||
|
;;
|
||||||
yuncore,fap650)
|
yuncore,fap650)
|
||||||
ucidef_set_led_netdev "wlan5ghz" "WLAN 5GHz LED" "blue:wlan-5ghz" "wlan0" "tx rx"
|
ucidef_set_led_netdev "wlan5ghz" "WLAN 5GHz LED" "blue:wlan-5ghz" "wlan0" "tx rx"
|
||||||
ucidef_set_led_netdev "wlan2ghz" "WLAN 2.4GHz LED" "green:wlan-2ghz" "wlan1" "tx rx"
|
ucidef_set_led_netdev "wlan2ghz" "WLAN 2.4GHz LED" "green:wlan-2ghz" "wlan1" "tx rx"
|
||||||
|
@ -20,6 +20,10 @@ ipq60xx_setup_interfaces()
|
|||||||
netgear,wax214)
|
netgear,wax214)
|
||||||
ucidef_set_interfaces_lan_wan "lan"
|
ucidef_set_interfaces_lan_wan "lan"
|
||||||
;;
|
;;
|
||||||
|
qihoo,360v6)
|
||||||
|
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" "wan"
|
||||||
|
;;
|
||||||
|
linksys,mr7350|\
|
||||||
yuncore,fap650)
|
yuncore,fap650)
|
||||||
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan"
|
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan"
|
||||||
;;
|
;;
|
||||||
@ -29,9 +33,35 @@ ipq60xx_setup_interfaces()
|
|||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ipq60xx_setup_macs()
|
||||||
|
{
|
||||||
|
local board="$1"
|
||||||
|
local lan_mac=""
|
||||||
|
local wan_mac=""
|
||||||
|
local label_mac=""
|
||||||
|
|
||||||
|
case $board in
|
||||||
|
linksys,mr7350)
|
||||||
|
label_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
|
||||||
|
lan_mac=$label_mac
|
||||||
|
wan_mac=$label_mac
|
||||||
|
;;
|
||||||
|
qihoo,360v6)
|
||||||
|
lan_mac=$(mtd_get_mac_ascii factory lanMac)
|
||||||
|
wan_mac=$(macaddr_add "$lan_mac" 1)
|
||||||
|
label_mac=$lan_mac
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
[ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
|
||||||
|
[ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
|
||||||
|
[ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
|
||||||
|
}
|
||||||
|
|
||||||
board_config_update
|
board_config_update
|
||||||
board=$(board_name)
|
board=$(board_name)
|
||||||
ipq60xx_setup_interfaces $board
|
ipq60xx_setup_interfaces $board
|
||||||
|
ipq60xx_setup_macs $board
|
||||||
board_config_flush
|
board_config_flush
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
@ -15,9 +15,17 @@ case "$FIRMWARE" in
|
|||||||
cambiumnetworks,xe3-4)
|
cambiumnetworks,xe3-4)
|
||||||
caldata_extract "0:ART" 0x1000 0x10000
|
caldata_extract "0:ART" 0x1000 0x10000
|
||||||
;;
|
;;
|
||||||
|
linksys,mr7350|\
|
||||||
netgear,wax214)
|
netgear,wax214)
|
||||||
caldata_extract "0:art" 0x1000 0x10000
|
caldata_extract "0:art" 0x1000 0x10000
|
||||||
;;
|
;;
|
||||||
|
qihoo,360v6)
|
||||||
|
caldata_extract "0:art" 0x1000 0x10000
|
||||||
|
label_mac=$(mtd_get_mac_ascii factory lanMac)
|
||||||
|
ath11k_patch_mac $(macaddr_add $label_mac 3) 0
|
||||||
|
ath11k_patch_mac $(macaddr_add $label_mac 2) 1
|
||||||
|
ath11k_set_macflag
|
||||||
|
;;
|
||||||
yuncore,fap650)
|
yuncore,fap650)
|
||||||
caldata_extract "0:art" 0x1000 0x20000
|
caldata_extract "0:art" 0x1000 0x20000
|
||||||
;;
|
;;
|
||||||
|
@ -0,0 +1,18 @@
|
|||||||
|
[ "$ACTION" == "add" ] || exit 0
|
||||||
|
|
||||||
|
PHYNBR=${DEVPATH##*/phy}
|
||||||
|
|
||||||
|
[ -n $PHYNBR ] || exit 0
|
||||||
|
|
||||||
|
. /lib/functions.sh
|
||||||
|
. /lib/functions/system.sh
|
||||||
|
|
||||||
|
board=$(board_name)
|
||||||
|
|
||||||
|
case "$board" in
|
||||||
|
linksys,mr7350)
|
||||||
|
addr=$(mtd_get_mac_ascii devinfo hw_mac_addr)
|
||||||
|
[ "$PHYNBR" = "0" ] && macaddr_add $addr 2 > /sys${DEVPATH}/macaddress
|
||||||
|
[ "$PHYNBR" = "1" ] && macaddr_add $addr 1 > /sys${DEVPATH}/macaddress
|
||||||
|
;;
|
||||||
|
esac
|
3
target/linux/qualcommax/ipq60xx/base-files/etc/init.d/bootcount
Executable file → Normal file
3
target/linux/qualcommax/ipq60xx/base-files/etc/init.d/bootcount
Executable file → Normal file
@ -4,6 +4,9 @@ START=99
|
|||||||
|
|
||||||
boot() {
|
boot() {
|
||||||
case $(board_name) in
|
case $(board_name) in
|
||||||
|
linksys,mr7350)
|
||||||
|
mtd resetbc s_env || true
|
||||||
|
;;
|
||||||
yuncore,fap650)
|
yuncore,fap650)
|
||||||
fw_setenv owrt_bootcount 0
|
fw_setenv owrt_bootcount 0
|
||||||
;;
|
;;
|
||||||
|
@ -37,7 +37,22 @@ platform_do_upgrade() {
|
|||||||
fw_setenv bootcount 0
|
fw_setenv bootcount 0
|
||||||
nand_do_upgrade "$1"
|
nand_do_upgrade "$1"
|
||||||
;;
|
;;
|
||||||
netgear,wax214)
|
linksys,mr7350)
|
||||||
|
boot_part="$(fw_printenv -n boot_part)"
|
||||||
|
if [ "$boot_part" -eq "1" ]; then
|
||||||
|
fw_setenv boot_part 2
|
||||||
|
CI_KERNPART="alt_kernel"
|
||||||
|
CI_UBIPART="alt_rootfs"
|
||||||
|
else
|
||||||
|
fw_setenv boot_part 1
|
||||||
|
CI_UBIPART="rootfs"
|
||||||
|
fi
|
||||||
|
fw_setenv boot_part_ready 3
|
||||||
|
fw_setenv auto_recovery yes
|
||||||
|
nand_do_upgrade "$1"
|
||||||
|
;;
|
||||||
|
netgear,wax214|\
|
||||||
|
qihoo,360v6)
|
||||||
nand_do_upgrade "$1"
|
nand_do_upgrade "$1"
|
||||||
;;
|
;;
|
||||||
yuncore,fap650)
|
yuncore,fap650)
|
||||||
|
@ -32,7 +32,6 @@ CONFIG_REGULATOR_CPR4_APSS=y
|
|||||||
# CONFIG_REGULATOR_QCOM_LABIBB is not set
|
# CONFIG_REGULATOR_QCOM_LABIBB is not set
|
||||||
CONFIG_REGULATOR_QCOM_SPMI=y
|
CONFIG_REGULATOR_QCOM_SPMI=y
|
||||||
# CONFIG_REGULATOR_QCOM_USB_VBUS is not set
|
# CONFIG_REGULATOR_QCOM_USB_VBUS is not set
|
||||||
CONFIG_REGULATOR_USERSPACE_CONSUMER=y
|
|
||||||
CONFIG_RTC_DRV_PM8XXX=y
|
CONFIG_RTC_DRV_PM8XXX=y
|
||||||
CONFIG_SPMI=y
|
CONFIG_SPMI=y
|
||||||
# CONFIG_SPMI_HISI3670 is not set
|
# CONFIG_SPMI_HISI3670 is not set
|
||||||
|
Loading…
x
Reference in New Issue
Block a user