public inbox for linux-sh@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] support for edosk7760 board
@ 2008-08-27 10:34 Luca Santini
  2008-08-27 11:12 ` Manuel Lauss
                   ` (20 more replies)
  0 siblings, 21 replies; 22+ messages in thread
From: Luca Santini @ 2008-08-27 10:34 UTC (permalink / raw)
  To: linux-sh

[-- Attachment #1: Type: text/plain, Size: 330 bytes --]

this is against vanilla 2.6.26;

currently you have (defconfig) :

  - ramdisk support
  - ethernet support
  - nfs support
  - ext2/ext3 support
  - i2c support
  - fb support (M)

and haven't:

  - usb support
  - mmc support
  - flash support?
  - ...


  remember to change commandline according your needs (nfs, /dev/ram...)

[-- Attachment #2: edosk7760.patch --]
[-- Type: text/x-diff, Size: 32067 bytes --]

diff -uNr -x '*.mod.c' -x '*.o' -x '*.cmd' -x '*.d' -x 'built-in.*' -x '*.S' -x '*.s' -x 'vmlinux*' -x zImage -x '*syscall*' a/arch/sh/boards/renesas/edosk7760/Makefile b/arch/sh/boards/renesas/edosk7760/Makefile
--- a/arch/sh/boards/renesas/edosk7760/Makefile	1970-01-01 01:00:00.000000000 +0100
+++ b/arch/sh/boards/renesas/edosk7760/Makefile	2008-08-27 11:45:29.000000000 +0200
@@ -0,0 +1,9 @@
+#
+# Makefile for HMSE EDOSK7760 board specific parts of the kernel
+#
+# Note! Dependencies are done automagically by 'make dep', which also
+# removes any old dependencies. DON'T put your own dependencies here
+# unless it's something special (ie not a .c file).
+#
+
+obj-y := setup.o 
diff -uNr -x '*.mod.c' -x '*.o' -x '*.cmd' -x '*.d' -x 'built-in.*' -x '*.S' -x '*.s' -x 'vmlinux*' -x zImage -x '*syscall*' a/arch/sh/boards/renesas/edosk7760/setup.c b/arch/sh/boards/renesas/edosk7760/setup.c
--- a/arch/sh/boards/renesas/edosk7760/setup.c	1970-01-01 01:00:00.000000000 +0100
+++ b/arch/sh/boards/renesas/edosk7760/setup.c	2008-08-27 12:01:58.000000000 +0200
@@ -0,0 +1,177 @@
+/* 
+ * linux/arch/sh/edosk7760/setup.c
+ *
+ * Copyright (C) 2000  Kazumoto Kojima
+ *
+ *
+ * Modified for EDOSK7760 by
+ * Richard Bister
+ * 
+ * Port to 2.6.26 by
+ * Luca Santini www.spesonline.com
+ */
+
+/* Bus state controller registers for CS4 area */
+#define BSC_CS4BCR    0xA4FD0010
+#define BSC_CS4WCR    0xA4FD0030 
+
+#define SMC_IOBASE  0xA2000000
+#define SMC_IO_OFFSET 0x300
+#define SMC_IOADDR	SMC_IOBASE + SMC_IO_OFFSET
+#define ETHERNET_IRQ 0x9
+
+#include <linux/init.h>
+#include <linux/types.h>
+#include <linux/platform_device.h>
+#include <asm/machvec.h>
+#include <asm/io.h>
+#include <asm/addrspace.h>
+#include <asm/delay.h>
+#include <linux/smc91x.h>
+#include <linux/i2c.h>
+#include <asm/i2c-sh7760.h>
+
+#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
+/* i2c initialization functions */
+
+static struct sh7760_i2c_platdata i2c_pd = {
+        .speed_khz      = 400,
+};
+
+static struct resource sh7760_i2c1_res[] = {
+        {
+                .start  = SH7760_I2C1_MMIO,
+                .end    = SH7760_I2C1_MMIOEND,
+                .flags  = IORESOURCE_MEM,
+        },{
+                .start  = SH7760_I2C1_IRQ,
+                .end    = SH7760_I2C1_IRQ,
+                .flags  = IORESOURCE_IRQ,
+        },
+};
+
+static struct platform_device sh7760_i2c1_dev = {
+        .dev    = {
+                .platform_data  = &i2c_pd,
+        },
+        .name           = SH7760_I2C_DEVNAME,
+        .id             = 1,
+        .resource       = sh7760_i2c1_res,
+        .num_resources  = ARRAY_SIZE(sh7760_i2c1_res),
+};
+
+
+static struct resource sh7760_i2c0_res[] = {
+        {
+                .start  = SH7760_I2C0_MMIO,
+                .end    = SH7760_I2C0_MMIOEND,
+                .flags  = IORESOURCE_MEM,
+        },{
+                .start  = SH7760_I2C0_IRQ,
+                .end    = SH7760_I2C0_IRQ,
+                .flags  = IORESOURCE_IRQ,
+        },
+};
+
+static struct platform_device sh7760_i2c0_dev = {
+        .dev    = {
+                .platform_data  = &i2c_pd,
+        },
+        .name           = SH7760_I2C_DEVNAME,
+        .id             = 0,
+        .resource       = sh7760_i2c0_res,
+        .num_resources  = ARRAY_SIZE(sh7760_i2c0_res),
+};
+#endif
+
+static void __init sh_edosk7760_init_irq(void)
+{
+
+}
+
+/* eth initialization functions */
+
+static struct smc91x_platdata smc91x_info = {
+	.flags = SMC91X_USE_16BIT,
+};
+
+static struct resource smc91x_res[] = {
+        [0] = {
+		.start  = SMC_IOADDR,
+		.end    = SMC_IOADDR + 0x1f,
+		.flags  = IORESOURCE_MEM,
+        },
+        [1] = {
+		.start  = ETHERNET_IRQ,
+		.end    = ETHERNET_IRQ,
+		.flags  = IORESOURCE_IRQ,
+        }
+};
+
+static struct platform_device smc91x_dev = {
+
+        .name           = "smc91x",
+        .id             = -1,
+        .num_resources  = ARRAY_SIZE(smc91x_res),
+        .resource       = smc91x_res,
+		.dev	= {
+			.platform_data	= &smc91x_info,
+		},
+
+};
+
+/* platform init code */
+
+static struct platform_device *edosk7760_devices[] __initdata = {
+#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
+	&sh7760_i2c0_dev,
+	&sh7760_i2c1_dev, 
+#endif	
+
+#if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE)
+	&smc91x_dev,
+#endif
+	
+};
+
+#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
+/*these are custom-board specific: here you can add your I2C_BOARD_INFO devices*/
+static struct i2c_board_info __initdata edosk7760_i2c_devices0[] = {
+};
+
+static struct i2c_board_info __initdata edosk7760_i2c_devices1[] = {
+};
+#endif
+
+static int __init init_edosk7760_devices(void){
+	int ret = -1;
+
+	/* This is the Ethernet interrupt */
+	make_imask_irq(ETHERNET_IRQ);
+
+	/* This is the IntelStrata Flash interrupt */
+	make_imask_irq(0x0A);
+
+#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
+	/* i2c setup */
+	i2c_register_board_info(0, edosk7760_i2c_devices0,
+				ARRAY_SIZE(edosk7760_i2c_devices0));
+	i2c_register_board_info(1, edosk7760_i2c_devices1,
+				ARRAY_SIZE(edosk7760_i2c_devices1));
+#endif
+				
+	ret = platform_add_devices(edosk7760_devices, ARRAY_SIZE(edosk7760_devices));
+	return ret;
+}
+__initcall(init_edosk7760_devices);
+ 
+/*
+ * The Machine Vector
+ */
+
+/// have a look to include/asm-sh/machvec.h 
+struct sh_machine_vector mv_edosk7760 __initmv = {
+	mv_name:		"EDOSK7760",
+	mv_nr_irqs:		128,
+	mv_init_irq:	sh_edosk7760_init_irq,
+};
diff -uNr -x '*.mod.c' -x '*.o' -x '*.cmd' -x '*.d' -x 'built-in.*' -x '*.S' -x '*.s' -x 'vmlinux*' -x zImage -x '*syscall*' a/arch/sh/configs/edosk7760_defconfig b/arch/sh/configs/edosk7760_defconfig
--- a/arch/sh/configs/edosk7760_defconfig	1970-01-01 01:00:00.000000000 +0100
+++ b/arch/sh/configs/edosk7760_defconfig	2008-08-27 12:29:19.000000000 +0200
@@ -0,0 +1,1050 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.26
+# Tue Aug 26 11:36:09 2008
+#
+CONFIG_SUPERH=y
+CONFIG_SUPERH32=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_GENERIC_TIME=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_ARCH_NO_VIRT_TO_BUS=y
+CONFIG_ARCH_SUPPORTS_AOUT=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION="_edosk7760"
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_BSD_PROCESS_ACCT=y
+# CONFIG_BSD_PROCESS_ACCT_V3 is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_AUDIT is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=17
+# CONFIG_CGROUPS is not set
+# CONFIG_GROUP_SCHED is not set
+CONFIG_SYSFS_DEPRECATED=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+# CONFIG_RELAY is not set
+# CONFIG_NAMESPACES is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_EMBEDDED=y
+CONFIG_UID16=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_SYSCTL_SYSCALL_CHECK=y
+CONFIG_KALLSYMS=y
+CONFIG_KALLSYMS_ALL=y
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_COMPAT_BRK=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_ANON_INODES=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLUB_DEBUG=y
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+# CONFIG_SLOB is not set
+# CONFIG_PROFILING is not set
+# CONFIG_MARKERS is not set
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_HAVE_KPROBES is not set
+# CONFIG_HAVE_KRETPROBES is not set
+# CONFIG_HAVE_DMA_ATTRS is not set
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+CONFIG_BLOCK=y
+# CONFIG_LBD is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_LSF is not set
+# CONFIG_BLK_DEV_BSG is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_DEFAULT_AS is not set
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+CONFIG_CLASSIC_RCU=y
+
+#
+# System type
+#
+CONFIG_CPU_SH4=y
+# CONFIG_CPU_SUBTYPE_SH7619 is not set
+# CONFIG_CPU_SUBTYPE_SH7203 is not set
+# CONFIG_CPU_SUBTYPE_SH7206 is not set
+# CONFIG_CPU_SUBTYPE_SH7263 is not set
+# CONFIG_CPU_SUBTYPE_MXG is not set
+# CONFIG_CPU_SUBTYPE_SH7705 is not set
+# CONFIG_CPU_SUBTYPE_SH7706 is not set
+# CONFIG_CPU_SUBTYPE_SH7707 is not set
+# CONFIG_CPU_SUBTYPE_SH7708 is not set
+# CONFIG_CPU_SUBTYPE_SH7709 is not set
+# CONFIG_CPU_SUBTYPE_SH7710 is not set
+# CONFIG_CPU_SUBTYPE_SH7712 is not set
+# CONFIG_CPU_SUBTYPE_SH7720 is not set
+# CONFIG_CPU_SUBTYPE_SH7721 is not set
+# CONFIG_CPU_SUBTYPE_SH7750 is not set
+# CONFIG_CPU_SUBTYPE_SH7091 is not set
+# CONFIG_CPU_SUBTYPE_SH7750R is not set
+# CONFIG_CPU_SUBTYPE_SH7750S is not set
+# CONFIG_CPU_SUBTYPE_SH7751 is not set
+# CONFIG_CPU_SUBTYPE_SH7751R is not set
+CONFIG_CPU_SUBTYPE_SH7760=y
+# CONFIG_CPU_SUBTYPE_SH4_202 is not set
+# CONFIG_CPU_SUBTYPE_SH7723 is not set
+# CONFIG_CPU_SUBTYPE_SH7763 is not set
+# CONFIG_CPU_SUBTYPE_SH7770 is not set
+# CONFIG_CPU_SUBTYPE_SH7780 is not set
+# CONFIG_CPU_SUBTYPE_SH7785 is not set
+# CONFIG_CPU_SUBTYPE_SHX3 is not set
+# CONFIG_CPU_SUBTYPE_SH7343 is not set
+# CONFIG_CPU_SUBTYPE_SH7722 is not set
+# CONFIG_CPU_SUBTYPE_SH7366 is not set
+# CONFIG_CPU_SUBTYPE_SH5_101 is not set
+# CONFIG_CPU_SUBTYPE_SH5_103 is not set
+
+#
+# Memory management options
+#
+CONFIG_QUICKLIST=y
+CONFIG_MMU=y
+CONFIG_PAGE_OFFSET=0x80000000
+CONFIG_MEMORY_START=0x0c000000
+CONFIG_MEMORY_SIZE=0x04000000
+CONFIG_29BIT=y
+CONFIG_VSYSCALL=y
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SPARSEMEM_DEFAULT=y
+CONFIG_MAX_ACTIVE_REGIONS=1
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_PAGE_SIZE_4KB=y
+# CONFIG_PAGE_SIZE_8KB is not set
+# CONFIG_PAGE_SIZE_64KB is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_SPARSEMEM_STATIC=y
+# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+# CONFIG_RESOURCES_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=0
+CONFIG_NR_QUICK=2
+
+#
+# Cache configuration
+#
+# CONFIG_SH_DIRECT_MAPPED is not set
+CONFIG_CACHE_WRITEBACK=y
+# CONFIG_CACHE_WRITETHROUGH is not set
+# CONFIG_CACHE_OFF is not set
+
+#
+# Processor features
+#
+CONFIG_CPU_LITTLE_ENDIAN=y
+# CONFIG_CPU_BIG_ENDIAN is not set
+CONFIG_SH_FPU=y
+CONFIG_SH_STORE_QUEUES=y
+CONFIG_CPU_HAS_INTEVT=y
+CONFIG_CPU_HAS_SR_RB=y
+CONFIG_CPU_HAS_PTEA=y
+CONFIG_CPU_HAS_FPU=y
+
+#
+# Board support
+#
+CONFIG_SH_EDOSK7760=y
+
+#
+# Timer and clock configuration
+#
+CONFIG_SH_TMU=y
+CONFIG_SH_TIMER_IRQ=16
+CONFIG_SH_PCLK_FREQ=33333333
+CONFIG_TICK_ONESHOT=y
+# CONFIG_NO_HZ is not set
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+
+#
+# CPU Frequency scaling
+#
+# CONFIG_CPU_FREQ is not set
+
+#
+# DMA support
+#
+CONFIG_SH_DMA_API=y
+CONFIG_SH_DMA=y
+CONFIG_NR_ONCHIP_DMA_CHANNELS=4
+# CONFIG_NR_DMA_CHANNELS_BOOL is not set
+# CONFIG_SH_DMABRG is not set
+
+#
+# Companion Chips
+#
+
+#
+# Additional SuperH Device Drivers
+#
+# CONFIG_HEARTBEAT is not set
+# CONFIG_PUSH_SWITCH is not set
+
+#
+# Kernel features
+#
+# CONFIG_HZ_100 is not set
+CONFIG_HZ_250=y
+# CONFIG_HZ_300 is not set
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=250
+# CONFIG_SCHED_HRTICK is not set
+# CONFIG_KEXEC is not set
+# CONFIG_CRASH_DUMP is not set
+# CONFIG_PREEMPT_NONE is not set
+# CONFIG_PREEMPT_VOLUNTARY is not set
+CONFIG_PREEMPT=y
+# CONFIG_PREEMPT_RCU is not set
+CONFIG_GUSA=y
+# CONFIG_GUSA_RB is not set
+
+#
+# Boot options
+#
+CONFIG_ZERO_PAGE_OFFSET=0x00001000
+CONFIG_BOOT_LINK_OFFSET=0x02000000
+# CONFIG_UBC_WAKEUP is not set
+CONFIG_CMDLINE_BOOL=y
+CONFIG_CMDLINE="mem=64M console=ttySC2,115200 root=/dev/nfs rw nfsroot=192.168.0.3:/scripts/filesys ip=192.168.0.4"
+
+#
+# Bus options
+#
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+# CONFIG_PCCARD is not set
+
+#
+# Executable file formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_MISC is not set
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+# CONFIG_PACKET_MMAP is not set
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_PNP=y
+# CONFIG_IP_PNP_DHCP is not set
+CONFIG_IP_PNP_BOOTP=y
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+# CONFIG_INET_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_BEET is not set
+# CONFIG_INET_LRO is not set
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+# CONFIG_IPV6 is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_AF_RXRPC is not set
+
+#
+# Wireless
+#
+# CONFIG_CFG80211 is not set
+# CONFIG_WIRELESS_EXT is not set
+# CONFIG_MAC80211 is not set
+# CONFIG_IEEE80211 is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+# CONFIG_FW_LOADER is not set
+CONFIG_DEBUG_DRIVER=y
+CONFIG_DEBUG_DEVRES=y
+# CONFIG_SYS_HYPERVISOR is not set
+# CONFIG_CONNECTOR is not set
+CONFIG_MTD=y
+CONFIG_MTD_DEBUG=y
+CONFIG_MTD_DEBUG_VERBOSE=3
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+# CONFIG_MTD_CMDLINE_PARTS is not set
+# CONFIG_MTD_AR7_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_MTD_OOPS is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+CONFIG_MTD_JEDECPROBE=y
+CONFIG_MTD_GEN_PROBE=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_NOSWAP=y
+# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
+CONFIG_MTD_CFI_GEOMETRY=y
+# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+# CONFIG_MTD_MAP_BANK_WIDTH_4 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+# CONFIG_MTD_CFI_I2 is not set
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_OTP is not set
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_CFI_STAA=y
+CONFIG_MTD_CFI_UTIL=y
+CONFIG_MTD_RAM=y
+CONFIG_MTD_ROM=y
+CONFIG_MTD_ABSENT=y
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_PHYSMAP_START=0xA0000000
+CONFIG_MTD_PHYSMAP_LEN=0x01000000
+CONFIG_MTD_PHYSMAP_BANKWIDTH=2
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+# CONFIG_MTD_NAND is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# UBI - Unsorted block images
+#
+# CONFIG_MTD_UBI is not set
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_COW_COMMON is not set
+# CONFIG_BLK_DEV_LOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=26000
+# CONFIG_BLK_DEV_XIP is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_MISC_DEVICES is not set
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+# CONFIG_SCSI is not set
+# CONFIG_SCSI_DMA is not set
+# CONFIG_SCSI_NETLINK is not set
+# CONFIG_ATA is not set
+# CONFIG_MD is not set
+CONFIG_NETDEVICES=y
+# CONFIG_NETDEVICES_MULTIQUEUE is not set
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+# CONFIG_VETH is not set
+# CONFIG_PHYLIB is not set
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_AX88796 is not set
+# CONFIG_STNIC is not set
+# CONFIG_SMC9194 is not set
+CONFIG_SMC91X=y
+# CONFIG_IBM_NEW_EMAC_ZMII is not set
+# CONFIG_IBM_NEW_EMAC_RGMII is not set
+# CONFIG_IBM_NEW_EMAC_TAH is not set
+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+# CONFIG_B44 is not set
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+
+#
+# Wireless LAN
+#
+# CONFIG_WLAN_PRE80211 is not set
+# CONFIG_WLAN_80211 is not set
+# CONFIG_IWLWIFI_LEDS is not set
+# CONFIG_WAN is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+# CONFIG_ISDN is not set
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+# CONFIG_INPUT_POLLDEV is not set
+
+#
+# Userland interfaces
+#
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_EVDEV is not set
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TABLET is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_VT_HW_CONSOLE_BINDING is not set
+CONFIG_DEVKMEM=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_SH_SCI=y
+CONFIG_SERIAL_SH_SCI_NR_UARTS=3
+CONFIG_SERIAL_SH_SCI_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=256
+# CONFIG_IPMI_HANDLER is not set
+CONFIG_HW_RANDOM=y
+# CONFIG_R3964 is not set
+# CONFIG_RAW_DRIVER is not set
+# CONFIG_TCG_TPM is not set
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_CHARDEV=y
+
+#
+# I2C Hardware Bus support
+#
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_SIMTEC is not set
+# CONFIG_I2C_TAOS_EVM is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_PCA_PLATFORM is not set
+CONFIG_I2C_SH7760=y
+# CONFIG_I2C_SH_MOBILE is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_DS1682 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_PCF8575 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+CONFIG_I2C_DEBUG_CORE=y
+CONFIG_I2C_DEBUG_ALGO=y
+CONFIG_I2C_DEBUG_BUS=y
+CONFIG_I2C_DEBUG_CHIP=y
+# CONFIG_SPI is not set
+# CONFIG_W1 is not set
+# CONFIG_POWER_SUPPLY is not set
+# CONFIG_HWMON is not set
+# CONFIG_THERMAL is not set
+# CONFIG_THERMAL_HWMON is not set
+# CONFIG_WATCHDOG is not set
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB_POSSIBLE=y
+# CONFIG_SSB is not set
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_SM501 is not set
+# CONFIG_HTC_PASIC3 is not set
+
+#
+# Multimedia devices
+#
+
+#
+# Multimedia core support
+#
+# CONFIG_VIDEO_DEV is not set
+# CONFIG_DVB_CORE is not set
+# CONFIG_VIDEO_MEDIA is not set
+
+#
+# Multimedia drivers
+#
+# CONFIG_DAB is not set
+
+#
+# Graphics support
+#
+# CONFIG_VGASTATE is not set
+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+CONFIG_FB=m
+# CONFIG_FIRMWARE_EDID is not set
+# CONFIG_FB_DDC is not set
+CONFIG_FB_CFB_FILLRECT=m
+CONFIG_FB_CFB_COPYAREA=m
+CONFIG_FB_CFB_IMAGEBLIT=m
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+# CONFIG_FB_SYS_FILLRECT is not set
+# CONFIG_FB_SYS_COPYAREA is not set
+# CONFIG_FB_SYS_IMAGEBLIT is not set
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+# CONFIG_FB_SYS_FOPS is not set
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+# CONFIG_FB_MODE_HELPERS is not set
+CONFIG_FB_TILEBLITTING=y
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_MB86290_640X480_16BPP is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_VIRTUAL is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Display device support
+#
+# CONFIG_DISPLAY_SUPPORT is not set
+
+#
+# Console display driver support
+#
+CONFIG_DUMMY_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE is not set
+# CONFIG_LOGO is not set
+
+#
+# Sound
+#
+CONFIG_SOUND=y
+
+#
+# Advanced Linux Sound Architecture
+#
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+# CONFIG_SND_SEQUENCER is not set
+# CONFIG_SND_MIXER_OSS is not set
+# CONFIG_SND_PCM_OSS is not set
+# CONFIG_SND_DYNAMIC_MINORS is not set
+# CONFIG_SND_SUPPORT_OLD_API is not set
+# CONFIG_SND_VERBOSE_PROCFS is not set
+CONFIG_SND_VERBOSE_PRINTK=y
+# CONFIG_SND_DEBUG is not set
+
+#
+# Generic devices
+#
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+#
+# SUPERH devices
+#
+
+#
+# System on Chip audio support
+#
+CONFIG_SND_SOC=y
+
+#
+# SoC Audio support for SuperH
+#
+
+#
+# ALSA SoC audio for Freescale SOCs
+#
+
+#
+# SoC Audio for the Texas Instruments OMAP
+#
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+# CONFIG_HID_SUPPORT is not set
+# CONFIG_USB_SUPPORT is not set
+# CONFIG_MMC is not set
+# CONFIG_MEMSTICK is not set
+# CONFIG_NEW_LEDS is not set
+# CONFIG_ACCESSIBILITY is not set
+# CONFIG_RTC_CLASS is not set
+# CONFIG_UIO is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_XATTR=y
+# CONFIG_EXT2_FS_POSIX_ACL is not set
+# CONFIG_EXT2_FS_SECURITY is not set
+CONFIG_EXT2_FS_XIP=y
+CONFIG_FS_XIP=y
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS_XATTR=y
+# CONFIG_EXT3_FS_POSIX_ACL is not set
+# CONFIG_EXT3_FS_SECURITY is not set
+# CONFIG_EXT4DEV_FS is not set
+CONFIG_JBD=y
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+CONFIG_FS_POSIX_ACL=y
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+# CONFIG_QUOTA is not set
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+CONFIG_GENERIC_ACL=y
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+# CONFIG_MSDOS_FS is not set
+# CONFIG_VFAT_FS is not set
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+# CONFIG_PROC_KCORE is not set
+CONFIG_PROC_SYSCTL=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+# CONFIG_HUGETLBFS is not set
+# CONFIG_HUGETLB_PAGE is not set
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS2_FS is not set
+# CONFIG_CRAMFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=y
+# CONFIG_NFS_V3 is not set
+# CONFIG_NFS_V4 is not set
+# CONFIG_NFSD is not set
+CONFIG_ROOT_NFS=y
+CONFIG_LOCKD=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+# CONFIG_SUNRPC_BIND34 is not set
+# CONFIG_RPCSEC_GSS_KRB5 is not set
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+# CONFIG_SMB_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=y
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+CONFIG_NLS_ASCII=y
+CONFIG_NLS_ISO8859_1=y
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+CONFIG_NLS_ISO8859_15=y
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+CONFIG_NLS_UTF8=y
+# CONFIG_DLM is not set
+
+#
+# Kernel hacking
+#
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_PRINTK_TIME=y
+CONFIG_ENABLE_WARN_DEPRECATED=y
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=1024
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_UNUSED_SYMBOLS=y
+# CONFIG_DEBUG_FS is not set
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_KERNEL=y
+CONFIG_DEBUG_SHIRQ=y
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_SCHED_DEBUG is not set
+# CONFIG_SCHEDSTATS is not set
+CONFIG_TIMER_STATS=y
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS is not set
+CONFIG_DEBUG_PREEMPT=y
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+CONFIG_DEBUG_INFO=y
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_FRAME_POINTER is not set
+# CONFIG_BOOT_PRINTK_DELAY is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_SAMPLES is not set
+# CONFIG_SH_STANDARD_BIOS is not set
+CONFIG_EARLY_SCIF_CONSOLE=y
+CONFIG_EARLY_SCIF_CONSOLE_PORT=0xffe80000
+CONFIG_EARLY_PRINTK=y
+# CONFIG_DEBUG_BOOTMEM is not set
+CONFIG_DEBUG_STACKOVERFLOW=y
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_4KSTACKS is not set
+# CONFIG_IRQSTACKS is not set
+# CONFIG_SH_KGDB is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=y
+# CONFIG_CRYPTO_MANAGER is not set
+# CONFIG_CRYPTO_GF128MUL is not set
+# CONFIG_CRYPTO_NULL is not set
+# CONFIG_CRYPTO_CRYPTD is not set
+# CONFIG_CRYPTO_AUTHENC is not set
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Authenticated Encryption with Associated Data
+#
+# CONFIG_CRYPTO_CCM is not set
+# CONFIG_CRYPTO_GCM is not set
+# CONFIG_CRYPTO_SEQIV is not set
+
+#
+# Block modes
+#
+# CONFIG_CRYPTO_CBC is not set
+# CONFIG_CRYPTO_CTR is not set
+# CONFIG_CRYPTO_CTS is not set
+# CONFIG_CRYPTO_ECB is not set
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_PCBC is not set
+# CONFIG_CRYPTO_XTS is not set
+
+#
+# Hash modes
+#
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_XCBC is not set
+
+#
+# Digest
+#
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_MD4 is not set
+CONFIG_CRYPTO_MD5=y
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# CONFIG_CRYPTO_SHA1 is not set
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_WP512 is not set
+
+#
+# Ciphers
+#
+# CONFIG_CRYPTO_AES is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_ARC4 is not set
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+CONFIG_CRYPTO_DES=y
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_SEED is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+
+#
+# Compression
+#
+# CONFIG_CRYPTO_DEFLATE is not set
+# CONFIG_CRYPTO_LZO is not set
+CONFIG_CRYPTO_HW=y
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
+# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC32=y
+# CONFIG_CRC7 is not set
+# CONFIG_LIBCRC32C is not set
+CONFIG_PLIST=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
diff -uNr -x '*.mod.c' -x '*.o' -x '*.cmd' -x '*.d' -x 'built-in.*' -x '*.S' -x '*.s' -x 'vmlinux*' -x zImage -x '*syscall*' a/arch/sh/Kconfig b/arch/sh/Kconfig
--- a/arch/sh/Kconfig	2008-07-13 23:51:29.000000000 +0200
+++ b/arch/sh/Kconfig	2008-08-27 10:40:42.000000000 +0200
@@ -553,6 +553,12 @@
 	depends on CPU_SUBTYPE_SH5_101 || CPU_SUBTYPE_SH5_103
 	select SYS_SUPPORTS_PCI
 
+config SH_EDOSK7760
+	bool "edosk7760"
+	help
+		"SPES support for edosk7760 board"
+
+
 endmenu
 
 source "arch/sh/boards/renesas/rts7751r2d/Kconfig"
I file binari a/arch/sh/lib/lib.a e b/arch/sh/lib/lib.a differiscono
diff -uNr -x '*.mod.c' -x '*.o' -x '*.cmd' -x '*.d' -x 'built-in.*' -x '*.S' -x '*.s' -x 'vmlinux*' -x zImage -x '*syscall*' a/arch/sh/Makefile b/arch/sh/Makefile
--- a/arch/sh/Makefile	2008-07-13 23:51:29.000000000 +0200
+++ b/arch/sh/Makefile	2008-08-27 10:40:44.000000000 +0200
@@ -130,6 +130,7 @@
 machdir-$(CONFIG_SH_LBOX_RE2)			+= lboxre2
 machdir-$(CONFIG_SH_MAGIC_PANEL_R2)		+= magicpanelr2
 machdir-$(CONFIG_SH_CAYMAN)			+= cayman
+machdir-$(CONFIG_SH_EDOSK7760)			+= renesas/edosk7760
 
 incdir-y	:= $(notdir $(machdir-y))
 

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] support for edosk7760 board
  2008-08-27 10:34 [PATCH] support for edosk7760 board Luca Santini
@ 2008-08-27 11:12 ` Manuel Lauss
  2008-08-27 14:55 ` Paul Mundt
                   ` (19 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Manuel Lauss @ 2008-08-27 11:12 UTC (permalink / raw)
  To: linux-sh

Hi Luca,

On Wed, Aug 27, 2008 at 12:34:48PM +0200, Luca Santini wrote:
> currently you have (defconfig) :
>
>  - ramdisk support
>  - ethernet support
>  - nfs support
>  - ext2/ext3 support
>  - i2c support
>  - fb support (M)
>
> and haven't:
>
>  - usb support
>  - mmc support

I have drivers for both, although the USB part is definitely NOT mainline
material at all (it's basically a duplication of the OHCI stack with a few
adjustments and a memory manager for the 7760 ohci ram.)


>  - flash support?

look e.g. at the ap325rxa boards' use of the physmap-flash driver.


> diff -uNr -x '*.mod.c' -x '*.o' -x '*.cmd' -x '*.d' -x 'built-in.*' -x '*.S' -x '*.s' -x 'vmlinux*' -x zImage -x '*syscall*' a/arch/sh/boards/renesas/edosk7760/Makefile b/arch/sh/boards/renesas/edosk7760/Makefile
> --- a/arch/sh/boards/renesas/edosk7760/Makefile	1970-01-01 01:00:00.000000000 +0100
> +++ b/arch/sh/boards/renesas/edosk7760/Makefile	2008-08-27 11:45:29.000000000 +0200
> @@ -0,0 +1,9 @@
> +#
> +# Makefile for HMSE EDOSK7760 board specific parts of the kernel
> +#
> +# Note! Dependencies are done automagically by 'make dep', which also
> +# removes any old dependencies. DON'T put your own dependencies here
> +# unless it's something special (ie not a .c file).
> +#
> +
> +obj-y := setup.o 

as long as the code consists of a single setup.c file, just rename it to


> diff -uNr -x '*.mod.c' -x '*.o' -x '*.cmd' -x '*.d' -x 'built-in.*' -x '*.S' -x '*.s' -x 'vmlinux*' -x zImage -x '*syscall*' a/arch/sh/boards/renesas/edosk7760/setup.c b/arch/sh/boards/renesas/edosk7760/setup.c
> --- a/arch/sh/boards/renesas/edosk7760/setup.c	1970-01-01 01:00:00.000000000 +0100
> +++ b/arch/sh/boards/renesas/edosk7760/setup.c	2008-08-27 12:01:58.000000000 +0200
> @@ -0,0 +1,177 @@
> +/* 
> + * linux/arch/sh/edosk7760/setup.c
> + *
> + * Copyright (C) 2000  Kazumoto Kojima
> + *
> + *
> + * Modified for EDOSK7760 by
> + * Richard Bister
> + * 
> + * Port to 2.6.26 by
> + * Luca Santini www.spesonline.com
> + */
> +
> +/* Bus state controller registers for CS4 area */
> +#define BSC_CS4BCR    0xA4FD0010
> +#define BSC_CS4WCR    0xA4FD0030 
> +
> +#define SMC_IOBASE  0xA2000000
> +#define SMC_IO_OFFSET 0x300
> +#define SMC_IOADDR	SMC_IOBASE + SMC_IO_OFFSET
> +#define ETHERNET_IRQ 0x9
> +
> +#include <linux/init.h>
> +#include <linux/types.h>
> +#include <linux/platform_device.h>
> +#include <asm/machvec.h>
> +#include <asm/io.h>
> +#include <asm/addrspace.h>
> +#include <asm/delay.h>
> +#include <linux/smc91x.h>
> +#include <linux/i2c.h>
> +#include <asm/i2c-sh7760.h>

Please reorder the includes:  lines with linux/ come first, followed by
asm/.


> +#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)

should not be necessary.  If the driver is not selected, the resources won't
do any harm (consume a few bytes of ram maybe).


> +/* i2c initialization functions */
> +
> +static struct sh7760_i2c_platdata i2c_pd = {
> +        .speed_khz      = 400,
> +};
> +
> +static struct resource sh7760_i2c1_res[] = {
> +        {
> +                .start  = SH7760_I2C1_MMIO,
> +                .end    = SH7760_I2C1_MMIOEND,
> +                .flags  = IORESOURCE_MEM,
> +        },{
> +                .start  = SH7760_I2C1_IRQ,
> +                .end    = SH7760_I2C1_IRQ,
> +                .flags  = IORESOURCE_IRQ,
> +        },
> +};
> +
> +static struct platform_device sh7760_i2c1_dev = {
> +        .dev    = {
> +                .platform_data  = &i2c_pd,
> +        },
> +        .name           = SH7760_I2C_DEVNAME,
> +        .id             = 1,
> +        .resource       = sh7760_i2c1_res,
> +        .num_resources  = ARRAY_SIZE(sh7760_i2c1_res),
> +};
> +
> +
> +static struct resource sh7760_i2c0_res[] = {
> +        {
> +                .start  = SH7760_I2C0_MMIO,
> +                .end    = SH7760_I2C0_MMIOEND,
> +                .flags  = IORESOURCE_MEM,
> +        },{
> +                .start  = SH7760_I2C0_IRQ,
> +                .end    = SH7760_I2C0_IRQ,
> +                .flags  = IORESOURCE_IRQ,
> +        },
> +};
> +
> +static struct platform_device sh7760_i2c0_dev = {
> +        .dev    = {
> +                .platform_data  = &i2c_pd,
> +        },
> +        .name           = SH7760_I2C_DEVNAME,
> +        .id             = 0,
> +        .resource       = sh7760_i2c0_res,
> +        .num_resources  = ARRAY_SIZE(sh7760_i2c0_res),
> +};
> +#endif
> +
> +static void __init sh_edosk7760_init_irq(void)
> +{
> +
> +}

Empty function -- get rid of it.


> +/* eth initialization functions */
> +
> +static struct smc91x_platdata smc91x_info = {
> +	.flags = SMC91X_USE_16BIT,
> +};
> +
> +static struct resource smc91x_res[] = {
> +        [0] = {
> +		.start  = SMC_IOADDR,
> +		.end    = SMC_IOADDR + 0x1f,
> +		.flags  = IORESOURCE_MEM,
> +        },
> +        [1] = {
> +		.start  = ETHERNET_IRQ,
> +		.end    = ETHERNET_IRQ,
> +		.flags  = IORESOURCE_IRQ,
> +        }
> +};
> +
> +static struct platform_device smc91x_dev = {
> +
> +        .name           = "smc91x",
> +        .id             = -1,
> +        .num_resources  = ARRAY_SIZE(smc91x_res),
> +        .resource       = smc91x_res,
> +		.dev	= {
> +			.platform_data	= &smc91x_info,
> +		},
> +
> +};
> +
> +/* platform init code */
> +
> +static struct platform_device *edosk7760_devices[] __initdata = {
> +#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)

These checks are unnecessary, remove them.


> +	&sh7760_i2c0_dev,
> +	&sh7760_i2c1_dev, 
> +#endif	
> +
> +#if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE)
> +	&smc91x_dev,
> +#endif
> +	
> +};
> +
> +#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
> +/*these are custom-board specific: here you can add your I2C_BOARD_INFO devices*/
> +static struct i2c_board_info __initdata edosk7760_i2c_devices0[] = {
> +};
> +
> +static struct i2c_board_info __initdata edosk7760_i2c_devices1[] = {
> +};
> +#endif

As long as they're empty, remove them. You can add them back later when you
have the WM8731 working ;)  (incidentally, Jean Delvare posted a patch to
alsa-devel with converts the wm8731 codec to new-style i2c probing on
080826).


> +static int __init init_edosk7760_devices(void){
> +	int ret = -1;
> +
> +	/* This is the Ethernet interrupt */
> +	make_imask_irq(ETHERNET_IRQ);
> +
> +	/* This is the IntelStrata Flash interrupt */
> +	make_imask_irq(0x0A);
> +
> +#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
> +	/* i2c setup */
> +	i2c_register_board_info(0, edosk7760_i2c_devices0,
> +				ARRAY_SIZE(edosk7760_i2c_devices0));
> +	i2c_register_board_info(1, edosk7760_i2c_devices1,
> +				ARRAY_SIZE(edosk7760_i2c_devices1));
> +#endif
> +				
> +	ret = platform_add_devices(edosk7760_devices, ARRAY_SIZE(edosk7760_devices));
> +	return ret;
> +}
> +__initcall(init_edosk7760_devices);
> + 
> +/*
> + * The Machine Vector
> + */
> +
> +/// have a look to include/asm-sh/machvec.h 
> +struct sh_machine_vector mv_edosk7760 __initmv = {
> +	mv_name:		"EDOSK7760",
> +	mv_nr_irqs:		128,
> +	mv_init_irq:	sh_edosk7760_init_irq,
> +};

Please use the new initializer syntax:
	.mv_name	= "EDOSK7760",
	.mv_nr_irqs	= 128,
	.mv_init_irq	= edosk7760_init_irq,

Also, please rediff against a more current linux source tree.
Since 2.6.27-rc2 or so, the board file organization has changed slightly; as
long as you only have the setup.c file, I suggest you rename it to
mach-edosk7760.c and wire it up in arch/sh/boards/Makefile.

Best regards,
	Manuel Lauss

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] support for edosk7760 board
  2008-08-27 10:34 [PATCH] support for edosk7760 board Luca Santini
  2008-08-27 11:12 ` Manuel Lauss
@ 2008-08-27 14:55 ` Paul Mundt
  2008-08-28  3:00 ` Paul Mundt
                   ` (18 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Paul Mundt @ 2008-08-27 14:55 UTC (permalink / raw)
  To: linux-sh

A few notes in addition to what Manuel said:

On Wed, Aug 27, 2008 at 01:12:29PM +0200, Manuel Lauss wrote:
> > diff -uNr -x '*.mod.c' -x '*.o' -x '*.cmd' -x '*.d' -x 'built-in.*' -x '*.S' -x '*.s' -x 'vmlinux*' -x zImage -x '*syscall*' a/arch/sh/boards/renesas/edosk7760/setup.c b/arch/sh/boards/renesas/edosk7760/setup.c
> > --- a/arch/sh/boards/renesas/edosk7760/setup.c	1970-01-01 01:00:00.000000000 +0100
> > +++ b/arch/sh/boards/renesas/edosk7760/setup.c	2008-08-27 12:01:58.000000000 +0200
> > @@ -0,0 +1,177 @@
> > +/* 
> > + * linux/arch/sh/edosk7760/setup.c
> > + *
> > + * Copyright (C) 2000  Kazumoto Kojima
> > + *
> > + *
> > + * Modified for EDOSK7760 by
> > + * Richard Bister
> > + * 
> > + * Port to 2.6.26 by
> > + * Luca Santini www.spesonline.com
> > + */
> > +
Please get your copyright notices fixed, and actually toss a license stub
in there. I can gaurantee you that Kojima-san had nothing to do with this
platform in 2000, especially as Camelot silicon didn't begin sampling
before Q1 2003.

Also, drop the path from the comment. Even now it's not even accurate,
which goes to show how useful that bit of information is.

> > +static struct smc91x_platdata smc91x_info = {
> > +	.flags = SMC91X_USE_16BIT,
> > +};
> > +
For some reason your flags here and your later smc91x patch for edosk7760
have absolutely nothing in common. This leads me to believe that you
either couldn't get the dynamic configuration working, in which case this
bit of code is useless, or that it works fine and there's no need for the
changes to smc91x.h. If you need both, you are doing something very
wrong.

> > +static int __init init_edosk7760_devices(void){

The { should be on a line by itself.

> > +	int ret = -1;
> > +
Pointless initialization and unused variable.

> > +/// have a look to include/asm-sh/machvec.h 

C++ comments have no place in the kernel. Just because C99 dropped the
ball doesn't mean we have to perpetuate this idiocy in-tree. The header
location is also different these days, and the comment itself is of
questionable use. If someone can't work out to look at machvec.h for
these definitions, they probably shouldn't be touching the machine vector
in the first place.

> Also, please rediff against a more current linux source tree.
> Since 2.6.27-rc2 or so, the board file organization has changed slightly; as
> long as you only have the setup.c file, I suggest you rename it to
> mach-edosk7760.c and wire it up in arch/sh/boards/Makefile.
> 
Indeed. Please always diff against a current kernel. diffing against
2.6.26 at this late in the 2.6.27 cycle is an act of futility.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] support for edosk7760 board
  2008-08-27 10:34 [PATCH] support for edosk7760 board Luca Santini
  2008-08-27 11:12 ` Manuel Lauss
  2008-08-27 14:55 ` Paul Mundt
@ 2008-08-28  3:00 ` Paul Mundt
  2008-08-28 11:50 ` Magnus Damm
                   ` (17 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Paul Mundt @ 2008-08-28  3:00 UTC (permalink / raw)
  To: linux-sh

On Wed, Aug 27, 2008 at 06:32:02PM +0200, Luca Santini wrote:
> Paul Mundt wrote:
> >On Wed, Aug 27, 2008 at 01:12:29PM +0200, Manuel Lauss wrote:
> >>>diff -uNr -x '*.mod.c' -x '*.o' -x '*.cmd' -x '*.d' -x 'built-in.*' -x 
> >>>'*.S' -x '*.s' -x 'vmlinux*' -x zImage -x '*syscall*' 
> >>>a/arch/sh/boards/renesas/edosk7760/setup.c 
> >>>b/arch/sh/boards/renesas/edosk7760/setup.c
> >>>--- a/arch/sh/boards/renesas/edosk7760/setup.c	1970-01-01 
> >>>01:00:00.000000000 +0100
> >>>+++ b/arch/sh/boards/renesas/edosk7760/setup.c	2008-08-27 
> >>>12:01:58.000000000 +0200
> >>>@@ -0,0 +1,177 @@
> >>>+/* 
> >>>+ * linux/arch/sh/edosk7760/setup.c
> >>>+ *
> >>>+ * Copyright (C) 2000  Kazumoto Kojima
> >>>+ *
> >>>+ *
> >>>+ * Modified for EDOSK7760 by
> >>>+ * Richard Bister
> >>>+ * 
> >>>+ * Port to 2.6.26 by
> >>>+ * Luca Santini www.spesonline.com
> >>>+ */
> >>>+
> >Please get your copyright notices fixed, and actually toss a license stub
> >in there. I can gaurantee you that Kojima-san had nothing to do with this
> >platform in 2000, especially as Camelot silicon didn't begin sampling
> >before Q1 2003.
> >
> 
> i've no idea what to write here....
> 
What does your company usually use as a copyright?

Look at things like arch/sh/boards/mach-rsk7203.c as an example.

> >>>+static struct smc91x_platdata smc91x_info = {
> >>>+	.flags = SMC91X_USE_16BIT,
> >>>+};
> >>>+
> >For some reason your flags here and your later smc91x patch for edosk7760
> >have absolutely nothing in common. This leads me to believe that you
> >either couldn't get the dynamic configuration working, in which case this
> >bit of code is useless, or that it works fine and there's no need for the
> >changes to smc91x.h. If you need both, you are doing something very
> >wrong.
> >
> 
> you're right; what i really need is
> 
> #define SMC_IO_SHIFT 1
> 
> but using the platdata flag
> 
> SMC91X_IO_SHIFT_1
> 
> doesn't work.
> 
Ok, so that's a real bug then. Magnus, can you take a look at this?

> >Indeed. Please always diff against a current kernel. diffing against
> >2.6.26 at this late in the 2.6.27 cycle is an act of futility.
> 
> i'm cloning current git repository.
> i was thinking the "current" kernel was 2.6.26
> 
Current git is always preferable for patches, as the rate of change is
very high during the initial merge window.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] support for edosk7760 board
  2008-08-27 10:34 [PATCH] support for edosk7760 board Luca Santini
                   ` (2 preceding siblings ...)
  2008-08-28  3:00 ` Paul Mundt
@ 2008-08-28 11:50 ` Magnus Damm
  2008-08-29  8:35 ` Luca Santini
                   ` (16 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Magnus Damm @ 2008-08-28 11:50 UTC (permalink / raw)
  To: linux-sh

[-- Attachment #1: Type: text/plain, Size: 1149 bytes --]

On Thu, Aug 28, 2008 at 12:00 PM, Paul Mundt <lethal@linux-sh.org> wrote:
> On Wed, Aug 27, 2008 at 06:32:02PM +0200, Luca Santini wrote:
>> >>>+static struct smc91x_platdata smc91x_info = {
>> >>>+  .flags = SMC91X_USE_16BIT,
>> >>>+};
>> >>>+
>> >For some reason your flags here and your later smc91x patch for edosk7760
>> >have absolutely nothing in common. This leads me to believe that you
>> >either couldn't get the dynamic configuration working, in which case this
>> >bit of code is useless, or that it works fine and there's no need for the
>> >changes to smc91x.h. If you need both, you are doing something very
>> >wrong.
>> >
>>
>> you're right; what i really need is
>>
>> #define SMC_IO_SHIFT 1
>>
>> but using the platdata flag
>>
>> SMC91X_IO_SHIFT_1
>>
>> doesn't work.
>>
> Ok, so that's a real bug then. Magnus, can you take a look at this?

The io shift platform data configuration should be generic, but it
looks like it has been fully hooked in by some ARM platforms only at
this point. Someone forgot to fix the generic case. Try the attached
patch, that should get you going. Let me know if it solves your issue.

/ magnus

[-- Attachment #2: linux-2.6.27-rc-smc91x-platform-data-io-shift-20080828.patch --]
[-- Type: application/octet-stream, Size: 374 bytes --]

--- 0001/drivers/net/smc91x.h
+++ work/drivers/net/smc91x.h	2008-08-28 20:43:03.000000000 +0900
@@ -446,6 +446,8 @@ static inline void LPD7_SMC_outsw (unsig
 #define SMC_CAN_USE_32BIT	1
 #define SMC_NOWAIT		1
 
+#define SMC_IO_SHIFT		(lp->io_shift)
+
 #define SMC_inb(a, r)		readb((a) + (r))
 #define SMC_inw(a, r)		readw((a) + (r))
 #define SMC_inl(a, r)		readl((a) + (r))

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] support for edosk7760 board
  2008-08-27 10:34 [PATCH] support for edosk7760 board Luca Santini
                   ` (3 preceding siblings ...)
  2008-08-28 11:50 ` Magnus Damm
@ 2008-08-29  8:35 ` Luca Santini
  2008-09-01  1:24 ` Magnus Damm
                   ` (15 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Luca Santini @ 2008-08-29  8:35 UTC (permalink / raw)
  To: linux-sh

For some reason,
i have trouble in switching from .26 to .27-rc4;

it seems i have problems in irq masking (for the smc eth chip);
now kernel/irq/manage.c outputs

[    1.462932] No set_type function for IRQ 9 (SR.IMASK)

and after initialization, when nfs boot starts
([    3.105886] Looking up port of RPC 100003/2 on 10.193.101.100)
i get a seems-infinite loop of

[    3.115338] irq 9, desc: 8c238aec, depth: 0, count: 0, unhandled: 0
[    3.117228] ->handle_irq():  8c0361d8, handle_bad_irq+0x0/0x1ac
[    3.123100] ->chip(): 8c236318, imask_irq_type+0x0/0x40
[    3.128284] ->action(): 8f9307e0
[    3.131482] ->action->handler(): 8c10dc98, smc_interrupt+0x0/0xbe4
[    3.137620] unexpected IRQ trap at vector 09

something has changed in .27 in irq management?

Luca Santini


Magnus Damm wrote:
> On Thu, Aug 28, 2008 at 12:00 PM, Paul Mundt <lethal@linux-sh.org> wrote:
>> On Wed, Aug 27, 2008 at 06:32:02PM +0200, Luca Santini wrote:
>>>>>> +static struct smc91x_platdata smc91x_info = {
>>>>>> +  .flags = SMC91X_USE_16BIT,
>>>>>> +};
>>>>>> +
>>>> For some reason your flags here and your later smc91x patch for edosk7760
>>>> have absolutely nothing in common. This leads me to believe that you
>>>> either couldn't get the dynamic configuration working, in which case this
>>>> bit of code is useless, or that it works fine and there's no need for the
>>>> changes to smc91x.h. If you need both, you are doing something very
>>>> wrong.
>>>>
>>> you're right; what i really need is
>>>
>>> #define SMC_IO_SHIFT 1
>>>
>>> but using the platdata flag
>>>
>>> SMC91X_IO_SHIFT_1
>>>
>>> doesn't work.
>>>
>> Ok, so that's a real bug then. Magnus, can you take a look at this?
> 
> The io shift platform data configuration should be generic, but it
> looks like it has been fully hooked in by some ARM platforms only at
> this point. Someone forgot to fix the generic case. Try the attached
> patch, that should get you going. Let me know if it solves your issue.
> 
> / magnus

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] support for edosk7760 board
  2008-08-27 10:34 [PATCH] support for edosk7760 board Luca Santini
                   ` (4 preceding siblings ...)
  2008-08-29  8:35 ` Luca Santini
@ 2008-09-01  1:24 ` Magnus Damm
  2008-09-01  8:11 ` Luca Santini
                   ` (14 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Magnus Damm @ 2008-09-01  1:24 UTC (permalink / raw)
  To: linux-sh

On Fri, Aug 29, 2008 at 5:35 PM, Luca Santini
<luca.santini@spesonline.com> wrote:
> For some reason,
> i have trouble in switching from .26 to .27-rc4;
>
> it seems i have problems in irq masking (for the smc eth chip);
> now kernel/irq/manage.c outputs
>
> [    1.462932] No set_type function for IRQ 9 (SR.IMASK)
>
> and after initialization, when nfs boot starts
> ([    3.105886] Looking up port of RPC 100003/2 on 10.193.101.100)
> i get a seems-infinite loop of
>
> [    3.115338] irq 9, desc: 8c238aec, depth: 0, count: 0, unhandled: 0
> [    3.117228] ->handle_irq():  8c0361d8, handle_bad_irq+0x0/0x1ac
> [    3.123100] ->chip(): 8c236318, imask_irq_type+0x0/0x40
> [    3.128284] ->action(): 8f9307e0
> [    3.131482] ->action->handler(): 8c10dc98, smc_interrupt+0x0/0xbe4
> [    3.137620] unexpected IRQ trap at vector 09
>
> something has changed in .27 in irq management?

I don't think so. Are you sure about the value 9 for IRQ?

Since there is no external interrupt controller code I assume the SMC
chip is connected directly to the processor. I would guess using pin
IRQ4, IRQ5, IRQ6 or IRQ7. Try using interrupt numbers from 48 (IRQ4)
to 51 (IRQ7) and see if that helps!

/ magnus

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] support for edosk7760 board
  2008-08-27 10:34 [PATCH] support for edosk7760 board Luca Santini
                   ` (5 preceding siblings ...)
  2008-09-01  1:24 ` Magnus Damm
@ 2008-09-01  8:11 ` Luca Santini
  2008-09-05  8:14 ` Magnus Damm
                   ` (13 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Luca Santini @ 2008-09-01  8:11 UTC (permalink / raw)
  To: linux-sh

thanks for reply Magnus,
in 2.6.26 everything works fine with irq 9;
trying to debug a little kernel/irq/manage.c i found that
in 2.6.26 in function setup_irq()
	
	compat_irq_chip_set_default_handler(desc);

is called;

otherwise in 2.6.27-rc4 :

	__irq_set_trigger()

is called with
	chip->set_type = NULL


i tried (for debug) to force in smc91x.h
	#define SMC_IRQ_FLAGS           0
to force using 	compat_irq_chip_set_default_handler(desc);
but what i get is a loop of

"Unable to handle kernel NULL pointer dereference..."



i'll try your suggestion!


Magnus Damm wrote:
> On Fri, Aug 29, 2008 at 5:35 PM, Luca Santini
> <luca.santini@spesonline.com> wrote:
>> For some reason,
>> i have trouble in switching from .26 to .27-rc4;
>>
>> it seems i have problems in irq masking (for the smc eth chip);
>> now kernel/irq/manage.c outputs
>>
>> [    1.462932] No set_type function for IRQ 9 (SR.IMASK)
>>
>> and after initialization, when nfs boot starts
>> ([    3.105886] Looking up port of RPC 100003/2 on 10.193.101.100)
>> i get a seems-infinite loop of
>>
>> [    3.115338] irq 9, desc: 8c238aec, depth: 0, count: 0, unhandled: 0
>> [    3.117228] ->handle_irq():  8c0361d8, handle_bad_irq+0x0/0x1ac
>> [    3.123100] ->chip(): 8c236318, imask_irq_type+0x0/0x40
>> [    3.128284] ->action(): 8f9307e0
>> [    3.131482] ->action->handler(): 8c10dc98, smc_interrupt+0x0/0xbe4
>> [    3.137620] unexpected IRQ trap at vector 09
>>
>> something has changed in .27 in irq management?
> 
> I don't think so. Are you sure about the value 9 for IRQ?
> 
> Since there is no external interrupt controller code I assume the SMC
> chip is connected directly to the processor. I would guess using pin
> IRQ4, IRQ5, IRQ6 or IRQ7. Try using interrupt numbers from 48 (IRQ4)
> to 51 (IRQ7) and see if that helps!
> 
> / magnus
> --
> To unsubscribe from this list: send the line "unsubscribe linux-sh" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> 

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] support for edosk7760 board
  2008-08-27 10:34 [PATCH] support for edosk7760 board Luca Santini
                   ` (6 preceding siblings ...)
  2008-09-01  8:11 ` Luca Santini
@ 2008-09-05  8:14 ` Magnus Damm
  2008-09-05  8:14 ` Luca Santini
                   ` (12 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Magnus Damm @ 2008-09-05  8:14 UTC (permalink / raw)
  To: linux-sh

On Mon, Sep 1, 2008 at 5:11 PM, Luca Santini
<luca.santini@spesonline.com> wrote:
> thanks for reply Magnus,
> in 2.6.26 everything works fine with irq 9;

I see that you install imask handlers for the flash and the ethernet:

+static int __init init_edosk7760_devices(void){
+       int ret = -1;
+
+       /* This is the Ethernet interrupt */
+       make_imask_irq(ETHERNET_IRQ);
+
+       /* This is the IntelStrata Flash interrupt */
+       make_imask_irq(0x0A);

Is the flash interrupt tested?

I suspect that the chips are connected straight to the IRL pins of the
processor. Using "individual interrupt mode" would make sense then. Do
you have access to schematics?

I recommend you to enable "individual interrupt mode" calling
plat_irq_setup_pins(IRQ_MODE_IRQ) from your board code. Try using
interrupt number 2 for IRL0 pin, 5 for IRL1, 8 for IRL2 and 11 for
IRL3. These values are calculated from vectors_irq[] in
setup-sh7760.c.

> trying to debug a little kernel/irq/manage.c i found that
> in 2.6.26 in function setup_irq()
>
>        compat_irq_chip_set_default_handler(desc);
>
> is called;
>
> otherwise in 2.6.27-rc4 :
>
>        __irq_set_trigger()
>
> is called with
>        chip->set_type = NULL
>
>
> i tried (for debug) to force in smc91x.h
>        #define SMC_IRQ_FLAGS           0
> to force using  compat_irq_chip_set_default_handler(desc);
> but what i get is a loop of
>
> "Unable to handle kernel NULL pointer dereference..."

This may be because the imask interrupt controller code doesn't
support interrupt type or something. I'm not sure.

/ magnus

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] support for edosk7760 board
  2008-08-27 10:34 [PATCH] support for edosk7760 board Luca Santini
                   ` (7 preceding siblings ...)
  2008-09-05  8:14 ` Magnus Damm
@ 2008-09-05  8:14 ` Luca Santini
  2008-09-05  8:17 ` Magnus Damm
                   ` (11 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Luca Santini @ 2008-09-05  8:14 UTC (permalink / raw)
  To: linux-sh

Hi Magnus,
sorry for my late...
Yes, i think the patch works in 2.6.27-rcX kernel (addresses are fine 
and the chip detected) but i have the irq masking problem that i'm 
unable to resolve(my ignorance... i can't imagine what else to use than 
  make_imask_irq() - i tried your suggestion masking ALSO irqs from 48 
to 52 but with no result; i repeat, in .26 masking irq 9 works and in 
kernel/irq/manage.c compat_irq_chip_set_default_handler() is called; 
otherwise in .27 the function called is __irq_set_trigger(), but with 
chip->set_type = NULL), so my .27 kernel won't work in NFS and i can't 
say i'm 100% sure it works completely.


(in .26 it don't work because of the lack of 'lp' structure... )

p.s.: a little question git-related... (i'm moving my first steps with 
git..) :

if i pull from

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

it asks for a password.... ???

currently, i pull from

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

is it the same?


Magnus Damm wrote:
> Hi Luca,
> 
> On Thu, Aug 28, 2008 at 8:50 PM, Magnus Damm <magnus.damm@gmail.com> wrote:
>> On Thu, Aug 28, 2008 at 12:00 PM, Paul Mundt <lethal@linux-sh.org> wrote:
>>> On Wed, Aug 27, 2008 at 06:32:02PM +0200, Luca Santini wrote:
>>>>>>> +static struct smc91x_platdata smc91x_info = {
>>>>>>> +  .flags = SMC91X_USE_16BIT,
>>>>>>> +};
>>>>>>> +
>>>>> For some reason your flags here and your later smc91x patch for edosk7760
>>>>> have absolutely nothing in common. This leads me to believe that you
>>>>> either couldn't get the dynamic configuration working, in which case this
>>>>> bit of code is useless, or that it works fine and there's no need for the
>>>>> changes to smc91x.h. If you need both, you are doing something very
>>>>> wrong.
>>>>>
>>>> you're right; what i really need is
>>>>
>>>> #define SMC_IO_SHIFT 1
>>>>
>>>> but using the platdata flag
>>>>
>>>> SMC91X_IO_SHIFT_1
>>>>
>>>> doesn't work.
>>>>
>>> Ok, so that's a real bug then. Magnus, can you take a look at this?
>> The io shift platform data configuration should be generic, but it
>> looks like it has been fully hooked in by some ARM platforms only at
>> this point. Someone forgot to fix the generic case. Try the attached
>> patch, that should get you going. Let me know if it solves your issue.
> 
> Did the patch help?
> 
> Thanks,
> 
> / magnus
> 
> 

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] support for edosk7760 board
  2008-08-27 10:34 [PATCH] support for edosk7760 board Luca Santini
                   ` (8 preceding siblings ...)
  2008-09-05  8:14 ` Luca Santini
@ 2008-09-05  8:17 ` Magnus Damm
  2008-09-05  8:30 ` Magnus Damm
                   ` (10 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Magnus Damm @ 2008-09-05  8:17 UTC (permalink / raw)
  To: linux-sh

On Fri, Sep 5, 2008 at 5:14 PM, Magnus Damm <magnus.damm@gmail.com> wrote:
> On Mon, Sep 1, 2008 at 5:11 PM, Luca Santini
> <luca.santini@spesonline.com> wrote:
>> thanks for reply Magnus,
>> in 2.6.26 everything works fine with irq 9;
>
> I see that you install imask handlers for the flash and the ethernet:
>
> +static int __init init_edosk7760_devices(void){
> +       int ret = -1;
> +
> +       /* This is the Ethernet interrupt */
> +       make_imask_irq(ETHERNET_IRQ);
> +
> +       /* This is the IntelStrata Flash interrupt */
> +       make_imask_irq(0x0A);
>
> Is the flash interrupt tested?
>
> I suspect that the chips are connected straight to the IRL pins of the
> processor. Using "individual interrupt mode" would make sense then. Do
> you have access to schematics?
>
> I recommend you to enable "individual interrupt mode" calling
> plat_irq_setup_pins(IRQ_MODE_IRQ) from your board code. Try using
> interrupt number 2 for IRL0 pin, 5 for IRL1, 8 for IRL2 and 11 for
> IRL3. These values are calculated from vectors_irq[] in
> setup-sh7760.c.

I forgot to mention that you should remove the make_imask_irq() calls
if you want to try "individual interrupt mode" using
plat_irq_setup_pins()...

/ magnus

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] support for edosk7760 board
  2008-08-27 10:34 [PATCH] support for edosk7760 board Luca Santini
                   ` (9 preceding siblings ...)
  2008-09-05  8:17 ` Magnus Damm
@ 2008-09-05  8:30 ` Magnus Damm
  2008-09-05  8:33 ` Manuel Lauss
                   ` (9 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Magnus Damm @ 2008-09-05  8:30 UTC (permalink / raw)
  To: linux-sh

Hi Luca,

On Fri, Sep 5, 2008 at 5:14 PM, Luca Santini
<luca.santini@spesonline.com> wrote:
> Hi Magnus,
> sorry for my late...

No worries!

> Yes, i think the patch works in 2.6.27-rcX kernel (addresses are fine and
> the chip detected) but i have the irq masking problem that i'm unable to
> resolve(my ignorance... i can't imagine what else to use than
>  make_imask_irq() - i tried your suggestion masking ALSO irqs from 48 to 52
> but with no result; i repeat, in .26 masking irq 9 works and in
> kernel/irq/manage.c compat_irq_chip_set_default_handler() is called;
> otherwise in .27 the function called is __irq_set_trigger(), but with
> chip->set_type = NULL), so my .27 kernel won't work in NFS and i can't say
> i'm 100% sure it works completely.

Good that the smc91x-patch seems to work. Regarding the irq masking
stuff, sorry for not being more clear. I'm sure you could spend some
time and fix up the imask handler, but I wonder if you really want to
do that.

We should already support your processor out-of-the box (i think, i'm
still not sure how the interrupts are connected to your board) and
that without the need for any special imask handling code. I suspect
the imask handling code is just based on older kernels where we didn't
have the interrupt configuration that the intc controller and tables
provide today.

So, please begin with remove all calls to make_imask_irq(). Then, try
IRQ4 to IRQ7. If that doesn't work, enable "individual interrupt mode"
for IRL0 to IRL3. That makes them behave like individual interrupt
pins which is a good thing.

The folliwing sh7760-specific table shows which interrupt numbers you
should pass to request_irq() or use with IORESOURCE_IRQ.

IRL0  2
IRL1  5
IRL2  8
IRL3  11
IRQ4  48
IRQ5  49
IRQ6  50
IRQ7  51

Hope this helps!

> p.s.: a little question git-related... (i'm moving my first steps with
> git..) :
>
> if i pull from
>
>        master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6.git
>
> it asks for a password.... ???
>
> currently, i pull from
>
>        git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.git
>
> is it the same?

I'm not sure. I always use the git:// myself.

/ magnus

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] support for edosk7760 board
  2008-08-27 10:34 [PATCH] support for edosk7760 board Luca Santini
                   ` (10 preceding siblings ...)
  2008-09-05  8:30 ` Magnus Damm
@ 2008-09-05  8:33 ` Manuel Lauss
  2008-09-05  8:46 ` Magnus Damm
                   ` (8 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Manuel Lauss @ 2008-09-05  8:33 UTC (permalink / raw)
  To: linux-sh

Hi Magnus,

On Fri, Sep 05, 2008 at 05:14:34PM +0900, Magnus Damm wrote:
> On Mon, Sep 1, 2008 at 5:11 PM, Luca Santini
> <luca.santini@spesonline.com> wrote:
> > thanks for reply Magnus,
> > in 2.6.26 everything works fine with irq 9;
> 
> I see that you install imask handlers for the flash and the ethernet:
> 
> +static int __init init_edosk7760_devices(void){
> +       int ret = -1;
> +
> +       /* This is the Ethernet interrupt */
> +       make_imask_irq(ETHERNET_IRQ);
> +
> +       /* This is the IntelStrata Flash interrupt */
> +       make_imask_irq(0x0A);
> 
> Is the flash interrupt tested?
> 
> I suspect that the chips are connected straight to the IRL pins of the
> processor. Using "individual interrupt mode" would make sense then. Do
> you have access to schematics?

According to the schematics, 15 irqs are connected to a CPLD which creates
the 4bit IRL value. Unfortunately there is no way to individually mask them
in the CPLD itself (it has no databus connection).

MfG,
	Manuel Lauss

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] support for edosk7760 board
  2008-08-27 10:34 [PATCH] support for edosk7760 board Luca Santini
                   ` (11 preceding siblings ...)
  2008-09-05  8:33 ` Manuel Lauss
@ 2008-09-05  8:46 ` Magnus Damm
  2008-09-05  8:48 ` Paul Mundt
                   ` (7 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Magnus Damm @ 2008-09-05  8:46 UTC (permalink / raw)
  To: linux-sh

On Fri, Sep 5, 2008 at 5:33 PM, Manuel Lauss
<mano@roarinelk.homelinux.net> wrote:
> Hi Magnus,
>
> On Fri, Sep 05, 2008 at 05:14:34PM +0900, Magnus Damm wrote:
>> On Mon, Sep 1, 2008 at 5:11 PM, Luca Santini
>> <luca.santini@spesonline.com> wrote:
>> > thanks for reply Magnus,
>> > in 2.6.26 everything works fine with irq 9;
>>
>> I see that you install imask handlers for the flash and the ethernet:
>>
>> +static int __init init_edosk7760_devices(void){
>> +       int ret = -1;
>> +
>> +       /* This is the Ethernet interrupt */
>> +       make_imask_irq(ETHERNET_IRQ);
>> +
>> +       /* This is the IntelStrata Flash interrupt */
>> +       make_imask_irq(0x0A);
>>
>> Is the flash interrupt tested?
>>
>> I suspect that the chips are connected straight to the IRL pins of the
>> processor. Using "individual interrupt mode" would make sense then. Do
>> you have access to schematics?
>
> According to the schematics, 15 irqs are connected to a CPLD which creates
> the 4bit IRL value. Unfortunately there is no way to individually mask them
> in the CPLD itself (it has no databus connection).

Ok, thank you. That's disgusting.

Are all 15 irqs in use? If we only plan on using the ethernet and the
flash, then maybe we can use "individual interrupt mode". Then we can
mask using the cpu.

The code seems to use interrupt number 9 and 10, so maybe the ethernet
controller can use IRL0 (interrupt number 2) and flash IRL1 (interrupt
number 5). The interrupts may of course block each other but there's
nothing we can do about that...

Or as a last resort we may have to fix up the imask controller. =)

Thanks!

/ magnus

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] support for edosk7760 board
  2008-08-27 10:34 [PATCH] support for edosk7760 board Luca Santini
                   ` (12 preceding siblings ...)
  2008-09-05  8:46 ` Magnus Damm
@ 2008-09-05  8:48 ` Paul Mundt
  2008-09-05  9:01 ` Manuel Lauss
                   ` (6 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Paul Mundt @ 2008-09-05  8:48 UTC (permalink / raw)
  To: linux-sh

On Fri, Sep 05, 2008 at 10:14:43AM +0200, Luca Santini wrote:
> p.s.: a little question git-related... (i'm moving my first steps with 
> git..) :
> 
> if i pull from
> 
> 	master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6.git
> 
> it asks for a password.... ???
> 
> currently, i pull from
> 
> 	git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.git
> 
> is it the same?
> 
The first one is for people who have SSH accounts on kernel.org, and is
usually what I include in my pull requests to Linus. This is due to the
fact that the git:// data used to lag behind a bit, so if I pushed the
updates wouldn't be immediately visible through anonymous access.

The time gap between updates between the two these days has mostly been
fixed, and indeed, Linus rewrites the pull requests to go through git://
these days anyways, I've just been too lazy to update my scripts.

In any event, you should always use the git:// URLs.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] support for edosk7760 board
  2008-08-27 10:34 [PATCH] support for edosk7760 board Luca Santini
                   ` (13 preceding siblings ...)
  2008-09-05  8:48 ` Paul Mundt
@ 2008-09-05  9:01 ` Manuel Lauss
  2008-09-05 10:16 ` Luca Santini
                   ` (5 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Manuel Lauss @ 2008-09-05  9:01 UTC (permalink / raw)
  To: linux-sh

On Fri, Sep 05, 2008 at 05:46:08PM +0900, Magnus Damm wrote:
> On Fri, Sep 5, 2008 at 5:33 PM, Manuel Lauss
> <mano@roarinelk.homelinux.net> wrote:
> > Hi Magnus,
> >
> > On Fri, Sep 05, 2008 at 05:14:34PM +0900, Magnus Damm wrote:
> >> On Mon, Sep 1, 2008 at 5:11 PM, Luca Santini
> >> <luca.santini@spesonline.com> wrote:
> >> > thanks for reply Magnus,
> >> > in 2.6.26 everything works fine with irq 9;
> >>
> >> I see that you install imask handlers for the flash and the ethernet:
> >>
> >> +static int __init init_edosk7760_devices(void){
> >> +       int ret = -1;
> >> +
> >> +       /* This is the Ethernet interrupt */
> >> +       make_imask_irq(ETHERNET_IRQ);
> >> +
> >> +       /* This is the IntelStrata Flash interrupt */
> >> +       make_imask_irq(0x0A);
> >>
> >> Is the flash interrupt tested?
> >>
> >> I suspect that the chips are connected straight to the IRL pins of the
> >> processor. Using "individual interrupt mode" would make sense then. Do
> >> you have access to schematics?
> >
> > According to the schematics, 15 irqs are connected to a CPLD which creates
> > the 4bit IRL value. Unfortunately there is no way to individually mask them
> > in the CPLD itself (it has no databus connection).
> 
> Ok, thank you. That's disgusting.

Yes, yes it is...

 
> Are all 15 irqs in use? If we only plan on using the ethernet and the
> flash, then maybe we can use "individual interrupt mode". Then we can
> mask using the cpu.

All except the ethernet and flash irqs are connected to "buffered expasion"
connectors for daughtercards.  So there's really only 1 interesting source.


> The code seems to use interrupt number 9 and 10, so maybe the ethernet
> controller can use IRL0 (interrupt number 2) and flash IRL1 (interrupt
> number 5). The interrupts may of course block each other but there's
> nothing we can do about that...
> 
> Or as a last resort we may have to fix up the imask controller. =)

Heh, I'd rather shame the board vendor into fixing this, but your idea
has a far greater chance of success ;-)

MfG,
	Manuel Lauss

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] support for edosk7760 board
  2008-08-27 10:34 [PATCH] support for edosk7760 board Luca Santini
                   ` (14 preceding siblings ...)
  2008-09-05  9:01 ` Manuel Lauss
@ 2008-09-05 10:16 ` Luca Santini
  2008-09-05 14:14 ` Luca Santini
                   ` (4 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Luca Santini @ 2008-09-05 10:16 UTC (permalink / raw)
  To: linux-sh



Magnus Damm wrote:
> Hi again Luca!
> 
> On Fri, Sep 5, 2008 at 6:50 PM, Luca Santini
> <luca.santini@spesonline.com> wrote:
>> I think i'm misunderstanding something.....
>> if i try to setup eth on irq 2 (or 5 or 8 or 11...)
>> and set the platform like this
>>
>> static void __init sh_edosk7760_init_irq(void)
>> {
>> }
>>
>> static int __init init_edosk7760_devices(void)
>> {
>>        plat_irq_setup_pins(IRQ_MODE_IRQ);
>>
>>        return platform_add_devices(edosk7760_devices,
>> ARRAY_SIZE(edosk7760_devices));
>> }
>> __initcall(init_edosk7760_devices);
> 
> Ok, looking good!
> 
>> i have the well known
>>
>> ...
>> [    1.474095] eth0: SMC91C94 (rev 9) at a2000300 IRQ 2 [nowait]
>> ... (label:)
>> [    3.112795] irq 9, desc: 8c228978, depth: 1, count: 0, unhandled: 0
>> [    3.116471] ->handle_irq():  8c0361d8, handle_bad_irq+0x0/0x1ac
>> [    3.122343] ->chip(): 8c228740, no_irq_chip+0x0/0x40
>> [    3.127267] ->action(): 00000000
>> [    3.130464]   IRQ_DISABLED set
>> ... (goto label)
> 
> It still says "irq 9", is that a coding or copy-paste mistake?
> 

No, it's a fresh grab ! Very strange.....

Trying the IORESOURCE_IRQ_HIGHLEVEL flag and irq 2 the chip isn't 
detected (-19) so of course i have no nfs transfer and no irq problems;
i tried also IORESOURCE_IRQ_LOWLEVEL instead and i get the same

	[    6.893332] unexpected IRQ trap at vector 09
	[    6.897576] irq 9, desc: 8c228978, depth: 1, count: 0, unhandled: 0

etc..


> / magnus
> 
> 

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] support for edosk7760 board
  2008-08-27 10:34 [PATCH] support for edosk7760 board Luca Santini
                   ` (15 preceding siblings ...)
  2008-09-05 10:16 ` Luca Santini
@ 2008-09-05 14:14 ` Luca Santini
  2008-09-08  2:26 ` Magnus Damm
                   ` (3 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Luca Santini @ 2008-09-05 14:14 UTC (permalink / raw)
  To: linux-sh

I finally made eth work with these changes...


Paul please check if my changes to setup-sh7760.c are ok,
many thanks to Magnus and Manuel.

Luca Santini





diff --git a/arch/sh/boards/Kconfig b/arch/sh/boards/Kconfig
index ae19486..8a84c18 100644
--- a/arch/sh/boards/Kconfig
+++ b/arch/sh/boards/Kconfig
@@ -180,6 +180,13 @@ config SH_SH7763RDP
  	  Select SH7763RDP if configuring for a Renesas SH7763
  	  evaluation board.

+config SH_EDOSK7760
+	bool "EDOSK7760"
+	depends on CPU_SUBTYPE_SH7760
+	help
+	  Select if configuring for a Renesas edosk7760
+	  evaluation board.
+
  config SH_EDOSK7705
  	bool "EDOSK7705"
  	depends on CPU_SUBTYPE_SH7705
diff --git a/arch/sh/boards/Makefile b/arch/sh/boards/Makefile
index 463022c..d9efa39 100644
--- a/arch/sh/boards/Makefile
+++ b/arch/sh/boards/Makefile
@@ -6,3 +6,4 @@ obj-$(CONFIG_SH_MAGIC_PANEL_R2)	+= board-magicpanelr2.o
  obj-$(CONFIG_SH_RSK7203)	+= board-rsk7203.o
  obj-$(CONFIG_SH_SH7785LCR)	+= board-sh7785lcr.o
  obj-$(CONFIG_SH_SHMIN)		+= board-shmin.o
+obj-$(CONFIG_SH_EDOSK7760)	+= board-edosk7760.o
diff --git a/arch/sh/boards/board-edosk7760.c 
b/arch/sh/boards/board-edosk7760.c
new file mode 100644
index 0000000..82f76d1
--- /dev/null
+++ b/arch/sh/boards/board-edosk7760.c
@@ -0,0 +1,184 @@
+/*
+ *
+ * Renesas Europe EDOSK7760 Board Support
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Copyright (C) 2008 SPES Societa' Progettazione Elettronica e 
Software Ltd.
+ * Author: Luca Santini <luca.santini@spesonline.com>
+ *
+ */
+
+/* Bus state controller registers for CS4 area */
+#define BSC_CS4BCR    0xA4FD0010
+#define BSC_CS4WCR    0xA4FD0030
+
+#define SMC_IOBASE  0xA2000000
+#define SMC_IO_OFFSET 0x300
+#define SMC_IOADDR	SMC_IOBASE + SMC_IO_OFFSET
+#define ETHERNET_IRQ 5
+
+#include <linux/init.h>
+#include <linux/types.h>
+#include <linux/platform_device.h>
+#include <linux/smc91x.h>
+#include <linux/interrupt.h>
+#include <linux/i2c.h>
+#include <asm/machvec.h>
+#include <asm/io.h>
+#include <asm/addrspace.h>
+#include <asm/delay.h>
+#include <asm/i2c-sh7760.h>
+
+
+/* i2c initialization functions */
+
+static struct sh7760_i2c_platdata i2c_pd = {
+        .speed_khz      = 400,
+};
+
+static struct resource sh7760_i2c1_res[] = {
+        {
+                .start  = SH7760_I2C1_MMIO,
+                .end    = SH7760_I2C1_MMIOEND,
+                .flags  = IORESOURCE_MEM,
+        },{
+                .start  = SH7760_I2C1_IRQ,
+                .end    = SH7760_I2C1_IRQ,
+                .flags  = IORESOURCE_IRQ,
+        },
+};
+
+static struct platform_device sh7760_i2c1_dev = {
+        .dev    = {
+                .platform_data  = &i2c_pd,
+        },
+        .name           = SH7760_I2C_DEVNAME,
+        .id             = 1,
+        .resource       = sh7760_i2c1_res,
+        .num_resources  = ARRAY_SIZE(sh7760_i2c1_res),
+};
+
+
+static struct resource sh7760_i2c0_res[] = {
+        {
+                .start  = SH7760_I2C0_MMIO,
+                .end    = SH7760_I2C0_MMIOEND,
+                .flags  = IORESOURCE_MEM,
+        },{
+                .start  = SH7760_I2C0_IRQ,
+                .end    = SH7760_I2C0_IRQ,
+                .flags  = IORESOURCE_IRQ,
+        },
+};
+
+static struct platform_device sh7760_i2c0_dev = {
+        .dev    = {
+                .platform_data  = &i2c_pd,
+        },
+        .name           = SH7760_I2C_DEVNAME,
+        .id             = 0,
+        .resource       = sh7760_i2c0_res,
+        .num_resources  = ARRAY_SIZE(sh7760_i2c0_res),
+};
+
+/* eth initialization functions */
+
+static struct smc91x_platdata smc91x_info = {
+	.flags = SMC91X_USE_16BIT | SMC91X_IO_SHIFT_1 | IORESOURCE_IRQ_LOWLEVEL,
+};
+
+static struct resource smc91x_res[] = {
+        [0] = {
+		.start  = SMC_IOADDR,
+		.end    = SMC_IOADDR + 0x1f,
+		.flags  = IORESOURCE_MEM,
+        },
+        [1] = {
+		.start  = ETHERNET_IRQ,
+		.end    = ETHERNET_IRQ,
+		.flags  = IORESOURCE_IRQ ,
+        }
+};
+
+static struct platform_device smc91x_dev = {
+
+        .name           = "smc91x",
+        .id             = -1,
+        .num_resources  = ARRAY_SIZE(smc91x_res),
+        .resource       = smc91x_res,
+		.dev	= {
+			.platform_data	= &smc91x_info,
+		},
+
+};
+
+/* platform init code */
+
+static struct platform_device *edosk7760_devices[] __initdata = {
+	&sh7760_i2c0_dev,
+	&sh7760_i2c1_dev,
+#if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE)
+	&smc91x_dev,
+#endif
+	
+};
+
+static int __init init_edosk7760_devices(void)
+{
+ 	plat_irq_setup_pins(IRQ_MODE_IRQ);
+	return platform_add_devices(edosk7760_devices, 
ARRAY_SIZE(edosk7760_devices));
+}
+__initcall(init_edosk7760_devices);
+
+/*
+ * The Machine Vector
+ */
+struct sh_machine_vector mv_edosk7760 __initmv = {
+	.mv_name	= "EDOSK7760",
+	.mv_nr_irqs	= 128,
+};
diff --git a/arch/sh/kernel/cpu/sh4/setup-sh7760.c 
b/arch/sh/kernel/cpu/sh4/setup-sh7760.c
index 254c5c5..cccd9a3 100644
--- a/arch/sh/kernel/cpu/sh4/setup-sh7760.c
+++ b/arch/sh/kernel/cpu/sh4/setup-sh7760.c
@@ -9,6 +9,7 @@
   */
  #include <linux/platform_device.h>
  #include <linux/init.h>
+#include <linux/io.h>
  #include <linux/serial.h>
  #include <linux/serial_sci.h>

@@ -178,10 +179,15 @@ static int __init sh7760_devices_setup(void)
  }
  __initcall(sh7760_devices_setup);

+#define INTC_ICR	0xffd00000UL
+#define INTC_ICR_IRLM   (1<<7)
+
+
  void __init plat_irq_setup_pins(int mode)
  {
  	switch (mode) {
  	case IRQ_MODE_IRQ:
+		ctrl_outw(ctrl_inw(INTC_ICR) | INTC_ICR_IRLM, INTC_ICR);
  		register_intc_controller(&intc_desc_irq);
  		break;
  	default:
diff --git a/drivers/net/smc91x.h b/drivers/net/smc91x.h
index 997e7f1..edea073 100644
--- a/drivers/net/smc91x.h
+++ b/drivers/net/smc91x.h
@@ -446,6 +446,8 @@ static inline void LPD7_SMC_outsw (unsigned char* a, 
int r,
  #define SMC_CAN_USE_32BIT	1
  #define SMC_NOWAIT		1

+#define SMC_IO_SHIFT		(lp->io_shift)
+
  #define SMC_inb(a, r)		readb((a) + (r))
  #define SMC_inw(a, r)		readw((a) + (r))
  #define SMC_inl(a, r)		readl((a) + (r))



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* Re: [PATCH] support for edosk7760 board
  2008-08-27 10:34 [PATCH] support for edosk7760 board Luca Santini
                   ` (16 preceding siblings ...)
  2008-09-05 14:14 ` Luca Santini
@ 2008-09-08  2:26 ` Magnus Damm
  2008-09-08  2:30 ` Paul Mundt
                   ` (2 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Magnus Damm @ 2008-09-08  2:26 UTC (permalink / raw)
  To: linux-sh

Hi again Luca,

On Fri, Sep 5, 2008 at 11:14 PM, Luca Santini
<luca.santini@spesonline.com> wrote:
> I finally made eth work with these changes...

Great news!

> Paul please check if my changes to setup-sh7760.c are ok,
> many thanks to Magnus and Manuel.

I think you should split your patch into three parts:
1) smc91x specific code
2) sh7760 specific code
3) edos7760 specific code

I'm planning on submitting patch 1) upstream myself, so you don't have
to do anything about that. Just excluded that part. As for 2) and 3),
you should definitely resend them.

Also, please send them to a new thread. Thank you!

/ magnus

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] support for edosk7760 board
  2008-08-27 10:34 [PATCH] support for edosk7760 board Luca Santini
                   ` (17 preceding siblings ...)
  2008-09-08  2:26 ` Magnus Damm
@ 2008-09-08  2:30 ` Paul Mundt
  2008-09-08  2:52 ` Paul Mundt
  2008-09-08  5:41 ` Manuel Lauss
  20 siblings, 0 replies; 22+ messages in thread
From: Paul Mundt @ 2008-09-08  2:30 UTC (permalink / raw)
  To: linux-sh

On Mon, Sep 08, 2008 at 11:26:54AM +0900, Magnus Damm wrote:
> Hi again Luca,
> 
> On Fri, Sep 5, 2008 at 11:14 PM, Luca Santini
> <luca.santini@spesonline.com> wrote:
> > I finally made eth work with these changes...
> 
> Great news!
> 
> > Paul please check if my changes to setup-sh7760.c are ok,
> > many thanks to Magnus and Manuel.
> 
> I think you should split your patch into three parts:
> 1) smc91x specific code
> 2) sh7760 specific code
> 3) edos7760 specific code
> 
> I'm planning on submitting patch 1) upstream myself, so you don't have
> to do anything about that. Just excluded that part. As for 2) and 3),
> you should definitely resend them.
> 
> Also, please send them to a new thread. Thank you!
> 
No worries, I'll split out 2 and 3 manually, it's not that big of a deal.
The SH7760 bits look fine to me anyways. Manuel?

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] support for edosk7760 board
  2008-08-27 10:34 [PATCH] support for edosk7760 board Luca Santini
                   ` (18 preceding siblings ...)
  2008-09-08  2:30 ` Paul Mundt
