Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5b6b5498 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6: (38 commits)
  sh: R7785RP board updates.
  sh: Update r7780rp defconfig.
  sh: Add die chain notifiers.
  sh: Fix APM emulation on hp6xx.
  sh: Wire up more IRQs for SH7709.
  sh: Solution Engine 7722 board support.
  sh: Fix r7780rp build.
  sh: kdump support.
  sh: Move clock reporting to its own proc entry.
  sh: Solution Engine SH7705 board and CPU updates.
  serial: sh-sci: Fix module clock refcount for serial console.
  serial: sh-sci: Fix module clock refcounting.
  sh: SH7722 clock framework support.
  sh: hp6xx pata_platform support.
  sh: Obey CONFIG_HZ for HZ definition.
  sh: Fix fstatat64() syscall.
  sh: se7780 PCI support.
  sh: SH7780 Solution Engine board support.
  sh: Add a dummy SH-4 PCIC fixup.
  sh: Tidy up L-BOX area5 addresses.
  ...
parents 35c74823 39374aad
Loading
Loading
Loading
Loading
+32 −0
Original line number Diff line number Diff line
Clock framework on SuperH architecture

The framework on SH extends existing API by the function clk_set_rate_ex,
which prototype is as follows:

    clk_set_rate_ex (struct clk *clk, unsigned long rate, int algo_id)

The algo_id parameter is used to specify algorithm used to recalculate clocks,
adjanced to clock, specified as first argument. It is assumed that algo_id==0
means no changes to adjanced clock

Internally, the clk_set_rate_ex forwards request to clk->ops->set_rate method,
if it is present in ops structure. The method should set the clock rate and adjust
all needed clocks according to the passed algo_id.
Exact values for algo_id are machine-dependend. For the sh7722, the following
values are defined:

	NO_CHANGE	= 0,
	IUS_N1_N1,	/* I:U = N:1, U:Sh = N:1 */
	IUS_322,	/* I:U:Sh = 3:2:2	 */
	IUS_522,	/* I:U:Sh = 5:2:2 	 */
	IUS_N11,	/* I:U:Sh = N:1:1	 */
	SB_N1,		/* Sh:B = N:1		 */
	SB3_N1,		/* Sh:B3 = N:1		 */
	SB3_32,		/* Sh:B3 = 3:2		 */
	SB3_43,		/* Sh:B3 = 4:3		 */
	SB3_54,		/* Sh:B3 = 5:4		 */
	BP_N1,		/* B:P	 = N:1		 */
	IP_N1		/* I:P	 = N:1		 */

Each of these constants means relation between clocks that can be set via the FRQCR
register
+2 −2
Original line number Diff line number Diff line
Linux Magic System Request Key Hacks
Documentation for sysrq.c
Last update: 2007-JAN-06
Last update: 2007-MAR-14

*  What is the magic SysRq key?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -75,7 +75,7 @@ On all - write a character to /proc/sysrq-trigger. e.g.:

'f'	- Will call oom_kill to kill a memory hog process.

'g'	- Used by kgdb on ppc platforms.
'g'	- Used by kgdb on ppc and sh platforms.

'h'     - Will display help (actually any other key than those listed
          above will display help. but 'h' is easy to remember :-)
+65 −32
Original line number Diff line number Diff line
@@ -22,6 +22,10 @@ config RWSEM_GENERIC_SPINLOCK
config RWSEM_XCHGADD_ALGORITHM
	bool

config GENERIC_BUG
	def_bool y
	depends on BUG

config GENERIC_FIND_NEXT_BIT
	bool
	default y
@@ -88,6 +92,14 @@ config SH_SOLUTION_ENGINE
	  Select SolutionEngine if configuring for a Hitachi SH7709
	  or SH7750 evaluation board.

config SH_7722_SOLUTION_ENGINE
	bool "SolutionEngine7722"
	select SOLUTION_ENGINE
	select CPU_SUBTYPE_SH7722
	help
	  Select 7722 SolutionEngine if configuring for a Hitachi SH772
	  evaluation board.

config SH_7751_SOLUTION_ENGINE
	bool "SolutionEngine7751"
	select SOLUTION_ENGINE
@@ -96,6 +108,14 @@ config SH_7751_SOLUTION_ENGINE
	  Select 7751 SolutionEngine if configuring for a Hitachi SH7751
	  evaluation board.
	  
config SH_7780_SOLUTION_ENGINE
	bool "SolutionEngine7780"
	select SOLUTION_ENGINE
	select CPU_SUBTYPE_SH7780
	help
	  Select 7780 SolutionEngine if configuring for a Renesas SH7780
	  evaluation board.

config SH_7300_SOLUTION_ENGINE
	bool "SolutionEngine7300"
	select SOLUTION_ENGINE
@@ -193,12 +213,8 @@ config SH_RTS7751R2D
	  Select RTS7751R2D if configuring for a Renesas Technology
	  Sales SH-Graphics board.

