mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-27 09:12:39 +00:00
7181eb9f81
Remove upstreamed patches: - 000-v5.18-01-dt-bindings-reset-add-dt-binding-header-for-Mediatek.patch - 000-v5.18-02-staging-mt7621-dts-align-resets-with-binding-documen.patch - 001-v5.18-01-dt-bindings-clock-mediatek-mt7621-sysc-add-reset-cel.patch - 001-v5.18-02-clk-ralink-make-system-controller-node-a-reset-provi.patch - 002-v6.0-MIPS-ralink-mt7621-avoid-to-init-common-ralink-reset.patch - 100-v5.16-PCI-mt7621-Add-MediaTek-MT7621-PCIe-host-controller-.patch - 101-v5.17-PCI-mt7621-Rename-mt7621_pci_-to-mt7621_pcie_.patch - 102-v5.17-PCI-mt7621-Declare-mt7621_pci_ops-static.patch - 103-v5.17-PCI-mt7621-Move-MIPS-setup-to-pcibios_root_bridge_pr.patch - 104-v5.17-PCI-mt7621-Drop-of_match_ptr-to-avoid-unused-variabl.patch - 105-v5.17-PCI-mt7621-Remove-unused-function-pcie_rmw.patch - 106-v5.17-PCI-Let-pcibios_root_bridge_prepare-access-bridge-wi.patch - 107-v6.2-PCI-mt7621-Add-sentinel-to-quirks-table.patch - 108-v6.3-PCI-mt7621-Delay-phy-ports-initialization.patch Manually refresh: - 006-v6.5-mips-ralink-introduce-commonly-used-remap-node-funct.patch - 320-MIPS-add-support-for-buggy-MT7621S-core-detection.patch - 405-mtd-spi-nor-Add-support-for-BoHong-bh25q128as.patch - 410-mtd-rawnand-add-driver-support-for-MT7621-nand-flash.patch - 805-pinctrl-AW9523.patch - 825-i2c-MIPS-adds-ralink-I2C-driver.patch - 830-mmc-MIPS-ralink-add-sdhci-for-mt7620a-SoC.patch Automatically refresh: - 200-add-ralink-eth.patch - 314-MIPS-add-bootargs-override-property.patch - 315-owrt-hack-fix-mt7688-cache-issue.patch - 700-net-ethernet-mediatek-support-net-labels.patch - 720-Revert-net-phy-simplify-phy_link_change-arguments.patch - 721-NET-no-auto-carrier-off-support.patch - 800-dmaengine-mediatek-add-HSDMA-support-for-mt7621.patch - 802-GPIO-MIPS-ralink-add-gpio-driver-for-ralink-SoC.patch - 810-uvc-add-iPassion-iP2970-support.patch - 821-SPI-ralink-add-Ralink-SoC-spi-driver.patch - 835-asoc-add-mt7620-support.patch - 840-serial-add-ugly-custom-baud-rate-hack.patch - 845-pwm-add-mediatek-support.patch - 850-awake-rt305x-dwc2-controller.patch Tested-by: Andre Heider <a.heider@gmail.com> # netgear,wac124 Tested-by: Andrey Jr. Melnikov <temnota.am@gmail.com> # Xiaomi Mi Router 3G Tested-by: Timo Dorfner <timo.capa@gmail.com> # mt7621/mir3g mt7621/rm2100 Reviewed-by: Shiji Yang <yangshiji66@qq.com> Co-Developed-by: Mieczyslaw Nalewaj <namiltd@yahoo.com> Signed-off-by: Nick Hainke <vincent@systemli.org>
192 lines
5.8 KiB
Diff
192 lines
5.8 KiB
Diff
From fd99ac5055d4705e91c73d1adba18bc71c8511a8 Mon Sep 17 00:00:00 2001
|
|
From: Shiji Yang <yangshiji66@outlook.com>
|
|
Date: Tue, 20 Jun 2023 19:44:32 +0800
|
|
Subject: [PATCH] mips: ralink: introduce commonly used remap node function
|
|
|
|
The ralink_of_remap() function is repeated several times on SoC specific
|
|
source files. They have the same structure, but just differ in compatible
|
|
strings. In order to make commonly use of these codes, this patch
|
|
introduces a newly designed mtmips_of_remap_node() function to match and
|
|
remap all supported system controller and memory controller nodes.
|
|
|
|
Build and run tested on MT7620 and MT7628.
|
|
|
|
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
|
|
Reviewed-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
|
|
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
|
|
---
|
|
arch/mips/ralink/common.h | 2 --
|
|
arch/mips/ralink/mt7620.c | 9 ---------
|
|
arch/mips/ralink/mt7621.c | 9 ---------
|
|
arch/mips/ralink/of.c | 42 +++++++++++++++++++++++++++++++++++-------
|
|
arch/mips/ralink/rt288x.c | 9 ---------
|
|
arch/mips/ralink/rt305x.c | 9 ---------
|
|
arch/mips/ralink/rt3883.c | 9 ---------
|
|
7 files changed, 35 insertions(+), 54 deletions(-)
|
|
|
|
--- a/arch/mips/ralink/common.h
|
|
+++ b/arch/mips/ralink/common.h
|
|
@@ -25,6 +25,4 @@ extern void ralink_of_remap(void);
|
|
|
|
extern void __init prom_soc_init(struct ralink_soc_info *soc_info);
|
|
|
|
-__iomem void *plat_of_remap_node(const char *node);
|
|
-
|
|
#endif /* _RALINK_COMMON_H__ */
|
|
--- a/arch/mips/ralink/mt7620.c
|
|
+++ b/arch/mips/ralink/mt7620.c
|
|
@@ -43,15 +43,6 @@
|
|
/* does the board have sdram or ddram */
|
|
static int dram_type;
|
|
|
|
-void __init ralink_of_remap(void)
|
|
-{
|
|
- rt_sysc_membase = plat_of_remap_node("ralink,mt7620a-sysc");
|
|
- rt_memc_membase = plat_of_remap_node("ralink,mt7620a-memc");
|
|
-
|
|
- if (!rt_sysc_membase || !rt_memc_membase)
|
|
- panic("Failed to remap core resources");
|
|
-}
|
|
-
|
|
static __init void
|
|
mt7620_dram_init(struct ralink_soc_info *soc_info)
|
|
{
|
|
--- a/arch/mips/ralink/mt7621.c
|
|
+++ b/arch/mips/ralink/mt7621.c
|
|
@@ -89,15 +89,6 @@ static void __init mt7621_memory_detect(
|
|
memblock_add(MT7621_HIGHMEM_BASE, MT7621_HIGHMEM_SIZE);
|
|
}
|
|
|
|
-void __init ralink_of_remap(void)
|
|
-{
|
|
- rt_sysc_membase = plat_of_remap_node("mediatek,mt7621-sysc");
|
|
- rt_memc_membase = plat_of_remap_node("mediatek,mt7621-memc");
|
|
-
|
|
- if (!rt_sysc_membase || !rt_memc_membase)
|
|
- panic("Failed to remap core resources");
|
|
-}
|
|
-
|
|
static unsigned int __init mt7621_get_soc_name0(void)
|
|
{
|
|
return __raw_readl(MT7621_SYSC_BASE + SYSC_REG_CHIP_NAME0);
|
|
--- a/arch/mips/ralink/of.c
|
|
+++ b/arch/mips/ralink/of.c
|
|
@@ -29,28 +29,56 @@ __iomem void *rt_sysc_membase;
|
|
__iomem void *rt_memc_membase;
|
|
EXPORT_SYMBOL_GPL(rt_sysc_membase);
|
|
|
|
-__iomem void *plat_of_remap_node(const char *node)
|
|
+static const struct of_device_id mtmips_memc_match[] = {
|
|
+ { .compatible = "mediatek,mt7621-memc" },
|
|
+ { .compatible = "ralink,mt7620a-memc" },
|
|
+ { .compatible = "ralink,rt2880-memc" },
|
|
+ { .compatible = "ralink,rt3050-memc" },
|
|
+ { .compatible = "ralink,rt3883-memc" },
|
|
+ {}
|
|
+};
|
|
+
|
|
+static const struct of_device_id mtmips_sysc_match[] = {
|
|
+ { .compatible = "mediatek,mt7621-sysc" },
|
|
+ { .compatible = "ralink,mt7620a-sysc" },
|
|
+ { .compatible = "ralink,rt2880-sysc" },
|
|
+ { .compatible = "ralink,rt3050-sysc" },
|
|
+ { .compatible = "ralink,rt3883-sysc" },
|
|
+ {}
|
|
+};
|
|
+
|
|
+static __iomem void *
|
|
+mtmips_of_remap_node(const struct of_device_id *match, const char *type)
|
|
{
|
|
struct resource res;
|
|
struct device_node *np;
|
|
|
|
- np = of_find_compatible_node(NULL, NULL, node);
|
|
+ np = of_find_matching_node(NULL, match);
|
|
if (!np)
|
|
- panic("Failed to find %s node", node);
|
|
+ panic("Failed to find %s controller node", type);
|
|
|
|
if (of_address_to_resource(np, 0, &res))
|
|
- panic("Failed to get resource for %s", node);
|
|
-
|
|
- of_node_put(np);
|
|
+ panic("Failed to get resource for %s node", np->name);
|
|
|
|
if (!request_mem_region(res.start,
|
|
resource_size(&res),
|
|
res.name))
|
|
- panic("Failed to request resources for %s", node);
|
|
+ panic("Failed to request resources for %s node", np->name);
|
|
+
|
|
+ of_node_put(np);
|
|
|
|
return ioremap(res.start, resource_size(&res));
|
|
}
|
|
|
|
+void __init ralink_of_remap(void)
|
|
+{
|
|
+ rt_sysc_membase = mtmips_of_remap_node(mtmips_sysc_match, "system");
|
|
+ rt_memc_membase = mtmips_of_remap_node(mtmips_memc_match, "memory");
|
|
+
|
|
+ if (!rt_sysc_membase || !rt_memc_membase)
|
|
+ panic("Failed to remap core resources");
|
|
+}
|
|
+
|
|
void __init plat_mem_setup(void)
|
|
{
|
|
void *dtb;
|
|
--- a/arch/mips/ralink/rt288x.c
|
|
+++ b/arch/mips/ralink/rt288x.c
|
|
@@ -17,15 +17,6 @@
|
|
|
|
#include "common.h"
|
|
|
|
-void __init ralink_of_remap(void)
|
|
-{
|
|
- rt_sysc_membase = plat_of_remap_node("ralink,rt2880-sysc");
|
|
- rt_memc_membase = plat_of_remap_node("ralink,rt2880-memc");
|
|
-
|
|
- if (!rt_sysc_membase || !rt_memc_membase)
|
|
- panic("Failed to remap core resources");
|
|
-}
|
|
-
|
|
void __init prom_soc_init(struct ralink_soc_info *soc_info)
|
|
{
|
|
void __iomem *sysc = (void __iomem *) KSEG1ADDR(RT2880_SYSC_BASE);
|
|
--- a/arch/mips/ralink/rt305x.c
|
|
+++ b/arch/mips/ralink/rt305x.c
|
|
@@ -53,15 +53,6 @@ static unsigned long rt5350_get_mem_size
|
|
return ret;
|
|
}
|
|
|
|
-void __init ralink_of_remap(void)
|
|
-{
|
|
- rt_sysc_membase = plat_of_remap_node("ralink,rt3050-sysc");
|
|
- rt_memc_membase = plat_of_remap_node("ralink,rt3050-memc");
|
|
-
|
|
- if (!rt_sysc_membase || !rt_memc_membase)
|
|
- panic("Failed to remap core resources");
|
|
-}
|
|
-
|
|
void __init prom_soc_init(struct ralink_soc_info *soc_info)
|
|
{
|
|
void __iomem *sysc = (void __iomem *) KSEG1ADDR(RT305X_SYSC_BASE);
|
|
--- a/arch/mips/ralink/rt3883.c
|
|
+++ b/arch/mips/ralink/rt3883.c
|
|
@@ -17,15 +17,6 @@
|
|
|
|
#include "common.h"
|
|
|
|
-void __init ralink_of_remap(void)
|
|
-{
|
|
- rt_sysc_membase = plat_of_remap_node("ralink,rt3883-sysc");
|
|
- rt_memc_membase = plat_of_remap_node("ralink,rt3883-memc");
|
|
-
|
|
- if (!rt_sysc_membase || !rt_memc_membase)
|
|
- panic("Failed to remap core resources");
|
|
-}
|
|
-
|
|
void __init prom_soc_init(struct ralink_soc_info *soc_info)
|
|
{
|
|
void __iomem *sysc = (void __iomem *) KSEG1ADDR(RT3883_SYSC_BASE);
|