You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
177 lines
5.1 KiB
177 lines
5.1 KiB
From 22ee5168a5dfeda748cabd0bbf728d6bdc6b925b Mon Sep 17 00:00:00 2001
|
|
From: John Crispin <blogic@openwrt.org>
|
|
Date: Mon, 7 Dec 2015 17:12:38 +0100
|
|
Subject: [PATCH 11/53] arch: mips: ralink: unify soc detection
|
|
|
|
Signed-off-by: John Crispin <blogic@openwrt.org>
|
|
---
|
|
arch/mips/include/asm/mach-ralink/mt7620.h | 8 --------
|
|
arch/mips/include/asm/mach-ralink/ralink_regs.h | 14 ++++++++++++++
|
|
arch/mips/include/asm/mach-ralink/rt305x.h | 21 ++++++---------------
|
|
arch/mips/ralink/prom.c | 5 ++++-
|
|
arch/mips/ralink/rt305x.c | 12 +++++-------
|
|
5 files changed, 29 insertions(+), 31 deletions(-)
|
|
|
|
diff --git a/arch/mips/include/asm/mach-ralink/mt7620.h b/arch/mips/include/asm/mach-ralink/mt7620.h
|
|
index 72e64fa..0ef882b 100644
|
|
--- a/arch/mips/include/asm/mach-ralink/mt7620.h
|
|
+++ b/arch/mips/include/asm/mach-ralink/mt7620.h
|
|
@@ -13,14 +13,6 @@
|
|
#ifndef _MT7620_REGS_H_
|
|
#define _MT7620_REGS_H_
|
|
|
|
-enum mt762x_soc_type {
|
|
- MT762X_SOC_UNKNOWN = 0,
|
|
- MT762X_SOC_MT7620A,
|
|
- MT762X_SOC_MT7620N,
|
|
- MT762X_SOC_MT7628AN,
|
|
-};
|
|
-extern enum mt762x_soc_type mt762x_soc;
|
|
-
|
|
#define MT7620_SYSC_BASE 0x10000000
|
|
|
|
#define SYSC_REG_CHIP_NAME0 0x00
|
|
diff --git a/arch/mips/include/asm/mach-ralink/ralink_regs.h b/arch/mips/include/asm/mach-ralink/ralink_regs.h
|
|
index bd93014..8fcbd0f 100644
|
|
--- a/arch/mips/include/asm/mach-ralink/ralink_regs.h
|
|
+++ b/arch/mips/include/asm/mach-ralink/ralink_regs.h
|
|
@@ -13,6 +13,20 @@
|
|
#ifndef _RALINK_REGS_H_
|
|
#define _RALINK_REGS_H_
|
|
|
|
+enum ralink_soc_type {
|
|
+ RALINK_UNKNOWN = 0,
|
|
+ RT305X_SOC_RT3050,
|
|
+ RT305X_SOC_RT3052,
|
|
+ RT305X_SOC_RT3350,
|
|
+ RT305X_SOC_RT3352,
|
|
+ RT305X_SOC_RT5350,
|
|
+ MT762X_SOC_MT7620A,
|
|
+ MT762X_SOC_MT7620N,
|
|
+ MT762X_SOC_MT7621AT,
|
|
+ MT762X_SOC_MT7628AN,
|
|
+};
|
|
+extern enum ralink_soc_type ralink_soc;
|
|
+
|
|
extern __iomem void *rt_sysc_membase;
|
|
extern __iomem void *rt_memc_membase;
|
|
|
|
diff --git a/arch/mips/include/asm/mach-ralink/rt305x.h b/arch/mips/include/asm/mach-ralink/rt305x.h
|
|
index 96f731b..2eea793 100644
|
|
--- a/arch/mips/include/asm/mach-ralink/rt305x.h
|
|
+++ b/arch/mips/include/asm/mach-ralink/rt305x.h
|
|
@@ -13,25 +13,16 @@
|
|
#ifndef _RT305X_REGS_H_
|
|
#define _RT305X_REGS_H_
|
|
|
|
-enum rt305x_soc_type {
|
|
- RT305X_SOC_UNKNOWN = 0,
|
|
- RT305X_SOC_RT3050,
|
|
- RT305X_SOC_RT3052,
|
|
- RT305X_SOC_RT3350,
|
|
- RT305X_SOC_RT3352,
|
|
- RT305X_SOC_RT5350,
|
|
-};
|
|
-
|
|
-extern enum rt305x_soc_type rt305x_soc;
|
|
+extern enum ralink_soc_type ralink_soc;
|
|
|
|
static inline int soc_is_rt3050(void)
|
|
{
|
|
- return rt305x_soc == RT305X_SOC_RT3050;
|
|
+ return ralink_soc == RT305X_SOC_RT3050;
|
|
}
|
|
|
|
static inline int soc_is_rt3052(void)
|
|
{
|
|
- return rt305x_soc == RT305X_SOC_RT3052;
|
|
+ return ralink_soc == RT305X_SOC_RT3052;
|
|
}
|
|
|
|
static inline int soc_is_rt305x(void)
|
|
@@ -41,17 +32,17 @@ static inline int soc_is_rt305x(void)
|
|
|
|
static inline int soc_is_rt3350(void)
|
|
{
|
|
- return rt305x_soc == RT305X_SOC_RT3350;
|
|
+ return ralink_soc == RT305X_SOC_RT3350;
|
|
}
|
|
|
|
static inline int soc_is_rt3352(void)
|
|
{
|
|
- return rt305x_soc == RT305X_SOC_RT3352;
|
|
+ return ralink_soc == RT305X_SOC_RT3352;
|
|
}
|
|
|
|
static inline int soc_is_rt5350(void)
|
|
{
|
|
- return rt305x_soc == RT305X_SOC_RT5350;
|
|
+ return ralink_soc == RT305X_SOC_RT5350;
|
|
}
|
|
|
|
#define RT305X_SYSC_BASE 0x10000000
|
|
diff --git a/arch/mips/ralink/prom.c b/arch/mips/ralink/prom.c
|
|
index 09419f6..d0978d5 100644
|
|
--- a/arch/mips/ralink/prom.c
|
|
+++ b/arch/mips/ralink/prom.c
|
|
@@ -15,10 +15,13 @@
|
|
#include <asm/bootinfo.h>
|
|
#include <asm/addrspace.h>
|
|
|
|
+#include <asm/mach-ralink/ralink_regs.h>
|
|
+
|
|
#include "common.h"
|
|
|
|
struct ralink_soc_info soc_info;
|
|
-struct rt2880_pmx_group *rt2880_pinmux_data = NULL;
|
|
+enum ralink_soc_type ralink_soc;
|
|
+EXPORT_SYMBOL_GPL(ralink_soc);
|
|
|
|
const char *get_system_type(void)
|
|
{
|
|
diff --git a/arch/mips/ralink/rt305x.c b/arch/mips/ralink/rt305x.c
|
|
index eeb747a..51f33a5 100644
|
|
--- a/arch/mips/ralink/rt305x.c
|
|
+++ b/arch/mips/ralink/rt305x.c
|
|
@@ -21,8 +21,6 @@
|
|
|
|
#include "common.h"
|
|
|
|
-enum rt305x_soc_type rt305x_soc;
|
|
-
|
|
static struct rt2880_pmx_func i2c_func[] = { FUNC("i2c", 0, 1, 2) };
|
|
static struct rt2880_pmx_func spi_func[] = { FUNC("spi", 0, 3, 4) };
|
|
static struct rt2880_pmx_func uartf_func[] = {
|
|
@@ -236,24 +234,24 @@ void prom_soc_init(struct ralink_soc_info *soc_info)
|
|
|
|
icache_sets = (read_c0_config1() >> 22) & 7;
|
|
if (icache_sets == 1) {
|
|
- rt305x_soc = RT305X_SOC_RT3050;
|
|
+ ralink_soc = RT305X_SOC_RT3050;
|
|
name = "RT3050";
|
|
soc_info->compatible = "ralink,rt3050-soc";
|
|
} else {
|
|
- rt305x_soc = RT305X_SOC_RT3052;
|
|
+ ralink_soc = RT305X_SOC_RT3052;
|
|
name = "RT3052";
|
|
soc_info->compatible = "ralink,rt3052-soc";
|
|
}
|
|
} else if (n0 == RT3350_CHIP_NAME0 && n1 == RT3350_CHIP_NAME1) {
|
|
- rt305x_soc = RT305X_SOC_RT3350;
|
|
+ ralink_soc = RT305X_SOC_RT3350;
|
|
name = "RT3350";
|
|
soc_info->compatible = "ralink,rt3350-soc";
|
|
} else if (n0 == RT3352_CHIP_NAME0 && n1 == RT3352_CHIP_NAME1) {
|
|
- rt305x_soc = RT305X_SOC_RT3352;
|
|
+ ralink_soc = RT305X_SOC_RT3352;
|
|
name = "RT3352";
|
|
soc_info->compatible = "ralink,rt3352-soc";
|
|
} else if (n0 == RT5350_CHIP_NAME0 && n1 == RT5350_CHIP_NAME1) {
|
|
- rt305x_soc = RT305X_SOC_RT5350;
|
|
+ ralink_soc = RT305X_SOC_RT5350;
|
|
name = "RT5350";
|
|
soc_info->compatible = "ralink,rt5350-soc";
|
|
} else {
|
|
--
|
|
1.7.10.4
|
|
|
|
|