config SH_R7780RP
	bool "R7780RP-1"
	select CPU_SUBTYPE_SH7780
	help
	  Select R7780RP-1 if configuring for a Renesas Solutions
	  HIGHLANDER board.
config SH_HIGHLANDER
	bool "Highlander"

config SH_EDOSK7705
	bool "EDOSK7705"
@@ -244,6 +260,12 @@ config SH_7619_SOLUTION_ENGINE
	  Select 7619 SolutionEngine if configuring for a Hitachi SH7619
	  evaluation board.
	
config SH_LBOX_RE2
	bool "L-BOX RE2"
	select CPU_SUBTYPE_SH7751R
	help
	  Select L-BOX RE2 if configuring for the NTT COMWARE L-BOX RE2.

config SH_UNKNOWN
	bool "BareCPU"
	help
@@ -258,6 +280,10 @@ config SH_UNKNOWN

endchoice

source "arch/sh/boards/renesas/hs7751rvoip/Kconfig"
source "arch/sh/boards/renesas/rts7751r2d/Kconfig"
source "arch/sh/boards/renesas/r7780rp/Kconfig"

source "arch/sh/mm/Kconfig"

config CF_ENABLER
@@ -366,6 +392,16 @@ config SH_STORE_QUEUES
	  Selecting this option will enable an in-kernel API for manipulating
	  the store queues integrated in the SH-4 processors.

config SPECULATIVE_EXECUTION
	bool "Speculative subroutine return"
	depends on CPU_SUBTYPE_SH7780 && EXPERIMENTAL
	help
	  This enables support for a speculative instruction fetch for
	  subroutine return. There are various pitfalls associated with
	  this, as outlined in the SH7780 hardware manual.

	  If unsure, say N.

config CPU_HAS_INTEVT
	bool

@@ -398,8 +434,9 @@ config CPU_HAS_PTEA

endmenu

menu "Timer support"
depends on !GENERIC_TIME
menu "Timer and clock configuration"

if !GENERIC_TIME

config SH_TMU
	bool "TMU timer support"
@@ -422,17 +459,11 @@ config SH_MTU2
	help
	  This enables the use of the MTU2 as the system timer.

endmenu

source "arch/sh/boards/renesas/hs7751rvoip/Kconfig"

source "arch/sh/boards/renesas/rts7751r2d/Kconfig"

source "arch/sh/boards/renesas/r7780rp/Kconfig"
endif

config SH_TIMER_IRQ
	int
	default "28" if CPU_SUBTYPE_SH7780
	default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
	default "86" if CPU_SUBTYPE_SH7619
	default "140" if CPU_SUBTYPE_SH7206
	default "16"
@@ -462,7 +493,8 @@ config SH_PCLK_FREQ
	default "33333333" if CPU_SUBTYPE_SH7300 || CPU_SUBTYPE_SH7770 || \
			      CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
			      CPU_SUBTYPE_SH7206
	default "50000000" if CPU_SUBTYPE_SH7750 || CPU_SUBTYPE_SH7780
	default "50000000" if CPU_SUBTYPE_SH7750 || CPU_SUBTYPE_SH7780 || \
			      CPU_SUBTYPE_SH7785
	default "60000000" if CPU_SUBTYPE_SH7751
	default "66000000" if CPU_SUBTYPE_SH4_202
	help
@@ -477,6 +509,8 @@ config SH_CLK_MD
	help
	  MD2 - MD0 pin setting.

endmenu

menu "CPU Frequency scaling"

source "drivers/cpufreq/Kconfig"
@@ -495,21 +529,6 @@ config SH_CPU_FREQ

endmenu

source "arch/sh/drivers/dma/Kconfig"

source "arch/sh/cchips/Kconfig"

config HEARTBEAT
	bool "Heartbeat LED"
	depends on SH_MPC1211 || SH_SH03 || \
		   SOLUTION_ENGINE || \
		   SH_RTS7751R2D || SH_SH4202_MICRODEV || SH_LANDISK || \
		   SH_R7780RP
	help
	  Use the power-on LED on your machine as a load meter.  The exact
	  behavior is platform-dependent, but normally the flash frequency is
	  a hyperbolic function of the 5-minute load average.

source "arch/sh/drivers/Kconfig"

endmenu
@@ -540,6 +559,20 @@ config KEXEC
	  support.  As of this writing the exact hardware interface is
	  strongly in flux, so no good recommendation can be made.

config CRASH_DUMP
	bool "kernel crash dumps (EXPERIMENTAL)"
	depends on EXPERIMENTAL
	help
	  Generate crash dump after being started by kexec.
	  This should be normally only set in special crash dump kernels
	  which are loaded in the main kernel with kexec-tools into
	  a specially reserved region and then later executed after
	  a crash by kdump/kexec. The crash dump kernel must be compiled
	  to a memory address not used by the main kernel using
	  MEMORY_START.

	  For more details see Documentation/kdump/kdump.txt

config SMP
	bool "Symmetric multi-processing support"
	---help---
