1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-12-27 13:12:24 +02:00

add-2.6.24-kernel-patch

Signed-off-by: Xiangfu Liu <xiangfu.z@gmail.com>
This commit is contained in:
Xiangfu Liu 2009-08-16 13:35:53 +08:00 committed by Xiangfu Liu
parent e6bf784ae0
commit 4808ec76e8
14 changed files with 193181 additions and 0 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,24 @@
From f4b9d5f6b84d8a80f37bd21d851f2f0f620cd740 Mon Sep 17 00:00:00 2001
From: xiangfu <xiangfu.z@gmail.com>
Date: Tue, 21 Apr 2009 22:18:02 +0800
Subject: [PATCH] add uImage to gitignore
---
.gitignore | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/.gitignore b/.gitignore
index 8d14531..a79dfeb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -52,3 +52,7 @@ cscope.*
*.orig
*.rej
+
+semantic.cache*
+uImage
+*~
--
1.6.0.4

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,23 @@
From c3231a3e316c05b63b573b9d8e6b92970de6037c Mon Sep 17 00:00:00 2001
From: xiangfu <xiangfu.z@gmail.com>
Date: Tue, 21 Apr 2009 22:19:10 +0800
Subject: [PATCH] fix timer callback
---
arch/mips/jz4740/board-pi.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/mips/jz4740/board-pi.c b/arch/mips/jz4740/board-pi.c
index 8c8544f..309ed9f 100644
--- a/arch/mips/jz4740/board-pi.c
+++ b/arch/mips/jz4740/board-pi.c
@@ -110,5 +110,5 @@ void __init jz_board_setup(void)
board_cpm_setup();
board_gpio_setup();
- jz_timer_callback = pavo_timer_callback;
+ jz_timer_callback = pi_timer_callback;
}
--
1.6.0.4

View File

