mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-25 00:11:13 +00:00
1f818b09f8
This series of upstream patches properly implement a clock and reset driver for old ralink SoCs[1]. And it includes some related fixes[2] and improvements[3][4]. All patches have been merged into linux-next. They will be part of upcoming Linux 6.5. In order to switch to the new system controller driver, all clocks and resets properties in SoC dtsi have been updated, and kernel symbol "CONFIG_CLK_MTMIPS" have been added to the kernel config files. [1] https://lore.kernel.org/all/20230619040941.1340372-1-sergio.paracuellos@gmail.com [2] https://lore.kernel.org/all/20230622-mips-ralink-clk-wuninitialized-v1-1-ea9041240d10@kernel.org [3] https://lore.kernel.org/all/OSYP286MB03120BABB25900E113ED42B7BC5CA@OSYP286MB0312.JPNP286.PROD.OUTLOOK.COM [4] https://lore.kernel.org/all/TYAP286MB03151148AF8C054621DD55C3BC23A@TYAP286MB0315.JPNP286.PROD.OUTLOOK.COM Tested on Motorola MWR03 (MT7628) Tested on Haier HW-L1W (MT7620) Signed-off-by: Shiji Yang <yangshiji66@qq.com>
82 lines
2.5 KiB
Diff
82 lines
2.5 KiB
Diff
From ffcdf47379eae86dc8f8f02c62994dacf2c9038e Mon Sep 17 00:00:00 2001
|
|
From: Sergio Paracuellos <sergio.paracuellos@gmail.com>
|
|
Date: Mon, 19 Jun 2023 06:09:35 +0200
|
|
Subject: [PATCH 3/9] mips: ralink: rt288x: remove clock related code
|
|
|
|
A properly clock driver for ralink SoCs has been added. Hence there is no
|
|
need to have clock related code in 'arch/mips/ralink' folder anymore.
|
|
|
|
Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
|
|
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
|
|
---
|
|
arch/mips/include/asm/mach-ralink/rt288x.h | 10 ----------
|
|
arch/mips/ralink/rt288x.c | 31 ------------------------------
|
|
2 files changed, 41 deletions(-)
|
|
|
|
--- a/arch/mips/include/asm/mach-ralink/rt288x.h
|
|
+++ b/arch/mips/include/asm/mach-ralink/rt288x.h
|
|
@@ -17,7 +17,6 @@
|
|
#define SYSC_REG_CHIP_NAME1 0x04
|
|
#define SYSC_REG_CHIP_ID 0x0c
|
|
#define SYSC_REG_SYSTEM_CONFIG 0x10
|
|
-#define SYSC_REG_CLKCFG 0x30
|
|
|
|
#define RT2880_CHIP_NAME0 0x38325452
|
|
#define RT2880_CHIP_NAME1 0x20203038
|
|
@@ -26,15 +25,6 @@
|
|
#define CHIP_ID_ID_SHIFT 8
|
|
#define CHIP_ID_REV_MASK 0xff
|
|
|
|
-#define SYSTEM_CONFIG_CPUCLK_SHIFT 20
|
|
-#define SYSTEM_CONFIG_CPUCLK_MASK 0x3
|
|
-#define SYSTEM_CONFIG_CPUCLK_250 0x0
|
|
-#define SYSTEM_CONFIG_CPUCLK_266 0x1
|
|
-#define SYSTEM_CONFIG_CPUCLK_280 0x2
|
|
-#define SYSTEM_CONFIG_CPUCLK_300 0x3
|
|
-
|
|
-#define CLKCFG_SRAM_CS_N_WDT BIT(9)
|
|
-
|
|
#define RT2880_SDRAM_BASE 0x08000000
|
|
#define RT2880_MEM_SIZE_MIN 2
|
|
#define RT2880_MEM_SIZE_MAX 128
|
|
--- a/arch/mips/ralink/rt288x.c
|
|
+++ b/arch/mips/ralink/rt288x.c
|
|
@@ -17,37 +17,6 @@
|
|
|
|
#include "common.h"
|
|
|
|
-void __init ralink_clk_init(void)
|
|
-{
|
|
- unsigned long cpu_rate, wmac_rate = 40000000;
|
|
- u32 t = rt_sysc_r32(SYSC_REG_SYSTEM_CONFIG);
|
|
- t = ((t >> SYSTEM_CONFIG_CPUCLK_SHIFT) & SYSTEM_CONFIG_CPUCLK_MASK);
|
|
-
|
|
- switch (t) {
|
|
- case SYSTEM_CONFIG_CPUCLK_250:
|
|
- cpu_rate = 250000000;
|
|
- break;
|
|
- case SYSTEM_CONFIG_CPUCLK_266:
|
|
- cpu_rate = 266666667;
|
|
- break;
|
|
- case SYSTEM_CONFIG_CPUCLK_280:
|
|
- cpu_rate = 280000000;
|
|
- break;
|
|
- case SYSTEM_CONFIG_CPUCLK_300:
|
|
- cpu_rate = 300000000;
|
|
- break;
|
|
- }
|
|
-
|
|
- ralink_clk_add("cpu", cpu_rate);
|
|
- ralink_clk_add("300100.timer", cpu_rate / 2);
|
|
- ralink_clk_add("300120.watchdog", cpu_rate / 2);
|
|
- ralink_clk_add("300500.uart", cpu_rate / 2);
|
|
- ralink_clk_add("300900.i2c", cpu_rate / 2);
|
|
- ralink_clk_add("300c00.uartlite", cpu_rate / 2);
|
|
- ralink_clk_add("400000.ethernet", cpu_rate / 2);
|
|
- ralink_clk_add("480000.wmac", wmac_rate);
|
|
-}
|
|
-
|
|
void __init ralink_of_remap(void)
|
|
{
|
|
rt_sysc_membase = plat_of_remap_node("ralink,rt2880-sysc");
|