From ef5bc98e4db822404d751022461f2557e939dabb Mon Sep 17 00:00:00 2001 From: Aurelien Jarno Date: Fri, 9 Apr 2010 15:53:34 +0000 Subject: [PATCH] Add sh4 architecture, ported from the sid branch svn path=/dists/trunk/linux-2.6/; revision=15502 --- debian/changelog | 4 + debian/config/defines | 1 + debian/config/sh4/config | 49 +++ debian/config/sh4/config.sh7785lcr | 324 ++++++++++++++++++ debian/config/sh4/defines | 20 ++ .../debian/arch-sh4-fix-uimage-build.patch | 10 + debian/patches/series/base | 2 + debian/rules.real | 3 +- .../templates/image.plain.bug/include-model | 3 + 9 files changed, 415 insertions(+), 1 deletion(-) create mode 100644 debian/config/sh4/config create mode 100644 debian/config/sh4/config.sh7785lcr create mode 100644 debian/config/sh4/defines create mode 100644 debian/patches/debian/arch-sh4-fix-uimage-build.patch diff --git a/debian/changelog b/debian/changelog index 830baa82c..6bdfb147a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -11,6 +11,10 @@ linux-2.6 (2.6.33-1~experimental.5) UNRELEASED; urgency=low * [x86] Re-enable rt2860sta and rt2870sta drivers which were accidentally disabled when moving to Linux 2.6.33 (Closes: #576723) + [ Aurelien Jarno ] + * Add support for sh4 architecture, patch by Nobuhiro Iwamatsu + (Closes: #569034) + -- Ian Campbell Sat, 27 Mar 2010 08:09:28 +0000 linux-2.6 (2.6.33-1~experimental.4) experimental; urgency=low diff --git a/debian/config/defines b/debian/config/defines index 7381abbc5..ed1d62c4a 100644 --- a/debian/config/defines +++ b/debian/config/defines @@ -14,6 +14,7 @@ arches: mipsel powerpc s390 + sh4 sparc sparc64 compiler: gcc-4.3 diff --git a/debian/config/sh4/config b/debian/config/sh4/config new file mode 100644 index 000000000..39b6ceef9 --- /dev/null +++ b/debian/config/sh4/config @@ -0,0 +1,49 @@ +CONFIG_SUPERH=y +CONFIG_SUPERH32=y + +# +# System type +# +CONFIG_CPU_SH4=y + +# +# Cache configuration +# +CONFIG_CACHE_WRITEBACK=y + +# +# Processor features +# +CONFIG_CPU_LITTLE_ENDIAN=y +CONFIG_SH_FPU=y +CONFIG_SH_STORE_QUEUES=y +CONFIG_CPU_HAS_INTEVT=y +CONFIG_CPU_HAS_SR_RB=y +CONFIG_CPU_HAS_FPU=y + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_TABLE=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_STAT_DETAILS=y +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_SH_CPU_FREQ=y + +# +# Additional SuperH Device Drivers +# +CONFIG_HEARTBEAT=y + +# +# Kernel features +# +CONFIG_HZ_250=y +CONFIG_HZ=250 +CONFIG_SCHED_HRTICK=y +CONFIG_KEXEC=y +CONFIG_SECCOMP=y +CONFIG_PREEMPT_NONE=y +CONFIG_GUSA=y +CONFIG_SPARSE_IRQ=y diff --git a/debian/config/sh4/config.sh7785lcr b/debian/config/sh4/config.sh7785lcr new file mode 100644 index 000000000..66d3453b3 --- /dev/null +++ b/debian/config/sh4/config.sh7785lcr @@ -0,0 +1,324 @@ +# +# System type +# +CONFIG_CPU_SH4A=y +CONFIG_CPU_SHX2=y +CONFIG_CPU_SUBTYPE_SH7785=y + +# +# Memory management options +# +CONFIG_QUICKLIST=y +CONFIG_MMU=y +CONFIG_PAGE_OFFSET=0x80000000 +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_MEMORY_START=0x48000000 +CONFIG_MEMORY_SIZE=0x18000000 +CONFIG_32BIT=y +CONFIG_PMB_ENABLE=y +CONFIG_PMB_FIXED=y +CONFIG_VSYSCALL=y +CONFIG_ARCH_FLATMEM_ENABLE=y +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_SPARSEMEM_DEFAULT=y +CONFIG_MAX_ACTIVE_REGIONS=2 +CONFIG_ARCH_POPULATES_NODE_MAP=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y +CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +CONFIG_PAGE_SIZE_4KB=y +CONFIG_HUGETLB_PAGE_SIZE_64K=y +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_SPARSEMEM_MANUAL=y +CONFIG_SPARSEMEM=y +CONFIG_HAVE_MEMORY_PRESENT=y +CONFIG_SPARSEMEM_STATIC=y +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_MIGRATION=y +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_NR_QUICK=2 +CONFIG_HAVE_MLOCK=y +CONFIG_HAVE_MLOCKED_PAGE_BIT=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 + +# +# Processor features +# +CONFIG_CPU_LITTLE_ENDIAN=y +CONFIG_SH_FPU=y +CONFIG_SH_STORE_QUEUES=y +CONFIG_CPU_HAS_INTEVT=y +CONFIG_CPU_HAS_SR_RB=y +CONFIG_CPU_HAS_FPU=y + +# +# Board support +# +CONFIG_SH_SH7785LCR=y + +# +# Timer and clock configuration +# +CONFIG_SH_TIMER_TMU=y +CONFIG_SH_PCLK_FREQ=50000000 +CONFIG_SH_CLK_CPG=y +CONFIG_TICK_ONESHOT=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_GENERIC_CLOCKEVENTS_BUILD=y + +# +# Boot options +# +CONFIG_ZERO_PAGE_OFFSET=0x00001000 +CONFIG_BOOT_LINK_OFFSET=0x00800000 +CONFIG_ENTRY_OFFSET=0x00001000 + +# +# Bus options +# +CONFIG_PCI=y +CONFIG_SH_PCIDMA_NONCOHERENT=y + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_MTD=y +CONFIG_MTD_CONCAT=y +CONFIG_MTD_PARTITIONS=y + +# +# User Modules And Translation Layers +# +CONFIG_MTD_CHAR=y +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y + +# +# RAM/ROM/Flash chip drivers +# +CONFIG_MTD_CFI=y +CONFIG_MTD_GEN_PROBE=y +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +CONFIG_MTD_CFI_AMDSTD=y +CONFIG_MTD_CFI_UTIL=y + +# +# Mapping drivers for chip access +# +CONFIG_MTD_PHYSMAP=y + +# +# UBI - Unsorted block images +# +CONFIG_HAVE_IDE=y + +# +# SCSI device support +# +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y + +# +# SCSI Transports +# +CONFIG_ATA=y +CONFIG_ATA_VERBOSE_ERROR=y +CONFIG_SATA_PMP=y +CONFIG_ATA_SFF=y +CONFIG_SATA_SIL=y + +# net device + +CONFIG_NETDEVICES=y +CONFIG_MII=y +CONFIG_NETDEV_1000=y +CONFIG_R8169=y + +# +# Input device support +# +CONFIG_INPUT=y + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_EVDEV=y + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +CONFIG_KEYBOARD_ATKBD=y +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_TRACKPOINT=y + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_I8042=y +CONFIG_SERIO_SERPORT=y +CONFIG_SERIO_LIBPS2=y + +# +# Character devices +# +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_HW_CONSOLE=y +CONFIG_VT_HW_CONSOLE_BINDING=y + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_SH_SCI=y +CONFIG_SERIAL_SH_SCI_NR_UARTS=6 +CONFIG_SERIAL_SH_SCI_CONSOLE=y +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_UNIX98_PTYS=y +CONFIG_DEVPTS_MULTIPLE_INSTANCES=y +CONFIG_DEVPORT=y +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y +CONFIG_I2C_HELPER_AUTO=y +CONFIG_I2C_ALGOPCA=y + +# +# Other I2C/SMBus bus drivers +# +CONFIG_I2C_PCA_PLATFORM=y + +# +# PPS support +# +CONFIG_WATCHDOG=y + +# +# Watchdog Device Drivers +# +CONFIG_SH_WDT=y + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Multifunction device drivers +# +CONFIG_MFD_SM501=y + +# +# Graphics support +# +CONFIG_FB=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y + +# +# Frame buffer hardware drivers +# +CONFIG_FB_SM501=y + +# +# Console display driver support +# +CONFIG_DUMMY_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FONT_8x8=y +CONFIG_FONT_8x16=y +CONFIG_LOGO=y +CONFIG_LOGO_SUPERH_MONO=y +CONFIG_LOGO_SUPERH_VGA16=y +CONFIG_LOGO_SUPERH_CLUT224=y +CONFIG_HID_SUPPORT=y +CONFIG_HID=y + +# +# USB Input Devices +# +CONFIG_USB_HID=y + +# +# USB Host +# +CONFIG_USB_SUPPORT=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARCH_HAS_OHCI=y +CONFIG_USB_ARCH_HAS_EHCI=y +CONFIG_USB=y + +# +# Miscellaneous USB options +# +CONFIG_USB_DEVICE_CLASS=y + +# +# USB Host Controller Drivers +# +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_R8A66597_HCD=y + +# +# also be needed; see USB_STORAGE Help for more info +# +CONFIG_USB_STORAGE=y + +# +# RTC +# +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y + +# +# I2C RTC drivers +# +CONFIG_RTC_DRV_RS5C372=y + +# +# on-CPU RTC drivers +# +# CONFIG_RTC_DRV_SH is not set +# CONFIG_RTC_DRV_GENERIC is not set +CONFIG_DMADEVICES=y + +# +# File systems +# +CONFIG_EXT3_FS=y diff --git a/debian/config/sh4/defines b/debian/config/sh4/defines new file mode 100644 index 000000000..ab45a8db8 --- /dev/null +++ b/debian/config/sh4/defines @@ -0,0 +1,20 @@ +[base] +flavours: + sh7785lcr +kernel-arch: sh + +[image] +suggests: fdutils + +[sh7785lcr_build] +image-file: arch/sh/boot/zImage + +[sh7785lcr_description] +hardware: sh7785lcr +hardware-long: Renesas SH7785 reference board + +[sh7785lcr_image] +recommends: uboot-mkimage +# Kernel partition size: 4MB +check-size: 4194304 + diff --git a/debian/patches/debian/arch-sh4-fix-uimage-build.patch b/debian/patches/debian/arch-sh4-fix-uimage-build.patch new file mode 100644 index 000000000..1ddc00c9e --- /dev/null +++ b/debian/patches/debian/arch-sh4-fix-uimage-build.patch @@ -0,0 +1,10 @@ +--- a/arch/sh/Makefile 2009-12-03 12:51:21.000000000 +0900 ++++ b/arch/sh/Makefile 2010-02-04 15:47:57.000000000 +0900 +@@ -75,7 +75,6 @@ + + # Give the various platforms the opportunity to set default image types + defaultimage-$(CONFIG_SUPERH32) := zImage +-defaultimage-$(CONFIG_SH_SH7785LCR) := uImage + defaultimage-$(CONFIG_SH_RSK) := uImage + defaultimage-$(CONFIG_SH_URQUELL) := uImage + defaultimage-$(CONFIG_SH_7206_SOLUTION_ENGINE) := vmlinux diff --git a/debian/patches/series/base b/debian/patches/series/base index bd3304607..192f5ecf7 100644 --- a/debian/patches/series/base +++ b/debian/patches/series/base @@ -61,3 +61,5 @@ + bugfix/all/stable/2.6.33.1.patch + bugfix/all/stable/2.6.33.2.patch + ++ debian/arch-sh4-fix-uimage-build.patch diff --git a/debian/rules.real b/debian/rules.real index 78b300053..e39d09aed 100644 --- a/debian/rules.real +++ b/debian/rules.real @@ -330,7 +330,8 @@ endif install-image_arm_$(FEATURESET)_$(FLAVOUR)_plain_image \ install-image_armel_$(FEATURESET)_$(FLAVOUR)_plain_image \ install-image_sparc_$(FEATURESET)_$(FLAVOUR)_plain_image \ -install-image_sparc64_$(FEATURESET)_$(FLAVOUR)_plain_image: +install-image_sparc64_$(FEATURESET)_$(FLAVOUR)_plain_image \ +install-image_sh4_$(FEATURESET)_$(FLAVOUR)_plain_image: install -m644 '$(DIR)/arch/$(KERNEL_ARCH)/boot/zImage' $(INSTALL_DIR)/vmlinuz-$(REAL_VERSION) install-image_amd64_$(FEATURESET)_$(FLAVOUR)_plain_image \ diff --git a/debian/templates/image.plain.bug/include-model b/debian/templates/image.plain.bug/include-model index 542efc8ce..40f802133 100644 --- a/debian/templates/image.plain.bug/include-model +++ b/debian/templates/image.plain.bug/include-model @@ -32,6 +32,9 @@ grep_model() { sparc|sparc64) egrep '^(cpu|fpu|pmu|prom|type)\b' /proc/cpuinfo ;; + sh4|sh4a) + egrep '^(machine|cpu)\b' /proc/cpuinfo + ;; *) false ;;