@ 2008-09-08  2:52 ` Paul Mundt
  2008-09-08  5:41 ` Manuel Lauss
  20 siblings, 0 replies; 22+ messages in thread
From: Paul Mundt @ 2008-09-08  2:52 UTC (permalink / raw)
  To: linux-sh

On Mon, Sep 08, 2008 at 11:30:11AM +0900, Paul Mundt wrote:
> On Mon, Sep 08, 2008 at 11:26:54AM +0900, Magnus Damm wrote:
> > Hi again Luca,
> > 
> > On Fri, Sep 5, 2008 at 11:14 PM, Luca Santini
> > <luca.santini@spesonline.com> wrote:
> > > I finally made eth work with these changes...
> > 
> > Great news!
> > 
> > > Paul please check if my changes to setup-sh7760.c are ok,
> > > many thanks to Magnus and Manuel.
> > 
> > I think you should split your patch into three parts:
> > 1) smc91x specific code
> > 2) sh7760 specific code
> > 3) edos7760 specific code
> > 
> > I'm planning on submitting patch 1) upstream myself, so you don't have
> > to do anything about that. Just excluded that part. As for 2) and 3),
> > you should definitely resend them.
> > 
> > Also, please send them to a new thread. Thank you!
> > 
> No worries, I'll split out 2 and 3 manually, it's not that big of a deal.
> The SH7760 bits look fine to me anyways. Manuel?

