From 74a308c3d3f92bd16b102f7c8c23fb931829afe1 Mon Sep 17 00:00:00 2001 From: Kristoffer Ericson Date: Mon, 18 Jan 2010 12:52:49 +0100 Subject: Remove obselete distro files: * We earlier had an need for different distro files due to differences in archs. Now we have managed to merge all platforms into a single distro file. Besides these old distro files havent been used in between 1-4 years so its time to get rid of them. All current development should focus on the jlime-2009.1.conf distro file (which is up to date). Signed-off-by: Kristoffer Ericson --- conf/distro/jlime-donkey.conf | 139 ---------------------------------------- conf/distro/jlime-henchman.conf | 104 ------------------------------ conf/distro/jlime-mongo.conf | 105 ------------------------------ conf/distro/jlime-shrek.conf | 54 ---------------- 4 files changed, 402 deletions(-) delete mode 100644 conf/distro/jlime-donkey.conf delete mode 100644 conf/distro/jlime-henchman.conf delete mode 100644 conf/distro/jlime-mongo.conf delete mode 100644 conf/distro/jlime-shrek.conf diff --git a/conf/distro/jlime-donkey.conf b/conf/distro/jlime-donkey.conf deleted file mode 100644 index db964f00bc..0000000000 --- a/conf/distro/jlime-donkey.conf +++ /dev/null @@ -1,139 +0,0 @@ -#@TYPE: Distribution -#@NAME: Jornada Linux Mobility Edition (JLime) -#@DESCRIPTION: Distribution file for JLime (Linux for HP jornada 5xx,6xx,7xx,8xx series) -#@MAINTAINER: Kristoffer Ericson - -DISTRO_NAME = "jlime" -DISTRO_VERSION = "donkey" - -require conf/distro/include/sane-srcdates.inc -require conf/distro/include/sane-srcrevs.inc - -export FEED_URLS_jlime = "donkey##http://donkey-${ARCH}.jlime.com" - -#<>-----------------------------------------------------------------> -#<> No uniroot -#<>-----------------------------------------------------------------< -PREFERRED_PROVIDER_task-bootstrap = "task-bootstrap" - -#<>-----------------------------------------------------------------> -#<> We will set CVS DATE when things are known to work. -#<>-----------------------------------------------------------------< -PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial" -PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc-intermediate:gcc-cross-intermediate" -PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc:gcc-cross" -PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}g++:gcc-cross" -LIBC = "glibc" -require conf/distro/include/${LIBC}.inc - -#<>-----------------------------------------------------------------> -#<> We want this so we can crosscompile the kernel using gcc 3.4.3 -#<> Also, select version of modules (and kernel) -#<>-----------------------------------------------------------------< -PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc-3.4.4:gcc-cross-kernel" -PREFERRED_PROVIDER_virtual/kernel = "linux-jlime-${MACHINE}" - - -#<>-----------------------------------------------------------------> -#<>We want kdrive as our default X-Server. -#<>-----------------------------------------------------------------< -PREFERRED_PROVIDER_xserver = "xserver-kdrive" -PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive" -PREFERRED_PROVIDER_virtual/libx11 = "libx11" -require conf/distro/include/preferred-xorg-versions-X11R7.3.inc - - -#<>-----------------------------------------------------------------> -#<>Setting Preferred Binutils,gcc,glibc and linux-libc-headers -#<>-----------------------------------------------------------------< -PREFERRED_VERSION_binutils = "2.18" -PREFERRED_VERSION_binutils-cross = "2.18" -PREFERRED_VERSION_binutils-cross-sdk = "2.18" -PREFERRED_VERSION_gcc = "4.2.2" -PREFERRED_VERSION_gcc-cross = "4.2.2" -PREFERRED_VERSION_gcc-cross-initial = "4.2.2" -PREFERRED_VERSION_gcc-cross-intermediate = "4.2.2" -PREFERRED_VERSION_linux-libc-headers = "2.6.23" -PREFERRED_VERSION_glibc = "2.6.1" -PREFERRED_VERSION_glibc-initial = "2.6.1" - -#<>------------------------------------------------------------------> -#<> -#<>Setting Preferred xserver-kdrive. Also choose diet-x11 as default libx11. -#<>------------------------------------------------------------------< -#PREFERRED_VERSION_xserver-kdrive = "X11R7.1-1.1.0" -PREFERRED_PROVIDER_tslib = "tslib" -PREFERRED_PROVIDER_virtual/libsdl = "libsdl-x11" - -#<>------------------------------------------------------------------> -#<> -#<>System-critical software with known working versions. -#<>------------------------------------------------------------------< -PREFERRED_VERSION_linux-jlime-jornada6xx = "2.6.24" -PREFERRED_VERSION_udev = "118" -PREFERRED_VERSION_busybox = "1.9.1" - -#<>------------------------------------------------------------------> -#<>Other Specific stuff. -#<> -#<> -#<>We want to be able to build this for all jornadas so -#<>to not mess up the folders we need to make them dynamic. -#<>It will use different folders depending on Arch (set in local.conf) -#<>------------------------------------------------------------------< -SRC_DIST_LOCAL = "copy" -INHERIT += "package_ipk package_tar src_distribute_local" -BBINCLUDELOGS = "yes" -IMAGE_FSTYPES = "tar.bz2" -TARGET_OS = "linux" - - -#<>------------------------------------------------------------------> -#<>What we want on the bootstrap image (extra) -#<> -#<>------------------------------------------------------------------< -DISTRO_EXTRA_RDEPENDS = "wireless-tools nano keymaps tslib-calibrate tslib-tests console-tools \ - parted dialog" - - -#<>------------------------------------------------------------------> -#<>What Qte, libqte.. versions should we use. -#<>------------------------------------------------------------------< -QTE_VERSION = "2.3.10" -PALMTOP_USE_MULTITHREADED_QT = "yes" -OPIE_VERSION = "1.2.3" -require conf/distro/include/preferred-opie-versions-1.2.3.inc - - -#<>------------------------------------------------------------------> -#<> We want pcmciautils, not pcmcia-cs -#<>------------------------------------------------------------------< -PCMCIA_MANAGER = "pcmciautils" - - -#<>------------------------------------------------------------------> -#<> We are using gcc 4.1.1 so lets keep optimizations low -#<>------------------------------------------------------------------< -FULL_OPTIMIZATION = "-O2" - - -#<>------------------------------------------------------------------> -#<>Our Image files should look abit better. -#<> -#<>------------------------------------------------------------------< -IMAGE_NAME = "${IMAGE_BASENAME}-Donkey-${MACHINE}" - - -#<>------------------------------------------------------------------> -#<> -#<> -#<> General non-essential programs with known working versions -#<> -#<>------------------------------------------------------------------< -PREFERRED_VERSION_tightvnc = "1.3.9" -PREFERRED_VERSION_xmonobut = "0.4" -PREFERRED_VERSION_konqueror-embedded = "20070212" -#PREFERRED_VERSION_encodings = "X11R7.0-1.0.0" -PREFERRED_VERSION_icewm = "1.2.34" -PREFERRED_VERSION_xchat = "1.8.11" -PREFERRED_VERSION_rxvt = "2.6.4" diff --git a/conf/distro/jlime-henchman.conf b/conf/distro/jlime-henchman.conf deleted file mode 100644 index 14ea57d18c..0000000000 --- a/conf/distro/jlime-henchman.conf +++ /dev/null @@ -1,104 +0,0 @@ -#----------------------------------------------------------------------------- -#@TYPE: Distribution -#@NAME: Jlime Henchman -#@DESCRIPTION: Jlime Mobility Embedded Linux Distribution for the -# NEC Mobile Pro 900/900c handheld pc. -#@MAINTAINER: Matt Oudenhoven -#----------------------------------------------------------------------------- - -# -# Header -# -DISTRO_NAME = "Jlime" -DISTRO_VERSION = "Henchman" -#DISTRO_TYPE = "release" -#DISTRO_TYPE = "debug" - -#export FEED_URLS_jlime = "henchman##http://henchman.jlime.com/feed" - -#<>------------------------------------------------------------------> -#<>What we want on the bootstrap image (extra) -#<> -#<>------------------------------------------------------------------< -DISTRO_EXTRA_RDEPENDS = "wireless-tools nano keymaps tslib-calibrate \ - console-tools tslib-tests parted dialog" - -#<>------------------------------------------------------------------> -#<>Our Image files should look abit better. -#<> -#<>------------------------------------------------------------------< -IMAGE_NAME = "${IMAGE_BASENAME}-Henchman-${MACHINE}" - -# -# Naming schemes -# -INHERIT += "debian" - -# -# Packaging and output format -# -INHERIT += "package_ipk" -IMAGE_FSTYPES = "tar.bz2" - -# -# Kernel -# -KERNEL = "kernel26" -MACHINE_KERNEL_VERSION = "2.6" - -# -# Binutils & Compiler -# -PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial" -PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-intermediate:gcc-cross-intermediate" -PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross" -PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross" - -PREFERRED_VERSION_gcc = "4.2.2" -PREFERRED_VERSION_gcc-cross = "4.2.2" -PREFERRED_VERSION_gcc-cross-initial = "4.2.2" -PREFERRED_VERSION_gcc-cross-intermediate = "4.2.2" -PREFERRED_VERSION_binutils = "2.18" -PREFERRED_VERSION_binutils-cross = "2.18" - -# -# Target OS & FPU system -# -TARGET_OS = "linux" -TARGET_FPU_arm = "fixed" -TARGET_FPU_armeb = "fixed" - -LIBC = "glibc" -require conf/distro/include/${LIBC}.inc - -PREFERRED_VERSION_linux-libc-headers = "2.6.23" -PREFERRED_VERSION_glibc = "2.5" - -# -# Bootstrap & Init -# -PREFERRED_PROVIDER_task-bootstrap = "task-bootstrap" -require conf/distro/include/sane-srcdates.inc -require conf/distro/include/sane-srcrevs.inc - -# -# Framebuffer & X -# -PREFERRED_PROVIDER_virtual/libx11 = "diet-x11" -PREFERRED_PROVIDER_tslib = "tslib" -PREFERRED_PROVIDER_virtual/libsdl = "libsdl-x11" -PREFERRED_PROVIDER_xserver = "xserver-kdrive" -require conf/distro/include/preferred-xorg-versions-X11R7.4.inc - -# -# GPE -# -require conf/distro/include/preferred-gpe-versions-2.8.inc - -# -# Opie -# -QTE_VERSION = "2.3.10" -PALMTOP_USE_MULTITHREADED_QTE = "yes" -OPIE_VERSION = "1.2.3" -require conf/distro/include/preferred-opie-versions.inc diff --git a/conf/distro/jlime-mongo.conf b/conf/distro/jlime-mongo.conf deleted file mode 100644 index 2e6c43462e..0000000000 --- a/conf/distro/jlime-mongo.conf +++ /dev/null @@ -1,105 +0,0 @@ -#----------------------------------------------------------------------------- -#@TYPE: Distribution -#@NAME: Jlime Mongo -#@DESCRIPTION: Jlime Mobility Embedded Linux Distribution for the -# HP Jornada 720/728 handheld pc. -#@MAINTAINER: Matt Oudenhoven -#----------------------------------------------------------------------------- - -# -# Header -# -DISTRO_NAME = "Jlime" -DISTRO_VERSION = "Mongo" -#DISTRO_TYPE = "release" -#DISTRO_TYPE = "debug" - -export FEED_URLS_jlime = "http://mongo.jlime.com/feed" - -#<>------------------------------------------------------------------> -#<>What we want on the bootstrap image (extra) -#<> -#<>------------------------------------------------------------------< -DISTRO_EXTRA_RDEPENDS = "wireless-tools nano keymaps tslib-calibrate \ - console-tools tslib-tests parted dialog" - -#<>------------------------------------------------------------------> -#<>Our Image files should look abit better. -#<> -#<>------------------------------------------------------------------< -IMAGE_NAME = "${IMAGE_BASENAME}-Mongo-${MACHINE}" - -# -# Naming schemes -# -INHERIT += "debian" - -# -# Packaging and output format -# -INHERIT += "package_ipk" -INHERIT += "package_tar" -IMAGE_FSTYPES = "tar.bz2" - -# -# Kernel -# -KERNEL = "kernel26" -MACHINE_KERNEL_VERSION = "2.6" - -# -# Binutils & Compiler -# -PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial" -PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-intermediate:gcc-cross-intermediate" -PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross" -PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross" - -PREFERRED_VERSION_gcc = "4.2.2" -PREFERRED_VERSION_gcc-cross = "4.2.2" -PREFERRED_VERSION_gcc-cross-initial = "4.2.2" -PREFERRED_VERSION_gcc-cross-intermediate = "4.2.2" -PREFERRED_VERSION_binutils = "2.18" -PREFERRED_VERSION_binutils-cross = "2.18" - -# -# Target OS & FPU system -# -TARGET_OS = "linux" -TARGET_FPU_arm = "soft" -TARGET_FPU_armeb = "soft" - -LIBC = "glibc" -require conf/distro/include/${LIBC}.inc - -PREFERRED_VERSION_linux-libc-headers = "2.6.18" -PREFERRED_VERSION_glibc = "2.5" - -# -# Bootstrap & Init -# -PREFERRED_PROVIDER_task-bootstrap = "task-bootstrap" -require conf/distro/include/sane-srcdates.inc -require conf/distro/include/sane-srcrevs.inc - -# -# Framebuffer & X -# -PREFERRED_PROVIDER_virtual/libx11 = "diet-x11" -PREFERRED_PROVIDER_tslib = "tslib" -PREFERRED_PROVIDER_virtual/libsdl = "libsdl-x11" -PREFERRED_PROVIDER_xserver = "xserver-kdrive" -require conf/distro/include/preferred-xorg-versions-X11R7.4.inc - -# -# GPE -# -require conf/distro/include/preferred-gpe-versions-2.8.inc - -# -# Opie -# -QTE_VERSION = "2.3.10" -PALMTOP_USE_MULTITHREADED_QTE = "yes" -OPIE_VERSION = "1.2.3" -require conf/distro/include/preferred-opie-versions.inc diff --git a/conf/distro/jlime-shrek.conf b/conf/distro/jlime-shrek.conf deleted file mode 100644 index 98844d76a4..0000000000 --- a/conf/distro/jlime-shrek.conf +++ /dev/null @@ -1,54 +0,0 @@ -#@TYPE: Distribution -#@NAME: Jornada Linux Mobility Edition (JLime) -#@DESCRIPTION: Distribution file for JLime (Linux for HP jornada 5xx,6xx,7xx,8xx series) -#@MAINTAINER: Kristoffer Ericson - -DISTRO_NAME = "JLime" -DISTRO_VERSION = "Shrek" -DISTRO_TYPE = "release" - -export FEED_URLS_jlime = "shrek##http://www.jlime.com/downloads/Releases/shrek/${TARGET_ARCH}/feed/" - -SRCDATE = "20050518" - -PREFERRED_PROVIDERS = "virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial" -PREFERRED_PROVIDERS = "virtual/${TARGET_PREFIX}gcc-intermediate:gcc-cross-intermediate" -PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross" -PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross" -LIBC = "glibc" -require conf/distro/include/${LIBC}.inc -PREFERRED_PROVIDER_virtual/kernel = "jlime-kernel-${TARGET_ARCH}" -PREFERRED_PROVIDER_xserver = "xserver-kdrive" - -PREFERRED_VERSION_binutils = "2.15.94.0.1" -PREFERRED_VERSION_binutils-cross = "2.15.94.0.1" -PREFERRED_VERSION_binutils-cross-sdk = "2.15.94.0.1" -PREFERRED_VERSION_gcc = "3.4.3" -PREFERRED_VERSION_gcc-cross = "3.4.3" -PREFERRED_VERSION_gcc-cross-initial = "3.4.3" -PREFERRED_VERSION_gcc-cross-intermediate = "3.4.3" -PREFERRED_VERSION_linux-libc-headers = "2.6.7.0" -PREFERRED_VERSION_glib-2.0-native = "2.6.2" -PREFERRED_VERSION_glib-2.0 = "2.6.2" -PREFERRED_VERSION_dpkg = "1.10.23" -PREFERRED_VERSION_xserver-kdrive = "20050207" - -INHERIT += "package_tar package_ipk" -BBINCLUDELOGS = "yes" -MODUTILS = "26" -IMAGE_FSTYPES = "tar.bz2" - -BOOTSTRAP_EXTRA_RDEPENDS += "pcmcia-cs ncurses nano wireless-tools \ -kernel-module-3c574-cs kernel-module-3c589-cs kernel-module-8390 \ -kernel-module-airo-cs kernel-module-airo console-tools \ -kernel-module-arlan \ -kernel-module-atmel-cs kernel-module-atmel kernel-module-axnet-cs \ -kernel-module-hermes \ -kernel-module-wavelan kernel-module-wavelan-cs \ -kernel-module-xirc2ps-cs kernel-module-orinoco-cs kernel-module-orinoco \ -kernel-module-nmclan-cs kernel-module-pcnet-cs e2tools e2fsprogs" - -TARGET_OS = "linux" - -OPIE_VERSION = "1.2.1" -require conf/distro/include/preferred-opie-versions.inc -- cgit v1.2.3 From a212259c676cc647a675ffb241bef95d051719f5 Mon Sep 17 00:00:00 2001 From: Kristoffer Ericson Date: Mon, 18 Jan 2010 12:54:54 +0100 Subject: Add update-alternatives for distro file --- conf/distro/jlime-2009.1.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/conf/distro/jlime-2009.1.conf b/conf/distro/jlime-2009.1.conf index 72d89282c2..b10aacc6c3 100644 --- a/conf/distro/jlime-2009.1.conf +++ b/conf/distro/jlime-2009.1.conf @@ -37,6 +37,7 @@ SPLASH = "psplash" INHERIT += "debian package_tar package_ipk src_distribute_local" SRC_DIST_LOCAL ?= "symlink" IMAGE_FSTYPES = "tar.gz tar.bz2 jffs2" +PREFERRED_PROVIDER_virtual/update-alternatives = "opkg-nogpg-nocurl" # # Kernel -- cgit v1.2.3 From b1a0492b21b5b62b33612a549f982349eef5cb73 Mon Sep 17 00:00:00 2001 From: Kristoffer Ericson Date: Mon, 18 Jan 2010 12:56:06 +0100 Subject: We should not use this kernel so add an -1 for all supported machines. Signed-off-by: Kristoffer Ericson --- recipes/linux/linux_2.6.32.bb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/recipes/linux/linux_2.6.32.bb b/recipes/linux/linux_2.6.32.bb index 63c15b3f7f..cbcf0614a6 100644 --- a/recipes/linux/linux_2.6.32.bb +++ b/recipes/linux/linux_2.6.32.bb @@ -16,6 +16,9 @@ DEFAULT_PREFERENCE_collie = "-1" DEFAULT_PREFERENCE_poodle = "-1" DEFAULT_PREFERENCE_spitz = "-1" DEFAULT_PREFERENCE_tosa = "-1" +DEFAULT_PREFERENCE_ben-nanonote = "-1" +DEFAULT_PREFERENCE_jornada6xx = "-1" +DEFAULT_PREFERENCE_jornada7xx = "-1" SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2;name=kernel \ ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/patch-${PV}.2.bz2;patch=1 \ -- cgit v1.2.3 From 1ae803339a24f194fc6a84fb8f6157041b866745 Mon Sep 17 00:00:00 2001 From: Kristoffer Ericson Date: Mon, 18 Jan 2010 12:56:52 +0100 Subject: Lets use the linux-hpc v2.6.32-hpc branch to build for nanonote. Eventually we will merge all our 2.6.32 releases to linux-hpc, but for now this seperate nanonote .bb file will do. Signed-off-by:Kristoffer Ericson --- recipes/linux/linux-jlime-ben_2.6.32.bb | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 recipes/linux/linux-jlime-ben_2.6.32.bb diff --git a/recipes/linux/linux-jlime-ben_2.6.32.bb b/recipes/linux/linux-jlime-ben_2.6.32.bb new file mode 100644 index 0000000000..798fac3f87 --- /dev/null +++ b/recipes/linux/linux-jlime-ben_2.6.32.bb @@ -0,0 +1,21 @@ +DESCRIPTION = "Linux 2.6.32 kernel for the ben nanonote" +SECTION = "kernel" +LICENSE = "GPL" + +SRCREV = "${AUTOREV}" + +DEFAULT_PREFERENCE_ben-nanonote = "1" +COMPATIBLE_MACHINE = "ben-nanonote" + +SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kristoffer/linux-hpc.git;protocol=git;branch=v2.6.32-hpc" + +S = "${WORKDIR}/git" + +inherit kernel + +ARCH = "mips" +FILES_kernel-image = "/boot/${KERNEL_IMAGETYPE}*" + +do_configure_prepend() { + install -m 0644 ${S}/config-bennanonote ${S}/.config +} \ No newline at end of file -- cgit v1.2.3 From 4a2927f4d5e2e978a0c91e928f0ade8df7565fa6 Mon Sep 17 00:00:00 2001 From: Kristoffer Ericson Date: Mon, 18 Jan 2010 12:58:31 +0100 Subject: Remove ben nanonote from the linux 2.6.31.bb file. We intend on using linux-hpc branches (and eventually vanilla). Signed-off-by: Kristoffer Ericson --- .../linux/linux-2.6.31/ben-nanonote/001-core.patch | 661 - .../linux/linux-2.6.31/ben-nanonote/050-nand.patch | 68 - .../linux/linux-2.6.31/ben-nanonote/051-fb.patch | 28 - .../linux/linux-2.6.31/ben-nanonote/052-rtc.patch | 30 - .../linux/linux-2.6.31/ben-nanonote/053-adc.patch | 29 - .../linux-2.6.31/ben-nanonote/100-battery.patch | 25 - .../linux/linux-2.6.31/ben-nanonote/101-mmc.patch | 28 - .../linux-2.6.31/ben-nanonote/102-video.patch | 134 - .../linux/linux-2.6.31/ben-nanonote/103-lcm.patch | 26 - .../linux-2.6.31/ben-nanonote/103-serial.patch | 164 - .../linux/linux-2.6.31/ben-nanonote/104-usb.patch | 158 - .../linux-2.6.31/ben-nanonote/105-sound.patch | 103 - .../ben-nanonote/220-add-2gb-nand-support.patch | 11 - .../ben-nanonote/300-jffs2-summery-vmalloc.patch | 20 - .../ben-nanonote/400-spi-gpio-3wire.patch | 37 - .../ben-nanonote/410-soc-32bit-regs.patch | 241 - .../ben-nanonote/500-modifier-keys.patch | 170 - .../ben-nanonote/900-add-openwrt-logo.patch | 9716 --------- recipes/linux/linux-2.6.31/ben-nanonote/defconfig | 1283 -- .../linux/linux-2.6.31/ben-nanonote/files.patch | 20506 ------------------- .../ben-nanonote/fix_mips_vmlinux.lds.patch | 24 - recipes/linux/linux_2.6.31.bb | 25 - 22 files changed, 33487 deletions(-) delete mode 100644 recipes/linux/linux-2.6.31/ben-nanonote/001-core.patch delete mode 100644 recipes/linux/linux-2.6.31/ben-nanonote/050-nand.patch delete mode 100644 recipes/linux/linux-2.6.31/ben-nanonote/051-fb.patch delete mode 100644 recipes/linux/linux-2.6.31/ben-nanonote/052-rtc.patch delete mode 100644 recipes/linux/linux-2.6.31/ben-nanonote/053-adc.patch delete mode 100644 recipes/linux/linux-2.6.31/ben-nanonote/100-battery.patch delete mode 100644 recipes/linux/linux-2.6.31/ben-nanonote/101-mmc.patch delete mode 100644 recipes/linux/linux-2.6.31/ben-nanonote/102-video.patch delete mode 100644 recipes/linux/linux-2.6.31/ben-nanonote/103-lcm.patch delete mode 100644 recipes/linux/linux-2.6.31/ben-nanonote/103-serial.patch delete mode 100644 recipes/linux/linux-2.6.31/ben-nanonote/104-usb.patch delete mode 100644 recipes/linux/linux-2.6.31/ben-nanonote/105-sound.patch delete mode 100644 recipes/linux/linux-2.6.31/ben-nanonote/220-add-2gb-nand-support.patch delete mode 100644 recipes/linux/linux-2.6.31/ben-nanonote/300-jffs2-summery-vmalloc.patch delete mode 100644 recipes/linux/linux-2.6.31/ben-nanonote/400-spi-gpio-3wire.patch delete mode 100644 recipes/linux/linux-2.6.31/ben-nanonote/410-soc-32bit-regs.patch delete mode 100644 recipes/linux/linux-2.6.31/ben-nanonote/500-modifier-keys.patch delete mode 100644 recipes/linux/linux-2.6.31/ben-nanonote/900-add-openwrt-logo.patch delete mode 100644 recipes/linux/linux-2.6.31/ben-nanonote/defconfig delete mode 100644 recipes/linux/linux-2.6.31/ben-nanonote/files.patch delete mode 100644 recipes/linux/linux-2.6.31/ben-nanonote/fix_mips_vmlinux.lds.patch diff --git a/recipes/linux/linux-2.6.31/ben-nanonote/001-core.patch b/recipes/linux/linux-2.6.31/ben-nanonote/001-core.patch deleted file mode 100644 index 67d3be0134..0000000000 --- a/recipes/linux/linux-2.6.31/ben-nanonote/001-core.patch +++ /dev/null @@ -1,661 +0,0 @@ ---- a/arch/mips/Kconfig -+++ b/arch/mips/Kconfig -@@ -158,6 +158,9 @@ config MACH_JAZZ - Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and - Olivetti M700-10 workstations. - -+config MACH_JZ -+ bool "Ingenic JZ4720/JZ4740 based machines" -+ - config LASAT - bool "LASAT Networks platforms" - select CEVT_R4K -@@ -661,6 +664,7 @@ endchoice - source "arch/mips/alchemy/Kconfig" - source "arch/mips/basler/excite/Kconfig" - source "arch/mips/jazz/Kconfig" -+source "arch/mips/jz4740/Kconfig" - source "arch/mips/lasat/Kconfig" - source "arch/mips/pmc-sierra/Kconfig" - source "arch/mips/sgi-ip27/Kconfig" -@@ -1911,6 +1915,14 @@ config NR_CPUS - - source "kernel/time/Kconfig" - -+# the value of (max order + 1) -+config FORCE_MAX_ZONEORDER -+ prompt "MAX_ZONEORDER" -+ int -+ default "12" -+ help -+ The max memory that can be allocated = 4KB * 2^(CONFIG_FORCE_MAX_ZONEORDER - 1) -+ - # - # Timer Interrupt Frequency Configuration - # -@@ -2182,6 +2194,23 @@ config BINFMT_ELF32 - - endmenu - -+menu "CPU Frequency scaling" -+ -+config CPU_FREQ_JZ -+ tristate "CPUfreq driver for JZ CPUs" -+ depends on JZSOC -+ default n -+ help -+ This enables the CPUfreq driver for JZ CPUs. -+ -+ If in doubt, say N. -+ -+if (CPU_FREQ_JZ) -+source "drivers/cpufreq/Kconfig" -+endif -+ -+endmenu -+ - menu "Power management options" - - config ARCH_HIBERNATION_POSSIBLE ---- a/arch/mips/Makefile -+++ b/arch/mips/Makefile -@@ -180,6 +180,14 @@ cflags-$(CONFIG_AR7) += -I$(srctree)/ar - load-$(CONFIG_AR7) += 0xffffffff94100000 - - # -+# Commond Ingenic JZ4740 series -+# -+ -+core-$(CONFIG_SOC_JZ4740) += arch/mips/jz4740/ -+cflags-$(CONFIG_SOC_JZ4740) += -I$(srctree)/arch/mips/include/asm/mach-jz4740 -+load-$(CONFIG_SOC_JZ4740) += 0xffffffff80010000 -+ -+# - # Acer PICA 61, Mips Magnum 4000 and Olivetti M700. - # - core-$(CONFIG_MACH_JAZZ) += arch/mips/jazz/ -@@ -714,6 +722,12 @@ makeboot =$(Q)$(MAKE) $(build)=arch/mips - - all: $(all-y) - -+uImage: $(vmlinux-32) -+ +@$(call makeboot,$@) -+ -+zImage: $(vmlinux-32) -+ +@$(call makeboot,$@) -+ - vmlinux.bin: $(vmlinux-32) - +@$(call makeboot,$@) - -@@ -743,6 +757,7 @@ install: - - archclean: - @$(MAKE) $(clean)=arch/mips/boot -+ @$(MAKE) $(clean)=arch/mips/boot/compressed - @$(MAKE) $(clean)=arch/mips/lasat - - define archhelp -@@ -750,6 +765,9 @@ define archhelp - echo ' vmlinux.ecoff - ECOFF boot image' - echo ' vmlinux.bin - Raw binary boot image' - echo ' vmlinux.srec - SREC boot image' -+ echo ' uImage - u-boot format image (arch/$(ARCH)/boot/uImage)' -+ echo ' zImage - Compressed binary image (arch/$(ARCH)/boot/compressed/zImage)' -+ echo ' vmlinux.bin - Uncompressed binary image (arch/$(ARCH)/boot/vmlinux.bin)' - echo - echo ' These will be default as apropriate for a configured platform.' - endef ---- a/arch/mips/boot/Makefile -+++ b/arch/mips/boot/Makefile -@@ -7,6 +7,9 @@ - # Copyright (C) 2004 Maciej W. Rozycki - # - -+# This one must match the LOADADDR in arch/mips/Makefile! -+LOADADDR=0x80010000 -+ - # - # Some DECstations need all possible sections of an ECOFF executable - # -@@ -25,7 +28,7 @@ strip-flags = $(addprefix --remove-secti - - VMLINUX = vmlinux - --all: vmlinux.ecoff vmlinux.srec addinitrd -+all: vmlinux.ecoff vmlinux.srec addinitrd uImage zImage - - vmlinux.ecoff: $(obj)/elf2ecoff $(VMLINUX) - $(obj)/elf2ecoff $(VMLINUX) vmlinux.ecoff $(E2EFLAGS) -@@ -42,8 +45,24 @@ vmlinux.srec: $(VMLINUX) - $(obj)/addinitrd: $(obj)/addinitrd.c - $(HOSTCC) -o $@ $^ - -+uImage: $(VMLINUX) vmlinux.bin -+ rm -f $(obj)/vmlinux.bin.gz -+ gzip -9 $(obj)/vmlinux.bin -+ mkimage -A mips -O linux -T kernel -C gzip \ -+ -a $(LOADADDR) -e $(shell sh ./$(obj)/tools/entry $(NM) $(VMLINUX) ) \ -+ -n 'Linux-$(KERNELRELEASE)' \ -+ -d $(obj)/vmlinux.bin.gz $(obj)/uImage -+ @echo ' Kernel: arch/mips/boot/$@ is ready' -+ -+zImage: -+ $(Q)$(MAKE) $(build)=$(obj)/compressed loadaddr=$(LOADADDR) $@ -+ @echo ' Kernel: arch/mips/boot/compressed/$@ is ready' -+ - clean-files += addinitrd \ - elf2ecoff \ - vmlinux.bin \ - vmlinux.ecoff \ -- vmlinux.srec -+ vmlinux.srec \ -+ vmlinux.bin.gz \ -+ uImage \ -+ zImage ---- a/arch/mips/include/asm/bootinfo.h -+++ b/arch/mips/include/asm/bootinfo.h -@@ -57,6 +57,12 @@ - #define MACH_MIKROTIK_RB532 0 /* Mikrotik RouterBoard 532 */ - #define MACH_MIKROTIK_RB532A 1 /* Mikrotik RouterBoard 532A */ - -+/* -+ * Valid machtype for group INGENIC -+ */ -+#define MACH_INGENIC_JZ4720 0 /* JZ4730 SOC */ -+#define MACH_INGENIC_JZ4740 1 /* JZ4740 SOC */ -+ - #define CL_SIZE COMMAND_LINE_SIZE - - extern char *system_type; ---- a/arch/mips/include/asm/cpu.h -+++ b/arch/mips/include/asm/cpu.h -@@ -34,7 +34,7 @@ - #define PRID_COMP_LSI 0x080000 - #define PRID_COMP_LEXRA 0x0b0000 - #define PRID_COMP_CAVIUM 0x0d0000 -- -+#define PRID_COMP_INGENIC 0xd00000 - - /* - * Assigned values for the product ID register. In order to detect a -@@ -127,6 +127,12 @@ - #define PRID_IMP_CAVIUM_CN52XX 0x0700 - - /* -+ * These are the PRID's for when 23:16 == PRID_COMP_INGENIC -+ */ -+ -+#define PRID_IMP_JZRISC 0x0200 -+ -+/* - * Definitions for 7:0 on legacy processors - */ - -@@ -217,6 +223,11 @@ enum cpu_type_enum { - CPU_5KC, CPU_20KC, CPU_25KF, CPU_SB1, CPU_SB1A, CPU_LOONGSON2, - CPU_CAVIUM_OCTEON, - -+ /* -+ * Ingenic class processors -+ */ -+ CPU_JZRISC, CPU_XBURST, -+ - CPU_LAST - }; - ---- a/arch/mips/include/asm/mach-generic/irq.h -+++ b/arch/mips/include/asm/mach-generic/irq.h -@@ -9,7 +9,7 @@ - #define __ASM_MACH_GENERIC_IRQ_H - - #ifndef NR_IRQS --#define NR_IRQS 128 -+#define NR_IRQS 256 - #endif - - #ifdef CONFIG_I8259 ---- a/arch/mips/include/asm/r4kcache.h -+++ b/arch/mips/include/asm/r4kcache.h -@@ -17,6 +17,58 @@ - #include - #include - -+#ifdef CONFIG_JZRISC -+ -+#define K0_TO_K1() \ -+do { \ -+ unsigned long __k0_addr; \ -+ \ -+ __asm__ __volatile__( \ -+ "la %0, 1f\n\t" \ -+ "or %0, %0, %1\n\t" \ -+ "jr %0\n\t" \ -+ "nop\n\t" \ -+ "1: nop\n" \ -+ : "=&r"(__k0_addr) \ -+ : "r" (0x20000000) ); \ -+} while(0) -+ -+#define K1_TO_K0() \ -+do { \ -+ unsigned long __k0_addr; \ -+ __asm__ __volatile__( \ -+ "nop;nop;nop;nop;nop;nop;nop\n\t" \ -+ "la %0, 1f\n\t" \ -+ "jr %0\n\t" \ -+ "nop\n\t" \ -+ "1: nop\n" \ -+ : "=&r" (__k0_addr)); \ -+} while (0) -+ -+#define INVALIDATE_BTB() \ -+do { \ -+ unsigned long tmp; \ -+ __asm__ __volatile__( \ -+ ".set mips32\n\t" \ -+ "mfc0 %0, $16, 7\n\t" \ -+ "nop\n\t" \ -+ "ori %0, 2\n\t" \ -+ "mtc0 %0, $16, 7\n\t" \ -+ "nop\n\t" \ -+ : "=&r" (tmp)); \ -+} while (0) -+ -+#define SYNC_WB() __asm__ __volatile__ ("sync") -+ -+#else /* CONFIG_JZRISC */ -+ -+#define K0_TO_K1() do { } while (0) -+#define K1_TO_K0() do { } while (0) -+#define INVALIDATE_BTB() do { } while (0) -+#define SYNC_WB() do { } while (0) -+ -+#endif /* CONFIG_JZRISC */ -+ - /* - * This macro return a properly sign-extended address suitable as base address - * for indexed cache operations. Two issues here: -@@ -144,6 +196,7 @@ static inline void flush_icache_line_ind - { - __iflush_prologue - cache_op(Index_Invalidate_I, addr); -+ INVALIDATE_BTB(); - __iflush_epilogue - } - -@@ -151,6 +204,7 @@ static inline void flush_dcache_line_ind - { - __dflush_prologue - cache_op(Index_Writeback_Inv_D, addr); -+ SYNC_WB(); - __dflush_epilogue - } - -@@ -163,6 +217,7 @@ static inline void flush_icache_line(uns - { - __iflush_prologue - cache_op(Hit_Invalidate_I, addr); -+ INVALIDATE_BTB(); - __iflush_epilogue - } - -@@ -170,6 +225,7 @@ static inline void flush_dcache_line(uns - { - __dflush_prologue - cache_op(Hit_Writeback_Inv_D, addr); -+ SYNC_WB(); - __dflush_epilogue - } - -@@ -177,6 +233,7 @@ static inline void invalidate_dcache_lin - { - __dflush_prologue - cache_op(Hit_Invalidate_D, addr); -+ SYNC_WB(); - __dflush_epilogue - } - -@@ -209,6 +266,7 @@ static inline void flush_scache_line(uns - static inline void protected_flush_icache_line(unsigned long addr) - { - protected_cache_op(Hit_Invalidate_I, addr); -+ INVALIDATE_BTB(); - } - - /* -@@ -220,6 +278,7 @@ static inline void protected_flush_icach - static inline void protected_writeback_dcache_line(unsigned long addr) - { - protected_cache_op(Hit_Writeback_Inv_D, addr); -+ SYNC_WB(); - } - - static inline void protected_writeback_scache_line(unsigned long addr) -@@ -396,8 +455,10 @@ static inline void blast_##pfx##cache##l - __BUILD_BLAST_CACHE(d, dcache, Index_Writeback_Inv_D, Hit_Writeback_Inv_D, 16) - __BUILD_BLAST_CACHE(i, icache, Index_Invalidate_I, Hit_Invalidate_I, 16) - __BUILD_BLAST_CACHE(s, scache, Index_Writeback_Inv_SD, Hit_Writeback_Inv_SD, 16) -+#ifndef CONFIG_JZRISC - __BUILD_BLAST_CACHE(d, dcache, Index_Writeback_Inv_D, Hit_Writeback_Inv_D, 32) - __BUILD_BLAST_CACHE(i, icache, Index_Invalidate_I, Hit_Invalidate_I, 32) -+#endif - __BUILD_BLAST_CACHE(s, scache, Index_Writeback_Inv_SD, Hit_Writeback_Inv_SD, 32) - __BUILD_BLAST_CACHE(d, dcache, Index_Writeback_Inv_D, Hit_Writeback_Inv_D, 64) - __BUILD_BLAST_CACHE(i, icache, Index_Invalidate_I, Hit_Invalidate_I, 64) -@@ -405,12 +466,122 @@ __BUILD_BLAST_CACHE(s, scache, Index_Wri - __BUILD_BLAST_CACHE(s, scache, Index_Writeback_Inv_SD, Hit_Writeback_Inv_SD, 128) - - __BUILD_BLAST_CACHE(inv_d, dcache, Index_Writeback_Inv_D, Hit_Invalidate_D, 16) -+#ifndef CONFIG_JZRISC - __BUILD_BLAST_CACHE(inv_d, dcache, Index_Writeback_Inv_D, Hit_Invalidate_D, 32) -+#endif - __BUILD_BLAST_CACHE(inv_s, scache, Index_Writeback_Inv_SD, Hit_Invalidate_SD, 16) - __BUILD_BLAST_CACHE(inv_s, scache, Index_Writeback_Inv_SD, Hit_Invalidate_SD, 32) - __BUILD_BLAST_CACHE(inv_s, scache, Index_Writeback_Inv_SD, Hit_Invalidate_SD, 64) - __BUILD_BLAST_CACHE(inv_s, scache, Index_Writeback_Inv_SD, Hit_Invalidate_SD, 128) - -+#ifdef CONFIG_JZRISC -+ -+static inline void blast_dcache32(void) -+{ -+ unsigned long start = INDEX_BASE; -+ unsigned long end = start + current_cpu_data.dcache.waysize; -+ unsigned long ws_inc = 1UL << current_cpu_data.dcache.waybit; -+ unsigned long ws_end = current_cpu_data.dcache.ways << -+ current_cpu_data.dcache.waybit; -+ unsigned long ws, addr; -+ -+ for (ws = 0; ws < ws_end; ws += ws_inc) -+ for (addr = start; addr < end; addr += 0x400) -+ cache32_unroll32(addr|ws,Index_Writeback_Inv_D); -+ -+ SYNC_WB(); -+} -+ -+static inline void blast_dcache32_page(unsigned long page) -+{ -+ unsigned long start = page; -+ unsigned long end = page + PAGE_SIZE; -+ -+ do { -+ cache32_unroll32(start,Hit_Writeback_Inv_D); -+ start += 0x400; -+ } while (start < end); -+ -+ SYNC_WB(); -+} -+ -+static inline void blast_dcache32_page_indexed(unsigned long page) -+{ -+ unsigned long indexmask = current_cpu_data.dcache.waysize - 1; -+ unsigned long start = INDEX_BASE + (page & indexmask); -+ unsigned long end = start + PAGE_SIZE; -+ unsigned long ws_inc = 1UL << current_cpu_data.dcache.waybit; -+ unsigned long ws_end = current_cpu_data.dcache.ways << -+ current_cpu_data.dcache.waybit; -+ unsigned long ws, addr; -+ -+ for (ws = 0; ws < ws_end; ws += ws_inc) -+ for (addr = start; addr < end; addr += 0x400) -+ cache32_unroll32(addr|ws,Index_Writeback_Inv_D); -+ -+ SYNC_WB(); -+} -+ -+static inline void blast_icache32(void) -+{ -+ unsigned long start = INDEX_BASE; -+ unsigned long end = start + current_cpu_data.icache.waysize; -+ unsigned long ws_inc = 1UL << current_cpu_data.icache.waybit; -+ unsigned long ws_end = current_cpu_data.icache.ways << -+ current_cpu_data.icache.waybit; -+ unsigned long ws, addr; -+ -+ K0_TO_K1(); -+ -+ for (ws = 0; ws < ws_end; ws += ws_inc) -+ for (addr = start; addr < end; addr += 0x400) -+ cache32_unroll32(addr|ws,Index_Invalidate_I); -+ -+ INVALIDATE_BTB(); -+ -+ K1_TO_K0(); -+} -+ -+static inline void blast_icache32_page(unsigned long page) -+{ -+ unsigned long start = page; -+ unsigned long end = page + PAGE_SIZE; -+ -+ K0_TO_K1(); -+ -+ do { -+ cache32_unroll32(start,Hit_Invalidate_I); -+ start += 0x400; -+ } while (start < end); -+ -+ INVALIDATE_BTB(); -+ -+ K1_TO_K0(); -+} -+ -+static inline void blast_icache32_page_indexed(unsigned long page) -+{ -+ unsigned long indexmask = current_cpu_data.icache.waysize - 1; -+ unsigned long start = INDEX_BASE + (page & indexmask); -+ unsigned long end = start + PAGE_SIZE; -+ unsigned long ws_inc = 1UL << current_cpu_data.icache.waybit; -+ unsigned long ws_end = current_cpu_data.icache.ways << -+ current_cpu_data.icache.waybit; -+ unsigned long ws, addr; -+ -+ K0_TO_K1(); -+ -+ for (ws = 0; ws < ws_end; ws += ws_inc) -+ for (addr = start; addr < end; addr += 0x400) -+ cache32_unroll32(addr|ws,Index_Invalidate_I); -+ -+ INVALIDATE_BTB(); -+ -+ K1_TO_K0(); -+} -+ -+#endif /* CONFIG_JZRISC */ -+ - /* build blast_xxx_range, protected_blast_xxx_range */ - #define __BUILD_BLAST_CACHE_RANGE(pfx, desc, hitop, prot) \ - static inline void prot##blast_##pfx##cache##_range(unsigned long start, \ -@@ -432,13 +603,73 @@ static inline void prot##blast_##pfx##ca - __##pfx##flush_epilogue \ - } - -+#ifndef CONFIG_JZRISC - __BUILD_BLAST_CACHE_RANGE(d, dcache, Hit_Writeback_Inv_D, protected_) -+#endif - __BUILD_BLAST_CACHE_RANGE(s, scache, Hit_Writeback_Inv_SD, protected_) -+#ifndef CONFIG_JZRISC - __BUILD_BLAST_CACHE_RANGE(i, icache, Hit_Invalidate_I, protected_) - __BUILD_BLAST_CACHE_RANGE(d, dcache, Hit_Writeback_Inv_D, ) -+#endif - __BUILD_BLAST_CACHE_RANGE(s, scache, Hit_Writeback_Inv_SD, ) - /* blast_inv_dcache_range */ - __BUILD_BLAST_CACHE_RANGE(inv_d, dcache, Hit_Invalidate_D, ) - __BUILD_BLAST_CACHE_RANGE(inv_s, scache, Hit_Invalidate_SD, ) - -+#ifdef CONFIG_JZRISC -+ -+static inline void protected_blast_dcache_range(unsigned long start, -+ unsigned long end) -+{ -+ unsigned long lsize = cpu_dcache_line_size(); -+ unsigned long addr = start & ~(lsize - 1); -+ unsigned long aend = (end - 1) & ~(lsize - 1); -+ -+ while (1) { -+ protected_cache_op(Hit_Writeback_Inv_D, addr); -+ if (addr == aend) -+ break; -+ addr += lsize; -+ } -+ SYNC_WB(); -+} -+ -+static inline void protected_blast_icache_range(unsigned long start, -+ unsigned long end) -+{ -+ unsigned long lsize = cpu_icache_line_size(); -+ unsigned long addr = start & ~(lsize - 1); -+ unsigned long aend = (end - 1) & ~(lsize - 1); -+ -+ K0_TO_K1(); -+ -+ while (1) { -+ protected_cache_op(Hit_Invalidate_I, addr); -+ if (addr == aend) -+ break; -+ addr += lsize; -+ } -+ INVALIDATE_BTB(); -+ -+ K1_TO_K0(); -+} -+ -+static inline void blast_dcache_range(unsigned long start, -+ unsigned long end) -+{ -+ unsigned long lsize = cpu_dcache_line_size(); -+ unsigned long addr = start & ~(lsize - 1); -+ unsigned long aend = (end - 1) & ~(lsize - 1); -+ -+ while (1) { -+ cache_op(Hit_Writeback_Inv_D, addr); -+ if (addr == aend) -+ break; -+ addr += lsize; -+ } -+ SYNC_WB(); -+} -+ -+#endif /* CONFIG_JZRISC */ -+ - #endif /* _ASM_R4KCACHE_H */ ---- a/arch/mips/include/asm/suspend.h -+++ b/arch/mips/include/asm/suspend.h -@@ -2,6 +2,9 @@ - #define __ASM_SUSPEND_H - - static inline int arch_prepare_suspend(void) { return 0; } -+#if defined(CONFIG_PM) && defined(CONFIG_JZSOC) -+extern int jz_pm_init(void); -+#endif - - /* References to section boundaries */ - extern const void __nosave_begin, __nosave_end; ---- a/arch/mips/kernel/cpu-probe.c -+++ b/arch/mips/kernel/cpu-probe.c -@@ -160,6 +160,7 @@ void __init check_wait(void) - case CPU_PR4450: - case CPU_BCM3302: - case CPU_CAVIUM_OCTEON: -+ case CPU_JZRISC: - cpu_wait = r4k_wait; - break; - -@@ -888,6 +889,23 @@ static inline void cpu_probe_cavium(stru - } - } - -+static inline void cpu_probe_ingenic(struct cpuinfo_mips *c, unsigned int cpu) -+{ -+ decode_configs(c); -+ c->options &= ~MIPS_CPU_COUNTER; /* JZRISC does not implement the CP0 counter. */ -+ switch (c->processor_id & 0xff00) { -+ case PRID_IMP_JZRISC: -+ c->cputype = CPU_JZRISC; -+ c->isa_level = MIPS_CPU_ISA_M32R1; -+ c->tlbsize = 32; -+ __cpu_name[cpu] = "Ingenic JZRISC"; -+ break; -+ default: -+ panic("Unknown Ingenic Processor ID!"); -+ break; -+ } -+} -+ - const char *__cpu_name[NR_CPUS]; - - __cpuinit void cpu_probe(void) -@@ -925,6 +943,9 @@ __cpuinit void cpu_probe(void) - case PRID_COMP_CAVIUM: - cpu_probe_cavium(c, cpu); - break; -+ case PRID_COMP_INGENIC: -+ cpu_probe_ingenic(c, cpu); -+ break; - } - - BUG_ON(!__cpu_name[cpu]); ---- a/arch/mips/mm/c-r4k.c -+++ b/arch/mips/mm/c-r4k.c -@@ -928,6 +928,36 @@ static void __cpuinit probe_pcache(void) - c->dcache.waybit = 0; - break; - -+ case CPU_JZRISC: -+ config1 = read_c0_config1(); -+ config1 = (config1 >> 22) & 0x07; -+ if (config1 == 0x07) -+ config1 = 10; -+ else -+ config1 = config1 + 11; -+ config1 += 2; -+ icache_size = (1 << config1); -+ c->icache.linesz = 32; -+ c->icache.ways = 4; -+ c->icache.waybit = __ffs(icache_size / c->icache.ways); -+ -+ config1 = read_c0_config1(); -+ config1 = (config1 >> 13) & 0x07; -+ if (config1 == 0x07) -+ config1 = 10; -+ else -+ config1 = config1 + 11; -+ config1 += 2; -+ dcache_size = (1 << config1); -+ c->dcache.linesz = 32; -+ c->dcache.ways = 4; -+ c->dcache.waybit = __ffs(dcache_size / c->dcache.ways); -+ -+ c->dcache.flags = 0; -+ c->options |= MIPS_CPU_PREFETCH; -+ -+ break; -+ - default: - if (!(config & MIPS_CONF_M)) - panic("Don't know how to probe P-caches on this cpu."); ---- a/arch/mips/mm/cache.c -+++ b/arch/mips/mm/cache.c -@@ -52,6 +52,8 @@ void (*_dma_cache_wback)(unsigned long s - void (*_dma_cache_inv)(unsigned long start, unsigned long size); - - EXPORT_SYMBOL(_dma_cache_wback_inv); -+EXPORT_SYMBOL(_dma_cache_wback); -+EXPORT_SYMBOL(_dma_cache_inv); - - #endif /* CONFIG_DMA_NONCOHERENT */ - ---- a/arch/mips/mm/tlbex.c -+++ b/arch/mips/mm/tlbex.c -@@ -385,6 +385,11 @@ static void __cpuinit build_tlb_write_en - tlbw(p); - break; - -+ case CPU_JZRISC: -+ tlbw(p); -+ uasm_i_nop(p); -+ break; -+ - default: - panic("No TLB refill handler yet (CPU type: %d)", - current_cpu_data.cputype); diff --git a/recipes/linux/linux-2.6.31/ben-nanonote/050-nand.patch b/recipes/linux/linux-2.6.31/ben-nanonote/050-nand.patch deleted file mode 100644 index da0d76caa5..0000000000 --- a/recipes/linux/linux-2.6.31/ben-nanonote/050-nand.patch +++ /dev/null @@ -1,68 +0,0 @@ ---- a/drivers/mtd/nand/Kconfig -+++ b/drivers/mtd/nand/Kconfig -@@ -452,4 +452,10 @@ config MTD_NAND_SOCRATES - help - Enables support for NAND Flash chips wired onto Socrates board. - -+config MTD_NAND_JZ4740 -+ tristate "Support NAND Flash device on Jz4740 board" -+ depends on SOC_JZ4740 -+ help -+ Support NAND Flash device on Jz4740 board -+ - endif # MTD_NAND ---- a/drivers/mtd/nand/Makefile -+++ b/drivers/mtd/nand/Makefile -@@ -40,5 +40,6 @@ obj-$(CONFIG_MTD_NAND_SH_FLCTL) += sh_f - obj-$(CONFIG_MTD_NAND_MXC) += mxc_nand.o - obj-$(CONFIG_MTD_NAND_SOCRATES) += socrates_nand.o - obj-$(CONFIG_MTD_NAND_TXX9NDFMC) += txx9ndfmc.o -+obj-$(CONFIG_MTD_NAND_JZ4740) += jz4740_nand.o - - nand-objs := nand_base.o nand_bbt.o ---- a/drivers/mtd/nand/nand_base.c -+++ b/drivers/mtd/nand/nand_base.c -@@ -953,29 +953,22 @@ static int nand_read_page_hwecc(struct m - uint8_t *ecc_calc = chip->buffers->ecccalc; - uint8_t *ecc_code = chip->buffers->ecccode; - uint32_t *eccpos = chip->ecc.layout->eccpos; -- -- for (i = 0; eccsteps; eccsteps--, i += eccbytes, p += eccsize) { -- chip->ecc.hwctl(mtd, NAND_ECC_READ); -- chip->read_buf(mtd, p, eccsize); -- chip->ecc.calculate(mtd, p, &ecc_calc[i]); -- } -- chip->read_buf(mtd, chip->oob_poi, mtd->oobsize); -+ int stat; - - for (i = 0; i < chip->ecc.total; i++) - ecc_code[i] = chip->oob_poi[eccpos[i]]; - -- eccsteps = chip->ecc.steps; -- p = buf; -- -- for (i = 0 ; eccsteps; eccsteps--, i += eccbytes, p += eccsize) { -- int stat; - -+ for (i = 0; eccsteps; eccsteps--, i += eccbytes, p += eccsize) { -+ chip->ecc.hwctl(mtd, NAND_ECC_READ); -+ chip->read_buf(mtd, p, eccsize); - stat = chip->ecc.correct(mtd, p, &ecc_code[i], &ecc_calc[i]); - if (stat < 0) - mtd->ecc_stats.failed++; - else - mtd->ecc_stats.corrected += stat; - } -+ - return 0; - } - -@@ -1125,6 +1118,8 @@ static int nand_do_read_ops(struct mtd_i - bufpoi = aligned ? buf : chip->buffers->databuf; - - if (likely(sndcmd)) { -+ chip->cmdfunc(mtd, NAND_CMD_READOOB, 0x00, page); -+ chip->read_buf(mtd, chip->oob_poi, mtd->oobsize); - chip->cmdfunc(mtd, NAND_CMD_READ0, 0x00, page); - sndcmd = 0; - } diff --git a/recipes/linux/linux-2.6.31/ben-nanonote/051-fb.patch b/recipes/linux/linux-2.6.31/ben-nanonote/051-fb.patch deleted file mode 100644 index 8288f52133..0000000000 --- a/recipes/linux/linux-2.6.31/ben-nanonote/051-fb.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- a/drivers/video/Kconfig -+++ b/drivers/video/Kconfig -@@ -2148,6 +2148,15 @@ config FB_BROADSHEET - and could also have been called by other names when coupled with - a bridge adapter. - -+config FB_JZ4740 -+ tristate "JZ47420/JZ4740 LCD framebuffer support" -+ depends on FB -+ select FB_SYS_FILLRECT -+ select FB_SYS_COPYAREA -+ select FB_SYS_IMAGEBLIT -+ help -+ Framebuffer support for the JZ4720 and JZ4740 SoC. -+ - source "drivers/video/omap/Kconfig" - - source "drivers/video/backlight/Kconfig" ---- a/drivers/video/Makefile -+++ b/drivers/video/Makefile -@@ -126,6 +126,7 @@ obj-$(CONFIG_FB_OMAP) += oma - obj-$(CONFIG_XEN_FBDEV_FRONTEND) += xen-fbfront.o - obj-$(CONFIG_FB_CARMINE) += carminefb.o - obj-$(CONFIG_FB_MB862XX) += mb862xx/ -+obj-$(CONFIG_FB_JZ4740) += jz4740_fb.o - - # Platform or fallback drivers go here - obj-$(CONFIG_FB_UVESA) += uvesafb.o diff --git a/recipes/linux/linux-2.6.31/ben-nanonote/052-rtc.patch b/recipes/linux/linux-2.6.31/ben-nanonote/052-rtc.patch deleted file mode 100644 index 303501b989..0000000000 --- a/recipes/linux/linux-2.6.31/ben-nanonote/052-rtc.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- a/drivers/rtc/Kconfig -+++ b/drivers/rtc/Kconfig -@@ -460,6 +460,17 @@ config RTC_DRV_EFI - This driver can also be built as a module. If so, the module - will be called rtc-efi. - -+config RTC_DRV_JZ4740 -+ tristate "Ingenic JZ4720/JZ4740 SoC" -+ depends on RTC_CLASS -+ depends on SOC_JZ4740 -+ help -+ If you say yes here you get support for the -+ Ingenic JZ4720/JZ4740 SoC RTC controller. -+ -+ This driver can also be buillt as a module. If so, the module -+ will be called rtc-jz4740. -+ - config RTC_DRV_STK17TA8 - tristate "Simtek STK17TA8" - depends on RTC_CLASS ---- a/drivers/rtc/Makefile -+++ b/drivers/rtc/Makefile -@@ -40,6 +40,7 @@ obj-$(CONFIG_RTC_DRV_EFI) += rtc-efi.o - obj-$(CONFIG_RTC_DRV_EP93XX) += rtc-ep93xx.o - obj-$(CONFIG_RTC_DRV_FM3130) += rtc-fm3130.o - obj-$(CONFIG_RTC_DRV_ISL1208) += rtc-isl1208.o -+obj-$(CONFIG_RTC_DRV_JZ4740) += rtc-jz4740.o - obj-$(CONFIG_RTC_DRV_M41T80) += rtc-m41t80.o - obj-$(CONFIG_RTC_DRV_M41T94) += rtc-m41t94.o - obj-$(CONFIG_RTC_DRV_M48T35) += rtc-m48t35.o diff --git a/recipes/linux/linux-2.6.31/ben-nanonote/053-adc.patch b/recipes/linux/linux-2.6.31/ben-nanonote/053-adc.patch deleted file mode 100644 index 2f71ddceb5..0000000000 --- a/recipes/linux/linux-2.6.31/ben-nanonote/053-adc.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- a/drivers/misc/Kconfig -+++ b/drivers/misc/Kconfig -@@ -233,6 +233,17 @@ config ISL29003 - This driver can also be built as a module. If so, the module - will be called isl29003. - -+config JZ4740_ADC -+ tristate "Ingenic JZ4720/JZ4740 SoC ADC driver" -+ depends on SOC_JZ4740 -+ help -+ If you say yes here you get support for the Ingenic JZ4720/JZ4740 SoC ADC -+ core. It is required for the JZ4720/JZ4740 battery and touchscreen driver -+ and is used to synchronize access to the adc core between those two. -+ -+ This driver can also be build as a module. If so, the module will be -+ called jz4740-adc. -+ - source "drivers/misc/c2port/Kconfig" - source "drivers/misc/eeprom/Kconfig" - source "drivers/misc/cb710/Kconfig" ---- a/drivers/misc/Makefile -+++ b/drivers/misc/Makefile -@@ -20,5 +20,6 @@ obj-$(CONFIG_SGI_GRU) += sgi-gru/ - obj-$(CONFIG_HP_ILO) += hpilo.o - obj-$(CONFIG_ISL29003) += isl29003.o - obj-$(CONFIG_C2PORT) += c2port/ -+obj-$(CONFIG_JZ4740_ADC) += jz4740-adc.o - obj-y += eeprom/ - obj-y += cb710/ diff --git a/recipes/linux/linux-2.6.31/ben-nanonote/100-battery.patch b/recipes/linux/linux-2.6.31/ben-nanonote/100-battery.patch deleted file mode 100644 index 1279dde69c..0000000000 --- a/recipes/linux/linux-2.6.31/ben-nanonote/100-battery.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- a/drivers/power/Kconfig -+++ b/drivers/power/Kconfig -@@ -103,4 +103,15 @@ config CHARGER_PCF50633 - help - Say Y to include support for NXP PCF50633 Main Battery Charger. - -+config BATTERY_JZ4740 -+ tristate "Ingenic JZ4720/JZ4740 battery" -+ depends on SOC_JZ4740 -+ depends on JZ4740_ADC -+ help -+ Say Y to enable support for the battery on Ingenic JZ4720/JZ4740 based -+ boards. -+ -+ This driver can be build as a module. If so, the module will be -+ called jz4740-battery. -+ - endif # POWER_SUPPLY ---- a/drivers/power/Makefile -+++ b/drivers/power/Makefile -@@ -28,3 +28,4 @@ obj-$(CONFIG_BATTERY_BQ27x00) += bq27x00 - obj-$(CONFIG_BATTERY_DA9030) += da9030_battery.o - obj-$(CONFIG_BATTERY_MAX17040) += max17040_battery.o - obj-$(CONFIG_CHARGER_PCF50633) += pcf50633-charger.o -+obj-$(CONFIG_BATTERY_JZ4740) += jz4740-battery.o diff --git a/recipes/linux/linux-2.6.31/ben-nanonote/101-mmc.patch b/recipes/linux/linux-2.6.31/ben-nanonote/101-mmc.patch deleted file mode 100644 index 0b1835ddc1..0000000000 --- a/recipes/linux/linux-2.6.31/ben-nanonote/101-mmc.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- a/drivers/mmc/host/Kconfig -+++ b/drivers/mmc/host/Kconfig -@@ -66,6 +66,15 @@ config MMC_RICOH_MMC - useless. It is safe to select this driver even if you don't - have a Ricoh based card reader. - -+config MMC_JZ -+ tristate "JZ SD/Multimedia Card Interface support" -+ depends on SOC_JZ4720 || SOC_JZ4740 -+ help -+ This selects the Ingenic JZ4720/JZ4740 SD/Multimedia card Interface. -+ If you have abIngenic platform with a Multimedia Card slot, -+ say Y or M here. -+ -+ If unsure, say N. - - To compile this driver as a module, choose M here: - the module will be called ricoh_mmc. ---- a/drivers/mmc/host/Makefile -+++ b/drivers/mmc/host/Makefile -@@ -6,6 +6,7 @@ ifeq ($(CONFIG_MMC_DEBUG),y) - EXTRA_CFLAGS += -DDEBUG - endif - -+obj-$(CONFIG_MMC_JZ) += jz_mmc.o - obj-$(CONFIG_MMC_ARMMMCI) += mmci.o - obj-$(CONFIG_MMC_PXA) += pxamci.o - obj-$(CONFIG_MMC_IMX) += imxmmc.o diff --git a/recipes/linux/linux-2.6.31/ben-nanonote/102-video.patch b/recipes/linux/linux-2.6.31/ben-nanonote/102-video.patch deleted file mode 100644 index 22b05e3e47..0000000000 --- a/recipes/linux/linux-2.6.31/ben-nanonote/102-video.patch +++ /dev/null @@ -1,134 +0,0 @@ ---- a/drivers/video/Kconfig -+++ b/drivers/video/Kconfig -@@ -237,6 +237,119 @@ config FB_TILEBLITTING - comment "Frame buffer hardware drivers" - depends on FB - -+/************************************************************/ -+config FB_JZSOC -+ tristate "JZSOC LCD controller support" -+ depends on FB && JZSOC -+ select FB_CFB_FILLRECT -+ select FB_CFB_COPYAREA -+ select FB_CFB_IMAGEBLIT -+ ---help--- -+ JZSOC LCD Controller and Smart LCD Controller driver support. -+ -+config FB_JZ4740_SLCD -+ tristate "JZ4740 Smart LCD controller support" -+ depends on FB_JZSOC && SOC_JZ4740 -+ default n -+ ---help--- -+ This is the frame buffer device driver for the JZ4740 Smart LCD controller. -+ If select this, please set to . -+ -+choice -+ depends on FB_JZ4740_SLCD -+ prompt "SLCD Panel" -+ default JZ_SLCD_LGDP4551_8BUS -+ -+config JZ_SLCD_LGDP4551 -+ bool "LG LGDP4551 Smart LCD panel" -+ ---help--- -+ Driver for Smart LCD LGDP4551, 8-bit sytem interface, 16BPP. -+ -+config JZ_SLCD_SPFD5420A -+ bool "SPFD5420A Smart LCD panel" -+ ---help--- -+ Driver for Smart LCD SPFD5420A 18-bit sytem interface, 18BPP. -+ -+config JZ_SLCD_TRULY -+ bool "TRULY Smart LCD panel (MAX Pixels 400x240)" -+ ---help--- -+ -+endchoice -+ -+config FB_JZLCD_4730_4740 -+ tristate "JZ4730 JZ4740 LCD controller support" -+ depends on FB_JZSOC && (SOC_JZ4730 || SOC_JZ4740) -+ help -+ This is the frame buffer device driver for the JZ4730 and JZ4740 LCD controller. -+choice -+ depends on FB_JZLCD_4730_4740 -+ prompt "LCD Panel" -+ default JZLCD_SAMSUNG_LTP400WQF01 -+ -+config JZLCD_SHARP_LQ035Q7 -+ bool "SHARP LQ035Q7 TFT panel (240x320)" -+ -+config JZLCD_SAMSUNG_LTS350Q1 -+ bool "SAMSUNG LTS350Q1 TFT panel (240x320)" -+ -+config JZLCD_SAMSUNG_LTV350QVF04 -+ bool "SAMSUNG LTV350QV_F04 TFT panel (320x240)" -+ -+config JZLCD_SAMSUNG_LTP400WQF01 -+ bool "SAMSUNG LTP400WQF01 TFT panel (480x272)(16bits)" -+ -+config JZLCD_SAMSUNG_LTP400WQF02 -+ bool "SAMSUNG LTP400WQF02 TFT panel (480x272)(18bits)" -+ -+config JZLCD_AUO_A030FL01_V1 -+ bool "AUO A030FL01_V1 TFT panel (480x272)" -+ -+config JZLCD_TRULY_TFTG320240DTSW -+ bool "TRULY TFTG320240DTSW TFT panel (320x240)" -+ -+config JZLCD_TRULY_TFTG320240DTSW_SERIAL -+ bool "TRULY TFTG320240DTSW TFT panel (320x240)(8bit-serial mode)" -+ -+config JZLCD_TRULY_TFTG240320UTSW_63W_E -+ bool "TRULY TFTG240320UTSW-63W-E TFT panel (240x320,2.5in)" -+ -+config JZLCD_FOXCONN_PT035TN01 -+ bool "FOXCONN PT035TN01 TFT panel (320x240)" -+ -+config JZLCD_INNOLUX_PT035TN01_SERIAL -+ bool "INNOLUX PT035TN01 TFT panel (320x240,3.5in)(8bit-serial mode)" -+ -+config JZLCD_TOSHIBA_LTM084P363 -+ bool "Toshiba LTM084P363 TFT panel (800x600)" -+ -+config JZLCD_HYNIX_HT10X21 -+ bool "Hynix HT10X21_300 TFT panel (1024x768)" -+ -+config JZLCD_INNOLUX_AT080TN42 -+ bool "INNOLUX AT080TN42 TFT panel (800x600)" -+ -+config JZLCD_CSTN_800x600 -+ bool "800x600 colorDSTN panel" -+ -+config JZLCD_CSTN_320x240 -+ bool "320x240 colorSTN panel" -+ -+config JZLCD_MSTN_480x320 -+ bool "480x320 monoSTN panel" -+ -+config JZLCD_MSTN_320x240 -+ bool "320x240 monoSTN panel" -+ -+config JZLCD_MSTN_240x128 -+ bool "240x128 monoSTN panel" -+ -+config JZLCD_MSTN_INVERSE -+ bool "Use an inverse color display." -+ depends on (JZLCD_MSTN_480x320 || JZLCD_MSTN_240x128) -+ -+endchoice -+ -+ - config FB_CIRRUS - tristate "Cirrus Logic support" - depends on FB && (ZORRO || PCI) ---- a/drivers/video/Makefile -+++ b/drivers/video/Makefile -@@ -28,6 +28,9 @@ obj-$(CONFIG_FB_DDC) += fb_ddc - obj-$(CONFIG_FB_DEFERRED_IO) += fb_defio.o - - # Hardware specific drivers go first -+obj-$(CONFIG_FB_JZLCD_4720_4740) += jzlcd.o -+obj-$(CONFIG_FB_JZ4740_SLCD) += jz4740_slcd.o -+ - obj-$(CONFIG_FB_AMIGA) += amifb.o c2p_planar.o - obj-$(CONFIG_FB_ARC) += arcfb.o - obj-$(CONFIG_FB_CLPS711X) += clps711xfb.o diff --git a/recipes/linux/linux-2.6.31/ben-nanonote/103-lcm.patch b/recipes/linux/linux-2.6.31/ben-nanonote/103-lcm.patch deleted file mode 100644 index 21303ad83b..0000000000 --- a/recipes/linux/linux-2.6.31/ben-nanonote/103-lcm.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- a/drivers/video/backlight/Kconfig -+++ b/drivers/video/backlight/Kconfig -@@ -93,6 +93,13 @@ config LCD_HP700 - If you have an HP Jornada 700 series handheld (710/720/728) - say Y to enable LCD control driver. - -+config LCD_GPM940B0 -+ tristate "Giantplus GPM940B0 LCD and backlight driver" -+ depends on LCD_CLASS_DEVICE && BACKLIGHT_CLASS_DEVICE && SPI -+ default n -+ help -+ LCD and backlight driver for the Giantplus GPM940B0 LCD module. -+ - # - # Backlight - # ---- a/drivers/video/backlight/Makefile -+++ b/drivers/video/backlight/Makefile -@@ -9,6 +9,7 @@ obj-$(CONFIG_LCD_PLATFORM) += platfor - obj-$(CONFIG_LCD_VGG2432A4) += vgg2432a4.o - obj-$(CONFIG_LCD_TDO24M) += tdo24m.o - obj-$(CONFIG_LCD_TOSA) += tosa_lcd.o -+obj-$(CONFIG_LCD_GPM940B0) += gpm940b0.o - - obj-$(CONFIG_BACKLIGHT_CLASS_DEVICE) += backlight.o - obj-$(CONFIG_BACKLIGHT_ATMEL_PWM) += atmel-pwm-bl.o diff --git a/recipes/linux/linux-2.6.31/ben-nanonote/103-serial.patch b/recipes/linux/linux-2.6.31/ben-nanonote/103-serial.patch deleted file mode 100644 index d6b4ea8444..0000000000 --- a/recipes/linux/linux-2.6.31/ben-nanonote/103-serial.patch +++ /dev/null @@ -1,164 +0,0 @@ ---- a/drivers/serial/8250.c -+++ b/drivers/serial/8250.c -@@ -194,7 +194,7 @@ static const struct serial8250_config ua - [PORT_16550A] = { - .name = "16550A", - .fifo_size = 16, -- .tx_loadsz = 16, -+ .tx_loadsz = 8, - .fcr = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_10, - .flags = UART_CAP_FIFO, - }, -@@ -401,6 +401,10 @@ static unsigned int mem_serial_in(struct - static void mem_serial_out(struct uart_port *p, int offset, int value) - { - offset = map_8250_out_reg(p, offset) << p->regshift; -+#if defined(CONFIG_JZSOC) -+ if (offset == (UART_FCR << p->regshift)) -+ value |= 0x10; /* set FCR.UUE */ -+#endif - writeb(value, p->membase + offset); - } - -@@ -2213,6 +2217,83 @@ static void serial8250_shutdown(struct u - serial_unlink_irq_chain(up); - } - -+#if defined(CONFIG_JZSOC) && !defined(CONFIG_SOC_JZ4730) -+static unsigned short quot1[3] = {0}; /* quot[0]:baud_div, quot[1]:umr, quot[2]:uacr */ -+static unsigned short * serial8250_get_divisor(struct uart_port *port, unsigned int baud) -+{ -+ int err, sum, i, j; -+ int a[12], b[12]; -+ unsigned short div, umr, uacr; -+ unsigned short umr_best, div_best, uacr_best; -+ long long t0, t1, t2, t3; -+ -+ sum = 0; -+ umr_best = div_best = uacr_best = 0; -+ div = 1; -+ -+ if ((port->uartclk % (16 * baud)) == 0) { -+ quot1[0] = port->uartclk / (16 * baud); -+ quot1[1] = 16; -+ quot1[2] = 0; -+ return quot1; -+ } -+ -+ while (1) { -+ umr = port->uartclk / (baud * div); -+ if (umr > 32) { -+ div++; -+ continue; -+ } -+ if (umr < 4) { -+ break; -+ } -+ for (i = 0; i < 12; i++) { -+ a[i] = umr; -+ b[i] = 0; -+ sum = 0; -+ for (j = 0; j <= i; j++) { -+ sum += a[j]; -+ } -+ -+ /* the precision could be 1/2^(36) due to the value of t0 */ -+ t0 = 0x1000000000LL; -+ t1 = (i + 1) * t0; -+ t2 = (sum * div) * t0; -+ t3 = div * t0; -+ do_div(t1, baud); -+ do_div(t2, port->uartclk); -+ do_div(t3, (2 * port->uartclk)); -+ err = t1 - t2 - t3; -+ -+ if (err > 0) { -+ a[i] += 1; -+ b[i] = 1; -+ } -+ } -+ -+ uacr = 0; -+ for (i = 0; i < 12; i++) { -+ if (b[i] == 1) { -+ uacr |= 1 << i; -+ } -+ } -+ -+ /* the best value of umr should be near 16, and the value of uacr should better be smaller */ -+ if (abs(umr - 16) < abs(umr_best - 16) || (abs(umr - 16) == abs(umr_best - 16) && uacr_best > uacr)) { -+ div_best = div; -+ umr_best = umr; -+ uacr_best = uacr; -+ } -+ div++; -+ } -+ -+ quot1[0] = div_best; -+ quot1[1] = umr_best; -+ quot1[2] = uacr_best; -+ -+ return quot1; -+} -+#else - static unsigned int serial8250_get_divisor(struct uart_port *port, unsigned int baud) - { - unsigned int quot; -@@ -2232,6 +2313,7 @@ static unsigned int serial8250_get_divis - - return quot; - } -+#endif - - static void - serial8250_set_termios(struct uart_port *port, struct ktermios *termios, -@@ -2241,6 +2323,9 @@ serial8250_set_termios(struct uart_port - unsigned char cval, fcr = 0; - unsigned long flags; - unsigned int baud, quot; -+#if defined(CONFIG_JZSOC) && !defined(CONFIG_SOC_JZ4730) -+ unsigned short *quot1; -+#endif - - switch (termios->c_cflag & CSIZE) { - case CS5: -@@ -2273,7 +2358,12 @@ serial8250_set_termios(struct uart_port - * Ask the core to calculate the divisor for us. - */ - baud = uart_get_baud_rate(port, termios, old, 0, port->uartclk/16); -+#if defined(CONFIG_JZSOC) && !defined(CONFIG_SOC_JZ4730) -+ quot1 = serial8250_get_divisor(port, baud); -+ quot = quot1[0]; /* not usefull, just let gcc happy */ -+#else - quot = serial8250_get_divisor(port, baud); -+#endif - - /* - * Oxford Semi 952 rev B workaround -@@ -2351,6 +2441,10 @@ serial8250_set_termios(struct uart_port - if (up->capabilities & UART_CAP_UUE) - up->ier |= UART_IER_UUE | UART_IER_RTOIE; - -+#ifdef CONFIG_JZSOC -+ up->ier |= UART_IER_RTOIE; /* Set this flag, or very slow */ -+#endif -+ - serial_out(up, UART_IER, up->ier); - - if (up->capabilities & UART_CAP_EFR) { -@@ -2385,7 +2479,15 @@ serial8250_set_termios(struct uart_port - serial_outp(up, UART_LCR, cval | UART_LCR_DLAB);/* set DLAB */ - } - -+#if defined(CONFIG_JZSOC) && !defined(CONFIG_SOC_JZ4730) -+#define UART_UMR 9 -+#define UART_UACR 10 -+ serial_dl_write(up, quot1[0]); -+ serial_outp(up, UART_UMR, quot1[1]); -+ serial_outp(up, UART_UACR, quot1[2]); -+#else - serial_dl_write(up, quot); -+#endif - - /* - * LCR DLAB must be set to enable 64-byte FIFO mode. If the FCR diff --git a/recipes/linux/linux-2.6.31/ben-nanonote/104-usb.patch b/recipes/linux/linux-2.6.31/ben-nanonote/104-usb.patch deleted file mode 100644 index e15e3088f6..0000000000 --- a/recipes/linux/linux-2.6.31/ben-nanonote/104-usb.patch +++ /dev/null @@ -1,158 +0,0 @@ ---- a/drivers/usb/Kconfig -+++ b/drivers/usb/Kconfig -@@ -44,6 +44,7 @@ config USB_ARCH_HAS_OHCI - default y if PPC_MPC52xx - # MIPS: - default y if SOC_AU1X00 -+ default y if JZSOC - # SH: - default y if CPU_SUBTYPE_SH7720 - default y if CPU_SUBTYPE_SH7721 ---- a/drivers/usb/core/hub.c -+++ b/drivers/usb/core/hub.c -@@ -1857,6 +1857,25 @@ static int hub_port_reset(struct usb_hub - { - int i, status; - -+#ifdef CONFIG_SOC_JZ4730 -+ /* -+ * On Jz4730, we assume that the first USB port was used as device. -+ * If not, please comment next lines. -+ */ -+ if (port1 == 1) { -+ return 0; -+ } -+#endif -+ -+#if defined(CONFIG_SOC_JZ4740) || defined(CONFIG_SOC_JZ4750) || defined(CONFIG_SOC_JZ4750D) -+ /* -+ * On Jz4740 and Jz4750, the second USB port was used as device. -+ */ -+ if (port1 == 2) { -+ return 0; -+ } -+#endif -+ - /* Block EHCI CF initialization during the port reset. - * Some companion controllers don't like it when they mix. - */ -@@ -2818,11 +2837,35 @@ static void hub_port_connect_change(stru - le16_to_cpu(hub->descriptor->wHubCharacteristics); - struct usb_device *udev; - int status, i; -+#ifdef CONFIG_JZSOC -+ static char jzhub = 1; /* the hub first to be initialized is jzsoc on-chip hub */ -+#endif - - dev_dbg (hub_dev, - "port %d, status %04x, change %04x, %s\n", - port1, portstatus, portchange, portspeed (portstatus)); - -+#ifdef CONFIG_SOC_JZ4730 -+ /* -+ * On Jz4730, we assume that the first USB port was used as device. -+ * If not, please comment next lines. -+ */ -+ if ((port1 == 1) && (jzhub)) { -+ jzhub = 0; -+ return; -+ } -+#endif -+ -+#if defined(CONFIG_SOC_JZ4740) || defined(CONFIG_SOC_JZ4750) || defined(CONFIG_SOC_JZ4750D) -+ /* -+ * On Jz4740 and Jz4750, the second USB port was used as device. -+ */ -+ if ((port1 == 2) && (jzhub)) { -+ jzhub = 0; -+ return; -+ } -+#endif -+ - if (hub->has_indicators) { - set_port_led(hub, port1, HUB_LED_AUTO); - hub->indicator[port1-1] = INDICATOR_AUTO; ---- a/drivers/usb/gadget/Kconfig -+++ b/drivers/usb/gadget/Kconfig -@@ -121,11 +121,25 @@ choice - # - # Integrated controllers - # -+config USB_GADGET_JZ4740 -+ boolean "JZ4740 UDC" -+ depends on SOC_JZ4740 -+ select USB_GADGET_SELECTED -+ select USB_GADGET_DUALSPEED -+ help -+ Select this to support the Ingenic JZ4740 processor -+ high speed USB device controller. -+ -+config USB_JZ4740 -+ tristate -+ depends on USB_GADGET_JZ4740 -+ default USB_GADGET - - config USB_GADGET_AT91 - boolean "Atmel AT91 USB Device Port" - depends on ARCH_AT91 && !ARCH_AT91SAM9RL && !ARCH_AT91CAP9 - select USB_GADGET_SELECTED -+ - help - Many Atmel AT91 processors (such as the AT91RM2000) have a - full speed USB Device Port with support for five configurable -@@ -534,6 +548,10 @@ config USB_DUMMY_HCD - - endchoice - -+config USB_JZ_UDC_HOTPLUG -+ boolean "Ingenic USB Device Controller Hotplug Support" -+ depends on USB_GADGET_JZ4750 -+ - config USB_GADGET_DUALSPEED - bool - depends on USB_GADGET -@@ -541,7 +559,6 @@ config USB_GADGET_DUALSPEED - help - Means that gadget drivers should include extra descriptors - and code to handle dual-speed controllers. -- - # - # USB Gadget Drivers - # ---- a/drivers/usb/gadget/Makefile -+++ b/drivers/usb/gadget/Makefile -@@ -27,6 +27,9 @@ obj-$(CONFIG_USB_FSL_QE) += fsl_qe_udc.o - obj-$(CONFIG_USB_CI13XXX) += ci13xxx_udc.o - obj-$(CONFIG_USB_S3C_HSOTG) += s3c-hsotg.o - obj-$(CONFIG_USB_LANGWELL) += langwell_udc.o -+obj-$(CONFIG_USB_JZ4740) += jz4740_udc.o -+ -+obj-$(CONFIG_USB_JZ_UDC_HOTPLUG)+= udc_hotplug_core.o - - # - # USB gadget drivers ---- a/drivers/usb/gadget/gadget_chips.h -+++ b/drivers/usb/gadget/gadget_chips.h -@@ -15,6 +15,12 @@ - #ifndef __GADGET_CHIPS_H - #define __GADGET_CHIPS_H - -+#ifdef CONFIG_USB_GADGET_JZ4740 -+#define gadget_is_jz4740(g) !strcmp("ingenic_hsusb", (g)->name) -+#else -+#define gadget_is_jz4740(g) 0 -+#endif -+ - #ifdef CONFIG_USB_GADGET_NET2280 - #define gadget_is_net2280(g) !strcmp("net2280", (g)->name) - #else -@@ -239,6 +245,9 @@ static inline int usb_gadget_controller_ - return 0x23; - else if (gadget_is_langwell(gadget)) - return 0x24; -+ else if (gadget_is_jz4740(gadget)) -+ return 0x25; -+ - return -ENOENT; - } - diff --git a/recipes/linux/linux-2.6.31/ben-nanonote/105-sound.patch b/recipes/linux/linux-2.6.31/ben-nanonote/105-sound.patch deleted file mode 100644 index 14fc3785eb..0000000000 --- a/recipes/linux/linux-2.6.31/ben-nanonote/105-sound.patch +++ /dev/null @@ -1,103 +0,0 @@ ---- a/include/sound/pcm.h -+++ b/include/sound/pcm.h -@@ -113,23 +113,23 @@ struct snd_pcm_ops { - #define SNDRV_PCM_RATE_5512 (1<<0) /* 5512Hz */ - #define SNDRV_PCM_RATE_8000 (1<<1) /* 8000Hz */ - #define SNDRV_PCM_RATE_11025 (1<<2) /* 11025Hz */ --#define SNDRV_PCM_RATE_16000 (1<<3) /* 16000Hz */ --#define SNDRV_PCM_RATE_22050 (1<<4) /* 22050Hz */ --#define SNDRV_PCM_RATE_32000 (1<<5) /* 32000Hz */ -