arm: Remove Telechips subarchitecture
Subsystems (2)
cover arm: Remove Telechips subarchitecture
Unfortunately, nobody is interested in having support for Telechips' SoCs in mainline. With neither feedback nor support from anywhere, I am not willing to maintain this any longer.
Russell requires subarchs to be up-to-date and maintainers to do their work to prevent their subarchs from bit-rotting. That is completely the right thing to do.
For me, the only possible course of action is to completely remove the whole Telechips subarchitecture. I'll reply to this mail with a series of four patches that does this.
Thanks,
Hans
PATCH 1/4 Remove Telechips ARM subarch from MAINTAINERS
The AMR subarchitecture for Telechips SoCs is completely removed, so there's no need for a MAINTAINERS entry.
--- MAINTAINERS | 7 ------- 1 files changed, 0 insertions(+), 7 deletions(-)
MAINTAINERS +0 -7
@@ -1124,13 +1124,6 @@ S: Supported F: arch/arm/mach-shmobile/ F: drivers/sh/ -ARM/TELECHIPS ARM ARCHITECTURE -M: "Hans J. Koch" <[email protected]> -L: linux-arm-kernel at lists.infradead.org (moderated for non-subscribers) -S: Maintained -F: arch/arm/plat-tcc/ -F: arch/arm/mach-tcc8k/ - ARM/TECHNOLOGIC SYSTEMS TS7250 MACHINE SUPPORT M: Lennert Buytenhek <[email protected]> L: linux-arm-kernel at lists.infradead.org (moderated for non-subscribers)
Signature · 1 line
1.7.6.3
PATCH 1/4 Remove Telechips ARM subarch from MAINTAINERS
Quoted 2 lines · Hans J. Koch
The AMR subarchitecture for Telechips SoCs is completely removed,
Apart from this spelling mistake, the rest look fine. Do you want to send me a pull request with that fixed?
Thanks.
Quoted 30 lines
so there's no need for a
MAINTAINERSentry.Cc Thomas Gleixner <[email protected]>Cc Harry Sievers <[email protected]>Signed-off-by Hans J. Koch <[email protected]>--- MAINTAINERS | 7 ------- 1 files changed, 0 insertions(+), 7 deletions(-)MAINTAINERS +0
-7@@ -1124,13 +1124,6 @@ S: Supported F: arch/arm/mach-shmobile/ F: drivers/sh/ -ARM/TELECHIPS ARM ARCHITECTURE -M: "Hans J. Koch" <[email protected]> -L: linux-arm-kernel at lists.infradead.org (moderated for non-subscribers) -S: Maintained -F: arch/arm/plat-tcc/ -F: arch/arm/mach-tcc8k/ - ARM/TECHNOLOGIC SYSTEMS TS7250 MACHINE SUPPORT M: Lennert Buytenhek <[email protected]> L: linux-arm-kernel at lists.infradead.org (moderated for non-subscribers)Signature · 1 line
1.7.6.3
PATCH 1/4 Remove Telechips ARM subarch from MAINTAINERS
Quoted 6 lines · Russell King - ARM Linux
Quoted 2 lines · Hans J. Koch
The AMR subarchitecture for Telechips SoCs is completely removed,
Apart from this spelling mistake, the rest look fine. Do you want to send me a pull request with that fixed?
OK, I'll do that tonight.
Thanks,
Hans
Quoted 34 lines
Thanks.
Quoted 30 lines
so there's no need for a
MAINTAINERSentry.Cc Thomas Gleixner <[email protected]>Cc Harry Sievers <[email protected]>Signed-off-by Hans J. Koch <[email protected]>--- MAINTAINERS | 7 ------- 1 files changed, 0 insertions(+), 7 deletions(-)MAINTAINERS +0
-7@@ -1124,13 +1124,6 @@ S: Supported F: arch/arm/mach-shmobile/ F: drivers/sh/ -ARM/TELECHIPS ARM ARCHITECTURE -M: "Hans J. Koch" <[email protected]> -L: linux-arm-kernel at lists.infradead.org (moderated for non-subscribers) -S: Maintained -F: arch/arm/plat-tcc/ -F: arch/arm/mach-tcc8k/ - ARM/TECHNOLOGIC SYSTEMS TS7250 MACHINE SUPPORT M: Lennert Buytenhek <[email protected]> L: linux-arm-kernel at lists.infradead.org (moderated for non-subscribers)Signature · 1 line
1.7.6.3
A message that is not in the archive (sent off-list or not yet received): 20120104030052.GC2518@local
[GIT PULL] Remove Telechips ARM subarch
Quoted 8 lines · Hans J. Koch
Quoted 6 lines · Russell King - ARM Linux
Quoted 2 lines · Hans J. Koch
The AMR subarchitecture for Telechips SoCs is completely removed,
Apart from this spelling mistake, the rest look fine. Do you want to send me a pull request with that fixed?
Quoted 8 lines
OK, typo fixed.
The following changes since commit
5f0a6e2d503896062f641639dacfe5055c2f593b:Linux 3.2-rc7 (2011-12-23 21:51:06 -0800)
are available in the git repository at:
git://hansjkoch.de/git/linux-tccfor-russell
Well, it looks like an include or two was missed in arch/arm/Kconfig:
scripts/kconfig/conf --silentoldconfig Kconfig arch/arm/Kconfig:1066: can't open file "arch/arm/plat-tcc/Kconfig"
Could you quickly fix that and I'll re-pull it?
[GIT PULL] Remove Telechips ARM subarch
Quoted 15 lines · Russell King - ARM Linux
Quoted 14 lines · Hans J. Koch
Quoted 6 lines · Russell King - ARM Linux
Quoted 2 lines · Hans J. Koch
The AMR subarchitecture for Telechips SoCs is completely removed,
Apart from this spelling mistake, the rest look fine. Do you want to send me a pull request with that fixed?
OK, typo fixed.
The following changes since commit
5f0a6e2d503896062f641639dacfe5055c2f593b:Linux 3.2-rc7 (2011-12-23 21:51:06 -0800)
Quoted 7 lines
Quoted 2 lines
are available in the git repository at:
git://hansjkoch.de/git/linux-tccfor-russellWell, it looks like an include or two was missed in
arch/arm/Kconfig:
scripts/kconfig/conf--silentoldconfigKconfigarch/arm/Kconfig:1066: can't open file "arch/arm/plat-tcc/Kconfig"
Grrmpf, yes. Sorry.
Quoted 2 lines
Could you quickly fix that and I'll re-pull it?
OK, fixed. Please pull again.
Thanks,
Hans
PATCH 1/4 Remove Telechips ARM subarch from MAINTAINERS
In reply to Russell King - ARM LinuxQuoted 6 lines · Hans J. Koch
Quoted 2 lines
The AMR subarchitecture for Telechips SoCs is completely removed,
Apart from this spelling mistake, the rest look fine. Do you want to send me a pull request with that fixed?
Normally features are removed using feature-removal-schedule.txt. No maintainer is not a reason to remove it like this.
Signature · 2 lines
(english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
PATCH 1/4 Remove Telechips ARM subarch from MAINTAINERS
Quoted 9 lines · Pavel Machek
Quoted 6 lines · Hans J. Koch
Quoted 2 lines
The AMR subarchitecture for Telechips SoCs is completely removed,
Apart from this spelling mistake, the rest look fine. Do you want to send me a pull request with that fixed?
Normally features are removed using feature-removal-schedule.txt. No maintainer is not a reason to remove it like this.
Code that doesn't build and hasn't worked for a long time is enough reason IMHO. Note that the tcc platform was for the old arm926 based tcc8000, not the newer ARM11 based tcc89xx/91xx/92xx/93xx or even the Cortex-A8 based tcc88xx.
Telechips themselves seem to have given up on the ARM9 based products (see [1]) and there is practically no code reuse between what was there in v3.2 and what would have to get added to support the newer producs.
Is there any particular reason why you are interested in keeping the code around?
Arnd
[1] https://www.telechips.com/technical_support/kor/opensource/opensource_list.asp
PATCH 1/4 Remove Telechips ARM subarch from MAINTAINERS
Quoted 2 lines · Arnd Bergmann
Telechips themselves seem to have given up on the ARM9 based products
That is not true. The TCC8000 is in production and available, also derivatives like TCC8001.
The main problem is that Telechips is not interested in markets where SoCs are sold separately. Instead, they sell complete solutions. If you want a new DAB car radio, they'll sell you the PCB layout, operating system, drivers, and complete software according to your specification. They'll even organise manufacturing of the device, and you'll get the completely working PCB in the end. You never have to write software yourself, let alone kernel code.
That is why few people have ever heard of Telechips. Since these SoCs are available now for everybody, it seemed a good idea to bring that stuff to mainline.
But without ANY contribution (not even questions) from ANYBODY, no open source project will fly.
That's why I refused to keep the Telechips subarch up-to-date when Russell, correctly, asked me to do so. That was on the ARM kernel mailing list, but noone shouted, hey, I'll do it!
Consequently, I removed my stuff after talking to Thomas and Harry, who might have been still interested.
If I hadn't removed it myself, Russell would have kicked it out sooner or later anyway. Which is the correct thing to do for code that nobody is interested in.
Thanks,
Hans
PATCH 1/4 Remove Telechips ARM subarch from MAINTAINERS
Quoted 8 lines · Hans J. Koch
Quoted 2 lines · Arnd Bergmann
Telechips themselves seem to have given up on the ARM9 based products
That is not true. The TCC8000 is in production and available, also derivatives like TCC8001.
Quoted 7 lines
The main problem is that Telechips is not interested in markets where SoCs are sold separately. Instead, they sell complete solutions. If you want a new DAB car radio, they'll sell you the PCB layout, operating system, drivers, and complete software according to your specification. They'll even organise manufacturing of the device, and you'll get the completely working PCB in the end. You never have to write software yourself, let alone kernel code.
Ok, thanks for the info. Well, it also seems that Telechips is not particularly interested in contributing to upstream either, and according to what I've found in discussions were quite reluctant event to provide source code where they were required to.
They did provide the 2.6.29 and 2.6.35 kernel sources for their newer SoCs in the end, but I could not find anything for their ARMv5 parts, or any newer sources if they have any.
Arnd
PATCH 2/4 arm: Remove TCC subarch from Kconfig/Makefile
In reply to Hans J. KochThe Telechips subarchitecture is being completely removed.
--- arch/arm/Kconfig | 10 ---------- arch/arm/Makefile | 2 -- 2 files changed, 0 insertions(+), 12 deletions(-)
arch/arm/Kconfig +0 -10
@@ -868,16 +868,6 @@ config ARCH_SHARK Support for the StrongARM based Digital DNARD machine, also known as "Shark" (<http://www.shark-linux.de/shark.html>). -config ARCH_TCC_926 - bool "Telechips TCC ARM926-based systems" - select CLKSRC_MMIO - select CPU_ARM926T - select HAVE_CLK - select CLKDEV_LOOKUP - select GENERIC_CLOCKEVENTS - help - Support for Telechips TCC ARM926-based systems. - config ARCH_U300 bool "ST-Ericsson U300 Series" depends on MMU
arch/arm/Makefile +0 -2
@@ -184,7 +184,6 @@ machine-$(CONFIG_ARCH_EXYNOS4) := exynos machine-$(CONFIG_ARCH_SA1100) := sa1100 machine-$(CONFIG_ARCH_SHARK) := shark machine-$(CONFIG_ARCH_SHMOBILE) := shmobile -machine-$(CONFIG_ARCH_TCC8K) := tcc8k machine-$(CONFIG_ARCH_TEGRA) := tegra machine-$(CONFIG_ARCH_U300) := u300 machine-$(CONFIG_ARCH_U8500) := ux500
@@ -204,7 +203,6 @@ machine-$(CONFIG_ARCH_ZYNQ) := zynq plat-$(CONFIG_ARCH_MXC) := mxc plat-$(CONFIG_ARCH_OMAP) := omap plat-$(CONFIG_ARCH_S3C64XX) := samsung -plat-$(CONFIG_ARCH_TCC_926) := tcc plat-$(CONFIG_ARCH_ZYNQ) := versatile plat-$(CONFIG_PLAT_IOP) := iop plat-$(CONFIG_PLAT_NOMADIK) := nomadik
Signature · 1 line
1.7.6.3
PATCH 3/4 arm: Remove mach-tcc8k directory
In reply to Hans J. KochThe Telechips ARM architecture is being removed. This patch deletes the arch/arm/mach-tcc8k/ folder.
--- arch/arm/mach-tcc8k/Kconfig | 11 - arch/arm/mach-tcc8k/Makefile | 9 - arch/arm/mach-tcc8k/Makefile.boot | 3 - arch/arm/mach-tcc8k/board-tcc8000-sdk.c | 81 ----- arch/arm/mach-tcc8k/clock.c | 580 ------------------------------- arch/arm/mach-tcc8k/common.h | 15 - arch/arm/mach-tcc8k/devices.c | 239 ------------- arch/arm/mach-tcc8k/io.c | 62 ---- arch/arm/mach-tcc8k/irq.c | 111 ------ arch/arm/mach-tcc8k/time.c | 134 ------- 10 files changed, 0 insertions(+), 1245 deletions(-) delete mode 100644 arch/arm/mach-tcc8k/Kconfig delete mode 100644 arch/arm/mach-tcc8k/Makefile delete mode 100644 arch/arm/mach-tcc8k/Makefile.boot delete mode 100644 arch/arm/mach-tcc8k/board-tcc8000-sdk.c delete mode 100644 arch/arm/mach-tcc8k/clock.c delete mode 100644 arch/arm/mach-tcc8k/common.h delete mode 100644 arch/arm/mach-tcc8k/devices.c delete mode 100644 arch/arm/mach-tcc8k/io.c delete mode 100644 arch/arm/mach-tcc8k/irq.c delete mode 100644 arch/arm/mach-tcc8k/time.c
arch/arm/mach-tcc8k/Kconfig deleted +0 -11
@@ -1,11 +0,0 @@ -if ARCH_TCC8K - -comment "TCC8000 systems:" - -config MACH_TCC8000_SDK - bool "Telechips TCC8000-SDK development kit" - default y - help - Support for the Telechips TCC8000-SDK board. - -endif
arch/arm/mach-tcc8k/Makefile deleted +0 -9
@@ -1,9 +0,0 @@ -# -# Makefile for TCC8K boards and common files. -# - -# Common support -obj-y += clock.o irq.o time.o io.o devices.o - -# Board specific support -obj-$(CONFIG_MACH_TCC8000_SDK) += board-tcc8000-sdk.o
arch/arm/mach-tcc8k/Makefile.boot deleted +0 -3
@@ -1,3 +0,0 @@ - zreladdr-y += 0x20008000 -params_phys-y := 0x20000100 -initrd_phys-y := 0x20800000
arch/arm/mach-tcc8k/board-tcc8000-sdk.c deleted +0 -81
81 lines not on this page · raw message
arch/arm/mach-tcc8k/clock.c deleted +0 -580
580 lines not on this page · raw message
arch/arm/mach-tcc8k/common.h deleted +0 -15
@@ -1,15 +0,0 @@ -#ifndef MACH_TCC8K_COMMON_H -#define MACH_TCC8K_COMMON_H - -#include <linux/platform_device.h> - -extern struct platform_device tcc_nand_device; - -struct clk ; - -extern void tcc_clocks_init (unsigned long xi_freq,unsigned long xti_freq); -extern void tcc8k_timer_init (struct clk *clock,void __iomem *base,int irq); -extern void tcc8k_init_irq (void ); -extern void tcc8k_map_common_io (void ); - -#endif
arch/arm/mach-tcc8k/devices.c deleted +0 -239
239 lines not on this page · raw message
arch/arm/mach-tcc8k/io.c deleted +0 -62
62 lines not on this page · raw message
arch/arm/mach-tcc8k/irq.c deleted +0 -111
111 lines not on this page · raw message
arch/arm/mach-tcc8k/time.c deleted +0 -134
134 lines not on this page · raw message
Signature · 1 line
1.7.6.3
PATCH 4/4 arm: Remove plat-tcc directory
In reply to Hans J. KochThe Telechips ARM architecture is being removed. This patch deletes the arch/arm/plat-tcc/ folder.
--- arch/arm/plat-tcc/Kconfig | 20 - arch/arm/plat-tcc/Makefile | 3 - arch/arm/plat-tcc/clock.c | 179 ------ arch/arm/plat-tcc/include/mach/clock.h | 48 -- arch/arm/plat-tcc/include/mach/debug-macro.S | 32 - arch/arm/plat-tcc/include/mach/entry-macro.S | 68 --- arch/arm/plat-tcc/include/mach/hardware.h | 43 -- arch/arm/plat-tcc/include/mach/io.h | 23 - arch/arm/plat-tcc/include/mach/irqs.h | 83 --- arch/arm/plat-tcc/include/mach/system.h | 31 - arch/arm/plat-tcc/include/mach/tcc8k-regs.h | 807 -------------------------- arch/arm/plat-tcc/include/mach/timex.h | 5 - arch/arm/plat-tcc/include/mach/uncompress.h | 34 -- arch/arm/plat-tcc/include/mach/vmalloc.h | 10 - arch/arm/plat-tcc/system.c | 25 - 15 files changed, 0 insertions(+), 1411 deletions(-) delete mode 100644 arch/arm/plat-tcc/Kconfig delete mode 100644 arch/arm/plat-tcc/Makefile delete mode 100644 arch/arm/plat-tcc/clock.c delete mode 100644 arch/arm/plat-tcc/include/mach/clock.h delete mode 100644 arch/arm/plat-tcc/include/mach/debug-macro.S delete mode 100644 arch/arm/plat-tcc/include/mach/entry-macro.S delete mode 100644 arch/arm/plat-tcc/include/mach/hardware.h delete mode 100644 arch/arm/plat-tcc/include/mach/io.h delete mode 100644 arch/arm/plat-tcc/include/mach/irqs.h delete mode 100644 arch/arm/plat-tcc/include/mach/system.h delete mode 100644 arch/arm/plat-tcc/include/mach/tcc8k-regs.h delete mode 100644 arch/arm/plat-tcc/include/mach/timex.h delete mode 100644 arch/arm/plat-tcc/include/mach/uncompress.h delete mode 100644 arch/arm/plat-tcc/include/mach/vmalloc.h delete mode 100644 arch/arm/plat-tcc/system.c
arch/arm/plat-tcc/Kconfig deleted +0 -20
@@ -1,20 +0,0 @@ -if ARCH_TCC_926 - -menu "Telechips ARM926-based CPUs" - -choice - prompt "Telechips CPU type:" - default ARCH_TCC8K - -config ARCH_TCC8K - bool TCC8000 - select USB_ARCH_HAS_OHCI - help - Support for Telechips TCC8000 systems - -endchoice - -source "arch/arm/mach-tcc8k/Kconfig" - -endmenu -endif
arch/arm/plat-tcc/Makefile deleted +0 -3
@@ -1,3 +0,0 @@ -# "Telechips Platform Common Modules" - -obj-y := clock.o system.o
arch/arm/plat-tcc/clock.c deleted +0 -179
179 lines not on this page · raw message
arch/arm/plat-tcc/include/mach/clock.h deleted +0 -48
48 lines not on this page · raw message
arch/arm/plat-tcc/include/mach/debug-macro.S deleted +0 -32
@@ -1,32 +0,0 @@ -/* - * Copyright (C) 1994-1999 Russell King - * Copyright (C) 2008-2009 Telechips - * Copyright (C) 2009 Hans J. Koch <[email protected]> - * - * 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. - * - */ - - .macro addruart, rp, rv, tmp - moveq \rp, #0x90000000 @ physical base address - movne \rv, #0xF1000000 @ virtual base - orr \rp, \rp, #0x00007000 @ UART0 - orr \rv, \rv, #0x00007000 @ UART0 - .endm - - .macro senduart,rd,rx - strb \rd, [\rx, #0x44] - .endm - - .macro waituart,rd,rx - .endm - - .macro busyuart,rd,rx -1001: - ldr \rd, [\rx, #0x14] - tst \rd, #0x20 - - beq 1001b - .endm
arch/arm/plat-tcc/include/mach/entry-macro.S deleted +0 -68
68 lines not on this page · raw message
arch/arm/plat-tcc/include/mach/hardware.h deleted +0 -43
43 lines not on this page · raw message
arch/arm/plat-tcc/include/mach/io.h deleted +0 -23
@@ -1,23 +0,0 @@ -/* -* IO definitions for TCC8000 processors and boards -* -* Copyright (C) 1997-1999 Russell King -* Copyright (C) 2008-2009 Telechips -* Copyright (C) 2010 Hans J. Koch <[email protected]> -* -* Licensed under the terms of the GNU Public License version 2. -*/ - -#ifndef __ASM_ARM_ARCH_IO_H -#define __ASM_ARM_ARCH_IO_H - -#define IO_SPACE_LIMIT 0xffffffff - -/* -* We don't actually have real ISA nor PCI buses, but there is so many -* drivers out there that might just work if we fake them... -*/ -#define __io (a) __typesafe_io(a) -#define __mem_pci (a) (a) - -#endif
arch/arm/plat-tcc/include/mach/irqs.h deleted +0 -83
83 lines not on this page · raw message
arch/arm/plat-tcc/include/mach/system.h deleted +0 -31
@@ -1,31 +0,0 @@ -/* -* Author: <[email protected]> -* Created: June 10, 2008 -* Description: LINUX SYSTEM FUNCTIONS for TCC83x -* -* Copyright (C) 2008-2009 Telechips -* -* Licensed under the terms of the GPL v2. -* -*/ - -#ifndef __ASM_ARCH_SYSTEM_H -#define __ASM_ARCH_SYSTEM_H -#include <linux/clk.h> - -#include <asm/mach-types.h> -#include <mach/hardware.h> - -extern void plat_tcc_reboot (void ); - -static inline void arch_idle (void ) -{ -cpu_do_idle (); -} - -static inline void arch_reset (char mode,const char *cmd) -{ -plat_tcc_reboot (); -} - -#endif
arch/arm/plat-tcc/include/mach/tcc8k-regs.h deleted +0 -807
807 lines not on this page · raw message
arch/arm/plat-tcc/include/mach/timex.h deleted +0 -5
@@ -1,5 +0,0 @@ -/* -* A definition needed by arch core code. -* -*/ -#define CLOCK_TICK_RATE (HZ * 100000UL)
arch/arm/plat-tcc/include/mach/uncompress.h deleted +0 -34
@@ -1,34 +0,0 @@ -/* -* Copyright (C) 2009 Hans J. Koch <[email protected]> -* -* This file is licensed under the terms of the GPL version 2. -*/ - -#include <linux/serial_reg.h> -#include <linux/types.h> - -#include <mach/tcc8k-regs.h> - -unsigned int system_rev; - -#define ID_MASK 0x7fff - -static void putc (int c) -{ -u32 *uart_lsr = (u32 *)(UART_BASE_PHYS + (UART_LSR <<2 )); -u32 *uart_tx = (u32 *)(UART_BASE_PHYS + (UART_TX <<2 )); - -while (!(*uart_lsr &UART_LSR_THRE )) -barrier (); - *uart_tx = c; -} - -static inline void flush (void ) -{ -} - -/* -* nothing to do -*/ -#define arch_decomp_setup () -#define arch_decomp_wdog ()
arch/arm/plat-tcc/include/mach/vmalloc.h deleted +0 -10
@@ -1,10 +0,0 @@ -/* -* Author: <[email protected]> -* Created: June 10, 2008 -* -* Copyright (C) 2000 Russell King. -* Copyright (C) 2008-2009 Telechips -* -* Licensed under the terms of the GPL v2. -*/ -#define VMALLOC_END 0xf0000000UL
arch/arm/plat-tcc/system.c deleted +0 -25
@@ -1,25 +0,0 @@ -/* -* System functions for Telechips TCCxxxx SoCs -* -* Copyright (C) Hans J. Koch <[email protected]> -* -* Licensed under the terms of the GPL v2. -* -*/ - -#include <linux/io.h> - -#include <mach/tcc8k-regs.h> - -/* System reboot */ -void plat_tcc_reboot (void ) -{ -/* Make sure clocks are on */ -__raw_writel (0xffffffff ,CKC_BASE +BCLKCTR0_OFFS ); - -/* Enable watchdog reset */ -__raw_writel (0x49 ,TIMER_BASE +TWDCFG_OFFS ); -/* Wait for reset */ -while (1 ) - ; -}
Signature · 1 line
1.7.6.3