Luca, please also send an edosk7760_defconfig so that we are able to tie
this in to the daily builds.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] support for edosk7760 board
  2008-08-27 10:34 [PATCH] support for edosk7760 board Luca Santini
                   ` (19 preceding siblings ...)
  2008-09-08  2:52 ` Paul Mundt
@ 2008-09-08  5:41 ` Manuel Lauss
  20 siblings, 0 replies; 22+ messages in thread
From: Manuel Lauss @ 2008-09-08  5:41 UTC (permalink / raw)
  To: linux-sh

On Mon, Sep 08, 2008 at 11:30:11AM +0900, Paul Mundt wrote:
> On Mon, Sep 08, 2008 at 11:26:54AM +0900, Magnus Damm wrote:
> > Hi again Luca,
> > 
> > On Fri, Sep 5, 2008 at 11:14 PM, Luca Santini
> > <luca.santini@spesonline.com> wrote:
> > > I finally made eth work with these changes...
> > 
> > Great news!
> > 
> > > Paul please check if my changes to setup-sh7760.c are ok,
> > > many thanks to Magnus and Manuel.
> > 
> > I think you should split your patch into three parts:
> > 1) smc91x specific code
> > 2) sh7760 specific code
> > 3) edos7760 specific code
> > 
> > I'm planning on submitting patch 1) upstream myself, so you don't have
> > to do anything about that. Just excluded that part. As for 2) and 3),
> > you should definitely resend them.
> > 
> > Also, please send them to a new thread. Thank you!
> > 
> No worries, I'll split out 2 and 3 manually, it's not that big of a deal.
> The SH7760 bits look fine to me anyways. Manuel?

No runtime problems here;  the change is required for non-IRL mode to work.

Best regards,
	Manuel Lauss

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2008-09-08  5:41 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-08-27 10:34 [PATCH] support for edosk7760 board Luca Santini
2008-08-27 11:12 ` Manuel Lauss
2008-08-27 14:55 ` Paul Mundt
2008-08-28  3:00 ` Paul Mundt
2008-08-28 11:50 ` Magnus Damm
2008-08-29  8:35 ` Luca Santini
2008-09-01  1:24 ` Magnus Damm
2008-09-01  8:11 ` Luca Santini
2008-09-05  8:14 ` Magnus Damm
2008-09-05  8:14 ` Luca Santini
2008-09-05  8:17 ` Magnus Damm
2008-09-05  8:30 ` Magnus Damm
2008-09-05  8:33 ` Manuel Lauss
2008-09-05  8:46 ` Magnus Damm
2008-09-05  8:48 ` Paul Mundt
2008-09-05  9:01 ` Manuel Lauss
2008-09-05 10:16 ` Luca Santini
2008-09-05 14:14 ` Luca Santini
2008-09-08  2:26 ` Magnus Damm
2008-09-08  2:30 ` Paul Mundt
2008-09-08  2:52 ` Paul Mundt
2008-09-08  5:41 ` Manuel Lauss

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox