aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ath79/patches-4.14/0027-MIPS-ath79-drop-mips_machine-support.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ath79/patches-4.14/0027-MIPS-ath79-drop-mips_machine-support.patch')
-rw-r--r--target/linux/ath79/patches-4.14/0027-MIPS-ath79-drop-mips_machine-support.patch180
1 files changed, 180 insertions, 0 deletions
diff --git a/target/linux/ath79/patches-4.14/0027-MIPS-ath79-drop-mips_machine-support.patch b/target/linux/ath79/patches-4.14/0027-MIPS-ath79-drop-mips_machine-support.patch
new file mode 100644
index 0000000000..fd47b775f0
--- /dev/null
+++ b/target/linux/ath79/patches-4.14/0027-MIPS-ath79-drop-mips_machine-support.patch
@@ -0,0 +1,180 @@
+From e03edbc8e68063b3fca7457fa048d8abe0045f1f Mon Sep 17 00:00:00 2001
+From: John Crispin <john@phrozen.org>
+Date: Tue, 6 Mar 2018 10:15:54 +0100
+Subject: [PATCH 27/27] MIPS: ath79: drop mips_machine support
+
+Signed-off-by: John Crispin <john@phrozen.org>
+---
+ arch/mips/Kconfig | 1 -
+ arch/mips/ath79/machtypes.h | 28 -----------------
+ arch/mips/ath79/setup.c | 74 ++++++---------------------------------------
+ 3 files changed, 10 insertions(+), 93 deletions(-)
+ delete mode 100644 arch/mips/ath79/machtypes.h
+
+Index: linux-4.14.18/arch/mips/Kconfig
+===================================================================
+--- linux-4.14.18.orig/arch/mips/Kconfig
++++ linux-4.14.18/arch/mips/Kconfig
+@@ -196,7 +196,6 @@ config ATH79
+ select COMMON_CLK
+ select CLKDEV_LOOKUP
+ select IRQ_MIPS_CPU
+- select MIPS_MACHINE
+ select SYS_HAS_CPU_MIPS32_R2
+ select SYS_HAS_EARLY_PRINTK
+ select SYS_SUPPORTS_32BIT_KERNEL
+Index: linux-4.14.18/arch/mips/ath79/machtypes.h
+===================================================================
+--- linux-4.14.18.orig/arch/mips/ath79/machtypes.h
++++ /dev/null
+@@ -1,28 +0,0 @@
+-/*
+- * Atheros AR71XX/AR724X/AR913X machine type definitions
+- *
+- * Copyright (C) 2008-2010 Gabor Juhos <juhosg@openwrt.org>
+- * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
+- *
+- * This program is free software; you can redistribute it and/or modify it
+- * under the terms of the GNU General Public License version 2 as published
+- * by the Free Software Foundation.
+- */
+-
+-#ifndef _ATH79_MACHTYPE_H
+-#define _ATH79_MACHTYPE_H
+-
+-#include <asm/mips_machine.h>
+-
+-enum ath79_mach_type {
+- ATH79_MACH_GENERIC_OF = -1, /* Device tree board */
+- ATH79_MACH_GENERIC = 0,
+- ATH79_MACH_AP121, /* Atheros AP121 reference board */
+- ATH79_MACH_AP136_010, /* Atheros AP136-010 reference board */
+- ATH79_MACH_AP81, /* Atheros AP81 reference board */
+- ATH79_MACH_DB120, /* Atheros DB120 reference board */
+- ATH79_MACH_PB44, /* Atheros PB44 reference board */
+- ATH79_MACH_UBNT_XM, /* Ubiquiti Networks XM board rev 1.0 */
+-};
+-
+-#endif /* _ATH79_MACHTYPE_H */
+Index: linux-4.14.18/arch/mips/ath79/setup.c
+===================================================================
+--- linux-4.14.18.orig/arch/mips/ath79/setup.c
++++ linux-4.14.18/arch/mips/ath79/setup.c
+@@ -32,7 +32,6 @@
+ #include <asm/mach-ath79/ath79.h>
+ #include <asm/mach-ath79/ar71xx_regs.h>
+ #include "common.h"
+-#include "machtypes.h"
+
+ #define ATH79_SYS_TYPE_LEN 64
+
+@@ -235,25 +234,21 @@ void __init plat_mem_setup(void)
+ else if (fw_passed_dtb)
+ __dt_setup_arch((void *)KSEG0ADDR(fw_passed_dtb));
+
+- if (mips_machtype != ATH79_MACH_GENERIC_OF) {
+- ath79_reset_base = ioremap_nocache(AR71XX_RESET_BASE,
+- AR71XX_RESET_SIZE);
+- ath79_pll_base = ioremap_nocache(AR71XX_PLL_BASE,
+- AR71XX_PLL_SIZE);
+- ath79_detect_sys_type();
+- ath79_ddr_ctrl_init();
++ ath79_reset_base = ioremap_nocache(AR71XX_RESET_BASE,
++ AR71XX_RESET_SIZE);
++ ath79_pll_base = ioremap_nocache(AR71XX_PLL_BASE,
++ AR71XX_PLL_SIZE);
++ ath79_detect_sys_type();
++ ath79_ddr_ctrl_init();
+
+- detect_memory_region(0, ATH79_MEM_SIZE_MIN, ATH79_MEM_SIZE_MAX);
+-
+- /* OF machines should use the reset driver */
+- _machine_restart = ath79_restart;
+- }
++ detect_memory_region(0, ATH79_MEM_SIZE_MIN, ATH79_MEM_SIZE_MAX);
+
++ _machine_restart = ath79_restart;
+ _machine_halt = ath79_halt;
+ pm_power_off = ath79_halt;
+ }
+
+-static void __init ath79_of_plat_time_init(void)
++void __init plat_time_init(void)
+ {
+ struct device_node *np;
+ struct clk *clk;
+@@ -283,62 +278,12 @@ static void __init ath79_of_plat_time_in
+ clk_put(clk);
+ }
+
+-void __init plat_time_init(void)
+-{
+- unsigned long cpu_clk_rate;
+- unsigned long ahb_clk_rate;
+- unsigned long ddr_clk_rate;
+- unsigned long ref_clk_rate;
+-
+- if (IS_ENABLED(CONFIG_OF) && mips_machtype == ATH79_MACH_GENERIC_OF) {
+- ath79_of_plat_time_init();
+- return;
+- }
+-
+- ath79_clocks_init();
+-
+- cpu_clk_rate = ath79_get_sys_clk_rate("cpu");
+- ahb_clk_rate = ath79_get_sys_clk_rate("ahb");
+- ddr_clk_rate = ath79_get_sys_clk_rate("ddr");
+- ref_clk_rate = ath79_get_sys_clk_rate("ref");
+-
+- pr_info("Clocks: CPU:%lu.%03luMHz, DDR:%lu.%03luMHz, AHB:%lu.%03luMHz, Ref:%lu.%03luMHz\n",
+- cpu_clk_rate / 1000000, (cpu_clk_rate / 1000) % 1000,
+- ddr_clk_rate / 1000000, (ddr_clk_rate / 1000) % 1000,
+- ahb_clk_rate / 1000000, (ahb_clk_rate / 1000) % 1000,
+- ref_clk_rate / 1000000, (ref_clk_rate / 1000) % 1000);
+-
+- mips_hpt_frequency = cpu_clk_rate / 2;
+-}
+-
+ void __init arch_init_irq(void)
+ {
+ irqchip_init();
+ }
+
+-static int __init ath79_setup(void)
+-{
+- if (mips_machtype == ATH79_MACH_GENERIC_OF)
+- return 0;
+-
+- mips_machine_setup();
+-
+- return 0;
+-}
+-
+-arch_initcall(ath79_setup);
+-
+ void __init device_tree_init(void)
+ {
+ unflatten_and_copy_device_tree();
+ }
+-
+-MIPS_MACHINE(ATH79_MACH_GENERIC,
+- "Generic",
+- "Generic AR71XX/AR724X/AR913X based board",
+- NULL);
+-
+-MIPS_MACHINE(ATH79_MACH_GENERIC_OF,
+- "DTB",
+- "Generic AR71XX/AR724X/AR913X based board (DT)",
+- NULL);
+Index: linux-4.14.18/arch/mips/ath79/clock.c
+===================================================================
+--- linux-4.14.18.orig/arch/mips/ath79/clock.c
++++ linux-4.14.18/arch/mips/ath79/clock.c
+@@ -26,7 +26,6 @@
+ #include <asm/mach-ath79/ath79.h>
+ #include <asm/mach-ath79/ar71xx_regs.h>
+ #include "common.h"
+-#include "machtypes.h"
+
+ #define AR71XX_BASE_FREQ 40000000
+ #define AR724X_BASE_FREQ 40000000