+8 −12
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ config EARLY_SCIF_CONSOLE_PORT
	default "0xffe00000" if CPU_SUBTYPE_SH7780
	default "0xfffe9800" if CPU_SUBTYPE_SH7206
	default "0xf8420000" if CPU_SUBTYPE_SH7619
	default "0xa4400000" if CPU_SUBTYPE_SH7712 || CPU_SUBTYPE_SH7705
	default "0xffe80000" if CPU_SH4

config EARLY_PRINTK
@@ -77,16 +78,17 @@ config 4KSTACKS
	  on the VM subsystem for higher order allocations. This option
	  will also use IRQ stacks to compensate for the reduced stackspace.

config KGDB
config SH_KGDB
	bool "Include KGDB kernel debugger"
	select FRAME_POINTER
	select DEBUG_INFO
	help
	  Include in-kernel hooks for kgdb, the Linux kernel source level
	  debugger.  See <http://kgdb.sourceforge.net/> for more information.
	  Unless you are intending to debug the kernel, say N here.

menu "KGDB configuration options"
	depends on KGDB
	depends on SH_KGDB

config MORE_COMPILE_OPTIONS
	bool "Add any additional compile options"
@@ -103,22 +105,16 @@ config KGDB_NMI
	bool "Enter KGDB on NMI"
	default n

config KGDB_THREAD
	bool "Include KGDB thread support"
	default y

config SH_KGDB_CONSOLE
	bool "Console messages through GDB"
	depends on !SERIAL_SH_SCI_CONSOLE
	select SERIAL_CORE_CONSOLE
	default n

config KGDB_SYSRQ
	bool "Allow SysRq 'G' to enter KGDB"
	default y

config KGDB_KERNEL_ASSERTS
	bool "Include KGDB kernel assertions"
	default n

comment "Serial port setup"

config KGDB_DEFPORT
@@ -131,7 +127,7 @@ config KGDB_DEFBAUD

choice
	prompt "Parity"
	depends on KGDB
	depends on SH_KGDB
	default KGDB_DEFPARITY_N

config KGDB_DEFPARITY_N
@@ -147,7 +143,7 @@ endchoice

choice
	prompt "Data bits"
	depends on KGDB
	depends on SH_KGDB
	default KGDB_DEFBITS_8

config KGDB_DEFBITS_8
+4 −2
Original line number Diff line number Diff line
@@ -47,7 +47,6 @@ cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -ml
cflags-y	+= $(call as-option,-Wa$(comma)-isa=$(isa-y),) -ffreestanding

cflags-$(CONFIG_SH_DSP)			+= -Wa,-dsp
cflags-$(CONFIG_SH_KGDB)		+= -g

cflags-$(CONFIG_MORE_COMPILE_OPTIONS)	+= \
	$(shell echo $(CONFIG_COMPILE_OPTIONS) | sed -e 's/"//g')
@@ -89,7 +88,9 @@ core-$(CONFIG_SH_FPU_EMU) += arch/sh/math-emu/

# Boards
machdir-$(CONFIG_SH_SOLUTION_ENGINE)		:= se/770x
machdir-$(CONFIG_SH_7722_SOLUTION_ENGINE)	:= se/7722
machdir-$(CONFIG_SH_7751_SOLUTION_ENGINE)	:= se/7751
machdir-$(CONFIG_SH_7780_SOLUTION_ENGINE)	:= se/7780
machdir-$(CONFIG_SH_7300_SOLUTION_ENGINE)	:= se/7300
machdir-$(CONFIG_SH_7343_SOLUTION_ENGINE)	:= se/7343
machdir-$(CONFIG_SH_73180_SOLUTION_ENGINE)	:= se/73180
@@ -103,7 +104,7 @@ machdir-$(CONFIG_SH_HS7751RVOIP) := renesas/hs7751rvoip
machdir-$(CONFIG_SH_RTS7751R2D)			:= renesas/rts7751r2d
machdir-$(CONFIG_SH_7751_SYSTEMH)		:= renesas/systemh
machdir-$(CONFIG_SH_EDOSK7705)			:= renesas/edosk7705
machdir-$(CONFIG_SH_R7780RP)			:= renesas/r7780rp
machdir-$(CONFIG_SH_HIGHLANDER)			:= renesas/r7780rp
machdir-$(CONFIG_SH_7710VOIPGW)			:= renesas/sh7710voipgw
machdir-$(CONFIG_SH_SH4202_MICRODEV)		:= superh/microdev
machdir-$(CONFIG_SH_LANDISK)			:= landisk
@@ -111,6 +112,7 @@ machdir-$(CONFIG_SH_TITAN) := titan
machdir-$(CONFIG_SH_SHMIN)			:= shmin
machdir-$(CONFIG_SH_7206_SOLUTION_ENGINE)	:= se/7206
machdir-$(CONFIG_SH_7619_SOLUTION_ENGINE)	:= se/7619
machdir-$(CONFIG_SH_LBOX_RE2)			:= lboxre2
machdir-$(CONFIG_SH_UNKNOWN)			:= unknown

incdir-y			:= $(notdir $(machdir-y))
Loading