@ -0,0 +1,459 @@
From 3e775be4242bb0301cb2024cc647988d1a51731f Mon Sep 17 00:00:00 2001
From: xiangfu <xiangfu.z@gmail.com>
Date: Wed, 22 Apr 2009 13:04:25 +0800
Subject: [PATCH] lcd work
---
arch/mips/configs/pi_defconfig | 121 +++++--------------------------
arch/mips/jz4740/board-pi.c | 6 +-
drivers/char/jzchar/poweroff.c | 2 -
drivers/mtd/nand/jz4740_nand.c | 1 -
drivers/video/jzlcd.c | 9 +--
drivers/video/jzlcd.h | 45 +++---------
include/asm-mips/mach-jz4740/board-pi.h | 35 +++++++---
include/asm-mips/mach-jz4740/jz4740.h | 1 -
include/asm-mips/mach-jz4740/serial.h | 9 ++-
9 files changed, 68 insertions(+), 161 deletions(-)
diff --git a/arch/mips/configs/pi_defconfig b/arch/mips/configs/pi_defconfig
index f9451c7..8c0019a 100644
--- a/arch/mips/configs/pi_defconfig
+++ b/arch/mips/configs/pi_defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.24.3
-# Tue Apr 21 17:17:32 2009
+# Wed Apr 22 12:15:04 2009
#
CONFIG_MIPS=y
@@ -535,65 +535,7 @@ CONFIG_SCSI_LOWLEVEL=y
# CONFIG_SCSI_DEBUG is not set
# CONFIG_ATA is not set
# CONFIG_MD is not set
-CONFIG_NETDEVICES=y
-# CONFIG_NETDEVICES_MULTIQUEUE is not set
-# CONFIG_DUMMY is not set
-# CONFIG_BONDING is not set
-# CONFIG_MACVLAN is not set
-# CONFIG_EQUALIZER is not set
-# CONFIG_TUN is not set
-# CONFIG_VETH is not set
-# CONFIG_NET_SB1000 is not set
-CONFIG_PHYLIB=y
-
-#
-# MII PHY device drivers
-#
-# CONFIG_MARVELL_PHY is not set
-# CONFIG_DAVICOM_PHY is not set
-# CONFIG_QSEMI_PHY is not set
-# CONFIG_LXT_PHY is not set
-# CONFIG_CICADA_PHY is not set
-# CONFIG_VITESSE_PHY is not set
-# CONFIG_SMSC_PHY is not set
-# CONFIG_BROADCOM_PHY is not set
-# CONFIG_ICPLUS_PHY is not set
-# CONFIG_FIXED_PHY is not set
-# CONFIG_MDIO_BITBANG is not set
-CONFIG_NET_ETHERNET=y
-CONFIG_MII=y
-CONFIG_JZCS8900=y
-# CONFIG_AX88796 is not set
-# CONFIG_DM9000 is not set
-# CONFIG_IBM_NEW_EMAC_ZMII is not set
-# CONFIG_IBM_NEW_EMAC_RGMII is not set
-# CONFIG_IBM_NEW_EMAC_TAH is not set
-# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
-# CONFIG_B44 is not set
-# CONFIG_NETDEV_1000 is not set
-# CONFIG_NETDEV_10000 is not set
-
-#
-# Wireless LAN
-#
-# CONFIG_WLAN_PRE80211 is not set
-# CONFIG_WLAN_80211 is not set
-
-#
-# USB Network Adapters
-#
-# CONFIG_USB_CATC is not set
-# CONFIG_USB_KAWETH is not set
-# CONFIG_USB_PEGASUS is not set
-# CONFIG_USB_RTL8150 is not set
-# CONFIG_USB_USBNET is not set
-# CONFIG_WAN 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
+# CONFIG_NETDEVICES is not set
# CONFIG_ISDN is not set
# CONFIG_PHONE is not set
@@ -607,18 +549,24 @@ CONFIG_INPUT=y
#
# Userland interfaces
#
-CONFIG_INPUT_MOUSEDEV=y
-CONFIG_INPUT_MOUSEDEV_PSAUX=y
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_MOUSEDEV is not set
# CONFIG_INPUT_JOYDEV is not set
-CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_EVBUG is not set
#
# Input Device Drivers
#
-# CONFIG_INPUT_KEYBOARD is not set
+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_KEYBOARD_JZ is not set
+# CONFIG_5x5_KEYBOARD_JZ is not set
+CONFIG_KEYBOARD_GPIO=y
# CONFIG_INPUT_MOUSE is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
@@ -628,11 +576,7 @@ CONFIG_INPUT_EVDEV=y
#
# Hardware I/O ports
#
-CONFIG_SERIO=y
-# CONFIG_SERIO_I8042 is not set
-CONFIG_SERIO_SERPORT=y
-# CONFIG_SERIO_LIBPS2 is not set
-# CONFIG_SERIO_RAW is not set
+# CONFIG_SERIO is not set
# CONFIG_GAMEPORT is not set
#
@@ -724,33 +668,7 @@ CONFIG_SSB_POSSIBLE=y
#
# Multimedia devices
#
-CONFIG_VIDEO_DEV=y
-CONFIG_VIDEO_V4L1=y
-CONFIG_VIDEO_V4L1_COMPAT=y
-CONFIG_VIDEO_V4L2=y
-CONFIG_VIDEO_CAPTURE_DRIVERS=y
-# CONFIG_VIDEO_ADV_DEBUG is not set
-CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
-# CONFIG_VIDEO_VIVI is not set
-# CONFIG_VIDEO_CPIA is not set
-# CONFIG_VIDEO_CPIA2 is not set
-CONFIG_VIDEO_JZ_CIM=y
-CONFIG_VIDEO_JZ_SENSOR=y
-CONFIG_V4L_USB_DRIVERS=y
-# CONFIG_USB_VICAM is not set
-# CONFIG_USB_IBMCAM is not set
-# CONFIG_USB_KONICAWC is not set
-# CONFIG_USB_QUICKCAM_MESSENGER is not set
-# CONFIG_USB_ET61X251 is not set
-# CONFIG_USB_OV511 is not set
-# CONFIG_USB_SE401 is not set
-# CONFIG_USB_SN9C102 is not set
-# CONFIG_USB_STV680 is not set
-# CONFIG_USB_ZC0301 is not set
-# CONFIG_USB_PWC is not set
-# CONFIG_USB_ZR364XX is not set
-CONFIG_RADIO_ADAPTERS=y
-# CONFIG_USB_DSBR is not set
+# CONFIG_VIDEO_DEV is not set
# CONFIG_DVB_CORE is not set
# CONFIG_DAB is not set
@@ -819,7 +737,7 @@ CONFIG_JZLCD_FOXCONN_PT035TN01=y
# CONFIG_VGA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
-# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
# CONFIG_FRAMEBUFFER_CONSOLE_CURSOR_FLASH is not set
# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
CONFIG_FONTS=y
@@ -833,10 +751,7 @@ CONFIG_FONT_8x16=y
# CONFIG_FONT_SUN8x16 is not set
# CONFIG_FONT_SUN12x22 is not set
# CONFIG_FONT_10x18 is not set
-CONFIG_LOGO=y
-CONFIG_LOGO_LINUX_MONO=y
-CONFIG_LOGO_LINUX_VGA16=y
-CONFIG_LOGO_LINUX_CLUT224=y
+# CONFIG_LOGO is not set
#
# Sound
diff --git a/arch/mips/jz4740/board-pi.c b/arch/mips/jz4740/board-pi.c
index 309ed9f..298d853 100644
--- a/arch/mips/jz4740/board-pi.c
+++ b/arch/mips/jz4740/board-pi.c
@@ -33,10 +33,10 @@ static void dancing(void)
count ++;
count &= 1;
- /* if (count)
+ if (count)
__gpio_set_pin(GPIO_LED_EN);
else
- __gpio_clear_pin(GPIO_LED_EN); */
+ __gpio_clear_pin(GPIO_LED_EN);
}
static void pi_timer_callback(void)
@@ -65,7 +65,7 @@ static void __init board_gpio_setup(void)
/*
* Initialize MSC pins
*/
- /* __gpio_as_msc(); */
+ __gpio_as_msc();
/*
* Initialize LCD pins
diff --git a/drivers/char/jzchar/poweroff.c b/drivers/char/jzchar/poweroff.c
index 66b9f5c..8651f89 100644
--- a/drivers/char/jzchar/poweroff.c
+++ b/drivers/char/jzchar/poweroff.c
@@ -78,8 +78,6 @@ do { \
SET_POWEROFF_PIN_AS_IRQ;\
}
-#define GPIO_DISP_OFF_N 118
-#define GPIO_PWM 123
#define __lcd_close_backlight() \
do { \
__gpio_as_output(GPIO_PWM); \
diff --git a/drivers/mtd/nand/jz4740_nand.c b/drivers/mtd/nand/jz4740_nand.c
index 0fe5b36..4c9c1d9 100644
--- a/drivers/mtd/nand/jz4740_nand.c
+++ b/drivers/mtd/nand/jz4740_nand.c
@@ -153,7 +153,6 @@ static int partition_reserved_badblocks[] = {
20}; /* reserved blocks of mtd5 */
#endif /* CONFIG_JZ4740_PI */
-
#ifdef CONFIG_JZ4740_LEO
static struct mtd_partition partition_info[] = {
{ name: "NAND BOOT partition",
diff --git a/drivers/video/jzlcd.c b/drivers/video/jzlcd.c
index 93b9e6f..50d91f3 100644
--- a/drivers/video/jzlcd.c
+++ b/drivers/video/jzlcd.c
@@ -1501,7 +1501,7 @@ static int __init jzfb_init(void)
}
__lcd_enable_ofu_intr(); /* enable OutFifo underrun */
-// __lcd_enable_ifu0_intr(); /* needn't enable InFifo underrun */
+ /* __lcd_enable_ifu0_intr(); */ /* needn't enable InFifo underrun */
#if defined(CONFIG_JZLCD_FRAMEBUFFER_ROTATE_SUPPORT)
jzfb_rotate_change(rotate_angle);
@@ -1526,8 +1526,7 @@ static int __init jzfb_init(void)
cfb->pm->data = cfb;
#endif
- __lcd_display_on();
-
+ __lcd_display_off();
return 0;
failed:
@@ -1563,8 +1562,8 @@ static void __exit jzfb_cleanup(void)
#if defined(CONFIG_JZLCD_FRAMEBUFFER_ROTATE_SUPPORT)
kthread_stop(jzlcd_info->rotate_daemon_thread);
#endif
-// driver_unregister(&jzfb_driver);
-// jzfb_remove();
+ /* driver_unregister(&jzfb_driver); */
+ /* jzfb_remove(); */
}
module_init(jzfb_init);
diff --git a/drivers/video/jzlcd.h b/drivers/video/jzlcd.h
index d441d97..352506d 100644
--- a/drivers/video/jzlcd.h
+++ b/drivers/video/jzlcd.h
@@ -663,21 +663,21 @@ do { \
#endif /* CONFIG_JZ4730_PMP */
#if defined(CONFIG_SOC_JZ4740)
-#if defined(CONFIG_JZ4740_PAVO) || defined(CONFIG_JZ4740_LYRA)
-#define GPIO_PWM 123 /* GP_D27 */
-#define PWM_CHN 4 /* pwm channel */
-#define PWM_FULL 101
+#if defined(CONFIG_JZ4740_PAVO) || defined(CONFIG_JZ4740_LYRA) || defined(CONFIG_JZ4740_PI)
+#define GPIO_PWM 123 /* GP_D27 */
+#define PWM_CHN 4 /* pwm channel */
+#define PWM_FULL 101
/* 100 level: 0,1,...,100 */
#define __lcd_set_backlight_level(n)\
do { \
-__gpio_as_output(32*3+27); \
-__gpio_set_pin(32*3+27); \
+ __gpio_as_output(GPIO_PWM); \
+ __gpio_set_pin(GPIO_PWM); \
} while (0)
#define __lcd_close_backlight() \
do { \
-__gpio_as_output(GPIO_PWM); \
-__gpio_clear_pin(GPIO_PWM); \
+ __gpio_as_output(GPIO_PWM); \
+ __gpio_clear_pin(GPIO_PWM); \
} while (0)
#elif defined(CONFIG_JZ4720_VIRGO)
@@ -712,31 +712,10 @@ do { \
#define __lcd_close_backlight() \
do { \
-__gpio_as_output(GPIO_PWM); \
-__gpio_clear_pin(GPIO_PWM); \
-} while (0)
-
-#elif defined(CONFIG_JZ4740_PI)
-#define GPIO_PWM 123 /* GP_D27 */
-#define PWM_CHN 4 /* pwm channel */
-#define PWM_FULL 101
-#define __lcd_set_backlight_level(n)\
-do { \
-__gpio_as_output(32*3+27); \
-__gpio_set_pin(32*3+27); \
+ __gpio_as_output(GPIO_PWM); \
+ __gpio_clear_pin(GPIO_PWM); \
} while (0)
-#define __lcd_close_backlight() \
-do { \
-__gpio_as_output(GPIO_PWM); \
-__gpio_clear_pin(GPIO_PWM); \
-} while (0)
-#define __lcd_display_pin_init() \
-do { \
- __gpio_as_output(GPIO_DISP_OFF_N); \
- __cpm_start_tcu(); \
- __lcd_special_pin_init(); \
-} while (0) /* CONFIG_MIPS_JZ4740_PI) */
#else
#define __lcd_set_backlight_level(n)
#define __lcd_close_backlight()
@@ -749,12 +728,12 @@ do { \
__cpm_start_tcu(); \
__lcd_special_pin_init(); \
} while (0)
-/* __lcd_set_backlight_level(100); \*/
+
#define __lcd_display_on() \
do { \
__gpio_set_pin(GPIO_DISP_OFF_N); \
__lcd_special_on(); \
- __lcd_set_backlight_level(80); \
+ __lcd_set_backlight_level(20); \
} while (0)
#define __lcd_display_off() \
diff --git a/include/asm-mips/mach-jz4740/board-pi.h b/include/asm-mips/mach-jz4740/board-pi.h
index 54a7c95..afde2ec 100644
--- a/include/asm-mips/mach-jz4740/board-pi.h
+++ b/include/asm-mips/mach-jz4740/board-pi.h
@@ -1,13 +1,13 @@
/*
* linux/include/asm-mips/mach-jz4740/board-pi.h
*
- * JZ4730-based PI ver 2.x definition.
+ * JZ4730-based PI definition.
*
* Copyright (c) 2009 PI.
* Author: xiangfu <xiangfu.z@gmail.com>
*
* 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
+ * it under the terms of the GNU General Public License version 3 as
* published by the Free Software Foundation.
*/
@@ -23,16 +23,31 @@
/*======================================================================
* GPIO
*/
-#define GPIO_SD_VCC_EN_N 98 /* GPD2 */
-#define GPIO_SD_CD_N 96 /* GPD0 */
-#define GPIO_SD_WP 112 /* GPD16 */
-#define GPIO_USB_DETE 124 /* GPD28 */
-#define GPIO_DISP_OFF_N 117 /* GPD21 */
-#define GPIO_LED_EN 124
-#define GPIO_DC_DETE_N 100
-#define GPIO_CHARG_STAT_N 91 /* GPC27 */
+#define GPIO_DC_DETE_N (2 * 32 + 26)
+#define GPIO_CHARG_STAT_N (2 * 32 + 27)
+#define GPIO_LED_EN (2 * 32 + 28)
+#define GPIO_LCD_CS (2 * 32 + 21)
+#define GPIO_DISP_OFF_N (3 * 32 + 21)
+#define GPIO_PWM (3 * 32 + 27)
+
+#define GPIO_AMP_EN (3 * 32 + 4)
+
+#define GPIO_SD_CD_N (3 * 32 + 0)
+#define GPIO_SD_VCC_EN_N (3 * 32 + 2)
+#define GPIO_SD_WP (3 * 32 + 16) /* SD Card wirte protect */
+
+#define GPIO_USB_DETE (3 * 32 + 28)
+#define GPIO_BUZZ_PWM (3 * 32 + 27)
#define GPIO_UDC_HOTPLUG GPIO_USB_DETE
+
+#define GPIO_AUDIO_POP (1 * 32 + 29)
+#define GPIO_COB_TEST (1 * 32 + 30)
+
+#define GPIO_KEYOUT_BASE (2 * 32 + 10)
+#define GPIO_KEYIN_BASE (3 * 32 + 18)
+#define GPIO_KEYIN_8 (3 * 32 + 26)
+
/*======================================================================
* MMC/SD
*/
diff --git a/include/asm-mips/mach-jz4740/jz4740.h b/include/asm-mips/mach-jz4740/jz4740.h
index b2c3872..4787814 100644
--- a/include/asm-mips/mach-jz4740/jz4740.h
+++ b/include/asm-mips/mach-jz4740/jz4740.h
@@ -49,7 +49,6 @@
/* Add other platform definition here ... */
-
/*------------------------------------------------------------------
* Follows are related to platform definitions
*/
diff --git a/include/asm-mips/mach-jz4740/serial.h b/include/asm-mips/mach-jz4740/serial.h
index c4819b9..534234a 100644
--- a/include/asm-mips/mach-jz4740/serial.h
+++ b/include/asm-mips/mach-jz4740/serial.h
@@ -23,8 +23,11 @@
#define JZ_BASE_BAUD (12000000/16)
#define JZ_SERIAL_PORT_DEFNS \
- { .baud_base = JZ_BASE_BAUD, .irq = IRQ_UART0, \
- .flags = STD_COM_FLAGS, .iomem_base = (u8 *)UART0_BASE, \
- .iomem_reg_shift = 2, .io_type = SERIAL_IO_MEM },
+ { .baud_base = JZ_BASE_BAUD, \
+ .irq = IRQ_UART0, \
+ .flags = STD_COM_FLAGS, \
+ .iomem_base = (u8 *)UART0_BASE, \
+ .iomem_reg_shift = 2, \
+ .io_type = SERIAL_IO_MEM },
#endif /* __ASM_BORAD_SERIAL_H__ */
--
1.6.0.4

View File

@ -0,0 +1,95 @@
From ea98a48a0bde70f525bd9b195cd68a73f2636203 Mon Sep 17 00:00:00 2001
From: xiangfu <xiangfu.z@gmail.com>
Date: Wed, 22 Apr 2009 15:09:55 +0800
Subject: [PATCH] already init in u-boot
---
arch/mips/jz4740/board-pi.c | 35 +++++++++++++++++++++--------------
drivers/mmc/host/jz_mmc.h | 3 ---
2 files changed, 21 insertions(+), 17 deletions(-)
diff --git a/arch/mips/jz4740/board-pi.c b/arch/mips/jz4740/board-pi.c
index 298d853..05e577e 100644
--- a/arch/mips/jz4740/board-pi.c
+++ b/arch/mips/jz4740/board-pi.c
@@ -65,42 +65,49 @@ static void __init board_gpio_setup(void)
/*
* Initialize MSC pins
*/
- __gpio_as_msc();
+ /* __gpio_as_msc(); */
+
+ /*
+ * Initialize UART0 pins
+ */
+ /* __gpio_as_uart0(); */
/*
* Initialize LCD pins
*/
- __gpio_as_lcd_18bit();
+ /* __gpio_as_lcd_18bit(); */
/*
* Initialize SSI pins
*/
- __gpio_as_ssi();
+ /* __gpio_as_ssi(); */
/*
* Initialize I2C pins
*/
- __gpio_as_i2c();
+ /* __gpio_as_i2c(); */
/*
* Initialize Other pins
*/
- __gpio_as_output(GPIO_SD_VCC_EN_N);
- __gpio_clear_pin(GPIO_SD_VCC_EN_N);
+ /* __gpio_as_output(GPIO_SD_VCC_EN_N); */
+ /* __gpio_clear_pin(GPIO_SD_VCC_EN_N); */
+ /* __gpio_set_pin(GPIO_SD_VCC_EN_N); */
+
+ /* __gpio_as_input(GPIO_SD_CD_N); */
+ /* __gpio_disable_pull(GPIO_SD_CD_N); */
- __gpio_as_input(GPIO_SD_CD_N);
- __gpio_disable_pull(GPIO_SD_CD_N);
+ /* __gpio_as_input(GPIO_SD_WP); */
+ /* __gpio_disable_pull(GPIO_SD_WP); */
- __gpio_as_input(GPIO_SD_WP);
- __gpio_disable_pull(GPIO_SD_WP);
+ /* __gpio_as_output(GPIO_LED_EN); */
+
+ /* __gpio_as_input(GPIO_USB_DETE); */
+ /* __gpio_as_output(GPIO_DISP_OFF_N); */
__gpio_as_input(GPIO_DC_DETE_N);
__gpio_as_input(GPIO_CHARG_STAT_N);
- __gpio_as_input(GPIO_USB_DETE);
-
- __gpio_as_output(GPIO_DISP_OFF_N);
- __gpio_as_output(GPIO_LED_EN);
}
void __init jz_board_setup(void)
diff --git a/drivers/mmc/host/jz_mmc.h b/drivers/mmc/host/jz_mmc.h
index c733529..0bdf971 100644
--- a/drivers/mmc/host/jz_mmc.h
+++ b/drivers/mmc/host/jz_mmc.h
@@ -17,9 +17,6 @@ typedef struct jzsoc_dma_desc {
volatile u32 dcmd; /* DCMD value for the current transfer */
} jzsoc_dma_desc;
-
-
-
#include <linux/interrupt.h>
struct device;
--
1.6.0.4

View File

@ -0,0 +1,67 @@
From 15ed8daa3f7a56f32d8b9bbce9ec2dab47c79704 Mon Sep 17 00:00:00 2001
From: xiangfu <xiangfu.z@gmail.com>
Date: Thu, 23 Apr 2009 08:30:49 +0800
Subject: [PATCH] add build script
---
build | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 48 insertions(+), 0 deletions(-)
create mode 100755 build
diff --git a/build b/build
new file mode 100755
index 0000000..7c6180b
--- /dev/null
+++ b/build
@@ -0,0 +1,48 @@
+#!/bin/sh
+#
+# Kernel building helper script (C)2009 PI
+# xiangfu <xiangfu.z@openmoko.org>
+#
+# Licensed under GPLv3 or later
+#
+#
+# you need to run this from the top level source dir, but it creates all
+# object files into a subdir given in the first argument, eg
+#
+#
+#
+# this radically speeds up swapping between build contexts. Note the config
+# for each build lives in the subdir.
+
+PARALLEL=16
+
+if [ -z "$1" ] ; then
+ echo "Specify the build subdir, eg, PI which contains the .config"
+ echo "and will hold the object files"
+ exit 1
+fi
+
+mkdir -p $1
+
+if [ -z "$CROSS_COMPILE" ]; then
+ export CROSS_COMPILE=/opt/mipseltools-gcc412-glibc261/bin/mipsel-linux-
+fi
+make O=$1 pi_defconfig
+
+
+VERSION=
+if [ -d .git ] ; then
+ HEAD=`git show --pretty=oneline | head -n1 | cut -d' ' -f1 | cut -b1-16`
+ BRANCH=`git branch | grep ^\* | cut -d' ' -f2 | sed s/-hist//g`
+ VERSION=-$PRODUCT\_$BRANCH
+fi
+
+if make -j$PARALLEL O=$1 uImage ; then
+ cp arch/mips/boot/uImage $1/uImage$VERSION-$HEAD
+ cp arch/mips/boot/uImage /home/xiangfu/virtual_share/usbboot/usbboot1.4a-tools/
+ exit 0
+fi
+
+exit 1
+
+
--
1.6.0.4

View File

@ -0,0 +1,42 @@
From 6bd871f2f9be7d93524ed031b30af65b8f7ccd61 Mon Sep 17 00:00:00 2001
From: xiangfu <xiangfu.z@gmail.com>
Date: Thu, 23 Apr 2009 13:29:16 +0800
Subject: [PATCH] format the build shell script
---
build | 9 ++++-----
1 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/build b/build
index 7c6180b..3051f47 100755
--- a/build
+++ b/build
@@ -25,16 +25,16 @@ fi
mkdir -p $1
if [ -z "$CROSS_COMPILE" ]; then
- export CROSS_COMPILE=/opt/mipseltools-gcc412-glibc261/bin/mipsel-linux-
+ export CROSS_COMPILE=/opt/mipseltools-gcc412-glibc261/bin/mipsel-linux-
fi
make O=$1 pi_defconfig
VERSION=
if [ -d .git ] ; then
- HEAD=`git show --pretty=oneline | head -n1 | cut -d' ' -f1 | cut -b1-16`
- BRANCH=`git branch | grep ^\* | cut -d' ' -f2 | sed s/-hist//g`
- VERSION=-$PRODUCT\_$BRANCH
+ HEAD=`git show --pretty=oneline | head -n1 | cut -d' ' -f1 | cut -b1-16`
+ BRANCH=`git branch | grep ^\* | cut -d' ' -f2 | sed s/-hist//g`
+ VERSION=-$PRODUCT\_$BRANCH
fi
if make -j$PARALLEL O=$1 uImage ; then
@@ -45,4 +45,3 @@ fi
exit 1
-
--
1.6.0.4

View File

@ -0,0 +1,29 @@
From 345541b72b832c8b78a32ae08a552b4d778e3550 Mon Sep 17 00:00:00 2001
From: xiangfu <xiangfu.z@gmail.com>
Date: Fri, 24 Apr 2009 11:28:38 +0800
Subject: [PATCH] test email
---
build | 3 ---
1 files changed, 0 insertions(+), 3 deletions(-)
diff --git a/build b/build
index 3051f47..70d5fcf 100755
--- a/build
+++ b/build
@@ -5,12 +5,9 @@
#
# Licensed under GPLv3 or later
#
-#
# you need to run this from the top level source dir, but it creates all
# object files into a subdir given in the first argument, eg
#
-#
-#
# this radically speeds up swapping between build contexts. Note the config
# for each build lives in the subdir.
--
1.6.0.4

View File

@ -0,0 +1,297 @@
From 4bd575c2847336aa013f1362e5c561209b7b7a71 Mon Sep 17 00:00:00 2001
From: xiangfu <xiangfu.z@gmail.com>
Date: Wed, 24 Jun 2009 20:18:07 +0800
Subject: [PATCH] add vmlinux.lds.h file
---
.gitignore | 1 +
include/asm-generic/vmlinux.lds.h | 265 +++++++++++++++++++++++++++++++++++++
2 files changed, 266 insertions(+), 0 deletions(-)
create mode 100644 include/asm-generic/vmlinux.lds.h
diff --git a/.gitignore b/.gitignore
index a79dfeb..7970e70 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,6 +25,7 @@ tags
TAGS
vmlinux*
!vmlinux.lds.S
+!vmlinux.lds.h
System.map
Module.symvers
!.gitignore
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
new file mode 100644
index 0000000..9f584cc
--- /dev/null
+++ b/include/asm-generic/vmlinux.lds.h
@@ -0,0 +1,265 @@
+#ifndef LOAD_OFFSET
+#define LOAD_OFFSET 0
+#endif
+
+#ifndef VMLINUX_SYMBOL
+#define VMLINUX_SYMBOL(_sym_) _sym_
+#endif
+
+/* Align . to a 8 byte boundary equals to maximum function alignment. */
+#define ALIGN_FUNCTION() . = ALIGN(8)
+
+/* .data section */
+#define DATA_DATA \
+ *(.data) \
+ *(.data.init.refok) \
+ . = ALIGN(8); \
+ VMLINUX_SYMBOL(__start___markers) = .; \
+ *(__markers) \
+ VMLINUX_SYMBOL(__stop___markers) = .;
+
+#define RO_DATA(align) \
+ . = ALIGN((align)); \
+ .rodata : AT(ADDR(.rodata) - LOAD_OFFSET) { \
+ VMLINUX_SYMBOL(__start_rodata) = .; \
+ *(.rodata) *(.rodata.*) \
+ *(__vermagic) /* Kernel version magic */ \
+ *(__markers_strings) /* Markers: strings */ \
+ } \
+ \
+ .rodata1 : AT(ADDR(.rodata1) - LOAD_OFFSET) { \
+ *(.rodata1) \
+ } \
+ \
+ /* PCI quirks */ \
+ .pci_fixup : AT(ADDR(.pci_fixup) - LOAD_OFFSET) { \
+ VMLINUX_SYMBOL(__start_pci_fixups_early) = .; \
+ *(.pci_fixup_early) \
+ VMLINUX_SYMBOL(__end_pci_fixups_early) = .; \
+ VMLINUX_SYMBOL(__start_pci_fixups_header) = .; \
+ *(.pci_fixup_header) \
+ VMLINUX_SYMBOL(__end_pci_fixups_header) = .; \
+ VMLINUX_SYMBOL(__start_pci_fixups_final) = .; \
+ *(.pci_fixup_final) \
+ VMLINUX_SYMBOL(__end_pci_fixups_final) = .; \
+ VMLINUX_SYMBOL(__start_pci_fixups_enable) = .; \
+ *(.pci_fixup_enable) \
+ VMLINUX_SYMBOL(__end_pci_fixups_enable) = .; \
+ VMLINUX_SYMBOL(__start_pci_fixups_resume) = .; \
+ *(.pci_fixup_resume) \
+ VMLINUX_SYMBOL(__end_pci_fixups_resume) = .; \
+ } \
+ \
+ /* RapidIO route ops */ \
+ .rio_route : AT(ADDR(.rio_route) - LOAD_OFFSET) { \
+ VMLINUX_SYMBOL(__start_rio_route_ops) = .; \
+ *(.rio_route_ops) \
+ VMLINUX_SYMBOL(__end_rio_route_ops) = .; \
+ } \
+ \
+ /* Kernel symbol table: Normal symbols */ \
+ __ksymtab : AT(ADDR(__ksymtab) - LOAD_OFFSET) { \
+ VMLINUX_SYMBOL(__start___ksymtab) = .; \
+ *(__ksymtab) \
+ VMLINUX_SYMBOL(__stop___ksymtab) = .; \
+ } \
+ \
+ /* Kernel symbol table: GPL-only symbols */ \
+ __ksymtab_gpl : AT(ADDR(__ksymtab_gpl) - LOAD_OFFSET) { \
+ VMLINUX_SYMBOL(__start___ksymtab_gpl) = .; \
+ *(__ksymtab_gpl) \
+ VMLINUX_SYMBOL(__stop___ksymtab_gpl) = .; \
+ } \
+ \
+ /* Kernel symbol table: Normal unused symbols */ \
+ __ksymtab_unused : AT(ADDR(__ksymtab_unused) - LOAD_OFFSET) { \
+ VMLINUX_SYMBOL(__start___ksymtab_unused) = .; \
+ *(__ksymtab_unused) \
+ VMLINUX_SYMBOL(__stop___ksymtab_unused) = .; \
+ } \
+ \
+ /* Kernel symbol table: GPL-only unused symbols */ \
+ __ksymtab_unused_gpl : AT(ADDR(__ksymtab_unused_gpl) - LOAD_OFFSET) { \
+ VMLINUX_SYMBOL(__start___ksymtab_unused_gpl) = .; \
+ *(__ksymtab_unused_gpl) \
+ VMLINUX_SYMBOL(__stop___ksymtab_unused_gpl) = .; \
+ } \
+ \
+ /* Kernel symbol table: GPL-future-only symbols */ \
+ __ksymtab_gpl_future : AT(ADDR(__ksymtab_gpl_future) - LOAD_OFFSET) { \
+ VMLINUX_SYMBOL(__start___ksymtab_gpl_future) = .; \
+ *(__ksymtab_gpl_future) \
+ VMLINUX_SYMBOL(__stop___ksymtab_gpl_future) = .; \
+ } \
+ \
+ /* Kernel symbol table: Normal symbols */ \
+ __kcrctab : AT(ADDR(__kcrctab) - LOAD_OFFSET) { \
+ VMLINUX_SYMBOL(__start___kcrctab) = .; \
+ *(__kcrctab) \
+ VMLINUX_SYMBOL(__stop___kcrctab) = .; \
+ } \
+ \
+ /* Kernel symbol table: GPL-only symbols */ \
+ __kcrctab_gpl : AT(ADDR(__kcrctab_gpl) - LOAD_OFFSET) { \
+ VMLINUX_SYMBOL(__start___kcrctab_gpl) = .; \
+ *(__kcrctab_gpl) \
+ VMLINUX_SYMBOL(__stop___kcrctab_gpl) = .; \
+ } \
+ \
+ /* Kernel symbol table: Normal unused symbols */ \
+ __kcrctab_unused : AT(ADDR(__kcrctab_unused) - LOAD_OFFSET) { \
+ VMLINUX_SYMBOL(__start___kcrctab_unused) = .; \
+ *(__kcrctab_unused) \
+ VMLINUX_SYMBOL(__stop___kcrctab_unused) = .; \
+ } \
+ \
+ /* Kernel symbol table: GPL-only unused symbols */ \
+ __kcrctab_unused_gpl : AT(ADDR(__kcrctab_unused_gpl) - LOAD_OFFSET) { \
+ VMLINUX_SYMBOL(__start___kcrctab_unused_gpl) = .; \
+ *(__kcrctab_unused_gpl) \
+ VMLINUX_SYMBOL(__stop___kcrctab_unused_gpl) = .; \
+ } \
+ \
+ /* Kernel symbol table: GPL-future-only symbols */ \
+ __kcrctab_gpl_future : AT(ADDR(__kcrctab_gpl_future) - LOAD_OFFSET) { \
+ VMLINUX_SYMBOL(__start___kcrctab_gpl_future) = .; \
+ *(__kcrctab_gpl_future) \
+ VMLINUX_SYMBOL(__stop___kcrctab_gpl_future) = .; \
+ } \
+ \
+ /* Kernel symbol table: strings */ \
+ __ksymtab_strings : AT(ADDR(__ksymtab_strings) - LOAD_OFFSET) { \
+ *(__ksymtab_strings) \
+ } \
+ \
+ /* Built-in module parameters. */ \
+ __param : AT(ADDR(__param) - LOAD_OFFSET) { \
+ VMLINUX_SYMBOL(__start___param) = .; \
+ *(__param) \
+ VMLINUX_SYMBOL(__stop___param) = .; \
+ VMLINUX_SYMBOL(__end_rodata) = .; \
+ } \
+ \
+ . = ALIGN((align));
+
+/* RODATA provided for backward compatibility.
+ * All archs are supposed to use RO_DATA() */
+#define RODATA RO_DATA(4096)
+
+#define SECURITY_INIT \
+ .security_initcall.init : AT(ADDR(.security_initcall.init) - LOAD_OFFSET) { \
+ VMLINUX_SYMBOL(__security_initcall_start) = .; \
+ *(.security_initcall.init) \
+ VMLINUX_SYMBOL(__security_initcall_end) = .; \
+ }
+
+/* .text section. Map to function alignment to avoid address changes
+ * during second ld run in second ld pass when generating System.map */
+#define TEXT_TEXT \
+ ALIGN_FUNCTION(); \
+ *(.text) \
+ *(.text.init.refok) \
+ *(.exit.text.refok)
+
+/* sched.text is aling to function alignment to secure we have same
+ * address even at second ld pass when generating System.map */
+#define SCHED_TEXT \
+ ALIGN_FUNCTION(); \
+ VMLINUX_SYMBOL(__sched_text_start) = .; \
+ *(.sched.text) \
+ VMLINUX_SYMBOL(__sched_text_end) = .;
+
+/* spinlock.text is aling to function alignment to secure we have same
+ * address even at second ld pass when generating System.map */
+#define LOCK_TEXT \
+ ALIGN_FUNCTION(); \
+ VMLINUX_SYMBOL(__lock_text_start) = .; \
+ *(.spinlock.text) \
+ VMLINUX_SYMBOL(__lock_text_end) = .;
+
+#define KPROBES_TEXT \
+ ALIGN_FUNCTION(); \
+ VMLINUX_SYMBOL(__kprobes_text_start) = .; \
+ *(.kprobes.text) \
+ VMLINUX_SYMBOL(__kprobes_text_end) = .;
+
+ /* DWARF debug sections.
+ Symbols in the DWARF debugging sections are relative to
+ the beginning of the section so we begin them at 0. */
+#define DWARF_DEBUG \
+ /* DWARF 1 */ \
+ .debug 0 : { *(.debug) } \
+ .line 0 : { *(.line) } \
+ /* GNU DWARF 1 extensions */ \
+ .debug_srcinfo 0 : { *(.debug_srcinfo) } \
+ .debug_sfnames 0 : { *(.debug_sfnames) } \
+ /* DWARF 1.1 and DWARF 2 */ \
+ .debug_aranges 0 : { *(.debug_aranges) } \
+ .debug_pubnames 0 : { *(.debug_pubnames) } \
+ /* DWARF 2 */ \
+ .debug_info 0 : { *(.debug_info \
+ .gnu.linkonce.wi.*) } \
+ .debug_abbrev 0 : { *(.debug_abbrev) } \
+ .debug_line 0 : { *(.debug_line) } \
+ .debug_frame 0 : { *(.debug_frame) } \
+ .debug_str 0 : { *(.debug_str) } \
+ .debug_loc 0 : { *(.debug_loc) } \
+ .debug_macinfo 0 : { *(.debug_macinfo) } \
+ /* SGI/MIPS DWARF 2 extensions */ \
+ .debug_weaknames 0 : { *(.debug_weaknames) } \
+ .debug_funcnames 0 : { *(.debug_funcnames) } \
+ .debug_typenames 0 : { *(.debug_typenames) } \
+ .debug_varnames 0 : { *(.debug_varnames) } \
+
+ /* Stabs debugging sections. */
+#define STABS_DEBUG \
+ .stab 0 : { *(.stab) } \
+ .stabstr 0 : { *(.stabstr) } \
+ .stab.excl 0 : { *(.stab.excl) } \
+ .stab.exclstr 0 : { *(.stab.exclstr) } \
+ .stab.index 0 : { *(.stab.index) } \
+ .stab.indexstr 0 : { *(.stab.indexstr) } \
+ .comment 0 : { *(.comment) }
+
+#define BUG_TABLE \
+ . = ALIGN(8); \
+ __bug_table : AT(ADDR(__bug_table) - LOAD_OFFSET) { \
+ __start___bug_table = .; \
+ *(__bug_table) \
+ __stop___bug_table = .; \
+ }
+
+#define NOTES \
+ .notes : AT(ADDR(.notes) - LOAD_OFFSET) { \
+ VMLINUX_SYMBOL(__start_notes) = .; \
+ *(.note.*) \
+ VMLINUX_SYMBOL(__stop_notes) = .; \
+ }
+
+#define INITCALLS \
+ *(.initcall0.init) \
+ *(.initcall0s.init) \
+ *(.initcall1.init) \
+ *(.initcall1s.init) \
+ *(.initcall2.init) \
+ *(.initcall2s.init) \
+ *(.initcall3.init) \
+ *(.initcall3s.init) \
+ *(.initcall4.init) \
+ *(.initcall4s.init) \
+ *(.initcall5.init) \
+ *(.initcall5s.init) \
+ *(.initcallrootfs.init) \
+ *(.initcall6.init) \
+ *(.initcall6s.init) \
+ *(.initcall7.init) \
+ *(.initcall7s.init)
+
+#define PERCPU(align) \
+ . = ALIGN(align); \
+ __per_cpu_start = .; \
+ .data.percpu : AT(ADDR(.data.percpu) - LOAD_OFFSET) { \
+ *(.data.percpu) \
+ *(.data.percpu.shared_aligned) \
+ } \
+ __per_cpu_end = .;
--
1.6.0.4

View File

@ -0,0 +1,39 @@
From b70f44257dc5d9560eb8fec6ad48a2a894ef044a Mon Sep 17 00:00:00 2001
From: xiangfu <xiangfu.z@gmail.com>
Date: Wed, 1 Jul 2009 11:29:24 +0800
Subject: [PATCH] fix-make-zImage-erro.path
---
Makefile | 2 +-
arch/mips/Makefile | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
index 9f73a2b..38800ef 100644
--- a/Makefile
+++ b/Makefile
@@ -191,7 +191,7 @@ SUBARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \
# Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile
ARCH ?= mips
-CROSS_COMPILE ?= mipsel-linux-
+CROSS_COMPILE ?= mipsel-openwrt-linux-
# Architecture as present in compile.h
UTS_MACHINE := $(ARCH)
diff --git a/arch/mips/Makefile b/arch/mips/Makefile
index acad988..ce7dc4a 100644
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
@@ -170,7 +170,7 @@ load-$(CONFIG_SOC_JZ4730) += 0xffffffff80010000
#
core-$(CONFIG_SOC_JZ4740) += arch/mips/jz4740/
-cflags-$(CONFIG_SOC_JZ4740) += -Iinclude/asm-mips/mach-jz4740
+cflags-$(CONFIG_SOC_JZ4740) += -Iinclude/asm-mips/mach-jz4740 -Iinclude
load-$(CONFIG_SOC_JZ4740) += 0xffffffff80010000
#
--
1.6.0.4

View File

@ -0,0 +1,190 @@
From 7d5623d6b172373f943ffe6d976e2830a2081050 Mon Sep 17 00:00:00 2001
From: Xiangfu Liu <xiangfu.z@gmail.com>
Date: Wed, 15 Jul 2009 15:57:56 +0800
Subject: [PATCH] fix mmc driver
---
arch/mips/jz4740/board-pi.c | 45 ++++++++++++++++++++-----------
drivers/mmc/host/jz_mmc.c | 13 +++++---
drivers/mtd/nand/jz4740_nand.c | 17 +++++------
include/asm-mips/mach-jz4740/board-pi.h | 6 ++--
4 files changed, 48 insertions(+), 33 deletions(-)
diff --git a/arch/mips/jz4740/board-pi.c b/arch/mips/jz4740/board-pi.c
index 05e577e..7123352 100644
--- a/arch/mips/jz4740/board-pi.c
+++ b/arch/mips/jz4740/board-pi.c
@@ -61,12 +61,6 @@ static void __init board_gpio_setup(void)
/*
* Most of the GPIO pins should have been initialized by the boot-loader
*/
-
- /*
- * Initialize MSC pins
- */
- /* __gpio_as_msc(); */
-
/*
* Initialize UART0 pins
*/
@@ -88,26 +82,45 @@ static void __init board_gpio_setup(void)
/* __gpio_as_i2c(); */
/*
+ * Initialize MSC pins
+ */
+ /* __gpio_as_msc(); */
+
+ /*
* Initialize Other pins
*/
- /* __gpio_as_output(GPIO_SD_VCC_EN_N); */
- /* __gpio_clear_pin(GPIO_SD_VCC_EN_N); */
- /* __gpio_set_pin(GPIO_SD_VCC_EN_N); */
- /* __gpio_as_input(GPIO_SD_CD_N); */
- /* __gpio_disable_pull(GPIO_SD_CD_N); */
+ /* unsigned int i;
+ for (i = 0; i < 8; i++) {
+ __gpio_as_output(GPIO_KEYOUT_BASE + i);
+ __gpio_set_pin(GPIO_KEYOUT_BASE + i);
+ }
- /* __gpio_as_input(GPIO_SD_WP); */
- /* __gpio_disable_pull(GPIO_SD_WP); */
+ for (i = 0; i < 7; i++){
+ __gpio_as_input(GPIO_KEYIN_BASE + i);
+ __gpio_enable_pull(GPIO_KEYIN_BASE + i);
+ }
+ __gpio_as_input( GPIO_KEYIN_8 );
+ __gpio_enable_pull( GPIO_KEYIN_8 );
+ */
- /* __gpio_as_output(GPIO_LED_EN); */
+ __gpio_as_output(GPIO_SD_VCC_EN_N);
+ __gpio_disable_pull(GPIO_SD_VCC_EN_N);
+ __gpio_clear_pin(GPIO_SD_VCC_EN_N);
+
+ __gpio_as_input(GPIO_SD_CD_N);
+ __gpio_disable_pull(GPIO_SD_CD_N);
+
+ __gpio_as_input(GPIO_SD_WP);
+ __gpio_disable_pull(GPIO_SD_WP);
- /* __gpio_as_input(GPIO_USB_DETE); */
- /* __gpio_as_output(GPIO_DISP_OFF_N); */
__gpio_as_input(GPIO_DC_DETE_N);
__gpio_as_input(GPIO_CHARG_STAT_N);
+ /* __gpio_as_output(GPIO_DISP_OFF_N); */
+ /* __gpio_as_input(GPIO_USB_DETE); */
+ /* __gpio_as_output(GPIO_LED_EN); */
}
void __init jz_board_setup(void)
diff --git a/drivers/mmc/host/jz_mmc.c b/drivers/mmc/host/jz_mmc.c
index 29ab9bb..de52028 100644
--- a/drivers/mmc/host/jz_mmc.c
+++ b/drivers/mmc/host/jz_mmc.c
@@ -843,9 +843,9 @@ static int jz_mmc_probe(struct platform_device *pdev)
return retval;
}
jz_mmc_slot_is_empty(0);
- /* Request card detect interrupt */
- retval = request_irq(MSC_HOTPLUG_IRQ, jz_mmc_detect_irq, 0, //SA_INTERRUPT,
+ /* Request card detect interrupt */
+ retval = request_irq(19 /*MSC_HOTPLUG_IRQ*/, jz_mmc_detect_irq, 0, //SA_INTERRUPT,
"MMC card detect", host);
if (retval) {
printk(KERN_ERR "MMC/SD: can't request card detect IRQ\n");
@@ -889,10 +889,13 @@ static int jz_mmc_probe(struct platform_device *pdev)
#endif
return 0;
-err1:free_irq(IRQ_MSC, &host);
+err1:
+ free_irq(IRQ_MSC, &host);
#ifdef USE_DMA
- err2:jz_free_dma(rxdmachan);
- err3:jz_free_dma(txdmachan);
+ err2:
+ jz_free_dma(rxdmachan);
+ err3:
+ jz_free_dma(txdmachan);
#endif
out:
if (host) {
diff --git a/drivers/mtd/nand/jz4740_nand.c b/drivers/mtd/nand/jz4740_nand.c
index 4c9c1d9..b36ed44 100644
--- a/drivers/mtd/nand/jz4740_nand.c
+++ b/drivers/mtd/nand/jz4740_nand.c
@@ -118,23 +118,22 @@ static struct mtd_partition partition_info[] = {
use_planes: 0 },
{ name: "NAND ROOTFS partition",
offset: 8 * 0x100000,
- size: 120 * 0x100000,
+ size: 504 * 0x100000,
use_planes: 0 },
{ name: "NAND DATA1 partition",
- offset: 128 * 0x100000,
- size: 128 * 0x100000,
+ offset: 512 * 0x100000,
+ size: 512 * 0x100000,
use_planes: 1 },
{ name: "NAND DATA2 partition",
- offset: 256 * 0x100000,
- size: 256 * 0x100000,
+ offset: 1024 * 0x100000,
+ size: 512 * 0x100000,
use_planes: 1 },
{ name: "NAND VFAT partition",
- offset: 512 * 0x100000,
+ offset: (1024 + 512) * 0x100000,
size: 512 * 0x100000,
use_planes: 1 },
};
-
/* Define max reserved bad blocks for each partition.
* This is used by the mtdblock-jz.c NAND FTL driver only.
*
@@ -149,8 +148,8 @@ static int partition_reserved_badblocks[] = {
2, /* reserved blocks of mtd1 */
10, /* reserved blocks of mtd2 */
10, /* reserved blocks of mtd3 */
- 20, /* reserved blocks of mtd4 */
- 20}; /* reserved blocks of mtd5 */
+ 10, /* reserved blocks of mtd4 */
+ 10}; /* reserved blocks of mtd5 */
#endif /* CONFIG_JZ4740_PI */
#ifdef CONFIG_JZ4740_LEO
diff --git a/include/asm-mips/mach-jz4740/board-pi.h b/include/asm-mips/mach-jz4740/board-pi.h
index afde2ec..152147a 100644
--- a/include/asm-mips/mach-jz4740/board-pi.h
+++ b/include/asm-mips/mach-jz4740/board-pi.h
@@ -3,8 +3,8 @@
*
* JZ4730-based PI definition.
*
- * Copyright (c) 2009 PI.
- * Author: xiangfu <xiangfu.z@gmail.com>
+ * Copyright (c) 2009 Qi Hardware inc.,
+ * Author: Xiangfu Liu<xiangfu.z@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -75,7 +75,7 @@ do { \
#define __msc_card_detected(s) \
({ \
int detected = 1; \
- if (__gpio_get_pin(GPIO_SD_CD_N)) \
+ if (!__gpio_get_pin(GPIO_SD_CD_N)) \
detected = 0; \
detected; \
})
--
1.6.0.4

File diff suppressed because it is too large Load Diff