From dac5219ef520c61d4174d7ae3c29353f55410cfb Mon Sep 17 00:00:00 2001 From: Kristoffer Ericson Date: Thu, 5 Apr 2007 07:01:32 +0000 Subject: packages/linux/linux-jlime-jornada6xx-2.6.21rc5: * Addition of new kernel for the hp6xx platform. Updates since last is mainly focused on adjusting to changed API's and also moving from ide-sh into Pata. --- .../.mtn2git_empty | 0 .../linux-jlime-jornada6xx-2.6.21rc5/defconfig | 1245 ++++++++++++++++++++ .../git-20070405-2.patch | 1058 +++++++++++++++++ packages/linux/linux-jlime-jornada6xx_2.6.21rc5.bb | 32 + 4 files changed, 2335 insertions(+) create mode 100644 packages/linux/linux-jlime-jornada6xx-2.6.21rc5/.mtn2git_empty create mode 100644 packages/linux/linux-jlime-jornada6xx-2.6.21rc5/defconfig create mode 100644 packages/linux/linux-jlime-jornada6xx-2.6.21rc5/git-20070405-2.patch create mode 100644 packages/linux/linux-jlime-jornada6xx_2.6.21rc5.bb (limited to 'packages/linux') diff --git a/packages/linux/linux-jlime-jornada6xx-2.6.21rc5/.mtn2git_empty b/packages/linux/linux-jlime-jornada6xx-2.6.21rc5/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/linux/linux-jlime-jornada6xx-2.6.21rc5/defconfig b/packages/linux/linux-jlime-jornada6xx-2.6.21rc5/defconfig new file mode 100644 index 0000000000..2a86055123 --- /dev/null +++ b/packages/linux/linux-jlime-jornada6xx-2.6.21rc5/defconfig @@ -0,0 +1,1245 @@ +# +# Automatically generated make config: don't edit +# Linux kernel version: 2.6.21-rc5 +# Wed Apr 4 23:26:23 2007 +# +CONFIG_SUPERH=y +CONFIG_RWSEM_GENERIC_SPINLOCK=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 is not set +CONFIG_SYS_SUPPORTS_APM_EMULATION=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_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" + +# +# Code maturity level options +# +CONFIG_EXPERIMENTAL=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_SWAP=y +CONFIG_SYSVIPC=y +# CONFIG_IPC_NS is not set +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_UTS_NS is not set +# CONFIG_AUDIT is not set +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_SYSFS_DEPRECATED=y +CONFIG_RELAY=y +# CONFIG_BLK_DEV_INITRD is not set +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SYSCTL=y +CONFIG_EMBEDDED=y +CONFIG_UID16=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_EXTRA_PASS is not set +CONFIG_HOTPLUG=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SHMEM=y +CONFIG_SLAB=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_RT_MUTEXES=y +# CONFIG_TINY_SHMEM is not set +CONFIG_BASE_SMALL=0 +# CONFIG_SLOB is not set + +# +# Loadable module support +# +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_KMOD is not set + +# +# Block layer +# +CONFIG_BLOCK=y +# CONFIG_LBD is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_LSF is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +# CONFIG_IOSCHED_AS is not set +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" + +# +# System type +# +# CONFIG_SH_SOLUTION_ENGINE is not set +# CONFIG_SH_7751_SOLUTION_ENGINE is not set +# CONFIG_SH_7300_SOLUTION_ENGINE is not set +# CONFIG_SH_7343_SOLUTION_ENGINE is not set +# CONFIG_SH_73180_SOLUTION_ENGINE is not set +# CONFIG_SH_7751_SYSTEMH is not set +CONFIG_SH_HP6XX=y +# CONFIG_SH_SATURN is not set +# CONFIG_SH_DREAMCAST is not set +# CONFIG_SH_MPC1211 is not set +# CONFIG_SH_SH03 is not set +# CONFIG_SH_SECUREEDGE5410 is not set +# CONFIG_SH_HS7751RVOIP is not set +# CONFIG_SH_7710VOIPGW is not set +# CONFIG_SH_RTS7751R2D is not set +# CONFIG_SH_R7780RP is not set +# CONFIG_SH_EDOSK7705 is not set +# CONFIG_SH_SH4202_MICRODEV is not set +# CONFIG_SH_LANDISK is not set +# CONFIG_SH_TITAN is not set +# CONFIG_SH_SHMIN is not set +# CONFIG_SH_7206_SOLUTION_ENGINE is not set +# CONFIG_SH_7619_SOLUTION_ENGINE is not set +# CONFIG_SH_UNKNOWN is not set + +# +# Processor selection +# +CONFIG_CPU_SH3=y + +# +# SH-2 Processor Support +# +# CONFIG_CPU_SUBTYPE_SH7604 is not set +# CONFIG_CPU_SUBTYPE_SH7619 is not set + +# +# SH-2A Processor Support +# +# CONFIG_CPU_SUBTYPE_SH7206 is not set + +# +# SH-3 Processor Support +# +# CONFIG_CPU_SUBTYPE_SH7300 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=y +# CONFIG_CPU_SUBTYPE_SH7710 is not set + +# +# SH-4 Processor Support +# +# 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 is not set +# CONFIG_CPU_SUBTYPE_SH4_202 is not set + +# +# ST40 Processor Support +# +# CONFIG_CPU_SUBTYPE_ST40STB1 is not set +# CONFIG_CPU_SUBTYPE_ST40GX1 is not set + +# +# SH-4A Processor Support +# +# CONFIG_CPU_SUBTYPE_SH7770 is not set +# CONFIG_CPU_SUBTYPE_SH7780 is not set +# CONFIG_CPU_SUBTYPE_SH7785 is not set + +# +# SH4AL-DSP Processor Support +# +# CONFIG_CPU_SUBTYPE_SH73180 is not set +# CONFIG_CPU_SUBTYPE_SH7343 is not set +# CONFIG_CPU_SUBTYPE_SH7722 is not set + +# +# Memory management options +# +CONFIG_MMU=y +CONFIG_PAGE_OFFSET=0x80000000 +CONFIG_MEMORY_START=0x0d000000 +CONFIG_MEMORY_SIZE=0x00400000 +CONFIG_VSYSCALL=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 is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_RESOURCES_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 + +# +# Cache configuration +# +# CONFIG_SH_DIRECT_MAPPED is not set +CONFIG_SH_WRITETHROUGH=y +# CONFIG_SH_OCRAM is not set + +# +# Processor features +# +CONFIG_CPU_LITTLE_ENDIAN=y +# CONFIG_CPU_BIG_ENDIAN is not set +# CONFIG_SH_FPU_EMU is not set +CONFIG_SH_DSP=y +CONFIG_SH_ADC=y +CONFIG_CPU_HAS_INTEVT=y +CONFIG_CPU_HAS_PINT_IRQ=y +CONFIG_CPU_HAS_IPR_IRQ=y +CONFIG_CPU_HAS_SR_RB=y + +# +# Timer support +# +CONFIG_SH_TMU=y +CONFIG_SH_TIMER_IRQ=16 +# CONFIG_NO_IDLE_HZ is not set +CONFIG_SH_PCLK_FREQ=22110000 + +# +# CPU Frequency scaling +# +# CONFIG_CPU_FREQ is not set + +# +# DMA support +# +CONFIG_SH_DMA=y +CONFIG_NR_ONCHIP_DMA_CHANNELS=4 +# CONFIG_NR_DMA_CHANNELS_BOOL is not set + +# +# Companion Chips +# +CONFIG_HD6446X_SERIES=y +CONFIG_HD64461=y +# CONFIG_HD64465 is not set +CONFIG_HD64461_IRQ=36 +CONFIG_HD64461_IOBASE=0xb0000000 +CONFIG_HD64461_ENABLER=y + +# +# Additional SuperH Device Drivers +# +# 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_KEXEC is not set +# CONFIG_SMP is not set +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT is not set + +# +# Boot options +# +CONFIG_ZERO_PAGE_OFFSET=0x00001000 +CONFIG_BOOT_LINK_OFFSET=0x00800000 +# CONFIG_UBC_WAKEUP is not set +# CONFIG_CMDLINE_BOOL is not set + +# +# Bus options +# +CONFIG_ISA=y +# CONFIG_PCI is not set + +# +# PCCARD (PCMCIA/CardBus) support +# +CONFIG_PCCARD=y +# CONFIG_PCMCIA_DEBUG is not set +CONFIG_PCMCIA=y +CONFIG_PCMCIA_LOAD_CIS=y +# CONFIG_PCMCIA_IOCTL is not set + +# +# PC-card bridges +# +# CONFIG_I82365 is not set +# CONFIG_TCIC is not set +CONFIG_PCMCIA_PROBE=y + +# +# PCI Hotplug Support +# + +# +# Executable file formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_BINFMT_FLAT is not set +# CONFIG_BINFMT_MISC is not set + +# +# Power management options (EXPERIMENTAL) +# +# CONFIG_PM is not set + +# +# Networking +# +CONFIG_NET=y + +# +# Networking options +# +CONFIG_NETDEBUG=y +CONFIG_PACKET=y +CONFIG_PACKET_MMAP=y +CONFIG_UNIX=y +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +CONFIG_NET_KEY=y +# CONFIG_NET_KEY_MIGRATE 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 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=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +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_INET6_XFRM_TUNNEL is not set +# CONFIG_INET6_TUNNEL is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NETFILTER is not set + +# +# DCCP Configuration (EXPERIMENTAL) +# +# CONFIG_IP_DCCP is not set + +# +# SCTP Configuration (EXPERIMENTAL) +# +# CONFIG_IP_SCTP is not set + +# +# TIPC Configuration (EXPERIMENTAL) +# +# 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 + +# +# QoS and/or fair queueing +# +# CONFIG_NET_SCHED is not set + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +CONFIG_IEEE80211=y +# CONFIG_IEEE80211_DEBUG is not set +CONFIG_IEEE80211_CRYPT_WEP=y +# CONFIG_IEEE80211_CRYPT_CCMP is not set +# CONFIG_IEEE80211_CRYPT_TKIP is not set +# CONFIG_IEEE80211_SOFTMAC is not set +CONFIG_WIRELESS_EXT=y + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_FW_LOADER=y +# CONFIG_SYS_HYPERVISOR is not set + +# +# Connector - unified userspace <-> kernelspace linker +# +# CONFIG_CONNECTOR is not set + +# +# Memory Technology Devices (MTD) +# +# CONFIG_MTD is not set + +# +# Parallel port support +# +CONFIG_PARPORT=y +# CONFIG_PARPORT_PC is not set +# CONFIG_PARPORT_GSC is not set +# CONFIG_PARPORT_AX88796 is not set +# CONFIG_PARPORT_1284 is not set + +# +# Plug and Play support +# +# CONFIG_PNP is not set +# CONFIG_PNPACPI is not set + +# +# Block devices +# +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_RAM is not set +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set + +# +# Misc devices +# + +# +# ATA/ATAPI/MFM/RLL support +# +# CONFIG_IDE is not set + +# +# SCSI device support +# +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +# CONFIG_SCSI_TGT is not set +# CONFIG_SCSI_NETLINK is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +CONFIG_BLK_DEV_SR=y +# CONFIG_BLK_DEV_SR_VENDOR is not set +CONFIG_CHR_DEV_SG=y +CONFIG_CHR_DEV_SCH=y + +# +# Some SCSI devices (e.g. CD jukebox) support multiple LUNs +# +# CONFIG_SCSI_MULTI_LUN is not set +CONFIG_SCSI_CONSTANTS=y +CONFIG_SCSI_LOGGING=y +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set + +# +# SCSI low-level drivers +# +# CONFIG_ISCSI_TCP is not set +# CONFIG_SCSI_AHA152X is not set +# CONFIG_SCSI_AIC7XXX_OLD is not set +# CONFIG_SCSI_IN2000 is not set +# CONFIG_SCSI_DTC3280 is not set +# CONFIG_SCSI_FUTURE_DOMAIN is not set +# CONFIG_SCSI_GENERIC_NCR5380 is not set +# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set +# CONFIG_SCSI_NCR53C406A is not set +# CONFIG_SCSI_PAS16 is not set +# CONFIG_SCSI_PSI240I is not set +# CONFIG_SCSI_QLOGIC_FAS is not set +# CONFIG_SCSI_SYM53C416 is not set +# CONFIG_SCSI_T128 is not set +# CONFIG_SCSI_DEBUG is not set + +# +# PCMCIA SCSI adapter support +# +# CONFIG_PCMCIA_AHA152X is not set +# CONFIG_PCMCIA_FDOMAIN is not set +# CONFIG_PCMCIA_NINJA_SCSI is not set +# CONFIG_PCMCIA_QLOGIC is not set +# CONFIG_PCMCIA_SYM53C500 is not set + +# +# Serial ATA (prod) and Parallel ATA (experimental) drivers +# +CONFIG_ATA=y +# CONFIG_ATA_NONSTANDARD is not set +# CONFIG_PATA_LEGACY is not set +# CONFIG_PATA_PCMCIA is not set +# CONFIG_PATA_QDI is not set +# CONFIG_PATA_WINBOND_VLB is not set +CONFIG_PATA_PLATFORM=y + +# +# Old CD-ROM drivers (not SCSI, not IDE) +# +# CONFIG_CD_NO_IDESCSI is not set + +# +# Multi-device support (RAID and LVM) +# +# CONFIG_MD is not set + +# +# Fusion MPT device support +# +# CONFIG_FUSION is not set + +# +# IEEE 1394 (FireWire) support +# + +# +# I2O device support +# + +# +# Network device support +# +CONFIG_NETDEVICES=y +CONFIG_DUMMY=y +# CONFIG_BONDING is not set +# CONFIG_EQUALIZER is not set +# CONFIG_TUN is not set + +# +# ARCnet devices +# +# CONFIG_ARCNET is not set + +# +# PHY device support +# +# CONFIG_PHYLIB is not set + +# +# Ethernet (10 or 100Mbit) +# +CONFIG_NET_ETHERNET=y +CONFIG_MII=y +# CONFIG_STNIC is not set +# CONFIG_NET_VENDOR_3COM is not set +# CONFIG_NET_VENDOR_SMC is not set +# CONFIG_SMC91X is not set +# CONFIG_NET_VENDOR_RACAL is not set +# CONFIG_AT1700 is not set +# CONFIG_DEPCA is not set +# CONFIG_HP100 is not set +# CONFIG_NET_ISA is not set +# CONFIG_NET_PCI is not set +# CONFIG_NET_POCKET is not set + +# +# Ethernet (1000 Mbit) +# + +# +# Ethernet (10000 Mbit) +# + +# +# Token Ring devices +# +# CONFIG_TR is not set + +# +# Wireless LAN (non-hamradio) +# +CONFIG_NET_RADIO=y +# CONFIG_NET_WIRELESS_RTNETLINK is not set + +# +# Obsolete Wireless cards support (pre-802.11) +# +# CONFIG_STRIP is not set +# CONFIG_ARLAN is not set +# CONFIG_WAVELAN is not set +# CONFIG_PCMCIA_WAVELAN is not set +# CONFIG_PCMCIA_NETWAVE is not set + +# +# Wireless 802.11 Frequency Hopping cards support +# +# CONFIG_PCMCIA_RAYCS is not set + +# +# Wireless 802.11b ISA/PCI cards support +# +# CONFIG_HERMES is not set +# CONFIG_ATMEL is not set + +# +# Wireless 802.11b Pcmcia/Cardbus cards support +# +# CONFIG_AIRO_CS is not set +# CONFIG_PCMCIA_WL3501 is not set +# CONFIG_HOSTAP is not set +CONFIG_NET_WIRELESS=y + +# +# PCMCIA network device support +# +CONFIG_NET_PCMCIA=y +# CONFIG_PCMCIA_3C589 is not set +# CONFIG_PCMCIA_3C574 is not set +# CONFIG_PCMCIA_FMVJ18X is not set +# CONFIG_PCMCIA_PCNET is not set +# CONFIG_PCMCIA_NMCLAN is not set +# CONFIG_PCMCIA_SMC91C92 is not set +# CONFIG_PCMCIA_XIRC2PS is not set +# CONFIG_PCMCIA_AXNET is not set + +# +# Wan interfaces +# +# CONFIG_WAN is not set +# CONFIG_PLIP is not set +# CONFIG_PPP is not set +# CONFIG_SLIP is not set +# CONFIG_SHAPER is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set + +# +# ISDN subsystem +# +# CONFIG_ISDN is not set + +# +# Telephony Support +# +# CONFIG_PHONE is not set + +# +# Input device support +# +CONFIG_INPUT=y +# CONFIG_INPUT_FF_MEMLESS is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=640 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=240 +# CONFIG_INPUT_JOYDEV is not set +CONFIG_INPUT_TSDEV=y +CONFIG_INPUT_TSDEV_SCREEN_X=240 +CONFIG_INPUT_TSDEV_SCREEN_Y=320 +# CONFIG_INPUT_EVDEV is not set +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +# CONFIG_KEYBOARD_ATKBD is not set +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_INPUT_JOYSTICK is not set +CONFIG_INPUT_TOUCHSCREEN=y +# CONFIG_TOUCHSCREEN_GUNZE is not set +# CONFIG_TOUCHSCREEN_ELO is not set +# CONFIG_TOUCHSCREEN_MTOUCH is not set +# CONFIG_TOUCHSCREEN_MK712 is not set +CONFIG_TOUCHSCREEN_HP600=y +# CONFIG_TOUCHSCREEN_PENMOUNT is not set +# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set +# CONFIG_TOUCHSCREEN_TOUCHWIN is not set +# CONFIG_TOUCHSCREEN_UCB1400 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_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=2 +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=5 +# CONFIG_PRINTER is not set +# CONFIG_PPDEV is not set +# CONFIG_TIPAR is not set + +# +# IPMI +# +# CONFIG_IPMI_HANDLER is not set + +# +# Watchdog Cards +# +# CONFIG_WATCHDOG is not set +CONFIG_HW_RANDOM=m +# CONFIG_GEN_RTC is not set +# CONFIG_DTLK is not set +# CONFIG_R3964 is not set + +# +# PCMCIA character devices +# +# CONFIG_SYNCLINK_CS is not set +# CONFIG_CARDMAN_4000 is not set +# CONFIG_CARDMAN_4040 is not set +# CONFIG_RAW_DRIVER is not set + +# +# TPM devices +# +# CONFIG_TCG_TPM is not set + +# +# I2C support +# +# CONFIG_I2C is not set + +# +# SPI support +# +# CONFIG_SPI is not set +# CONFIG_SPI_MASTER is not set + +# +# Dallas's 1-wire bus +# +# CONFIG_W1 is not set + +# +# Hardware Monitoring support +# +CONFIG_HWMON=y +# CONFIG_HWMON_VID is not set +# CONFIG_SENSORS_ABITUGURU is not set +# CONFIG_SENSORS_F71805F is not set +# CONFIG_SENSORS_PC87427 is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_HWMON_DEBUG_CHIP is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_SM501 is not set + +# +# Multimedia devices +# +# CONFIG_VIDEO_DEV is not set + +# +# Digital Video Broadcasting Devices +# +# CONFIG_DVB is not set + +# +# Graphics support +# +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_LCD_CLASS_DEVICE=y +CONFIG_BACKLIGHT_HP680=y +CONFIG_FB=y +CONFIG_FIRMWARE_EDID=y +# CONFIG_FB_DDC is not set +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +# 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 is not set + +# +# Frambuffer hardware drivers +# +# CONFIG_FB_EPSON1355 is not set +# CONFIG_FB_S1D13XXX is not set +CONFIG_FB_HIT=y +# CONFIG_FB_VIRTUAL is not set + +# +# Console display driver support +# +# CONFIG_MDA_CONSOLE is not set +CONFIG_DUMMY_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +CONFIG_FONTS=y +# CONFIG_FONT_8x8 is not set +# CONFIG_FONT_8x16 is not set +# CONFIG_FONT_6x11 is not set +# CONFIG_FONT_7x14 is not set +CONFIG_FONT_PEARL_8x8=y +# CONFIG_FONT_ACORN_8x8 is not set +# CONFIG_FONT_MINI_4x6 is not set +# CONFIG_FONT_SUN8x16 is not set +# CONFIG_FONT_SUN12x22 is not set +# CONFIG_FONT_10x18 is not set + +# +# Logo configuration +# +# CONFIG_LOGO is not set + +# +# Sound +# +# CONFIG_SOUND is not set + +# +# HID Devices +# +CONFIG_HID=y +# CONFIG_HID_DEBUG is not set + +# +# USB support +# +# CONFIG_USB_ARCH_HAS_HCD is not set +# CONFIG_USB_ARCH_HAS_OHCI is not set +# CONFIG_USB_ARCH_HAS_EHCI is not set + +# +# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' +# + +# +# USB Gadget Support +# +# CONFIG_USB_GADGET is not set + +# +# MMC/SD Card support +# +# CONFIG_MMC is not set + +# +# LED devices +# +# CONFIG_NEW_LEDS is not set + +# +# LED drivers +# + +# +# LED Triggers +# + +# +# InfiniBand support +# + +# +# EDAC - error detection and reporting (RAS) (EXPERIMENTAL) +# + +# +# Real Time Clock +# +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set + +# +# RTC drivers +# +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_M48T86 is not set +CONFIG_RTC_DRV_SH=y +# CONFIG_RTC_DRV_TEST is not set +# CONFIG_RTC_DRV_V3020 is not set + +# +# DMA Engine support +# +# CONFIG_DMA_ENGINE is not set + +# +# DMA Clients +# + +# +# DMA Devices +# + +# +# Auxiliary Display support +# + +# +# Virtualization +# + +# +# File systems +# +CONFIG_EXT2_FS=y +# CONFIG_EXT2_FS_XATTR is not set +# CONFIG_EXT2_FS_XIP is not set +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_JBD_DEBUG is not set +CONFIG_FS_MBCACHE=y +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_FS_POSIX_ACL is not set +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_OCFS2_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_ROMFS_FS is not set +CONFIG_INOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_QUOTA is not set +CONFIG_DNOTIFY=y +CONFIG_AUTOFS_FS=y +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +# CONFIG_MSDOS_FS is not set +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_KCORE=y +CONFIG_PROC_SYSCTL=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +# CONFIG_TMPFS_POSIX_ACL is not set +# CONFIG_HUGETLBFS is not set +# CONFIG_HUGETLB_PAGE is not set +CONFIG_RAMFS=y +# 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_CRAMFS is not set +# CONFIG_VXFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set + +# +# Network File Systems +# +CONFIG_NFS_FS=m +# CONFIG_NFS_V3 is not set +# CONFIG_NFS_V4 is not set +# CONFIG_NFS_DIRECTIO is not set +CONFIG_NFSD=m +# CONFIG_NFSD_V3 is not set +CONFIG_NFSD_TCP=y +CONFIG_LOCKD=m +CONFIG_EXPORTFS=m +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=m +# CONFIG_RPCSEC_GSS_KRB5 is not set +# CONFIG_RPCSEC_GSS_SPKM3 is not set +CONFIG_SMB_FS=m +# CONFIG_SMB_NLS_DEFAULT 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 +# CONFIG_9P_FS is not set + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +# CONFIG_EFI_PARTITION is not set + +# +# Native Language Support +# +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=m +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=m +CONFIG_NLS_ISO8859_1=m +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +CONFIG_NLS_UTF8=m + +# +# Distributed Lock Manager +# +# CONFIG_DLM is not set + +# +# Profiling support +# +# CONFIG_PROFILING is not set + +# +# Kernel hacking +# +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +# CONFIG_PRINTK_TIME is not set +CONFIG_ENABLE_MUST_CHECK=y +# CONFIG_MAGIC_SYSRQ is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_KERNEL is not set +CONFIG_LOG_BUF_SHIFT=14 +# CONFIG_DEBUG_BUGVERBOSE is not set +# CONFIG_SH_STANDARD_BIOS is not set +# CONFIG_EARLY_SCIF_CONSOLE is not set +# CONFIG_KGDB is not set + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY is not set + +# +# Cryptographic options +# +CONFIG_CRYPTO=y +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_MANAGER=y +# CONFIG_CRYPTO_HMAC is not set +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_NULL is not set +CONFIG_CRYPTO_MD4=m +CONFIG_CRYPTO_MD5=m +CONFIG_CRYPTO_SHA1=m +# CONFIG_CRYPTO_SHA256 is not set +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_WP512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_GF128MUL is not set +CONFIG_CRYPTO_ECB=y +CONFIG_CRYPTO_CBC=m +CONFIG_CRYPTO_PCBC=m +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_DES is not set +# CONFIG_CRYPTO_FCRYPT is not set +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_TWOFISH is not set +# CONFIG_CRYPTO_SERPENT is not set +CONFIG_CRYPTO_AES=m +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_TEA is not set +CONFIG_CRYPTO_ARC4=y +# CONFIG_CRYPTO_KHAZAD is not set +# CONFIG_CRYPTO_ANUBIS is not set +# CONFIG_CRYPTO_DEFLATE is not set +CONFIG_CRYPTO_MICHAEL_MIC=m +# CONFIG_CRYPTO_CRC32C is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Hardware crypto devices +# + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_CRC_CCITT=m +CONFIG_CRC16=m +CONFIG_CRC32=y +CONFIG_LIBCRC32C=m +CONFIG_PLIST=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT=y diff --git a/packages/linux/linux-jlime-jornada6xx-2.6.21rc5/git-20070405-2.patch b/packages/linux/linux-jlime-jornada6xx-2.6.21rc5/git-20070405-2.patch new file mode 100644 index 0000000000..205d62a952 --- /dev/null +++ b/packages/linux/linux-jlime-jornada6xx-2.6.21rc5/git-20070405-2.patch @@ -0,0 +1,1058 @@ +diff --git a/arch/sh/boards/hp6xx/setup.c b/arch/sh/boards/hp6xx/setup.c +index b5a9664..5c6726d 100644 +--- a/arch/sh/boards/hp6xx/setup.c ++++ b/arch/sh/boards/hp6xx/setup.c +@@ -2,6 +2,8 @@ + * linux/arch/sh/boards/hp6xx/setup.c + * + * Copyright (C) 2002 Andriy Skulysh ++ * Copyright (C) 2007 Kristoffer Ericson ++ * + * + * May be copied or modified under the terms of the GNU General Public + * License. See linux/COPYING for more information. +@@ -10,6 +12,7 @@ + */ + #include + #include ++#include + #include + #include + #include +@@ -19,6 +22,41 @@ + #define SCPCR 0xa4000116 + #define SCPDR 0xa4000136 + ++/* CF Slot */ ++static struct resource cf_ide_resources[] = { ++ [0] = { ++ .start = 0x15000000 + 0x1f0, ++ .end = 0x15000000 + 0x1f0 + 0x08 - 0x01, ++ .flags = IORESOURCE_MEM, ++ }, ++ [1] = { ++ .start = 0x15000000 + 0x1fe, ++ .end = 0x15000000 + 0x1fe + 0x01, ++ .flags = IORESOURCE_MEM, ++ }, ++ [2] = { ++ .start = 93, ++ .flags = IORESOURCE_IRQ, ++ }, ++}; ++ ++static struct platform_device cf_ide_device = { ++ .name = "pata_platform", ++ .id = -1, ++ .num_resources = ARRAY_SIZE(cf_ide_resources), ++ .resource = cf_ide_resources, ++}; ++ ++static struct platform_device *hp6xx_devices[] __initdata = { ++ ++ &cf_ide_device, ++}; ++ ++static int __init hp6xx_devices_setup(void) ++{ ++ return platform_add_devices(hp6xx_devices,ARRAY_SIZE(hp6xx_devices)); ++} ++ + static void __init hp6xx_setup(char **cmdline_p) + { + u8 v8; +@@ -61,40 +99,12 @@ static void __init hp6xx_setup(char **cmdline_p) + ctrl_outw(v, SCPCR); + } + +-/* +- * XXX: This is stupid, we should have a generic machine vector for the cchips +- * and just wrap the platform setup code in to this, as it's the only thing +- * that ends up being different. +- */ ++device_initcall(hp6xx_devices_setup); ++ + struct sh_machine_vector mv_hp6xx __initmv = { + .mv_name = "hp6xx", + .mv_setup = hp6xx_setup, + .mv_nr_irqs = HD64461_IRQBASE + HD64461_IRQ_NUM, +- +- .mv_inb = hd64461_inb, +- .mv_inw = hd64461_inw, +- .mv_inl = hd64461_inl, +- .mv_outb = hd64461_outb, +- .mv_outw = hd64461_outw, +- .mv_outl = hd64461_outl, +- +- .mv_inb_p = hd64461_inb_p, +- .mv_inw_p = hd64461_inw, +- .mv_inl_p = hd64461_inl, +- .mv_outb_p = hd64461_outb_p, +- .mv_outw_p = hd64461_outw, +- .mv_outl_p = hd64461_outl, +- +- .mv_insb = hd64461_insb, +- .mv_insw = hd64461_insw, +- .mv_insl = hd64461_insl, +- .mv_outsb = hd64461_outsb, +- .mv_outsw = hd64461_outsw, +- .mv_outsl = hd64461_outsl, +- +- .mv_readw = hd64461_readw, +- .mv_writew = hd64461_writew, +- + .mv_irq_demux = hd64461_irq_demux, + }; + ALIAS_MV(hp6xx) +diff --git a/arch/sh/cchips/hd6446x/hd64461/setup.c b/arch/sh/cchips/hd6446x/hd64461/setup.c +index 4d49b5c..f59e73f 100644 +--- a/arch/sh/cchips/hd6446x/hd64461/setup.c ++++ b/arch/sh/cchips/hd6446x/hd64461/setup.c +@@ -122,7 +122,7 @@ int hd64461_irq_demux(int irq) + } + } + } +- return __irq_demux(irq); ++ return (irq); + } + + static struct irqaction irq0 = { hd64461_interrupt, IRQF_DISABLED, CPU_MASK_NONE, "HD64461", NULL, NULL }; +diff --git a/arch/sh/drivers/dma/dma-sh.c b/arch/sh/drivers/dma/dma-sh.c +index 06ed060..b56fab8 100644 +--- a/arch/sh/drivers/dma/dma-sh.c ++++ b/arch/sh/drivers/dma/dma-sh.c +@@ -19,6 +19,13 @@ + #include + #include "dma-sh.h" + ++#ifdef CONFIG_CPU_SUBTYPE_SH7709 ++ #define DMTE0_IRQ 48 ++ #define DMTE1_IRQ 49 ++ #define DMTE2_IRQ 50 ++ #define DMTE3_IRQ 51 ++#endif ++ + static int dmte_irq_map[] = { + DMTE0_IRQ, + DMTE1_IRQ, +diff --git a/arch/sh/kernel/cpu/sh3/setup-sh7709.c b/arch/sh/kernel/cpu/sh3/setup-sh7709.c +index dc9b211..3e9bb0c 100644 +--- a/arch/sh/kernel/cpu/sh3/setup-sh7709.c ++++ b/arch/sh/kernel/cpu/sh3/setup-sh7709.c +@@ -52,20 +52,29 @@ static int __init sh7709_devices_setup(void) + } + __initcall(sh7709_devices_setup); + +-#define IPRx(A,N) .addr=A, .shift=0*N*-1 ++#define IPRx(A,N) .addr=A, .shift=N + #define IPRA(N) IPRx(0xfffffee2UL,N) + #define IPRB(N) IPRx(0xfffffee4UL,N) ++#define IPRC(N) IPRx(0xa4000016UL,N) ++#define IPRD(N) IPRx(0xa4000018UL,N) + #define IPRE(N) IPRx(0xa400001aUL,N) + + static struct ipr_data sh7709_ipr_map[] = { +- [16] = { IPRA(15-12), 2 }, /* TMU TUNI0 */ +- [17] = { IPRA(11-8), 4 }, /* TMU TUNI1 */ +- [22] = { IPRA(3-0), 2 }, /* RTC CUI */ +- [23 ... 26] = { IPRB(7-4), 3 }, /* SCI */ +- [27] = { IPRB(15-12), 2 }, /* WDT ITI */ +- [48 ... 51] = { IPRE(15-12), 7 }, /* DMA */ +- [52 ... 55] = { IPRE(11-8), 3 }, /* IRDA */ +- [56 ... 59] = { IPRE(7-4), 3 }, /* SCIF */ ++ [16] = { IPRA(12), 2 }, /* TMU TUNI0 */ ++ [17] = { IPRA(8), 4 }, /* TMU TUNI1 */ ++ [18 ... 19] = { IPRA(4), 1 }, /* TMU TUNI1 */ ++ [20 ... 22] = { IPRA(0), 2 }, /* RTC CUI */ ++ [23 ... 26] = { IPRB(4), 3 }, /* SCI */ ++ [27] = { IPRB(12), 2 }, /* WDT ITI */ ++ [32] = { IPRC(0), 1 }, /* IRQ 0 */ ++ [33] = { IPRC(4), 1 }, /* IRQ 1 */ ++ [34] = { IPRC(8), 1 }, /* IRQ 2 APM */ ++ [35] = { IPRC(12), 1 }, /* IRQ 3 TOUCHSCREEN */ ++ [36] = { IPRD(0), 1 }, /* IRQ 4 */ ++ [37] = { IPRD(4), 1 }, /* IRQ 5 */ ++ [48 ... 51] = { IPRE(12), 7 }, /* DMA */ ++ [52 ... 55] = { IPRE(8), 3 }, /* IRDA */ ++ [56 ... 59] = { IPRE(4), 3 }, /* SCIF */ + }; + + void __init init_IRQ_ipr() +diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig +index f17e9c7..52a6323 100644 +--- a/drivers/input/keyboard/Kconfig ++++ b/drivers/input/keyboard/Kconfig +@@ -68,6 +68,9 @@ config KEYBOARD_ATKBD_RDI_KEYCODES + right-hand column will be interpreted as the key shown in the + left-hand column. + ++config KEYBOARD_HP680 ++ tristate "HP 680 Keyboard Driver" ++ + config KEYBOARD_SUNKBD + tristate "Sun Type 4 and Type 5 keyboard" + select SERIO +diff --git a/drivers/input/keyboard/Makefile b/drivers/input/keyboard/Makefile +index 586a0fe..09ee105 100644 +--- a/drivers/input/keyboard/Makefile ++++ b/drivers/input/keyboard/Makefile +@@ -19,4 +19,4 @@ obj-$(CONFIG_KEYBOARD_HIL_OLD) += hilkbd.o + obj-$(CONFIG_KEYBOARD_OMAP) += omap-keypad.o + obj-$(CONFIG_KEYBOARD_AAED2000) += aaed2000_kbd.o + obj-$(CONFIG_KEYBOARD_GPIO) += gpio_keys.o +- ++obj-$(CONFIG_KEYBOARD_HP680) += scan_keyb.o hp680_keyb.o +diff --git a/drivers/input/keyboard/hp680_keyb.c b/drivers/input/keyboard/hp680_keyb.c +new file mode 100644 +index 0000000..d534a2c +--- /dev/null ++++ b/drivers/input/keyboard/hp680_keyb.c +@@ -0,0 +1,235 @@ ++/* ++ * drivers/input/keyboard/hp680_keyb.c ++ * ++ * HP Jornada 680/690 scan keyboard ++ * ++ * Copyright (C) 2005 Andriy Skulysh ++ * Copyright (C) 2006 Paul Mundt ++ * Copyright (C) 2007 Kristoffer Ericson ++ * ++ * Splited from drivers/input/keyboard/hp600_keyb.c ++ * ++ * Copyright (C) 2000 YAEGASHI Takeshi ++ * HP600 keyboard scan routine and translation table ++ * Copyright (C) 2000 Niibe Yutaka ++ * HP620 keyboard translation table ++ */ ++#include ++#include ++#include ++#include ++#include ++#include "scan_keyb.h" ++ ++#define PCCR 0xa4000104 ++#define PDCR 0xa4000106 ++#define PECR 0xa4000108 ++#define PFCR 0xa400010a ++#define PCDR 0xa4000124 ++#define PDDR 0xa4000126 ++#define PEDR 0xa4000128 ++#define PFDR 0xa400012a ++#define PGDR 0xa400012c ++#define PHDR 0xa400012e ++#define PJDR 0xa4000130 ++#define PKDR 0xa4000132 ++#define PLDR 0xa4000134 ++ ++/*************************************************************** ++HP Jornada 680(SWEDISH version) keyboard ++[!] indicates Special Characters ++ ++_______________________________________________________________________ ++| ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 POWER| ++| 1 2 3 4 5 6 7 8 9 0 + ` BKPSPACE| ++|* Q W E R T Y U I O P ! ^ ENTER| ++| TAB A S D F G H J K L ! ! ' ENTER| ++| SHIFT Z X C V B N M , . - UP SHIFT| ++| CTRL WIN ALT ? =======SPACE======== ALTG DEL LEF DO RI ] ++----------------------------------------------------------------------- ++ ++ ++****************************************************************/ ++ ++ ++ ++/**************************************************************** ++HP Jornada 690(Japanese version) keyboard scan matrix ++ ++ PTC7 PTC6 PTC5 PTC4 PTC3 PTC2 PTC1 PTC0 ++PTD1 REC Escape on/off Han/Zen Hira Eisu ++PTD5 REC Z on/off Enter : / ++PTD7 REC Right Down ++PTE0 REC Windows on/off ++PTE1 REC A on/off ] [ ; ++PTE3 REC Tab on/off ShirtR \ Up ++PTE6 REC Q on/off BS @ P ++PTE7 REC 1 on/off ^ - 0 ++ ++ PTF7 PTF6 PTF5 PTF4 PTF3 PTF2 PTF1 PTF0 ++PTD1 F5 F4 F6 F7 F8 F3 F2 F1 ++PTD5 N B M , . V C X ++PTD7 Muhen Alt Left ++PTE0 Henkan _ Del Space Ctrl ++PTE1 H G J K L F D S ++PTE3 ShiftL ++PTE6 Y T U I O R E W ++PTE7 6 5 7 8 9 4 3 2 ++ ++ PTG5 PTG4 PTG3 PTG0 PTH0 ++* REC REW FWW Cover on/off ++ ++ ++ 7 6 5 4 3 2 1 0 ++C: 0xffff 0xdf IP IP IP IP IP IP IP IP ++D: 0x6786 0x59 O I O IP I F O I ++E: 0x5045 0x00 O O F F O F O O ++F: 0xffff 0xff IP IP IP IP IP IP IP IP ++G: 0xaffe 0xfd I I IP IP IP IP IP I ++H: 0x70f2 0x49 O IP F F IP IP F I ++J: 0x0704 0x22 F F O IP F F O F ++K: 0x0100 0x10 F F F O F F F F ++L: 0x0c3c 0x26 F F IP F F IP IP F ++ ++****************************************************************/ ++ ++static const unsigned char hp680_japanese_table[] = { ++/* ++ /* PTD1 */ ++ /* ? ? ? ? Esc ? ? ? */ ++ 0x3a, 0x70, 0x29, 0x00, 0x01, 0x00, 0x00, 0x00, ++ /* F1 F2 F3 F8 F7 F6 F4 F5 */ ++ 0x3b, 0x3c, 0x3d, 0x42, 0x41, 0x40, 0x3e, 0x3f, ++ ++ /* PTD5 */ ++ /* / : Enter ? Z ? ? ? */ ++ 0x35, 0x28, 0x1c, 0x00, 0x2c, 0x00, 0x00, 0x00, ++ /* X C V . , M B N */ ++ 0x2d, 0x2e, 0x2f, 0x34, 0x33, 0x32, 0x30, 0x31, ++ ++ /* PTD7 */ ++ /* Down Right ? ? ? ? ? ? */ ++ 0x50, 0x4d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, ++ /* ? ? ? Left ? ? Alt ? */ ++ 0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x38, 0x7b, ++ ++ /* PTE0 */ ++ /* ? ? ? ? Win ? ? ? */ ++ 0x00, 0x00, 0x00, 0x00, 0xdb, 0x00, 0x00, 0x00, ++ /* Ctrl ? Space Del _ ? ? ? */ ++ 0x1d, 0x00, 0x39, 0x53, 0x73, 0xf9, 0x00, 0x00, ++ ++ /* PTE1 */ ++ /* ; [ ] ? A ? ? ? */ ++ 0x27, 0x1b, 0x2b, 0x00, 0x1e, 0x00, 0x00, 0x00, ++ /* S D F L K J G H */ ++ 0x1f, 0x20, 0x21, 0x26, 0x25, 0x24, 0x22, 0x23, ++ ++ /* PTE3 */ ++ /* Up \ ShiftR ? Q ? ? ? */ ++ 0x48, 0x7d, 0x36, 0x00, 0x0f, 0x00, 0x00, 0x00, ++ /* ? ShiftL ? ? ? ? ? ? */ ++ 0x00, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, ++ ++ /* PTE6 */ ++ /* P @ BS ? Q ? ? ? */ ++ 0x19, 0x1a, 0x0e, 0x00, 0x10, 0x00, 0x00, 0x00, ++ /* W E R O I U T Y */ ++ 0x11, 0x12, 0x13, 0x18, 0x17, 0x16, 0x14, 0x15, ++ ++ /* PTE7 */ ++ /* 0 + = ? 1 ? ? ? */ ++ 0x0b, 0x0c, 0x0d, 0x00, 0x02, 0x00, 0x00, 0x00, ++ /* 2 3 4 9 8 7 5 6 */ ++ 0x03, 0x04, 0x05, 0x0a, 0x09, 0x08, 0x06, 0x07, ++ ++ /* **** */ ++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, ++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, ++}; ++ ++static int hp680_japanese_scan_kbd(unsigned char *s) ++{ ++ int i; ++ unsigned short ec_static,dc_static; /* = UINT16_t */ ++ unsigned char matrix_switch[] = { ++ 0xfd, 0xff, /* PTD1 PD(1) */ ++ 0xdf, 0xff, /* PTD5 PD(5) */ ++ 0x7f, 0xff, /* PTD7 PD(7) */ ++ 0xff, 0xfe, /* PTE0 PE(0) */ ++ 0xff, 0xfd, /* PTE1 PE(1) */ ++ 0xff, 0xf7, /* PTE3 PE(3) */ ++ 0xff, 0xbf, /* PTE6 PE(6) */ ++ 0xff, 0x7f, /* PTE7 PE(7) */ ++ }, *t=matrix_switch; ++ /* PD(x) : ++ 1. 0xcc0c & (1~(1 << (2*(x)+1))))) ++ 2. (0xf0cf & 0xfffff) */ ++ /* PE(x) : ++ 1. 0xcc0c & 0xffff ++ 2. 0xf0cf & (1~(1 << (2*(x)+1))))) */ ++ unsigned short matrix_PDE[] = { ++ 0xcc04, 0xf0cf, /* PD(1) */ ++ 0xc40c, 0xf0cf, /* PD(5) */ ++ 0x4c0c, 0xf0cf, /* PD(7) */ ++ 0xcc0c, 0xf0cd, /* PE(0) */ ++ 0xcc0c, 0xf0c7, /* PE(1) */ ++ 0xcc0c, 0xf04f, /* PE(3) */ ++ 0xcc0c, 0xd0cf, /* PE(6) */ ++ 0xcc0c, 0x70cf, /* PE(7) */ ++ } ++ , *y=matrix_PDE; ++ /* Save these control reg bits */ ++ dc_static = (ctrl_inw(PDCR) & (~0xcc0c)); ++ ec_static = (ctrl_inw(PECR) & (~0xf0cf)); ++ ++ for(i=0; i<8; i++) { ++ /* disable output for all but the one we want to scan */ ++ ctrl_outw((dc_static | *y++), PDCR); ++ ctrl_outw((ec_static | *y++), PECR); ++ udelay(5); ++ ++ /* Get scanline row */ ++ ctrl_outb(*t++, PDDR); ++ ctrl_outb(*t++, PEDR); ++ udelay(50); ++ ++ /* Read data */ ++ *s++=ctrl_inb(PCDR); ++ *s++=ctrl_inb(PFDR); ++ } ++ /* Scan no lines */ ++ ctrl_outb(0xff, PDDR); ++ ctrl_outb(0xff, PEDR); ++ ++ /* Enable all scanlines */ ++ ctrl_outw((dc_static | (0x5555 & 0xcc0c)),PDCR); ++ ctrl_outw((ec_static | (0x5555 & 0xf0cf)),PECR); ++ /* Ignore extra keys and events */ ++ ++ *s++=ctrl_inb(PGDR); ++ *s++=ctrl_inb(PHDR); ++ ++ return 0; ++} ++ ++static struct scan_keyboard hp680_kbd = { ++ .scan = hp680_japanese_scan_kbd, ++ .table = hp680_japanese_table, ++ .length = 16, ++}; ++ ++static int __init hp680_kbd_init_hw(void) ++{ ++ printk(KERN_INFO "HP680 matrix scan keyboard registered\n"); ++ return register_scan_keyboard(&hp680_kbd); ++} ++ ++static void __exit hp680_kbd_exit_hw(void) ++{ ++ unregister_scan_keyboard(&hp680_kbd); ++} ++ ++module_init(hp680_kbd_init_hw); ++module_exit(hp680_kbd_exit_hw); ++MODULE_LICENSE("GPL"); +diff --git a/drivers/input/keyboard/scan_keyb.c b/drivers/input/keyboard/scan_keyb.c +new file mode 100644 +index 0000000..e65668b +--- /dev/null ++++ b/drivers/input/keyboard/scan_keyb.c +@@ -0,0 +1,148 @@ ++/* ++ * Generic scan keyboard driver ++ * ++ * Copyright (C) 2000 YAEGASHI Takeshi ++ * Copyright (C) 2003 Andriy Skulysh ++ * Copyright (C) 2006 Paul Mundt ++ * ++ * This file is subject to the terms and conditions of the GNU General Public ++ * License. See the file "COPYING" in the main directory of this archive ++ * for more details. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include "scan_keyb.h" ++ ++#define SCANHZ (HZ/20) ++ ++static int scan_jiffies; ++static struct scan_keyboard *keyboards; ++struct timer_list scan_timer; ++static char *hpkbd_name = "Hitachi scankeyboard"; ++static char *hpkbd_phys = "input0"; ++ ++static void check_kbd(struct scan_keyboard *kbd, ++ unsigned char *new, unsigned char *old) ++{ ++ const unsigned char *table = kbd->table; ++ int length = kbd->length; ++ int need_tasklet_schedule = 0; ++ unsigned int xor, bit; ++ ++ while (length-- > 0) { ++ if ((xor = *new ^ *old) == 0) ++ table += 8; ++ else { ++ for (bit = 0x01; bit < 0x100; bit <<= 1) { ++ if (xor & bit) { ++ input_report_key(kbd->dev, *table, ++ !(*new & bit)); ++ need_tasklet_schedule = 1; ++ } ++ ++ table++; ++ } ++ } ++ ++ new++; ++ old++; ++ } ++ ++ if (need_tasklet_schedule) { ++ input_sync(kbd->dev); ++ tasklet_schedule(&keyboard_tasklet); ++ } ++} ++ ++static void scan_kbd(unsigned long dummy) ++{ ++ struct scan_keyboard *kbd; ++ ++ scan_jiffies++; ++ ++ for (kbd = keyboards; kbd != NULL; kbd = kbd->next) { ++ if (scan_jiffies & 1) { ++ if (!kbd->scan(kbd->s0)) ++ check_kbd(kbd, kbd->s0, kbd->s1); ++ else ++ memcpy(kbd->s0, kbd->s1, kbd->length); ++ } else { ++ if (!kbd->scan(kbd->s1)) ++ check_kbd(kbd, kbd->s1, kbd->s0); ++ else ++ memcpy(kbd->s1, kbd->s0, kbd->length); ++ } ++ } ++ ++ mod_timer(&scan_timer, jiffies + SCANHZ); ++} ++ ++int register_scan_keyboard(struct scan_keyboard *kbd) ++{ ++ int i; ++ ++ kbd->s0 = kmalloc(kbd->length, GFP_KERNEL); ++ if (kbd->s0 == NULL) ++ goto error; ++ ++ kbd->s1 = kmalloc(kbd->length, GFP_KERNEL); ++ if (kbd->s1 == NULL) ++ goto error; ++ ++ memset(kbd->s0, -1, kbd->length); ++ memset(kbd->s1, -1, kbd->length); ++ ++ kbd->dev = input_allocate_device(); ++ if (!kbd->dev) ++ goto error; ++ ++ kbd->dev->name = hpkbd_name; ++ kbd->dev->phys = hpkbd_phys; ++ kbd->dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REP); ++ //init_input_dev(kbd->dev); ++ kbd->dev->keycode = (unsigned char *)kbd->table; ++ kbd->dev->keycodesize = sizeof(unsigned char); ++ kbd->dev->keycodemax = ARRAY_SIZE(kbd->table); ++ ++ for (i = 0; i < 128; i++) ++ if (kbd->table[i]) ++ set_bit(kbd->table[i], kbd->dev->keybit); ++ ++ clear_bit(0, kbd->dev->keybit); ++ input_register_device(kbd->dev); ++ ++ kbd->next = keyboards; ++ keyboards = kbd; ++ ++ init_timer(&scan_timer); ++ scan_timer.expires = jiffies + SCANHZ; ++ scan_timer.data = 0; ++ scan_timer.function = scan_kbd; ++ add_timer(&scan_timer); ++ ++ return 0; ++ ++error: ++ kfree(kbd->s1); ++ kfree(kbd->s0); ++ ++ return -ENOMEM; ++} ++EXPORT_SYMBOL_GPL(register_scan_keyboard); ++ ++void unregister_scan_keyboard(struct scan_keyboard *kbd) ++{ ++ del_timer_sync(&scan_timer); ++ keyboards = kbd->next; ++ input_unregister_device(kbd->dev); ++ input_free_device(kbd->dev); ++} ++EXPORT_SYMBOL_GPL(unregister_scan_keyboard); +diff --git a/drivers/input/keyboard/scan_keyb.h b/drivers/input/keyboard/scan_keyb.h +new file mode 100644 +index 0000000..e50510f +--- /dev/null ++++ b/drivers/input/keyboard/scan_keyb.h +@@ -0,0 +1,16 @@ ++#ifndef __DRIVER_CHAR_SCAN_KEYB_H ++#define __DRIVER_CHAR_SCAN_KEYB_H ++ ++struct scan_keyboard { ++ struct scan_keyboard *next; ++ int (*scan)(unsigned char *buffer); ++ const unsigned char *table; ++ unsigned char *s0, *s1; ++ int length; ++ struct input_dev *dev; ++}; ++ ++int register_scan_keyboard(struct scan_keyboard *); ++void unregister_scan_keyboard(struct scan_keyboard *); ++ ++#endif +diff --git a/drivers/input/touchscreen/hp680_ts_input.c b/drivers/input/touchscreen/hp680_ts_input.c +index 2490874..0450d28 100644 +--- a/drivers/input/touchscreen/hp680_ts_input.c ++++ b/drivers/input/touchscreen/hp680_ts_input.c +@@ -18,12 +18,12 @@ + #define PHDR 0xa400012e + #define SCPDR 0xa4000136 + +-static void do_softint(void *data); ++static void do_softint(struct work_struct *work); + + static struct input_dev *hp680_ts_dev; +-static DECLARE_WORK(work, do_softint, 0); ++static DECLARE_DELAYED_WORK(work, do_softint); + +-static void do_softint(void *data) ++static void do_softint(struct work_struct *work) + { + int absx = 0, absy = 0; + u8 scpdr; +@@ -68,9 +68,8 @@ static void do_softint(void *data) + + static irqreturn_t hp680_ts_interrupt(int irq, void *dev) + { +- disable_irq_nosync(irq); ++ disable_irq_nosync(irq); + schedule_delayed_work(&work, HZ / 20); +- + return IRQ_HANDLED; + } + +@@ -108,7 +107,7 @@ static int __init hp680_ts_init(void) + return 0; + + fail2: free_irq(HP680_TS_IRQ, NULL); +- cancel_delayed_work(&work); ++ cancel_delayed_work(&work); /* delay_ts->work */ + flush_scheduled_work(); + fail1: input_free_device(hp680_ts_dev); + return err; +diff --git a/drivers/video/backlight/hp680_bl.c b/drivers/video/backlight/hp680_bl.c +index 0899fcc..109329a 100644 +--- a/drivers/video/backlight/hp680_bl.c ++++ b/drivers/video/backlight/hp680_bl.c +@@ -125,8 +125,8 @@ static int hp680bl_remove(struct platform_device *pdev) + { + struct backlight_device *bd = platform_get_drvdata(pdev); + +- hp680bl_data.brightness = 0; +- hp680bl_data.power = 0; ++// hp680bl_data.brightness = 0; ++// hp680bl_data.power = 0; + hp680bl_send_intensity(bd); + + backlight_device_unregister(bd); +diff --git a/include/asm-sh/hd64461.h b/include/asm-sh/hd64461.h +index 27e5c34..cd2e5f9 100644 +--- a/include/asm-sh/hd64461.h ++++ b/include/asm-sh/hd64461.h +@@ -9,111 +9,122 @@ + /* Constants for PCMCIA mappings */ + #define HD64461_PCC_WINDOW 0x01000000 + +-#define HD64461_PCC0_BASE 0xb8000000 /* area 6 */ +-#define HD64461_PCC0_ATTR (HD64461_PCC0_BASE) +-#define HD64461_PCC0_COMM (HD64461_PCC0_BASE+HD64461_PCC_WINDOW) +-#define HD64461_PCC0_IO (HD64461_PCC0_BASE+2*HD64461_PCC_WINDOW) +- +-#define HD64461_PCC1_BASE 0xb4000000 /* area 5 */ +-#define HD64461_PCC1_ATTR (HD64461_PCC1_BASE) +-#define HD64461_PCC1_COMM (HD64461_PCC1_BASE+HD64461_PCC_WINDOW) +- +-#define HD64461_STBCR 0x10000 +-#define HD64461_STBCR_CKIO_STBY 0x2000 +-#define HD64461_STBCR_SAFECKE_IST 0x1000 +-#define HD64461_STBCR_SLCKE_IST 0x0800 +-#define HD64461_STBCR_SAFECKE_OST 0x0400 +-#define HD64461_STBCR_SLCKE_OST 0x0200 +-#define HD64461_STBCR_SMIAST 0x0100 +-#define HD64461_STBCR_SLCDST 0x0080 +-#define HD64461_STBCR_SPC0ST 0x0040 +-#define HD64461_STBCR_SPC1ST 0x0020 +-#define HD64461_STBCR_SAFEST 0x0010 +-#define HD64461_STBCR_STM0ST 0x0008 +-#define HD64461_STBCR_STM1ST 0x0004 +-#define HD64461_STBCR_SIRST 0x0002 +-#define HD64461_STBCR_SURTST 0x0001 +- +-#define HD64461_SYSCR 0x10002 +-#define HD64461_SCPUCR 0x10004 +- +-#define HD64461_LCDCBAR 0x11000 +-#define HD64461_LCDCLOR 0x11002 +-#define HD64461_LCDCCR 0x11004 +-#define HD64461_LCDCCR_STBACK 0x0400 +-#define HD64461_LCDCCR_STREQ 0x0100 +-#define HD64461_LCDCCR_MOFF 0x0080 +-#define HD64461_LCDCCR_REFSEL 0x0040 +-#define HD64461_LCDCCR_EPON 0x0020 +-#define HD64461_LCDCCR_SPON 0x0010 +- +-#define HD64461_LDR1 0x11010 ++#define HD64461_PCC0_BASE 0xb8000000 /* area 6 */ ++#define HD64461_PCC0_ATTR (HD64461_PCC0_BASE) /* 0xb8000000 */ ++#define HD64461_PCC0_COMM (HD64461_PCC0_BASE+HD64461_PCC_WINDOW) /* 0xb9000000 */ ++#define HD64461_PCC0_IO (HD64461_PCC0_BASE+2*HD64461_PCC_WINDOW) /* 0xba000000 */ ++ ++#define HD64461_PCC1_BASE 0xb4000000 /* area 5 */ ++#define HD64461_PCC1_ATTR (HD64461_PCC1_BASE) /* 0xb4000000 */ ++#define HD64461_PCC1_COMM (HD64461_PCC1_BASE+HD64461_PCC_WINDOW) /* 0xb5000000 */ ++ ++/* if PORT < 0xf000 then ADDR = 0xa0000000 + PORT */ ++#define HD64461_STBCR (CONFIG_HD64461_IOBASE) ++#define HD64461_STBCR_CKIO_STBY 0xa0002000 ++#define HD64461_STBCR_SAFECKE_IST 0xa0001000 ++#define HD64461_STBCR_SLCKE_IST 0xa0000800 ++#define HD64461_STBCR_SAFECKE_OST 0xa0000400 ++#define HD64461_STBCR_SLCKE_OST 0xa0000200 ++#define HD64461_STBCR_SMIAST 0xa0000100 ++#define HD64461_STBCR_SLCDST 0xa0000080 ++#define HD64461_STBCR_SPC0ST 0xa0000040 ++#define HD64461_STBCR_SPC1ST 0xa0000020 ++#define HD64461_STBCR_SAFEST 0xa0000010 ++#define HD64461_STBCR_STM0ST 0xa0000008 ++#define HD64461_STBCR_STM1ST 0xa0000004 ++#define HD64461_STBCR_SIRST 0xa0000002 ++#define HD64461_STBCR_SURTST 0xa0000001 ++ ++/* if PORT < 0x20000 then ADDR = CONFIG_HD64461_IOBASE + PORT - 0x10000 */ ++#define HD64461_SYSCR (CONFIG_HD64461_IOBASE + 0x10002 - 0x10000) ++#define HD64461_SCPUCR (CONFIG_HD64461_IOBASE + 0x10004 - 0x10000) ++#define HD64461_LCDCBAR (CONFIG_HD64461_IOBASE + 0x11000 - 0x10000) ++#define HD64461_LCDCLOR (CONFIG_HD64461_IOBASE + 0x11002 - 0x10000) ++#define HD64461_LCDCCR (CONFIG_HD64461_IOBASE + 0x11004 - 0x10000) ++ ++ ++/* if PORT < 0xf000 then ADDR = 0xa0000000 + PORT */ ++#define HD64461_LCDCCR_STBACK (0xa0000000 + 0x0400) ++#define HD64461_LCDCCR_STREQ (0xa0000000 + 0x0100) ++#define HD64461_LCDCCR_MOFF (0xa0000000 + 0x0080) ++#define HD64461_LCDCCR_REFSEL (0xa0000000 + 0x0040) ++#define HD64461_LCDCCR_EPON (0xa0000000 + 0x0020) ++#define HD64461_LCDCCR_SPON (0xa0000000 + 0x0010) ++ ++/* if PORT < 0x20000 then ADDR = CONFIG_HD64461_IOBASE + PORT - 0x10000 */ ++#define HD64461_LDR1 (CONFIG_HD64461_IOBASE + 0x11010 - 0x10000) ++ ++/* if PORT < 0xf000 then ADDR = 0xa0000000 + PORT */ + #define HD64461_LDR1_DON 0x01 + #define HD64461_LDR1_DINV 0x80 + +-#define HD64461_LDR2 0x11012 +-#define HD64461_LDHNCR 0x11014 +-#define HD64461_LDHNSR 0x11016 +-#define HD64461_LDVNTR 0x11018 +-#define HD64461_LDVNDR 0x1101a +-#define HD64461_LDVSPR 0x1101c +-#define HD64461_LDR3 0x1101e +- +-#define HD64461_CPTWAR 0x11030 +-#define HD64461_CPTWDR 0x11032 +-#define HD64461_CPTRAR 0x11034 +-#define HD64461_CPTRDR 0x11036 +- +-#define HD64461_GRDOR 0x11040 +-#define HD64461_GRSCR 0x11042 +-#define HD64461_GRCFGR 0x11044 ++/* if PORT < 0x20000 then ADDR = CONFIG_HD64461_IOBASE + PORT - 0x10000 */ ++#define HD64461_LDR2 (CONFIG_HD64461_IOBASE + 0x11012 - 0x10000) ++#define HD64461_LDHNCR (CONFIG_HD64461_IOBASE + 0x11014 - 0x10000) ++#define HD64461_LDHNSR (CONFIG_HD64461_IOBASE + 0x11016 - 0x10000) ++#define HD64461_LDVNTR (CONFIG_HD64461_IOBASE + 0x11018 - 0x10000) ++#define HD64461_LDVNDR (CONFIG_HD64461_IOBASE + 0x1101a - 0x10000) ++#define HD64461_LDVSPR (CONFIG_HD64461_IOBASE + 0x1101c - 0x10000) ++#define HD64461_LDR3 (CONFIG_HD64461_IOBASE + 0x1101e - 0x10000) ++ ++#define HD64461_CPTWAR (CONFIG_HD64461_IOBASE + 0x11030 - 0x10000) ++#define HD64461_CPTWDR (CONFIG_HD64461_IOBASE + 0x11032 - 0x10000) ++#define HD64461_CPTRAR (CONFIG_HD64461_IOBASE + 0x11034 - 0x10000) ++#define HD64461_CPTRDR (CONFIG_HD64461_IOBASE + 0x11036 - 0x10000) ++ ++#define HD64461_GRDOR (CONFIG_HD64461_IOBASE + 0x11040 - 0x10000) ++#define HD64461_GRSCR (CONFIG_HD64461_IOBASE + 0x11042 - 0x10000) ++#define HD64461_GRCFGR (CONFIG_HD64461_IOBASE + 0x11044 - 0x10000) ++ + #define HD64461_GRCFGR_ACCSTATUS 0x10 + #define HD64461_GRCFGR_ACCRESET 0x08 +-#define HD64461_GRCFGR_ACCSTART_BITBLT 0x06 +-#define HD64461_GRCFGR_ACCSTART_LINE 0x04 ++#define HD64461_GRCFGR_ACCSTART_BITBLT 0x06 ++#define HD64461_GRCFGR_ACCSTART_LINE 0x04 + #define HD64461_GRCFGR_COLORDEPTH16 0x01 + +-#define HD64461_LNSARH 0x11046 +-#define HD64461_LNSARL 0x11048 +-#define HD64461_LNAXLR 0x1104a +-#define HD64461_LNDGR 0x1104c +-#define HD64461_LNAXR 0x1104e +-#define HD64461_LNERTR 0x11050 +-#define HD64461_LNMDR 0x11052 +-#define HD64461_BBTSSARH 0x11054 +-#define HD64461_BBTSSARL 0x11056 +-#define HD64461_BBTDSARH 0x11058 +-#define HD64461_BBTDSARL 0x1105a +-#define HD64461_BBTDWR 0x1105c +-#define HD64461_BBTDHR 0x1105e +-#define HD64461_BBTPARH 0x11060 +-#define HD64461_BBTPARL 0x11062 +-#define HD64461_BBTMARH 0x11064 +-#define HD64461_BBTMARL 0x11066 +-#define HD64461_BBTROPR 0x11068 +-#define HD64461_BBTMDR 0x1106a +- ++/* if PORT < 0x20000 then CONFIG_HD64461_IOBASE + PORT - 0x10000 */ ++#define HD64461_LNSARH (CONFIG_HD64461_IOBASE + 0x11046 - 0x10000) ++#define HD64461_LNSARL (CONFIG_HD64461_IOBASE + 0x11048 - 0x10000) ++#define HD64461_LNAXLR (CONFIG_HD64461_IOBASE + 0x1104a - 0x10000) ++#define HD64461_LNDGR (CONFIG_HD64461_IOBASE + 0x1104c - 0x10000) ++#define HD64461_LNAXR (CONFIG_HD64461_IOBASE + 0x1104e - 0x10000) ++#define HD64461_LNERTR (CONFIG_HD64461_IOBASE + 0x11050 - 0x10000) ++#define HD64461_LNMDR (CONFIG_HD64461_IOBASE + 0x11052 - 0x10000) ++#define HD64461_BBTSSARH (CONFIG_HD64461_IOBASE + 0x11054 - 0x10000) ++#define HD64461_BBTSSARL (CONFIG_HD64461_IOBASE + 0x11056 - 0x10000) ++#define HD64461_BBTDSARH (CONFIG_HD64461_IOBASE + 0x11058 - 0x10000) ++#define HD64461_BBTDSARL (CONFIG_HD64461_IOBASE + 0x1105a - 0x10000) ++#define HD64461_BBTDWR (CONFIG_HD64461_IOBASE + 0x1105c - 0x10000) ++#define HD64461_BBTDHR (CONFIG_HD64461_IOBASE + 0x1105e - 0x10000) ++#define HD64461_BBTPARH (CONFIG_HD64461_IOBASE + 0x11060 - 0x10000) ++#define HD64461_BBTPARL (CONFIG_HD64461_IOBASE + 0x11062 - 0x10000) ++#define HD64461_BBTMARH (CONFIG_HD64461_IOBASE + 0x11064 - 0x10000) ++#define HD64461_BBTMARL (CONFIG_HD64461_IOBASE + 0x11066 - 0x10000) ++#define HD64461_BBTROPR (CONFIG_HD64461_IOBASE + 0x11068 - 0x10000) ++#define HD64461_BBTMDR (CONFIG_HD64461_IOBASE + 0x1106a - 0x10000) ++ ++/* These must be like this, otherwise the Jornada will not boot! */ + /* PC Card Controller Registers */ +-#define HD64461_PCC0ISR 0x12000 /* socket 0 interface status */ +-#define HD64461_PCC0GCR 0x12002 /* socket 0 general control */ +-#define HD64461_PCC0CSCR 0x12004 /* socket 0 card status change */ +-#define HD64461_PCC0CSCIER 0x12006 /* socket 0 card status change interrupt enable */ +-#define HD64461_PCC0SCR 0x12008 /* socket 0 software control */ +-#define HD64461_PCC1ISR 0x12010 /* socket 1 interface status */ +-#define HD64461_PCC1GCR 0x12012 /* socket 1 general control */ +-#define HD64461_PCC1CSCR 0x12014 /* socket 1 card status change */ +-#define HD64461_PCC1CSCIER 0x12016 /* socket 1 card status change interrupt enable */ +-#define HD64461_PCC1SCR 0x12018 /* socket 1 software control */ ++#define HD64461_PCC0ISR (CONFIG_HD64461_IOBASE + 0x12000 - 0x10000) /* socket 0 interface status */ ++#define HD64461_PCC0GCR (CONFIG_HD64461_IOBASE + 0x12002 - 0x10000) /* socket 0 general control */ ++#define HD64461_PCC0CSCR (CONFIG_HD64461_IOBASE + 0x12004 - 0x10000) /* socket 0 card status change */ ++#define HD64461_PCC0CSCIER (CONFIG_HD64461_IOBASE + 0x12006 - 0x10000) /* socket 0 card status change interrupt enable */ ++#define HD64461_PCC0SCR (CONFIG_HD64461_IOBASE + 0x12008 - 0x10000) /* socket 0 software control */ ++#define HD64461_PCC1ISR (CONFIG_HD64461_IOBASE + 0x12010 - 0x10000) /* socket 1 interface status */ ++#define HD64461_PCC1GCR (CONFIG_HD64461_IOBASE + 0x12012 - 0x10000) /* socket 1 general control */ ++#define HD64461_PCC1CSCR (CONFIG_HD64461_IOBASE + 0x12014 - 0x10000) /* socket 1 card status change */ ++#define HD64461_PCC1CSCIER (CONFIG_HD64461_IOBASE + 0x12016 - 0x10000) /* socket 1 card status change interrupt enable */ ++#define HD64461_PCC1SCR (CONFIG_HD64461_IOBASE + 0x12018 - 0x10000) /* socket 1 software control */ + + /* PCC Interface Status Register */ +-#define HD64461_PCCISR_READY 0x80 /* card ready */ +-#define HD64461_PCCISR_MWP 0x40 /* card write-protected */ +-#define HD64461_PCCISR_VS2 0x20 /* voltage select pin 2 */ +-#define HD64461_PCCISR_VS1 0x10 /* voltage select pin 1 */ +-#define HD64461_PCCISR_CD2 0x08 /* card detect 2 */ +-#define HD64461_PCCISR_CD1 0x04 /* card detect 1 */ +-#define HD64461_PCCISR_BVD2 0x02 /* battery 1 */ +-#define HD64461_PCCISR_BVD1 0x01 /* battery 1 */ ++#define HD64461_PCCISR_READY 0x80 /* card ready */ ++#define HD64461_PCCISR_MWP 0x40 /* card write-protected */ ++#define HD64461_PCCISR_VS2 0x20 /* voltage select pin 2 */ ++#define HD64461_PCCISR_VS1 0x10 /* voltage select pin 1 */ ++#define HD64461_PCCISR_CD2 0x08 /* card detect 2 */ ++#define HD64461_PCCISR_CD1 0x04 /* card detect 1 */ ++#define HD64461_PCCISR_BVD2 0x02 /* battery 1 */ ++#define HD64461_PCCISR_BVD1 0x01 /* battery 1 */ + + #define HD64461_PCCISR_PCD_MASK 0x0c /* card detect */ + #define HD64461_PCCISR_BVD_MASK 0x03 /* battery voltage */ +@@ -160,29 +171,29 @@ + #define HD64461_PCCSCR_VCC1 0x02 /* voltage control pin 1 */ + #define HD64461_PCCSCR_SWP 0x01 /* write protect */ + +-#define HD64461_P0OCR 0x1202a +-#define HD64461_P1OCR 0x1202c +-#define HD64461_PGCR 0x1202e +- +-#define HD64461_GPACR 0x14000 +-#define HD64461_GPBCR 0x14002 +-#define HD64461_GPCCR 0x14004 +-#define HD64461_GPDCR 0x14006 +-#define HD64461_GPADR 0x14010 +-#define HD64461_GPBDR 0x14012 +-#define HD64461_GPCDR 0x14014 +-#define HD64461_GPDDR 0x14016 +-#define HD64461_GPAICR 0x14020 +-#define HD64461_GPBICR 0x14022 +-#define HD64461_GPCICR 0x14024 +-#define HD64461_GPDICR 0x14026 +-#define HD64461_GPAISR 0x14040 +-#define HD64461_GPBISR 0x14042 +-#define HD64461_GPCISR 0x14044 +-#define HD64461_GPDISR 0x14046 +- +-#define HD64461_NIRR 0x15000 +-#define HD64461_NIMR 0x15002 ++#define HD64461_P0OCR (CONFIG_HD64461_IOBASE + 0x1202a - 0x10000) ++#define HD64461_P1OCR (CONFIG_HD64461_IOBASE + 0x1202c - 0x10000) ++#define HD64461_PGCR (CONFIG_HD64461_IOBASE + 0x1202e - 0x10000) ++ ++#define HD64461_GPACR (CONFIG_HD64461_IOBASE + 0x14000 - 0x10000) ++#define HD64461_GPBCR (CONFIG_HD64461_IOBASE + 0x14002 - 0x10000) ++#define HD64461_GPCCR (CONFIG_HD64461_IOBASE + 0x14004 - 0x10000) ++#define HD64461_GPDCR (CONFIG_HD64461_IOBASE + 0x14006 - 0x10000) ++#define HD64461_GPADR (CONFIG_HD64461_IOBASE + 0x14010 - 0x10000) ++#define HD64461_GPBDR (CONFIG_HD64461_IOBASE + 0x14012 - 0x10000) ++#define HD64461_GPCDR (CONFIG_HD64461_IOBASE + 0x14014 - 0x10000) ++#define HD64461_GPDDR (CONFIG_HD64461_IOBASE + 0x14016 - 0x10000) ++#define HD64461_GPAICR (CONFIG_HD64461_IOBASE + 0x14020 - 0x10000) ++#define HD64461_GPBICR (CONFIG_HD64461_IOBASE + 0x14022 - 0x10000) ++#define HD64461_GPCICR (CONFIG_HD64461_IOBASE + 0x14024 - 0x10000) ++#define HD64461_GPDICR (CONFIG_HD64461_IOBASE + 0x14026 - 0x10000) ++#define HD64461_GPAISR (CONFIG_HD64461_IOBASE + 0x14040 - 0x10000) ++#define HD64461_GPBISR (CONFIG_HD64461_IOBASE + 0x14042 - 0x10000) ++#define HD64461_GPCISR (CONFIG_HD64461_IOBASE + 0x14044 - 0x10000) ++#define HD64461_GPDISR (CONFIG_HD64461_IOBASE + 0x14046 - 0x10000) ++ ++#define HD64461_NIRR 0xb0005000 /* 0x10005000 */ ++#define HD64461_NIMR 0xb0005002 /* 0x10005002 */ + + #define HD64461_IRQBASE OFFCHIP_IRQ_BASE + #define HD64461_IRQ_NUM 16 +diff --git a/include/asm-sh/io.h b/include/asm-sh/io.h +index a0e55b0..08848ee 100644 +--- a/include/asm-sh/io.h ++++ b/include/asm-sh/io.h +@@ -143,6 +143,7 @@ void __raw_readsl(unsigned long addr, void *data, int longlen); + #define readl_relaxed(a) readl(a) + + /* Simple MMIO */ ++#ifndef CONFIG_CPU_SUBTYPE_SH7709 + #define ioread8(a) readb(a) + #define ioread16(a) readw(a) + #define ioread16be(a) be16_to_cpu(__raw_readw((a))) +@@ -154,6 +155,7 @@ void __raw_readsl(unsigned long addr, void *data, int longlen); + #define iowrite16be(v,a) __raw_writew(cpu_to_be16((v)),(a)) + #define iowrite32(v,a) writel((v),(a)) + #define iowrite32be(v,a) __raw_writel(cpu_to_be32((v)),(a)) ++#endif + + #define ioread8_rep(a,d,c) insb((a),(d),(c)) + #define ioread16_rep(a,d,c) insw((a),(d),(c)) +@@ -163,6 +165,20 @@ void __raw_readsl(unsigned long addr, void *data, int longlen); + #define iowrite16_rep(a,s,c) outsw((a),(s),(c)) + #define iowrite32_rep(a,s,c) outsl((a),(s),(c)) + ++#ifdef CONFIG_CPU_SUBTYPE_SH7709 ++ #define ioread8(a) inb(a) ++ #define ioread16(a) inw(a) ++ #define ioread16be(a) be16_to_cpu(inw((a))) ++ #define ioread32(a) inl(a) ++ #define ioread32be(v,a) be32_to_cpu(inl((a))) ++ ++ #define iowrite8(v,a) outb((v),(a)) ++ #define iowrite16(v,a) outw((v),(a)) ++ #define iowrite16be(v,a) outw(cpu_to_be16((v),(a))) ++ #define iowrite32(v,a) outl((v),(a)) ++ #define iowrite32be(v,a) outl(cpu_to_be32((v),(a))) ++#endif ++ + #define mmiowb() wmb() /* synco on SH-4A, otherwise a nop */ + + /* +diff --git a/include/asm-sh/irq.h b/include/asm-sh/irq.h +index afe188f..95f9a1a 100644 +--- a/include/asm-sh/irq.h ++++ b/include/asm-sh/irq.h +@@ -23,6 +23,40 @@ + defined(CONFIG_CPU_SUBTYPE_SH7705) + # define ONCHIP_NR_IRQS 64 // Actually 61 + # define PINT_NR_IRQS 16 ++ ++ #define INTC_IRR0 0xa4000004UL ++ #define INTC_IRR1 0xa4000006UL ++ #define INTC_IRR2 0xa4000008UL ++ ++ #define INTC_IPRA 0xfffffee2UL ++ #define INTC_IPRB 0xfffffee4UL ++ #define INTC_IPRD 0xa4000018UL ++ ++ #define INTC_INTER 0xa4000014UL ++ ++ #define INTC_ICR0 0xfffffee0UL ++ #define INTC_ICR1 0xa4000010UL ++ #define INTC_ICR2 0xa4000012UL ++ ++ #define PORT_PACR 0xa4000100UL ++ #define PORT_PBCR 0xa4000102UL ++ #define PORT_PCCR 0xa4000104UL ++ #define PORT_PFCR 0xa400010aUL ++ ++ #define PORT_PADR 0xa4000120UL ++ #define PORT_PBDR 0xa4000122UL ++ #define PORT_PCDR 0xa4000124UL ++ #define PORT_PFDR 0xa400012aUL ++ ++ #define PINT0_IRQ 40 ++ #define PINT8_IRQ 41 ++ #define PINT0_IPR_ADDR INTC_IPRD ++ #define PINT8_IPR_ADDR INTC_IPRD ++ #define PINT0_IPR_POS 3 ++ #define PINT8_IPR_POS 2 ++ #define PINT0_PRIORITY 2 ++ #define PINT8_PRIORITY 2 ++ + #elif defined(CONFIG_CPU_SUBTYPE_SH7710) + # define ONCHIP_NR_IRQS 104 + #elif defined(CONFIG_CPU_SUBTYPE_SH7750) +diff --git a/sound/oss/sh_dac_audio.c b/sound/oss/sh_dac_audio.c +index 7ea9acc..dcfcad0 100644 +--- a/sound/oss/sh_dac_audio.c ++++ b/sound/oss/sh_dac_audio.c +@@ -32,6 +32,7 @@ + #define MODNAME "sh_dac_audio" + + #define TMU_TOCR_INIT 0x00 ++#define TIMER1_IRQ 14 + + #define TMU1_TCR_INIT 0x0020 /* Clock/4, rising edge; interrupt on */ + #define TMU1_TSTR_INIT 0x02 /* Bit to turn on TMU1 */ +@@ -104,7 +105,7 @@ static void dac_audio_set_rate(void) + unsigned long interval; + struct clk *clk; + +- clk = clk_get("module_clk"); ++ clk = clk_get("module_clk", NULL); + interval = (clk_get_rate(clk) / 4) / rate; + clk_put(clk); + ctrl_outl(interval, TMU1_TCOR); diff --git a/packages/linux/linux-jlime-jornada6xx_2.6.21rc5.bb b/packages/linux/linux-jlime-jornada6xx_2.6.21rc5.bb new file mode 100644 index 0000000000..f38fa5c26e --- /dev/null +++ b/packages/linux/linux-jlime-jornada6xx_2.6.21rc5.bb @@ -0,0 +1,32 @@ +SECTION = "kernel" +DESCRIPTION = "JLime Linux kernel for SuperH based Jornada 6xx" +LICENSE = "GPL" +PR = "r0" + +COMPATIBLE_HOST = "sh.*-linux" +#COMPATIBLE_MACHINE = "jornada6xx" + +SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git;protocol=git;tag=v2.6.21-rc5 \ + file://git-20070405-2.patch;patch=1 \ + file://defconfig" + + +S = "${WORKDIR}/linux-${PV}" + +inherit kernel + +#Lets let 3.4.x handle the compilation of this one +KERNEL_CCSUFFIX = "-3.4.4" + +ARCH = "sh" +KERNEL_IMAGETYPE = "zImage" +FILES_kernel-image = "/boot/${KERNEL_IMAGETYPE}*" + +do_configure_prepend() { + install -m 0644 ${WORKDIR}/defconfig ${S}/.config +} + +do_deploy() { + install -d ${DEPLOY_DIR_IMAGE} + install -m 0644 arch/$(ARCH)/boot/$(KERNEL_IMAGETYPE) $(DEPLOY_DIR)/images/$(KERNEL_IMAGETYPE) +} -- cgit v1.2.3 From a52d027772bf6d0dd30b6731dfb375d3c5c29929 Mon Sep 17 00:00:00 2001 From: Graeme Gregory Date: Fri, 6 Apr 2007 15:01:37 +0000 Subject: linux-smdk2440_2.6.20+git : add a new version updated to 2.6.21-rc6+asoc remove older versions that are in various states of disrepair. --- .../linux/linux-smdk2440-2.6.19/.mtn2git_empty | 0 .../smdk2440-touchscreen-r2.patch | 532 --------------------- .../linux/linux-smdk2440-2.6.20+git/.mtn2git_empty | 0 ...cs8900A-network-device-for-smdk2440-board.patch | 92 ++++ packages/linux/linux-smdk2440/defconfig-smdk2440 | 203 +++++--- .../linux-smdk2440/smdk2440-touchscreen-r3.patch | 529 -------------------- packages/linux/linux-smdk2440_2.6.19.bb | 39 -- packages/linux/linux-smdk2440_2.6.20+git.bb | 38 ++ 8 files changed, 258 insertions(+), 1175 deletions(-) delete mode 100644 packages/linux/linux-smdk2440-2.6.19/.mtn2git_empty delete mode 100644 packages/linux/linux-smdk2440-2.6.19/smdk2440-touchscreen-r2.patch create mode 100644 packages/linux/linux-smdk2440-2.6.20+git/.mtn2git_empty create mode 100644 packages/linux/linux-smdk2440-2.6.20+git/0001-Enable-cs8900A-network-device-for-smdk2440-board.patch delete mode 100644 packages/linux/linux-smdk2440/smdk2440-touchscreen-r3.patch delete mode 100644 packages/linux/linux-smdk2440_2.6.19.bb create mode 100644 packages/linux/linux-smdk2440_2.6.20+git.bb (limited to 'packages/linux') diff --git a/packages/linux/linux-smdk2440-2.6.19/.mtn2git_empty b/packages/linux/linux-smdk2440-2.6.19/.mtn2git_empty deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/packages/linux/linux-smdk2440-2.6.19/smdk2440-touchscreen-r2.patch b/packages/linux/linux-smdk2440-2.6.19/smdk2440-touchscreen-r2.patch deleted file mode 100644 index d785cb885f..0000000000 --- a/packages/linux/linux-smdk2440-2.6.19/smdk2440-touchscreen-r2.patch +++ /dev/null @@ -1,532 +0,0 @@ -Index: linux-2.6.19/drivers/input/touchscreen/s3c2410_ts.c -=================================================================== ---- /dev/null -+++ linux-2.6.19/drivers/input/touchscreen/s3c2410_ts.c -@@ -0,0 +1,351 @@ -+/* -+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -+ * -+ * Copyright (c) 2004 Arnaud Patard -+ * iPAQ H1940 touchscreen support -+ * -+ * ChangeLog -+ * -+ * 2004-09-05: Herbert Pötzl -+ * - added clock (de-)allocation code -+ * -+ * 2005-03-06: Arnaud Patard -+ * - h1940_ -> s3c2410 (this driver is now also used on the n30 -+ * machines :P) -+ * - Debug messages are now enabled with the config option -+ * TOUCHSCREEN_S3C2410_DEBUG -+ * - Changed the way the value are read -+ * - Input subsystem should now work -+ * - Use ioremap and readl/writel -+ * -+ * 2005-03-23: Arnaud Patard -+ * - Make use of some undocumented features of the touchscreen -+ * controller -+ * -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include -+#include -+#include -+ -+/* For ts.dev.id.version */ -+#define S3C2410TSVERSION 0x0101 -+ -+#define WAIT4INT(x) (((x)<<8) | \ -+ S3C2410_ADCTSC_YM_SEN | S3C2410_ADCTSC_YP_SEN | S3C2410_ADCTSC_XP_SEN | \ -+ S3C2410_ADCTSC_XY_PST(3)) -+ -+#define AUTOPST (S3C2410_ADCTSC_YM_SEN | S3C2410_ADCTSC_YP_SEN | S3C2410_ADCTSC_XP_SEN | \ -+ S3C2410_ADCTSC_AUTO_PST | S3C2410_ADCTSC_XY_PST(0)) -+ -+#define DEBUG_LVL KERN_DEBUG -+ -+MODULE_AUTHOR("Arnaud Patard "); -+MODULE_DESCRIPTION("s3c2410 touchscreen driver"); -+MODULE_LICENSE("GPL"); -+ -+/* -+ * Definitions & global arrays. -+ */ -+ -+ -+static char *s3c2410ts_name = "s3c2410 TouchScreen"; -+ -+/* -+ * Per-touchscreen data. -+ */ -+ -+struct s3c2410ts { -+ struct input_dev *dev; -+ long xp; -+ long yp; -+ int count; -+ int shift; -+}; -+ -+static struct s3c2410ts ts; -+static void __iomem *base_addr; -+ -+static inline void s3c2410_ts_connect(void) -+{ -+ s3c2410_gpio_cfgpin(S3C2410_GPG12, S3C2410_GPG12_XMON); -+ s3c2410_gpio_cfgpin(S3C2410_GPG13, S3C2410_GPG13_nXPON); -+ s3c2410_gpio_cfgpin(S3C2410_GPG14, S3C2410_GPG14_YMON); -+ s3c2410_gpio_cfgpin(S3C2410_GPG15, S3C2410_GPG15_nYPON); -+} -+ -+static void touch_timer_fire(unsigned long data) -+{ -+ unsigned long data0; -+ unsigned long data1; -+ int updown; -+ -+ data0 = readl(base_addr+S3C2410_ADCDAT0); -+ data1 = readl(base_addr+S3C2410_ADCDAT1); -+ -+ updown = (!(data0 & S3C2410_ADCDAT0_UPDOWN)) && (!(data1 & S3C2410_ADCDAT0_UPDOWN)); -+ -+ if (updown) { -+ if (ts.count != 0) { -+ ts.xp >>= ts.shift; -+ ts.yp >>= ts.shift; -+ -+#ifdef CONFIG_TOUCHSCREEN_S3C2410_DEBUG -+ { -+ struct timeval tv; -+ do_gettimeofday(&tv); -+ printk(DEBUG_LVL "T: %06d, X: %03ld, Y: %03ld\n", (int)tv.tv_usec, ts.xp, ts.yp); -+ } -+#endif -+ -+ input_report_abs(ts.dev, ABS_Y, ts.xp); -+ input_report_abs(ts.dev, ABS_X, ts.yp); -+ -+ input_report_key(ts.dev, BTN_TOUCH, 1); -+ input_report_abs(ts.dev, ABS_PRESSURE, 1); -+ input_sync(ts.dev); -+ } -+ -+ ts.count = 0; -+ -+ writel(S3C2410_ADCTSC_PULL_UP_DISABLE | AUTOPST, base_addr+S3C2410_ADCTSC); -+ writel(readl(base_addr+S3C2410_ADCCON) | S3C2410_ADCCON_ENABLE_START, base_addr+S3C2410_ADCCON); -+ } else { -+ ts.count = 0; -+ -+ input_report_abs(ts.dev, ABS_Y, ts.xp); -+ input_report_abs(ts.dev, ABS_X, ts.yp); -+ -+ input_report_key(ts.dev, BTN_TOUCH, 0); -+ input_report_abs(ts.dev, ABS_PRESSURE, 0); -+ input_sync(ts.dev); -+ -+ writel(WAIT4INT(0), base_addr+S3C2410_ADCTSC); -+ } -+} -+ -+static struct timer_list touch_timer = -+ TIMER_INITIALIZER(touch_timer_fire, 0, 0); -+ -+static irqreturn_t stylus_updown(int irq, void *dev_id, struct pt_regs *regs) -+{ -+ unsigned long data0; -+ unsigned long data1; -+ int updown; -+ -+ data0 = readl(base_addr+S3C2410_ADCDAT0); -+ data1 = readl(base_addr+S3C2410_ADCDAT1); -+ -+ updown = (!(data0 & S3C2410_ADCDAT0_UPDOWN)) && (!(data1 & S3C2410_ADCDAT0_UPDOWN)); -+ -+ /* TODO we should never get an interrupt with updown set while -+ * the timer is running, but maybe we ought to verify that the -+ * timer isn't running anyways. */ -+ -+ if (updown) -+ touch_timer_fire(0); -+ -+ return IRQ_HANDLED; -+} -+ -+ -+static irqreturn_t stylus_action(int irq, void *dev_id, struct pt_regs *regs) -+{ -+ unsigned long data0; -+ unsigned long data1; -+ -+ data0 = readl(base_addr+S3C2410_ADCDAT0); -+ data1 = readl(base_addr+S3C2410_ADCDAT1); -+ -+ ts.xp += data0 & S3C2410_ADCDAT0_XPDATA_MASK; -+ ts.yp += data1 & S3C2410_ADCDAT1_YPDATA_MASK; -+ ts.count++; -+ -+ if (ts.count < (1<dev.platform_data; -+ -+ if (!info) -+ { -+ printk(KERN_ERR "Hm... too bad : no platform data for ts\n"); -+ return -EINVAL; -+ } -+ -+#ifdef CONFIG_TOUCHSCREEN_S3C2410_DEBUG -+ printk(DEBUG_LVL "Entering s3c2410ts_init\n"); -+#endif -+ -+ adc_clock = clk_get(NULL, "adc"); -+ if (!adc_clock) { -+ printk(KERN_ERR "failed to get adc clock source\n"); -+ return -ENOENT; -+ } -+ clk_enable(adc_clock); -+ -+#ifdef CONFIG_TOUCHSCREEN_S3C2410_DEBUG -+ printk(DEBUG_LVL "got and enabled clock\n"); -+#endif -+ -+ base_addr=ioremap(S3C2410_PA_ADC,0x20); -+ if (base_addr == NULL) { -+ printk(KERN_ERR "Failed to remap register block\n"); -+ return -ENOMEM; -+ } -+ -+ -+ /* Configure GPIOs */ -+ s3c2410_ts_connect(); -+ -+ if ((info->presc&0xff) > 0) -+ writel(S3C2410_ADCCON_PRSCEN | S3C2410_ADCCON_PRSCVL(info->presc&0xFF),\ -+ base_addr+S3C2410_ADCCON); -+ else -+ writel(0,base_addr+S3C2410_ADCCON); -+ -+ -+ /* Initialise registers */ -+ if ((info->delay&0xffff) > 0) -+ writel(info->delay & 0xffff, base_addr+S3C2410_ADCDLY); -+ -+ writel(WAIT4INT(0), base_addr+S3C2410_ADCTSC); -+ -+ /* Initialise input stuff */ -+ memset(&ts, 0, sizeof(struct s3c2410ts)); -+ input_dev = input_allocate_device(); -+ -+ if (!input_dev) { -+ printk(KERN_ERR "Unable to allocate the input device !!\n"); -+ return -ENOMEM; -+ } -+ -+ ts.dev = input_dev; -+ ts.dev->evbit[0] = BIT(EV_SYN) | BIT(EV_KEY) | BIT(EV_ABS); -+ ts.dev->keybit[LONG(BTN_TOUCH)] = BIT(BTN_TOUCH); -+ input_set_abs_params(ts.dev, ABS_X, 0x10, 0x3FF, 0, 0); -+ input_set_abs_params(ts.dev, ABS_Y, 0x10, 0x3FF, 0, 0); -+ input_set_abs_params(ts.dev, ABS_PRESSURE, 0, 1, 0, 0); -+ -+ ts.dev->private = &ts; -+ ts.dev->name = s3c2410ts_name; -+ ts.dev->id.bustype = BUS_RS232; -+ ts.dev->id.vendor = 0xDEAD; -+ ts.dev->id.product = 0xBEEF; -+ ts.dev->id.version = S3C2410TSVERSION; -+ -+ ts.shift = info->oversampling_shift; -+ -+ /* Get irqs */ -+ if (request_irq(IRQ_ADC, stylus_action, SA_SAMPLE_RANDOM, -+ "s3c2410_action", ts.dev)) { -+ printk(KERN_ERR "s3c2410_ts.c: Could not allocate ts IRQ_ADC !\n"); -+ iounmap(base_addr); -+ return -EIO; -+ } -+ if (request_irq(IRQ_TC, stylus_updown, SA_SAMPLE_RANDOM, -+ "s3c2410_action", ts.dev)) { -+ printk(KERN_ERR "s3c2410_ts.c: Could not allocate ts IRQ_TC !\n"); -+ iounmap(base_addr); -+ return -EIO; -+ } -+ -+ printk(KERN_INFO "%s successfully loaded\n", s3c2410ts_name); -+ -+ /* All went ok, so register to the input system */ -+ input_register_device(ts.dev); -+ -+ return 0; -+} -+ -+static int s3c2410ts_remove(struct platform_device *pdev) -+{ -+ disable_irq(IRQ_ADC); -+ disable_irq(IRQ_TC); -+ free_irq(IRQ_TC,ts.dev); -+ free_irq(IRQ_ADC,ts.dev); -+ -+ if (adc_clock) { -+ clk_disable(adc_clock); -+ clk_put(adc_clock); -+ adc_clock = NULL; -+ } -+ -+ input_unregister_device(ts.dev); -+ iounmap(base_addr); -+ -+ return 0; -+} -+ -+static struct platform_driver s3c2410ts_driver = { -+ .driver = { -+ .name = "s3c2410-ts", -+ .owner = THIS_MODULE, -+ }, -+ .probe = s3c2410ts_probe, -+ .remove = s3c2410ts_remove, -+}; -+ -+ -+static int __init s3c2410ts_init(void) -+{ -+ return platform_driver_register(&s3c2410ts_driver); -+} -+ -+static void __exit s3c2410ts_exit(void) -+{ -+ platform_driver_unregister(&s3c2410ts_driver); -+} -+ -+module_init(s3c2410ts_init); -+module_exit(s3c2410ts_exit); -+ -+/* -+ Local variables: -+ compile-command: "make ARCH=arm CROSS_COMPILE=/usr/local/arm/3.3.2/bin/arm-linux- -k -C ../../.." -+ c-basic-offset: 8 -+ End: -+*/ -Index: linux-2.6.19/arch/arm/mach-s3c2410/devs.c -=================================================================== ---- linux-2.6.19.orig/arch/arm/mach-s3c2410/devs.c -+++ linux-2.6.19/arch/arm/mach-s3c2410/devs.c -@@ -28,6 +28,7 @@ - #include - - #include -+#include - - #include "devs.h" - #include "cpu.h" -@@ -204,6 +205,23 @@ struct platform_device s3c_device_nand = - - EXPORT_SYMBOL(s3c_device_nand); - -+/* Touchscreen */ -+struct platform_device s3c_device_ts = { -+ .name = "s3c2410-ts", -+ .id = -1, -+}; -+ -+EXPORT_SYMBOL(s3c_device_ts); -+ -+static struct s3c2410_ts_mach_info s3c2410ts_info; -+ -+void __init set_s3c2410ts_info(struct s3c2410_ts_mach_info *hard_s3c2410ts_info) -+{ -+ memcpy(&s3c2410ts_info,hard_s3c2410ts_info,sizeof(struct s3c2410_ts_mach_info)); -+ s3c_device_ts.dev.platform_data = &s3c2410ts_info; -+} -+EXPORT_SYMBOL(set_s3c2410ts_info); -+ - /* USB Device (Gadget)*/ - - static struct resource s3c_usbgadget_resource[] = { -Index: linux-2.6.19/arch/arm/mach-s3c2410/devs.h -=================================================================== ---- linux-2.6.19.orig/arch/arm/mach-s3c2410/devs.h -+++ linux-2.6.19/arch/arm/mach-s3c2410/devs.h -@@ -41,6 +41,8 @@ extern struct platform_device s3c_device - extern struct platform_device s3c_device_timer3; - - extern struct platform_device s3c_device_usbgadget; -+extern struct platform_device s3c_device_ts; -+ - - /* s3c2440 specific devices */ - -Index: linux-2.6.19/arch/arm/mach-s3c2410/mach-smdk2440.c -=================================================================== ---- linux-2.6.19.orig/arch/arm/mach-s3c2410/mach-smdk2440.c -+++ linux-2.6.19/arch/arm/mach-s3c2410/mach-smdk2440.c -@@ -38,6 +38,7 @@ - - #include - #include -+#include - - #include "s3c2410.h" - #include "s3c2440.h" -@@ -177,6 +178,7 @@ static struct platform_device *smdk2440_ - &s3c_device_wdt, - &s3c_device_i2c, - &s3c_device_iis, -+ &s3c_device_ts, - }; - - static struct s3c24xx_board smdk2440_board __initdata = { -@@ -184,6 +186,13 @@ static struct s3c24xx_board smdk2440_boa - .devices_count = ARRAY_SIZE(smdk2440_devices) - }; - -+static struct s3c2410_ts_mach_info smdk2440_ts_cfg __initdata = { -+ .delay = 10000, -+ .presc = 49, -+ .oversampling_shift = 2, -+}; -+ -+ - static void __init smdk2440_map_io(void) - { - s3c24xx_init_io(smdk2440_iodesc, ARRAY_SIZE(smdk2440_iodesc)); -@@ -195,6 +204,7 @@ static void __init smdk2440_map_io(void) - static void __init smdk2440_machine_init(void) - { - s3c24xx_fb_set_platdata(&smdk2440_lcd_cfg); -+ set_s3c2410ts_info(&smdk2440_ts_cfg); - - smdk_machine_init(); - } -Index: linux-2.6.19/drivers/input/touchscreen/Kconfig -=================================================================== ---- linux-2.6.19.orig/drivers/input/touchscreen/Kconfig -+++ linux-2.6.19/drivers/input/touchscreen/Kconfig -@@ -49,6 +49,25 @@ config TOUCHSCREEN_CORGI - To compile this driver as a module, choose M here: the - module will be called corgi_ts. - -+config TOUCHSCREEN_S3C2410 -+ tristate "Samsung S3C2410 touchscreen input driver" -+ depends on ARCH_S3C2410 && INPUT && INPUT_TOUCHSCREEN -+ select SERIO -+ help -+ Say Y here if you have the s3c2410 touchscreen. -+ -+ If unsure, say N. -+ -+ To compile this driver as a module, choose M here: the -+ module will be called s3c2410_ts. -+ -+config TOUCHSCREEN_S3C2410_DEBUG -+ boolean "Samsung S3C2410 touchscreen debug messages" -+ depends on TOUCHSCREEN_S3C2410 -+ help -+ Select this if you want debug messages -+ -+ - config TOUCHSCREEN_GUNZE - tristate "Gunze AHL-51S touchscreen" - select SERIO -Index: linux-2.6.19/drivers/input/touchscreen/Makefile -=================================================================== ---- linux-2.6.19.orig/drivers/input/touchscreen/Makefile -+++ linux-2.6.19/drivers/input/touchscreen/Makefile -@@ -15,3 +15,4 @@ obj-$(CONFIG_TOUCHSCREEN_HP600) += hp680 - obj-$(CONFIG_TOUCHSCREEN_PENMOUNT) += penmount.o - obj-$(CONFIG_TOUCHSCREEN_TOUCHRIGHT) += touchright.o - obj-$(CONFIG_TOUCHSCREEN_TOUCHWIN) += touchwin.o -+obj-$(CONFIG_TOUCHSCREEN_S3C2410) += s3c2410_ts.o -Index: linux-2.6.19/include/asm-arm/arch-s3c2410/ts.h -=================================================================== ---- /dev/null -+++ linux-2.6.19/include/asm-arm/arch-s3c2410/ts.h -@@ -0,0 +1,28 @@ -+/* linux/include/asm/arch-s3c2410/ts.h -+ * -+ * Copyright (c) 2005 Arnaud Patard -+ * -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License version 2 as -+ * published by the Free Software Foundation. -+ * -+ * -+ * Changelog: -+ * 24-Mar-2005 RTP Created file -+ * 03-Aug-2005 RTP Renamed to ts.h -+ */ -+ -+#ifndef __ASM_ARM_TS_H -+#define __ASM_ARM_TS_H -+ -+struct s3c2410_ts_mach_info { -+ int delay; -+ int presc; -+ int oversampling_shift; -+}; -+ -+void __init set_s3c2410ts_info(struct s3c2410_ts_mach_info *hard_s3c2410ts_info); -+ -+#endif /* __ASM_ARM_TS_H */ -+ -Index: linux-2.6.19/include/asm-arm/arch-s3c2410/regs-adc.h -=================================================================== ---- linux-2.6.19.orig/include/asm-arm/arch-s3c2410/regs-adc.h -+++ linux-2.6.19/include/asm-arm/arch-s3c2410/regs-adc.h -@@ -41,7 +41,7 @@ - #define S3C2410_ADCTSC_XP_SEN (1<<4) - #define S3C2410_ADCTSC_PULL_UP_DISABLE (1<<3) - #define S3C2410_ADCTSC_AUTO_PST (1<<2) --#define S3C2410_ADCTSC_XY_PST (0x3<<0) -+#define S3C2410_ADCTSC_XY_PST(x) (((x)&0x3)<<0) - - /* ADCDAT0 Bits */ - #define S3C2410_ADCDAT0_UPDOWN (1<<15) diff --git a/packages/linux/linux-smdk2440-2.6.20+git/.mtn2git_empty b/packages/linux/linux-smdk2440-2.6.20+git/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/linux/linux-smdk2440-2.6.20+git/0001-Enable-cs8900A-network-device-for-smdk2440-board.patch b/packages/linux/linux-smdk2440-2.6.20+git/0001-Enable-cs8900A-network-device-for-smdk2440-board.patch new file mode 100644 index 0000000000..bf8a0081dd --- /dev/null +++ b/packages/linux/linux-smdk2440-2.6.20+git/0001-Enable-cs8900A-network-device-for-smdk2440-board.patch @@ -0,0 +1,92 @@ +From 44c48cf15a3072185ce3541a127a89bfbb2b346f Mon Sep 17 00:00:00 2001 +From: Graeme Gregory +Date: Fri, 6 Apr 2007 15:47:13 +0100 +Subject: [PATCH] Enable cs8900A network device for smdk2440 board. + +Signed-off-by: Graeme Gregory +--- + arch/arm/mach-s3c2440/mach-smdk2440.c | 7 ++++++- + drivers/net/cs89x0.c | 20 ++++++++++++++++++-- + 2 files changed, 24 insertions(+), 3 deletions(-) + +diff --git a/arch/arm/mach-s3c2440/mach-smdk2440.c b/arch/arm/mach-s3c2440/mach-smdk2440.c +index c17eb5b..fb36665 100644 +--- a/arch/arm/mach-s3c2440/mach-smdk2440.c ++++ b/arch/arm/mach-s3c2440/mach-smdk2440.c +@@ -69,7 +69,12 @@ static struct map_desc smdk2440_iodesc[] __initdata = { + .pfn = __phys_to_pfn(S3C2410_CS2 + (1<<24)), + .length = SZ_4M, + .type = MT_DEVICE, +- } ++ }, { ++ .virtual = (u32)S3C2410_ADDR(0x04000000) , ++ .pfn = __phys_to_pfn(S3C2410_CS3 + (1<<24)), ++ .length = SZ_16M, ++ .type = MT_DEVICE, ++ } + }; + + #define UCON S3C2410_UCON_DEFAULT | S3C2410_UCON_UCLK +diff --git a/drivers/net/cs89x0.c b/drivers/net/cs89x0.c +index 4612f71..534653e 100644 +--- a/drivers/net/cs89x0.c ++++ b/drivers/net/cs89x0.c +@@ -187,6 +187,10 @@ static unsigned int cs8900_irq_map[] = {IRQ_IXDP2351_CS8900, 0, 0, 0}; + #include + static unsigned int netcard_portlist[] __initdata = {IXDP2X01_CS8900_VIRT_BASE, 0}; + static unsigned int cs8900_irq_map[] = {IRQ_IXDP2X01_CS8900, 0, 0, 0}; ++#elif defined(CONFIG_ARCH_S3C2440) ++static unsigned int netcard_portlist[] __initdata = {S3C2410_ADDR(0x04000000) + 0x300 , 0}; ++static unsigned int cs8900_irq_map[] = {IRQ_EINT9, 0, 0, 0}; ++static unsigned char cs8900_mac[] = {0xDE,0xAD,0xBE,0xEF,0x01,0x02}; + #elif defined(CONFIG_ARCH_PNX010X) + #include + #include +@@ -719,6 +723,14 @@ cs89x0_probe1(struct net_device *dev, int ioaddr, int modular) + + printk( "[Cirrus EEPROM] "); + } ++#if defined(CONFIG_ARCH_S3C2440) ++ else ++ { ++ for (i=0; i < ETH_ALEN; i++) { ++ dev->dev_addr[i] = cs8900_mac[i]; ++ } ++ } ++#endif + + printk("\n"); + +@@ -802,7 +814,7 @@ cs89x0_probe1(struct net_device *dev, int ioaddr, int modular) + } else { + i = lp->isa_config & INT_NO_MASK; + if (lp->chip_type == CS8900) { +-#if defined(CONFIG_MACH_IXDP2351) || defined(CONFIG_ARCH_IXDP2X01) || defined(CONFIG_ARCH_PNX010X) ++#if defined(CONFIG_MACH_IXDP2351) || defined(CONFIG_ARCH_IXDP2X01) || defined(CONFIG_ARCH_PNX010X) || defined(CONFIG_ARCH_S3C2410) + i = cs8900_irq_map[0]; + #else + /* Translate the IRQ using the IRQ mapping table. */ +@@ -1309,7 +1321,7 @@ net_open(struct net_device *dev) + else + #endif + { +-#if !defined(CONFIG_MACH_IXDP2351) && !defined(CONFIG_ARCH_IXDP2X01) && !defined(CONFIG_ARCH_PNX010X) ++#if !defined(CONFIG_MACH_IXDP2351) && !defined(CONFIG_ARCH_IXDP2X01) && !defined(CONFIG_ARCH_PNX010X) && !defined(CONFIG_ARCH_S3C2410) + if (((1 << dev->irq) & lp->irq_map) == 0) { + printk(KERN_ERR "%s: IRQ %d is not in our map of allowable IRQs, which is %x\n", + dev->name, dev->irq, lp->irq_map); +@@ -1324,7 +1336,11 @@ net_open(struct net_device *dev) + writereg(dev, PP_BusCTL, ENABLE_IRQ | MEMORY_ON); + #endif + write_irq(dev, lp->chip_type, dev->irq); ++#if !defined(CONFIG_ARCH_S3C2440) + ret = request_irq(dev->irq, &net_interrupt, 0, dev->name, dev); ++#else ++ ret = request_irq(dev->irq, &net_interrupt, IRQF_DISABLED | IRQF_TRIGGER_HIGH, dev->name, dev); ++#endif + if (ret) { + if (net_debug) + printk(KERN_DEBUG "cs89x0: request_irq(%d) failed\n", dev->irq); +-- +1.5.1 + diff --git a/packages/linux/linux-smdk2440/defconfig-smdk2440 b/packages/linux/linux-smdk2440/defconfig-smdk2440 index 5bdf67e850..8805af7413 100644 --- a/packages/linux/linux-smdk2440/defconfig-smdk2440 +++ b/packages/linux/linux-smdk2440/defconfig-smdk2440 @@ -1,11 +1,14 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.20-rc2 -# Thu Jan 4 13:31:25 2007 +# Linux kernel version: 2.6.21-rc6 +# Fri Apr 6 15:53:13 2007 # CONFIG_ARM=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_GENERIC_GPIO=y # CONFIG_GENERIC_TIME is not set CONFIG_MMU=y +CONFIG_NO_IOPORT=y CONFIG_GENERIC_HARDIRQS=y CONFIG_TRACE_IRQFLAGS_SUPPORT=y CONFIG_HARDIRQS_SW_RESEND=y @@ -15,6 +18,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y # CONFIG_ARCH_HAS_ILOG2_U64 is not set CONFIG_GENERIC_HWEIGHT=y CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_ZONE_DMA=y CONFIG_VECTORS_BASE=0xffff0000 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" @@ -33,6 +37,7 @@ CONFIG_LOCALVERSION_AUTO=y CONFIG_SWAP=y CONFIG_SYSVIPC=y # CONFIG_IPC_NS is not set +CONFIG_SYSVIPC_SYSCTL=y # CONFIG_POSIX_MQUEUE is not set # CONFIG_BSD_PROCESS_ACCT is not set # CONFIG_TASKSTATS is not set @@ -41,6 +46,7 @@ CONFIG_SYSVIPC=y # CONFIG_IKCONFIG is not set CONFIG_SYSFS_DEPRECATED=y # CONFIG_RELAY is not set +CONFIG_BLK_DEV_INITRD=y CONFIG_INITRAMFS_SOURCE="" CONFIG_CC_OPTIMIZE_FOR_SIZE=y CONFIG_SYSCTL=y @@ -120,6 +126,7 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" # CONFIG_ARCH_IXP2000 is not set # CONFIG_ARCH_IXP23XX is not set # CONFIG_ARCH_L7200 is not set +# CONFIG_ARCH_NS9XXX is not set # CONFIG_ARCH_PNX4008 is not set # CONFIG_ARCH_PXA is not set # CONFIG_ARCH_RPC is not set @@ -128,55 +135,73 @@ CONFIG_ARCH_S3C2410=y # CONFIG_ARCH_SHARK is not set # CONFIG_ARCH_LH7A40X is not set # CONFIG_ARCH_OMAP is not set +CONFIG_PLAT_S3C24XX=y +CONFIG_CPU_S3C244X=y +CONFIG_PM_SIMTEC=y +# CONFIG_S3C2410_BOOT_WATCHDOG is not set +# CONFIG_S3C2410_BOOT_ERROR_RESET is not set +# CONFIG_S3C2410_PM_DEBUG is not set +# CONFIG_S3C2410_PM_CHECK is not set +CONFIG_S3C2410_LOWLEVEL_UART_PORT=0 +CONFIG_S3C2410_DMA=y +CONFIG_S3C2410_DMA_DEBUG=y +CONFIG_MACH_SMDK=y # -# S3C24XX Implementations +# S3C2400 Machines # -# CONFIG_MACH_AML_M5900 is not set -CONFIG_MACH_ANUBIS=y -CONFIG_MACH_OSIRIS=y -CONFIG_ARCH_BAST=y -CONFIG_BAST_PC104_IRQ=y -CONFIG_PM_H1940=y +CONFIG_CPU_S3C2410=y +CONFIG_CPU_S3C2410_DMA=y +CONFIG_S3C2410_PM=y +CONFIG_S3C2410_GPIO=y +CONFIG_S3C2410_CLOCK=y + +# +# S3C2410 Machines +# +CONFIG_ARCH_SMDK2410=y CONFIG_ARCH_H1940=y +CONFIG_PM_H1940=y CONFIG_MACH_N30=y -CONFIG_MACH_SMDK=y -CONFIG_ARCH_SMDK2410=y -CONFIG_ARCH_S3C2440=y -CONFIG_SMDK2440_CPU2440=y -CONFIG_SMDK2440_CPU2442=y -CONFIG_MACH_S3C2413=y -CONFIG_MACH_SMDK2413=y -CONFIG_MACH_VR1000=y -CONFIG_MACH_RX3715=y +CONFIG_ARCH_BAST=y CONFIG_MACH_OTOM=y -CONFIG_MACH_NEXCODER_2440=y -# CONFIG_MACH_VSTMS is not set -CONFIG_S3C2410_CLOCK=y -CONFIG_S3C2410_PM=y -CONFIG_CPU_S3C2410_DMA=y -CONFIG_CPU_S3C2410=y -CONFIG_S3C2412_PM=y +# CONFIG_MACH_AML_M5900 is not set +CONFIG_BAST_PC104_IRQ=y +CONFIG_MACH_VR1000=y +# CONFIG_MACH_QT2410 is not set CONFIG_CPU_S3C2412=y -CONFIG_CPU_S3C244X=y +CONFIG_S3C2412_DMA=y +CONFIG_S3C2412_PM=y + +# +# S3C2412 Machines +# +CONFIG_MACH_SMDK2413=y +CONFIG_MACH_S3C2413=y +# CONFIG_MACH_VSTMS is not set CONFIG_CPU_S3C2440=y +CONFIG_S3C2440_DMA=y + +# +# S3C2440 Machines +# +CONFIG_MACH_ANUBIS=y +CONFIG_MACH_OSIRIS=y +CONFIG_MACH_RX3715=y +CONFIG_ARCH_S3C2440=y +CONFIG_MACH_NEXCODER_2440=y +CONFIG_SMDK2440_CPU2440=y CONFIG_CPU_S3C2442=y # -# S3C2410 Boot +# S3C2442 Machines # -# CONFIG_S3C2410_BOOT_WATCHDOG is not set -# CONFIG_S3C2410_BOOT_ERROR_RESET is not set +CONFIG_SMDK2440_CPU2442=y # -# S3C2410 Setup +# S3C2443 Machines # -CONFIG_S3C2410_DMA=y -CONFIG_S3C2410_DMA_DEBUG=y -# CONFIG_S3C2410_PM_DEBUG is not set -# CONFIG_S3C2410_PM_CHECK is not set -CONFIG_PM_SIMTEC=y -CONFIG_S3C2410_LOWLEVEL_UART_PORT=0 +# CONFIG_MACH_SMDK2443 is not set # # Processor Type @@ -203,6 +228,7 @@ CONFIG_CPU_CP15_MMU=y # CONFIG_CPU_DCACHE_DISABLE is not set # CONFIG_CPU_DCACHE_WRITETHROUGH is not set # CONFIG_CPU_CACHE_ROUND_ROBIN is not set +# CONFIG_OUTER_CACHE is not set # # Bus support @@ -232,6 +258,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y # CONFIG_SPARSEMEM_STATIC is not set CONFIG_SPLIT_PTLOCK_CPUS=4096 # CONFIG_RESOURCES_64BIT is not set +CONFIG_ZONE_DMA_FLAG=1 CONFIG_ALIGNMENT_TRAP=y # @@ -241,6 +268,7 @@ CONFIG_ZBOOT_ROM_TEXT=0x0 CONFIG_ZBOOT_ROM_BSS=0x0 CONFIG_CMDLINE="root=/dev/nfs ip=auto rw init=/bin/bash console=ttySAC0" # CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set # # Floating point emulation @@ -268,7 +296,7 @@ CONFIG_PM=y CONFIG_PM_LEGACY=y # CONFIG_PM_DEBUG is not set # CONFIG_PM_SYSFS_DEPRECATED is not set -CONFIG_APM=y +# CONFIG_APM_EMULATION is not set # # Networking @@ -284,6 +312,7 @@ CONFIG_UNIX=y CONFIG_XFRM=y # CONFIG_XFRM_USER is not set # CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set # CONFIG_NET_KEY is not set CONFIG_INET=y # CONFIG_IP_MULTICAST is not set @@ -368,6 +397,7 @@ CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y # CONFIG_FW_LOADER is not set # CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set # CONFIG_SYS_HYPERVISOR is not set # @@ -393,6 +423,7 @@ CONFIG_MTD_CMDLINE_PARTS=y # 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 @@ -486,6 +517,7 @@ CONFIG_PARPORT_1284=y # Plug and Play support # # CONFIG_PNP is not set +# CONFIG_PNPACPI is not set # # Block devices @@ -499,7 +531,6 @@ CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_COUNT=16 CONFIG_BLK_DEV_RAM_SIZE=4096 CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 -CONFIG_BLK_DEV_INITRD=y # CONFIG_CDROM_PKTCDVD is not set CONFIG_ATA_OVER_ETH=m @@ -528,7 +559,6 @@ CONFIG_IDE_GENERIC=y CONFIG_BLK_DEV_IDE_BAST=y # CONFIG_IDE_CHIPSETS is not set # CONFIG_BLK_DEV_IDEDMA is not set -# CONFIG_IDEDMA_AUTO is not set # CONFIG_BLK_DEV_HD is not set # @@ -665,6 +695,7 @@ CONFIG_KEYBOARD_ATKBD=y # CONFIG_KEYBOARD_XTKBD is not set # CONFIG_KEYBOARD_NEWTON is not set # CONFIG_KEYBOARD_STOWAWAY is not set +# CONFIG_KEYBOARD_GPIO is not set CONFIG_INPUT_MOUSE=y CONFIG_MOUSE_PS2=y # CONFIG_MOUSE_SERIAL is not set @@ -675,8 +706,6 @@ CONFIG_MOUSE_PS2=y # CONFIG_INPUT_JOYSTICK is not set CONFIG_INPUT_TOUCHSCREEN=y # CONFIG_TOUCHSCREEN_ADS7846 is not set -CONFIG_TOUCHSCREEN_S3C2410=y -# CONFIG_TOUCHSCREEN_S3C2410_DEBUG is not set # CONFIG_TOUCHSCREEN_GUNZE is not set # CONFIG_TOUCHSCREEN_ELO is not set # CONFIG_TOUCHSCREEN_MTOUCH is not set @@ -844,12 +873,13 @@ CONFIG_SPI_MASTER=y # CONFIG_SPI_BITBANG=y # CONFIG_SPI_BUTTERFLY is not set -CONFIG_SPI_S3C24XX_GPIO=y # CONFIG_SPI_S3C24XX is not set +CONFIG_SPI_S3C24XX_GPIO=y # # SPI Protocol Masters # +# CONFIG_SPI_AT25 is not set # # Dallas's 1-wire bus @@ -865,6 +895,7 @@ CONFIG_HWMON_VID=m # CONFIG_SENSORS_ADM1021 is not set # CONFIG_SENSORS_ADM1025 is not set # CONFIG_SENSORS_ADM1026 is not set +# CONFIG_SENSORS_ADM1029 is not set # CONFIG_SENSORS_ADM1031 is not set # CONFIG_SENSORS_ADM9240 is not set # CONFIG_SENSORS_ASB100 is not set @@ -906,7 +937,11 @@ CONFIG_SENSORS_LM85=m # # Misc devices # -# CONFIG_TIFM_CORE is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_SM501 is not set # # LED devices @@ -935,8 +970,26 @@ CONFIG_SENSORS_LM85=m # # Graphics support # +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +CONFIG_FB=y CONFIG_FIRMWARE_EDID=y -# CONFIG_FB is not set +# CONFIG_FB_DDC is not set +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +CONFIG_FB_MODE_HELPERS=y +# CONFIG_FB_TILEBLITTING is not set + +# +# Frambuffer hardware drivers +# +# CONFIG_FB_S1D13XXX is not set +CONFIG_FB_S3C2410=y +# CONFIG_FB_S3C2410_DEBUG is not set +# CONFIG_FB_VIRTUAL is not set # # Console display driver support @@ -944,7 +997,19 @@ CONFIG_FIRMWARE_EDID=y # CONFIG_VGA_CONSOLE is not set # CONFIG_MDA_CONSOLE is not set CONFIG_DUMMY_CONSOLE=y -# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +CONFIG_FRAMEBUFFER_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +# CONFIG_FONTS is not set +CONFIG_FONT_8x8=y +CONFIG_FONT_8x16=y + +# +# Logo configuration +# +CONFIG_LOGO=y +CONFIG_LOGO_LINUX_MONO=y +CONFIG_LOGO_LINUX_VGA16=y +CONFIG_LOGO_LINUX_CLUT224=y # # Sound @@ -978,6 +1043,7 @@ CONFIG_SND_DEBUG_DETECT=y # CONFIG_SND_MTS64 is not set # CONFIG_SND_SERIAL_U16550 is not set # CONFIG_SND_MPU401 is not set +# CONFIG_SND_PORTMAN2X4 is not set # # ALSA ARM devices @@ -989,16 +1055,12 @@ CONFIG_SND_DEBUG_DETECT=y # CONFIG_SND_USB_AUDIO is not set # -# SoC audio support +# System on Chip audio support # CONFIG_SND_SOC=m # -# Soc Platforms -# - -# -# SoC Audio for the Intel PXA2xx +# SoC Platforms # # @@ -1006,7 +1068,7 @@ CONFIG_SND_SOC=m # # -# SoC Audio for the Freescale i.MX +# SoC Audio for the Intel PXA2xx # # @@ -1015,26 +1077,12 @@ CONFIG_SND_SOC=m CONFIG_SND_S3C24XX_SOC=m CONFIG_SND_S3C24XX_SOC_I2S=m CONFIG_SND_S3C24XX_SOC_SMDK2440=m +# CONFIG_SND_S3C24XX_SOC_SMDK2440_WM8956 is not set # -# Soc Codecs -# -# CONFIG_SND_SOC_AC97_CODEC is not set -CONFIG_SND_SOC_WM8711=m -CONFIG_SND_SOC_WM8510=m -CONFIG_SND_SOC_WM8731=m -CONFIG_SND_SOC_WM8750=m -CONFIG_SND_SOC_WM8753=m -CONFIG_SND_SOC_WM8772=m -CONFIG_SND_SOC_WM8971=m -# CONFIG_SND_SOC_WM8956 is not set -# CONFIG_SND_SOC_WM8976 is not set -CONFIG_SND_SOC_WM8974=m -CONFIG_SND_SOC_WM8980=m -# CONFIG_SND_SOC_WM9713 is not set -# CONFIG_SND_SOC_WM9712 is not set +# SoC Audio for the Freescale i.MX +# CONFIG_SND_SOC_UDA1380=m -CONFIG_SND_SOC_AK4535=m # # Open Sound System @@ -1045,6 +1093,7 @@ CONFIG_SND_SOC_AK4535=m # HID Devices # CONFIG_HID=y +# CONFIG_HID_DEBUG is not set # # USB support @@ -1059,10 +1108,8 @@ CONFIG_USB=y # Miscellaneous USB options # CONFIG_USB_DEVICEFS=y -# CONFIG_USB_BANDWIDTH is not set # CONFIG_USB_DYNAMIC_MINORS is not set # CONFIG_USB_SUSPEND is not set -# CONFIG_USB_MULTITHREAD_PROBE is not set # CONFIG_USB_OTG is not set # @@ -1070,7 +1117,8 @@ CONFIG_USB_DEVICEFS=y # # CONFIG_USB_ISP116X_HCD is not set CONFIG_USB_OHCI_HCD=y -# CONFIG_USB_OHCI_BIG_ENDIAN is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set CONFIG_USB_OHCI_LITTLE_ENDIAN=y # CONFIG_USB_SL811_HCD is not set @@ -1093,7 +1141,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y # USB Input Devices # CONFIG_USB_HID=y -# CONFIG_USB_HID_POWERBOOK is not set +# CONFIG_USB_HIDINPUT_POWERBOOK is not set # CONFIG_HID_FF is not set # CONFIG_USB_HIDDEV is not set # CONFIG_USB_AIPTEK is not set @@ -1108,6 +1156,7 @@ CONFIG_USB_HID=y # CONFIG_USB_ATI_REMOTE2 is not set # CONFIG_USB_KEYSPAN_REMOTE is not set # CONFIG_USB_APPLETOUCH is not set +# CONFIG_USB_GTCO is not set # # USB Imaging devices @@ -1145,6 +1194,7 @@ CONFIG_USB_MON=y # CONFIG_USB_RIO500 is not set # CONFIG_USB_LEGOTOWER is not set # CONFIG_USB_LCD is not set +# CONFIG_USB_BERRY_CHARGE is not set # CONFIG_USB_LED is not set # CONFIG_USB_CYPRESS_CY7C63 is not set # CONFIG_USB_CYTHERM is not set @@ -1154,6 +1204,7 @@ CONFIG_USB_MON=y # CONFIG_USB_APPLEDISPLAY is not set # CONFIG_USB_LD is not set # CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_IOWARRIOR is not set # CONFIG_USB_TEST is not set # @@ -1368,15 +1419,16 @@ CONFIG_MAGIC_SYSRQ=y # CONFIG_DEBUG_FS is not set # CONFIG_HEADERS_CHECK is not set CONFIG_DEBUG_KERNEL=y +# CONFIG_DEBUG_SHIRQ is not set CONFIG_LOG_BUF_SHIFT=16 CONFIG_DETECT_SOFTLOCKUP=y # CONFIG_SCHEDSTATS is not set +# CONFIG_TIMER_STATS is not set # CONFIG_DEBUG_SLAB is not set # CONFIG_DEBUG_RT_MUTEXES is not set # CONFIG_RT_MUTEX_TESTER is not set # CONFIG_DEBUG_SPINLOCK is not set CONFIG_DEBUG_MUTEXES=y -# CONFIG_DEBUG_RWSEMS is not set # CONFIG_DEBUG_SPINLOCK_SLEEP is not set # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set # CONFIG_DEBUG_KOBJECT is not set @@ -1387,6 +1439,7 @@ CONFIG_DEBUG_INFO=y CONFIG_FRAME_POINTER=y CONFIG_FORCED_INLINING=y # CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_FAULT_INJECTION is not set CONFIG_DEBUG_USER=y # CONFIG_DEBUG_ERRORS is not set CONFIG_DEBUG_LL=y @@ -1416,4 +1469,4 @@ CONFIG_CRC32=y CONFIG_ZLIB_INFLATE=y CONFIG_ZLIB_DEFLATE=y CONFIG_PLIST=y -CONFIG_IOMAP_COPY=y +CONFIG_HAS_IOMEM=y diff --git a/packages/linux/linux-smdk2440/smdk2440-touchscreen-r3.patch b/packages/linux/linux-smdk2440/smdk2440-touchscreen-r3.patch deleted file mode 100644 index d03fd94017..0000000000 --- a/packages/linux/linux-smdk2440/smdk2440-touchscreen-r3.patch +++ /dev/null @@ -1,529 +0,0 @@ -Index: linux-2.6.19/arch/arm/mach-s3c2410/devs.c -=================================================================== ---- linux-2.6.19.orig/arch/arm/mach-s3c2410/devs.c -+++ linux-2.6.19/arch/arm/mach-s3c2410/devs.c -@@ -26,6 +26,7 @@ - #include - #include - #include -+#include - - #include - -@@ -204,6 +205,23 @@ struct platform_device s3c_device_nand = - - EXPORT_SYMBOL(s3c_device_nand); - -+/* Touchscreen */ -+struct platform_device s3c_device_ts = { -+ .name = "s3c2410-ts", -+ .id = -1, -+}; -+ -+EXPORT_SYMBOL(s3c_device_ts); -+ -+static struct s3c2410_ts_mach_info s3c2410ts_info; -+ -+void __init set_s3c2410ts_info(struct s3c2410_ts_mach_info *hard_s3c2410ts_info) -+{ -+ memcpy(&s3c2410ts_info,hard_s3c2410ts_info,sizeof(struct s3c2410_ts_mach_info)); -+ s3c_device_ts.dev.platform_data = &s3c2410ts_info; -+} -+EXPORT_SYMBOL(set_s3c2410ts_info); -+ - /* USB Device (Gadget)*/ - - static struct resource s3c_usbgadget_resource[] = { -Index: linux-2.6.19/arch/arm/mach-s3c2410/devs.h -=================================================================== ---- linux-2.6.19.orig/arch/arm/mach-s3c2410/devs.h -+++ linux-2.6.19/arch/arm/mach-s3c2410/devs.h -@@ -41,6 +41,7 @@ extern struct platform_device s3c_device - extern struct platform_device s3c_device_timer3; - - extern struct platform_device s3c_device_usbgadget; -+extern struct platform_device s3c_device_ts; - - /* s3c2440 specific devices */ - -Index: linux-2.6.19/drivers/input/touchscreen/Kconfig -=================================================================== ---- linux-2.6.19.orig/drivers/input/touchscreen/Kconfig -+++ linux-2.6.19/drivers/input/touchscreen/Kconfig -@@ -49,6 +49,24 @@ config TOUCHSCREEN_CORGI - To compile this driver as a module, choose M here: the - module will be called corgi_ts. - -+config TOUCHSCREEN_S3C2410 -+ tristate "Samsung S3C2410 touchscreen input driver" -+ depends on ARCH_S3C2410 && INPUT && INPUT_TOUCHSCREEN -+ select SERIO -+ help -+ Say Y here if you have the s3c2410 touchscreen. -+ -+ If unsure, say N. -+ -+ To compile this driver as a module, choose M here: the -+ module will be called s3c2410_ts. -+ -+config TOUCHSCREEN_S3C2410_DEBUG -+ boolean "Samsung S3C2410 touchscreen debug messages" -+ depends on TOUCHSCREEN_S3C2410 -+ help -+ Select this if you want debug messages -+ - config TOUCHSCREEN_GUNZE - tristate "Gunze AHL-51S touchscreen" - select SERIO -Index: linux-2.6.19/drivers/input/touchscreen/Makefile -=================================================================== ---- linux-2.6.19.orig/drivers/input/touchscreen/Makefile -+++ linux-2.6.19/drivers/input/touchscreen/Makefile -@@ -15,3 +15,5 @@ obj-$(CONFIG_TOUCHSCREEN_HP600) += hp680 - obj-$(CONFIG_TOUCHSCREEN_PENMOUNT) += penmount.o - obj-$(CONFIG_TOUCHSCREEN_TOUCHRIGHT) += touchright.o - obj-$(CONFIG_TOUCHSCREEN_TOUCHWIN) += touchwin.o -+obj-$(CONFIG_TOUCHSCREEN_S3C2410) += s3c2410_ts.o -+ -Index: linux-2.6.19/drivers/input/touchscreen/s3c2410_ts.c -=================================================================== ---- /dev/null -+++ linux-2.6.19/drivers/input/touchscreen/s3c2410_ts.c -@@ -0,0 +1,350 @@ -+/* -+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -+ * -+ * Copyright (c) 2004 Arnaud Patard -+ * iPAQ H1940 touchscreen support -+ * -+ * ChangeLog -+ * -+ * 2004-09-05: Herbert Pötzl -+ * - added clock (de-)allocation code -+ * -+ * 2005-03-06: Arnaud Patard -+ * - h1940_ -> s3c2410 (this driver is now also used on the n30 -+ * machines :P) -+ * - Debug messages are now enabled with the config option -+ * TOUCHSCREEN_S3C2410_DEBUG -+ * - Changed the way the value are read -+ * - Input subsystem should now work -+ * - Use ioremap and readl/writel -+ * -+ * 2005-03-23: Arnaud Patard -+ * - Make use of some undocumented features of the touchscreen -+ * controller -+ * -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include -+#include -+#include -+ -+/* For ts.dev.id.version */ -+#define S3C2410TSVERSION 0x0101 -+ -+#define WAIT4INT(x) (((x)<<8) | \ -+ S3C2410_ADCTSC_YM_SEN | S3C2410_ADCTSC_YP_SEN | S3C2410_ADCTSC_XP_SEN | \ -+ S3C2410_ADCTSC_XY_PST(3)) -+ -+#define AUTOPST (S3C2410_ADCTSC_YM_SEN | S3C2410_ADCTSC_YP_SEN | S3C2410_ADCTSC_XP_SEN | \ -+ S3C2410_ADCTSC_AUTO_PST | S3C2410_ADCTSC_XY_PST(0)) -+ -+#define DEBUG_LVL KERN_DEBUG -+ -+MODULE_AUTHOR("Arnaud Patard "); -+MODULE_DESCRIPTION("s3c2410 touchscreen driver"); -+MODULE_LICENSE("GPL"); -+ -+/* -+ * Definitions & global arrays. -+ */ -+ -+ -+static char *s3c2410ts_name = "s3c2410 TouchScreen"; -+ -+/* -+ * Per-touchscreen data. -+ */ -+ -+struct s3c2410ts { -+ struct input_dev *dev; -+ long xp; -+ long yp; -+ int count; -+ int shift; -+}; -+ -+static struct s3c2410ts ts; -+static void __iomem *base_addr; -+ -+static inline void s3c2410_ts_connect(void) -+{ -+ s3c2410_gpio_cfgpin(S3C2410_GPG12, S3C2410_GPG12_XMON); -+ s3c2410_gpio_cfgpin(S3C2410_GPG13, S3C2410_GPG13_nXPON); -+ s3c2410_gpio_cfgpin(S3C2410_GPG14, S3C2410_GPG14_YMON); -+ s3c2410_gpio_cfgpin(S3C2410_GPG15, S3C2410_GPG15_nYPON); -+} -+ -+static void touch_timer_fire(unsigned long data) -+{ -+ unsigned long data0; -+ unsigned long data1; -+ int updown; -+ -+ data0 = readl(base_addr+S3C2410_ADCDAT0); -+ data1 = readl(base_addr+S3C2410_ADCDAT1); -+ -+ updown = (!(data0 & S3C2410_ADCDAT0_UPDOWN)) && (!(data1 & S3C2410_ADCDAT0_UPDOWN)); -+ -+ if (updown) { -+ if (ts.count != 0) { -+ ts.xp >>= ts.shift; -+ ts.yp >>= ts.shift; -+ -+#ifdef CONFIG_TOUCHSCREEN_S3C2410_DEBUG -+ { -+ struct timeval tv; -+ do_gettimeofday(&tv); -+ printk(DEBUG_LVL "T: %06d, X: %03ld, Y: %03ld\n", (int)tv.tv_usec, ts.xp, ts.yp); -+ } -+#endif -+ -+ input_report_abs(ts.dev, ABS_X, ts.xp); -+ input_report_abs(ts.dev, ABS_Y, ts.yp); -+ -+ input_report_key(ts.dev, BTN_TOUCH, 1); -+ input_report_abs(ts.dev, ABS_PRESSURE, 1); -+ input_sync(ts.dev); -+ } -+ -+ ts.xp = 0; -+ ts.yp = 0; -+ ts.count = 0; -+ -+ writel(S3C2410_ADCTSC_PULL_UP_DISABLE | AUTOPST, base_addr+S3C2410_ADCTSC); -+ writel(readl(base_addr+S3C2410_ADCCON) | S3C2410_ADCCON_ENABLE_START, base_addr+S3C2410_ADCCON); -+ } else { -+ ts.count = 0; -+ -+ input_report_key(ts.dev, BTN_TOUCH, 0); -+ input_report_abs(ts.dev, ABS_PRESSURE, 0); -+ input_sync(ts.dev); -+ -+ writel(WAIT4INT(0), base_addr+S3C2410_ADCTSC); -+ } -+} -+ -+static struct timer_list touch_timer = -+ TIMER_INITIALIZER(touch_timer_fire, 0, 0); -+ -+static irqreturn_t stylus_updown(int irq, void *dev_id, struct pt_regs *regs) -+{ -+ unsigned long data0; -+ unsigned long data1; -+ int updown; -+ -+ data0 = readl(base_addr+S3C2410_ADCDAT0); -+ data1 = readl(base_addr+S3C2410_ADCDAT1); -+ -+ updown = (!(data0 & S3C2410_ADCDAT0_UPDOWN)) && (!(data1 & S3C2410_ADCDAT0_UPDOWN)); -+ -+ /* TODO we should never get an interrupt with updown set while -+ * the timer is running, but maybe we ought to verify that the -+ * timer isn't running anyways. */ -+ -+ if (updown) -+ touch_timer_fire(0); -+ -+ return IRQ_HANDLED; -+} -+ -+ -+static irqreturn_t stylus_action(int irq, void *dev_id, struct pt_regs *regs) -+{ -+ unsigned long data0; -+ unsigned long data1; -+ -+ data0 = readl(base_addr+S3C2410_ADCDAT0); -+ data1 = readl(base_addr+S3C2410_ADCDAT1); -+ -+ ts.xp += data0 & S3C2410_ADCDAT0_XPDATA_MASK; -+ ts.yp += data1 & S3C2410_ADCDAT1_YPDATA_MASK; -+ ts.count++; -+ -+ if (ts.count < (1<dev.platform_data; -+ -+ if (!info) -+ { -+ printk(KERN_ERR "Hm... too bad : no platform data for ts\n"); -+ return -EINVAL; -+ } -+ -+#ifdef CONFIG_TOUCHSCREEN_S3C2410_DEBUG -+ printk(DEBUG_LVL "Entering s3c2410ts_init\n"); -+#endif -+ -+ adc_clock = clk_get(NULL, "adc"); -+ if (!adc_clock) { -+ printk(KERN_ERR "failed to get adc clock source\n"); -+ return -ENOENT; -+ } -+ clk_enable(adc_clock); -+ -+#ifdef CONFIG_TOUCHSCREEN_S3C2410_DEBUG -+ printk(DEBUG_LVL "got and enabled clock\n"); -+#endif -+ -+ base_addr=ioremap(S3C2410_PA_ADC,0x20); -+ if (base_addr == NULL) { -+ printk(KERN_ERR "Failed to remap register block\n"); -+ return -ENOMEM; -+ } -+ -+ -+ /* Configure GPIOs */ -+ s3c2410_ts_connect(); -+ -+ if ((info->presc&0xff) > 0) -+ writel(S3C2410_ADCCON_PRSCEN | S3C2410_ADCCON_PRSCVL(info->presc&0xFF),\ -+ base_addr+S3C2410_ADCCON); -+ else -+ writel(0,base_addr+S3C2410_ADCCON); -+ -+ -+ /* Initialise registers */ -+ if ((info->delay&0xffff) > 0) -+ writel(info->delay & 0xffff, base_addr+S3C2410_ADCDLY); -+ -+ writel(WAIT4INT(0), base_addr+S3C2410_ADCTSC); -+ -+ /* Initialise input stuff */ -+ memset(&ts, 0, sizeof(struct s3c2410ts)); -+ input_dev = input_allocate_device(); -+ -+ if (!input_dev) { -+ printk(KERN_ERR "Unable to allocate the input device !!\n"); -+ return -ENOMEM; -+ } -+ -+ ts.dev = input_dev; -+ ts.dev->evbit[0] = BIT(EV_SYN) | BIT(EV_KEY) | BIT(EV_ABS); -+ ts.dev->keybit[LONG(BTN_TOUCH)] = BIT(BTN_TOUCH); -+ input_set_abs_params(ts.dev, ABS_X, 0, 0x3FF, 0, 0); -+ input_set_abs_params(ts.dev, ABS_Y, 0, 0x3FF, 0, 0); -+ input_set_abs_params(ts.dev, ABS_PRESSURE, 0, 1, 0, 0); -+ -+ ts.dev->private = &ts; -+ ts.dev->name = s3c2410ts_name; -+ ts.dev->id.bustype = BUS_RS232; -+ ts.dev->id.vendor = 0xDEAD; -+ ts.dev->id.product = 0xBEEF; -+ ts.dev->id.version = S3C2410TSVERSION; -+ -+ ts.shift = info->oversampling_shift; -+ -+ /* Get irqs */ -+ if (request_irq(IRQ_ADC, stylus_action, SA_SAMPLE_RANDOM, -+ "s3c2410_action", ts.dev)) { -+ printk(KERN_ERR "s3c2410_ts.c: Could not allocate ts IRQ_ADC !\n"); -+ iounmap(base_addr); -+ return -EIO; -+ } -+ if (request_irq(IRQ_TC, stylus_updown, SA_SAMPLE_RANDOM, -+ "s3c2410_action", ts.dev)) { -+ printk(KERN_ERR "s3c2410_ts.c: Could not allocate ts IRQ_TC !\n"); -+ iounmap(base_addr); -+ return -EIO; -+ } -+ -+ printk(KERN_INFO "%s successfully loaded\n", s3c2410ts_name); -+ -+ /* All went ok, so register to the input system */ -+ input_register_device(ts.dev); -+ -+ return 0; -+} -+ -+static int s3c2410ts_remove(struct platform_device *pdev) -+{ -+ disable_irq(IRQ_ADC); -+ disable_irq(IRQ_TC); -+ free_irq(IRQ_TC,ts.dev); -+ free_irq(IRQ_ADC,ts.dev); -+ -+ if (adc_clock) { -+ clk_disable(adc_clock); -+ clk_put(adc_clock); -+ adc_clock = NULL; -+ } -+ -+ input_unregister_device(ts.dev); -+ iounmap(base_addr); -+ -+ return 0; -+} -+ -+static struct platform_driver s3c2410ts_driver = { -+ .driver = { -+ .name = "s3c2410-ts", -+ .owner = THIS_MODULE, -+ }, -+ .probe = s3c2410ts_probe, -+ .remove = s3c2410ts_remove, -+}; -+ -+ -+static int __init s3c2410ts_init(void) -+{ -+ return platform_driver_register(&s3c2410ts_driver); -+} -+ -+static void __exit s3c2410ts_exit(void) -+{ -+ platform_driver_unregister(&s3c2410ts_driver); -+} -+ -+module_init(s3c2410ts_init); -+module_exit(s3c2410ts_exit); -+ -+/* -+ Local variables: -+ compile-command: "make ARCH=arm CROSS_COMPILE=/usr/local/arm/3.3.2/bin/arm-linux- -k -C ../../.." -+ c-basic-offset: 8 -+ End: -+*/ -Index: linux-2.6.19/include/asm-arm/arch-s3c2410/regs-adc.h -=================================================================== ---- linux-2.6.19.orig/include/asm-arm/arch-s3c2410/regs-adc.h -+++ linux-2.6.19/include/asm-arm/arch-s3c2410/regs-adc.h -@@ -41,7 +41,7 @@ - #define S3C2410_ADCTSC_XP_SEN (1<<4) - #define S3C2410_ADCTSC_PULL_UP_DISABLE (1<<3) - #define S3C2410_ADCTSC_AUTO_PST (1<<2) --#define S3C2410_ADCTSC_XY_PST (0x3<<0) -+#define S3C2410_ADCTSC_XY_PST(x) (((x)&0x3)<<0) - - /* ADCDAT0 Bits */ - #define S3C2410_ADCDAT0_UPDOWN (1<<15) -Index: linux-2.6.19/include/asm-arm/arch-s3c2410/ts.h -=================================================================== ---- /dev/null -+++ linux-2.6.19/include/asm-arm/arch-s3c2410/ts.h -@@ -0,0 +1,28 @@ -+/* linux/include/asm/arch-s3c2410/ts.h -+ * -+ * Copyright (c) 2005 Arnaud Patard -+ * -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License version 2 as -+ * published by the Free Software Foundation. -+ * -+ * -+ * Changelog: -+ * 24-Mar-2005 RTP Created file -+ * 03-Aug-2005 RTP Renamed to ts.h -+ */ -+ -+#ifndef __ASM_ARM_TS_H -+#define __ASM_ARM_TS_H -+ -+struct s3c2410_ts_mach_info { -+ int delay; -+ int presc; -+ int oversampling_shift; -+}; -+ -+void __init set_s3c2410ts_info(struct s3c2410_ts_mach_info *hard_s3c2410ts_info); -+ -+#endif /* __ASM_ARM_TS_H */ -+ -Index: linux-2.6.19/arch/arm/mach-s3c2410/mach-smdk2440.c -=================================================================== ---- linux-2.6.19.orig/arch/arm/mach-s3c2410/mach-smdk2440.c -+++ linux-2.6.19/arch/arm/mach-s3c2410/mach-smdk2440.c -@@ -35,6 +35,7 @@ - #include - #include - #include -+#include - - #include - #include -@@ -177,6 +178,7 @@ static struct platform_device *smdk2440_ - &s3c_device_wdt, - &s3c_device_i2c, - &s3c_device_iis, -+ &s3c_device_ts, - }; - - static struct s3c24xx_board smdk2440_board __initdata = { -@@ -184,6 +186,12 @@ static struct s3c24xx_board smdk2440_boa - .devices_count = ARRAY_SIZE(smdk2440_devices) - }; - -+static struct s3c2410_ts_mach_info qt2410_ts_cfg = { -+ .delay = 10000, -+ .presc = 49, -+ .oversampling_shift = 2, -+}; -+ - static void __init smdk2440_map_io(void) - { - s3c24xx_init_io(smdk2440_iodesc, ARRAY_SIZE(smdk2440_iodesc)); -@@ -195,6 +203,7 @@ static void __init smdk2440_map_io(void) - static void __init smdk2440_machine_init(void) - { - s3c24xx_fb_set_platdata(&smdk2440_lcd_cfg); -+ set_s3c2410ts_info(&qt2410_ts_cfg); - - smdk_machine_init(); - } diff --git a/packages/linux/linux-smdk2440_2.6.19.bb b/packages/linux/linux-smdk2440_2.6.19.bb deleted file mode 100644 index 6b839bddf8..0000000000 --- a/packages/linux/linux-smdk2440_2.6.19.bb +++ /dev/null @@ -1,39 +0,0 @@ -DESCRIPTION = "Linux Kernel for smdk2440 compatible machines" -SECTION = "kernel" -LICENSE = "GPL" -PR = "r1" - -GGSRC = "http://www.xora.org.uk/oe/patches/" - -SRC_URI = "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \ - ${GGSRC}smdk2440-cs89x0-r1.patch;patch=1 \ - file://smdk2440-touchscreen-r3.patch;patch=1 \ - http://opensource.wolfsonmicro.com/~lg/asoc/asoc-v0.12.6.patch;patch=1 \ - file://defconfig-smdk2440" - -S = "${WORKDIR}/linux-${PV}" - -inherit kernel - -COMPATIBLE_HOST = "arm.*-linux" -COMPATIBLE_MACHINE = "smdk2440" -KERNEL_IMAGETYPE = "zImage" - -do_configure() { - install ${WORKDIR}/defconfig-smdk2440 ${S}/.config - #oe_runmake s3c2410_defconfig - oe_runmake oldconfig -} - -do_deploy() { - install -d ${DEPLOY_DIR_IMAGE} - install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME}.bin - rm -f ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin - ln -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME}.bin ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin - tar -cvzf ${DEPLOY_DIR_IMAGE}/modules-${KERNEL_VERSION}-${MACHINE}.tgz -C ${D} lib -} - -do_deploy[dirs] = "${S}" - -addtask deploy before do_package after do_install - diff --git a/packages/linux/linux-smdk2440_2.6.20+git.bb b/packages/linux/linux-smdk2440_2.6.20+git.bb new file mode 100644 index 0000000000..ea9cbfb91a --- /dev/null +++ b/packages/linux/linux-smdk2440_2.6.20+git.bb @@ -0,0 +1,38 @@ +DESCRIPTION = "Linux Kernel for smdk2440 compatible machines" +SECTION = "kernel" +LICENSE = "GPL" +PR = "r1" + +GGSRC = "http://www.xora.org.uk/oe/patches/" + +SRC_URI = "git://opensource.wolfsonmicro.com/linux-2.6-asoc-ggdev;protocol=git;tag=asoc-merge-0002 \ + file://0001-Enable-cs8900A-network-device-for-smdk2440-board.patch;patch=1 \ + file://defconfig-smdk2440" + +S = "${WORKDIR}/git" + +inherit kernel + +COMPATIBLE_HOST = "arm.*-linux" +COMPATIBLE_MACHINE = "smdk2440" +KERNEL_IMAGETYPE = "zImage" + +do_configure() { + install ${WORKDIR}/defconfig-smdk2440 ${S}/.config + #oe_runmake s3c2410_defconfig + oe_runmake oldconfig +} + +do_deploy() { + install -d ${DEPLOY_DIR_IMAGE} + install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME}.bin + rm -f ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin + ln -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME}.bin ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin + tar -cvzf ${DEPLOY_DIR_IMAGE}/modules-${KERNEL_RELEASE}-${MACHINE}.tgz -C ${D} lib +} + +do_deploy[dirs] = "${S}" + +addtask deploy before do_package after do_install + +KERNEL_RELEASE = "2.6.21" -- cgit v1.2.3