Skip to content

Commit

Permalink
Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6
Browse files Browse the repository at this point in the history
* 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.
  ...
  • Loading branch information
Linus Torvalds committed May 7, 2007
2 parents 35c7482 + 39374aa commit 5b6b549
Show file tree
Hide file tree
Showing 114 changed files with 10,104 additions and 2,411 deletions.
32 changes: 32 additions & 0 deletions Documentation/sh/clk.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
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
4 changes: 2 additions & 2 deletions Documentation/sysrq.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
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?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand Down Expand Up @@ -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 :-)
Expand Down
97 changes: 65 additions & 32 deletions arch/sh/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -88,13 +92,29 @@ 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
select CPU_SUBTYPE_SH7751
help
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"
Expand Down Expand Up @@ -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"
Expand Down Expand Up @@ -243,6 +259,12 @@ config SH_7619_SOLUTION_ENGINE
help
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"
Expand All @@ -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
Expand Down Expand Up @@ -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

Expand Down Expand Up @@ -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"
Expand All @@ -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"
Expand Down Expand Up @@ -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
Expand All @@ -477,6 +509,8 @@ config SH_CLK_MD
help
MD2 - MD0 pin setting.

endmenu

menu "CPU Frequency scaling"

source "drivers/cpufreq/Kconfig"
Expand All @@ -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
Expand Down Expand Up @@ -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---
Expand Down
20 changes: 8 additions & 12 deletions arch/sh/Kconfig.debug
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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"
Expand All @@ -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
Expand All @@ -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
Expand All @@ -147,7 +143,7 @@ endchoice

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

config KGDB_DEFBITS_8
Expand Down
6 changes: 4 additions & 2 deletions arch/sh/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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')
Expand Down Expand Up @@ -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
Expand All @@ -103,14 +104,15 @@ 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
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))
Expand Down
4 changes: 2 additions & 2 deletions arch/sh/boards/hp6xx/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
# Makefile for the HP6xx specific parts of the kernel
#

obj-y := setup.o
obj-y := setup.o
obj-$(CONFIG_PM) += pm.o pm_wakeup.o
obj-$(CONFIG_APM) += hp6xx_apm.o
obj-$(CONFIG_APM_EMULATION) += hp6xx_apm.o
Loading

0 comments on commit 5b6b549

Please sign in to comment.