All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/4] ARM: pxa168fb: fix clear operation
@ 2010-09-08 13:42 Haojian Zhuang
  2010-09-08 13:42 ` [PATCH 2/4] ARM: pxa: append tavorevb3 support Haojian Zhuang
  2010-09-13  7:39 ` [PATCH 1/4] ARM: pxa168fb: fix clear operation Eric Miao
  0 siblings, 2 replies; 8+ messages in thread
From: Haojian Zhuang @ 2010-09-08 13:42 UTC (permalink / raw)
  To: linux-arm-kernel

While fb isn't active, we should clear CFG_GRA_ENA bit. The existing code
can't clear this bit.

Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com>
Acked-by: Marek Vasut <marek.vasut@gmail.com>
Cc: Eric Miao <eric.y.miao@gmail.com>
---
 drivers/video/pxa168fb.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/video/pxa168fb.c b/drivers/video/pxa168fb.c
index c91a7f7..13c238b 100644
--- a/drivers/video/pxa168fb.c
+++ b/drivers/video/pxa168fb.c
@@ -298,8 +298,8 @@ static void set_dma_control0(struct pxa168fb_info *fbi)
 	 * Set bit to enable graphics DMA.
 	 */
 	x = readl(fbi->reg_base + LCD_SPU_DMA_CTRL0);
-	x |= fbi->active ? 0x00000100 : 0;
-	fbi->active = 0;
+	x &= ~CFG_GRA_ENA_MASK;
+	x |= fbi->active ? CFG_GRA_ENA(1) : CFG_GRA_ENA(0);
 
 	/*
 	 * If we are in a pseudo-color mode, we need to enable
-- 
1.5.6.5

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

* [PATCH 2/4] ARM: pxa: append tavorevb3 support
  2010-09-08 13:42 [PATCH 1/4] ARM: pxa168fb: fix clear operation Haojian Zhuang
@ 2010-09-08 13:42 ` Haojian Zhuang
  2010-09-08 13:42   ` [PATCH 3/4] ARM: pxa: update cpuid of pxa168 & pxa910 Haojian Zhuang
  2010-09-13 16:18   ` [PATCH 2/4] ARM: pxa: append tavorevb3 support Eric Miao
  2010-09-13  7:39 ` [PATCH 1/4] ARM: pxa168fb: fix clear operation Eric Miao
  1 sibling, 2 replies; 8+ messages in thread
From: Haojian Zhuang @ 2010-09-08 13:42 UTC (permalink / raw)
  To: linux-arm-kernel

Bringup tavorevb3 development platform. UART and PMIC are enabled.

Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com>
Cc: Eric Miao <eric.y.miao@gmail.com>
---
 arch/arm/mach-pxa/Kconfig                   |    4 +
 arch/arm/mach-pxa/Makefile                  |    1 +
 arch/arm/mach-pxa/include/mach/mfp-pxa930.h |    7 ++
 arch/arm/mach-pxa/pxa930.c                  |    2 +-
 arch/arm/mach-pxa/tavorevb3.c               |  136 +++++++++++++++++++++++++++
 5 files changed, 149 insertions(+), 1 deletions(-)
 create mode 100644 arch/arm/mach-pxa/tavorevb3.c

diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
index e2453db..dd235ec 100644
--- a/arch/arm/mach-pxa/Kconfig
+++ b/arch/arm/mach-pxa/Kconfig
@@ -41,6 +41,10 @@ config MACH_TAVOREVB
 	select PXA3xx
 	select CPU_PXA930
 
+config MACH_TAVOREVB3
+	bool "PXA95x Development Platform (aka TavorEVB III)"
+	select CPU_PXA950
+
 config MACH_SAAR
 	bool "PXA930 Handheld Platform (aka SAAR)"
 	select PXA3xx
diff --git a/arch/arm/mach-pxa/Makefile b/arch/arm/mach-pxa/Makefile
index a1db59b..e2f89c2 100644
--- a/arch/arm/mach-pxa/Makefile
+++ b/arch/arm/mach-pxa/Makefile
@@ -32,6 +32,7 @@ obj-$(CONFIG_MACH_ZYLONITE300)	+= zylonite.o zylonite_pxa300.o
 obj-$(CONFIG_MACH_ZYLONITE320)	+= zylonite.o zylonite_pxa320.o
 obj-$(CONFIG_MACH_LITTLETON)	+= littleton.o
 obj-$(CONFIG_MACH_TAVOREVB)	+= tavorevb.o
+obj-$(CONFIG_MACH_TAVOREVB3)	+= tavorevb3.o
 obj-$(CONFIG_MACH_SAAR)		+= saar.o
 
 # 3rd Party Dev Platforms
diff --git a/arch/arm/mach-pxa/include/mach/mfp-pxa930.h b/arch/arm/mach-pxa/include/mach/mfp-pxa930.h
index 0d119d3..04f7c97 100644
--- a/arch/arm/mach-pxa/include/mach/mfp-pxa930.h
+++ b/arch/arm/mach-pxa/include/mach/mfp-pxa930.h
@@ -69,6 +69,7 @@
 #define nBE0_GPIO_60		MFP_CFG(nBE0, AF0)
 #define nBE1_GPIO_61		MFP_CFG(nBE1, AF0)
 #define RDY_GPIO_62		MFP_CFG(RDY, AF0)
+#define PMIC_INT_GPIO83		MFP_CFG_LPM(PMIC_INT, AF0, PULL_HIGH)
 
 /* Chip Select */
 #define DF_nCS0_nCS2		MFP_CFG_LPM(DF_nCS0, AF3, PULL_HIGH)
@@ -92,6 +93,9 @@
 #define GPIO63_CI2C_SCL		MFP_CFG_LPM(GPIO63, AF4, PULL_HIGH)
 #define GPIO64_CI2C_SDA		MFP_CFG_LPM(GPIO64, AF4, PULL_HIGH)
 
+#define GPIO73_CI2C_SCL		MFP_CFG_LPM(GPIO73, AF1, PULL_HIGH)
+#define GPIO74_CI2C_SDA		MFP_CFG_LPM(GPIO74, AF1, PULL_HIGH)
+
 #define GPIO77_CI2C_SCL		MFP_CFG_LPM(GPIO77, AF2, PULL_HIGH)
 #define GPIO78_CI2C_SDA		MFP_CFG_LPM(GPIO78, AF2, PULL_HIGH)
 
@@ -345,6 +349,9 @@
 #define GPIO69_UART1_CTS	MFP_CFG(GPIO69, AF2)
 #define GPIO70_UART1_RTS	MFP_CFG(GPIO70, AF2)
 
+#define GPIO53_UART1_TXD	MFP_CFG(GPIO53, AF2)
+#define GPIO54_UART1_RXD	MFP_CFG(GPIO54, AF2)
+
 /* UART2 - BTUART */
 #define GPIO91_UART2_RXD	MFP_CFG(GPIO91, AF1)
 #define GPIO92_UART2_TXD	MFP_CFG(GPIO92, AF1)
diff --git a/arch/arm/mach-pxa/pxa930.c b/arch/arm/mach-pxa/pxa930.c
index 0642920..7d29dd3 100644
--- a/arch/arm/mach-pxa/pxa930.c
+++ b/arch/arm/mach-pxa/pxa930.c
@@ -192,7 +192,7 @@ static struct mfp_addr_map pxa935_mfp_addr_map[] __initdata = {
 
 static int __init pxa930_init(void)
 {
-	if (cpu_is_pxa930() || cpu_is_pxa935()) {
+	if (cpu_is_pxa930() || cpu_is_pxa935() || cpu_is_pxa950()) {
 		mfp_init_base(io_p2v(MFPR_BASE));
 		mfp_init_addr(pxa930_mfp_addr_map);
 	}
diff --git a/arch/arm/mach-pxa/tavorevb3.c b/arch/arm/mach-pxa/tavorevb3.c
new file mode 100644
index 0000000..5eeba64
--- /dev/null
+++ b/arch/arm/mach-pxa/tavorevb3.c
@@ -0,0 +1,136 @@
+/*
+ *  linux/arch/arm/mach-pxa/tavorevb3.c
+ *
+ *  Support for the Marvell EVB3 Development Platform.
+ *
+ *  Copyright:  (C) Copyright 2008-2010 Marvell International Ltd.
+ *
+ *  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
+ *  publishhed by the Free Software Foundation.
+ */
+
+#include <linux/init.h>
+#include <linux/kernel.h>
+#include <linux/platform_device.h>
+#include <linux/interrupt.h>
+#include <linux/i2c.h>
+#include <linux/gpio.h>
+#include <linux/mfd/88pm860x.h>
+
+#include <asm/mach-types.h>
+#include <asm/mach/arch.h>
+
+#include <mach/pxa930.h>
+
+#include <plat/i2c.h>
+
+#include "devices.h"
+#include "generic.h"
+
+#define TAVOREVB3_NR_IRQS	(IRQ_BOARD_START + 24)
+
+static mfp_cfg_t evb3_mfp_cfg[] __initdata = {
+	/* UART */
+	GPIO53_UART1_TXD,
+	GPIO54_UART1_RXD,
+
+	/* PMIC */
+	PMIC_INT_GPIO83,
+};
+
+#if defined(CONFIG_I2C_PXA) || defined(CONFIG_I2C_PXA_MODULE)
+static struct pm860x_touch_pdata evb3_touch = {
+	.gpadc_prebias	= 1,
+	.slot_cycle	= 1,
+	.tsi_prebias	= 6,
+	.pen_prebias	= 16,
+	.pen_prechg	= 2,
+	.res_x		= 300,
+};
+
+static struct pm860x_backlight_pdata evb3_backlight[] = {
+	{
+		.id	= PM8606_ID_BACKLIGHT,
+		.iset	= PM8606_WLED_CURRENT(24),
+		.flags	= PM8606_BACKLIGHT1,
+	},
+	{},
+};
+
+static struct pm860x_led_pdata evb3_led[] = {
+	{
+		.id	= PM8606_ID_LED,
+		.iset	= PM8606_LED_CURRENT(12),
+		.flags	= PM8606_LED1_RED,
+	}, {
+		.id	= PM8606_ID_LED,
+		.iset	= PM8606_LED_CURRENT(12),
+		.flags	= PM8606_LED1_GREEN,
+	}, {
+		.id	= PM8606_ID_LED,
+		.iset	= PM8606_LED_CURRENT(12),
+		.flags	= PM8606_LED1_BLUE,
+	}, {
+		.id	= PM8606_ID_LED,
+		.iset	= PM8606_LED_CURRENT(12),
+		.flags	= PM8606_LED2_RED,
+	}, {
+		.id	= PM8606_ID_LED,
+		.iset	= PM8606_LED_CURRENT(12),
+		.flags	= PM8606_LED2_GREEN,
+	}, {
+		.id	= PM8606_ID_LED,
+		.iset	= PM8606_LED_CURRENT(12),
+		.flags	= PM8606_LED2_BLUE,
+	},
+};
+
+static struct pm860x_platform_data evb3_pm8607_info = {
+	.touch				= &evb3_touch,
+	.backlight			= &evb3_backlight[0],
+	.led				= &evb3_led[0],
+	.companion_addr			= 0x10,
+	.irq_mode			= 0,
+	.irq_base			= IRQ_BOARD_START,
+
+	.i2c_port			= GI2C_PORT,
+};
+
+static struct i2c_board_info evb3_i2c_info[] = {
+	{
+		.type		= "88PM860x",
+		.addr		= 0x34,
+		.platform_data	= &evb3_pm8607_info,
+		.irq		= gpio_to_irq(mfp_to_gpio(MFP_PIN_GPIO83)),
+	},
+};
+
+static void __init evb3_init_i2c(void)
+{
+	pxa_set_i2c_info(NULL);
+	i2c_register_board_info(0, ARRAY_AND_SIZE(evb3_i2c_info));
+}
+#else
+static inline void evb3_init_i2c(void) {}
+#endif
+
+static void __init evb3_init(void)
+{
+	/* initialize MFP configurations */
+	pxa3xx_mfp_config(ARRAY_AND_SIZE(evb3_mfp_cfg));
+
+	pxa_set_ffuart_info(NULL);
+
+	evb3_init_i2c();
+}
+
+MACHINE_START(TAVOREVB3, "PXA950 Evaluation Board (aka TavorEVB3)")
+	.phys_io	= 0x40000000,
+	.boot_params	= 0xa0000100,
+	.map_io         = pxa_map_io,
+	.nr_irqs	= TAVOREVB3_NR_IRQS,
+	.init_irq       = pxa3xx_init_irq,
+	.timer          = &pxa_timer,
+	.init_machine   = evb3_init,
+MACHINE_END
-- 
1.5.6.5

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

* [PATCH 3/4] ARM: pxa: update cpuid of pxa168 & pxa910
  2010-09-08 13:42 ` [PATCH 2/4] ARM: pxa: append tavorevb3 support Haojian Zhuang
@ 2010-09-08 13:42   ` Haojian Zhuang
  2010-09-08 13:42     ` [PATCH 4/4] ARM: mmp: support sparse irq Haojian Zhuang
  2010-09-14  5:28     ` [PATCH 3/4] ARM: pxa: update cpuid of pxa168 & pxa910 Eric Miao
  2010-09-13 16:18   ` [PATCH 2/4] ARM: pxa: append tavorevb3 support Eric Miao
  1 sibling, 2 replies; 8+ messages in thread
From: Haojian Zhuang @ 2010-09-08 13:42 UTC (permalink / raw)
  To: linux-arm-kernel

Support more steppings of pxa168 and pxa910.

Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com>
Cc: Eric Miao <eric.y.miao@gmail.com>
---
 arch/arm/mach-mmp/include/mach/cputype.h |   30 ++++++++++++++++++++----------
 1 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/arch/arm/mach-mmp/include/mach/cputype.h b/arch/arm/mach-mmp/include/mach/cputype.h
index 83b1872..f45cdbc 100644
--- a/arch/arm/mach-mmp/include/mach/cputype.h
+++ b/arch/arm/mach-mmp/include/mach/cputype.h
@@ -8,32 +8,42 @@
  *
  * PXA168    A0    0x41159263   0x56158400   0x00A0A333
  * PXA910    Y0    0x41159262   0x56158000   0x00F0C910
+ * PXA920    Y0                 0x56158400   0x00F2C920
+ * PXA920    A0                 0x56158400   0x00A0C920
  * MMP2	     Z0			0x560f5811
  */
 
+#define CHIP_ID		(AXI_VIRT_BASE + 0x82c00)
+
 #ifdef CONFIG_CPU_PXA168
-#  define __cpu_is_pxa168(id)	\
-	({ unsigned int _id = ((id) >> 8) & 0xff; _id == 0x84; })
+#define __cpu_is_pxa168(id, cid)	\
+	({ unsigned int _id = ((id) >> 8) & 0xff; \
+	   unsigned int _cid = (cid) & 0xfff; \
+	   _id == 0x84 && _cid != 0x910 && _cid != 0x920; })
 #else
-#  define __cpu_is_pxa168(id)	(0)
+#define __cpu_is_pxa168(id, cid)	(0)
 #endif
 
 #ifdef CONFIG_CPU_PXA910
-#  define __cpu_is_pxa910(id)	\
-	({ unsigned int _id = ((id) >> 8) & 0xff; _id == 0x80; })
+#define __cpu_is_pxa910(id, cid)	\
+	({ unsigned int _id = ((id) >> 8) & 0xff; \
+	   unsigned int _cid = (cid) & 0xfff; \
+	   (_id == 0x84 || _id == 0x80) && (_cid == 0x910 || _cid == 0x920); })
 #else
-#  define __cpu_is_pxa910(id)	(0)
+#define __cpu_is_pxa910(id, cid)	(0)
 #endif
 
 #ifdef CONFIG_CPU_MMP2
-#  define __cpu_is_mmp2(id)	\
+#define __cpu_is_mmp2(id)	\
 	({ unsigned int _id = ((id) >> 8) & 0xff; _id == 0x58; })
 #else
-#  define __cpu_is_mmp2(id)	(0)
+#define __cpu_is_mmp2(id)	(0)
 #endif
 
-#define cpu_is_pxa168()		({ __cpu_is_pxa168(read_cpuid_id()); })
-#define cpu_is_pxa910()		({ __cpu_is_pxa910(read_cpuid_id()); })
+#define cpu_is_pxa168()		({ __cpu_is_pxa168(read_cpuid_id(), \
+				__raw_readl(CHIP_ID)); })
+#define cpu_is_pxa910()		({ __cpu_is_pxa910(read_cpuid_id(), \
+				__raw_readl(CHIP_ID)); })
 #define cpu_is_mmp2()		({ __cpu_is_mmp2(read_cpuid_id()); })
 
 #endif /* __ASM_MACH_CPUTYPE_H */
-- 
1.5.6.5

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

* [PATCH 4/4] ARM: mmp: support sparse irq
  2010-09-08 13:42   ` [PATCH 3/4] ARM: pxa: update cpuid of pxa168 & pxa910 Haojian Zhuang
@ 2010-09-08 13:42     ` Haojian Zhuang
  2010-09-14  6:29       ` Eric Miao
  2010-09-14  5:28     ` [PATCH 3/4] ARM: pxa: update cpuid of pxa168 & pxa910 Eric Miao
  1 sibling, 1 reply; 8+ messages in thread
From: Haojian Zhuang @ 2010-09-08 13:42 UTC (permalink / raw)
  To: linux-arm-kernel

Add sparse IRQ support in ARCH_MMP.

Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com>
Cc: Eric Miao <eric.y.miao@gmail.com>
---
 arch/arm/Kconfig                      |    1 +
 arch/arm/mach-mmp/aspenite.c          |    3 +++
 arch/arm/mach-mmp/flint.c             |    4 ++++
 arch/arm/mach-mmp/include/mach/irqs.h |    4 +---
 arch/arm/mach-mmp/jasper.c            |    5 ++++-
 arch/arm/mach-mmp/ttc_dkb.c           |    4 ++++
 6 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 45f93e1..eb1d43d 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -511,6 +511,7 @@ config ARCH_MMP
 	select GENERIC_CLOCKEVENTS
 	select TICK_ONESHOT
 	select PLAT_PXA
+	select SPARSE_IRQ
 	help
 	  Support for Marvell's PXA168/PXA910(MMP) and MMP2 processor line.
 
diff --git a/arch/arm/mach-mmp/aspenite.c b/arch/arm/mach-mmp/aspenite.c
index 9e1bd6b..9b1ef76 100644
--- a/arch/arm/mach-mmp/aspenite.c
+++ b/arch/arm/mach-mmp/aspenite.c
@@ -16,6 +16,7 @@
 #include <linux/mtd/mtd.h>
 #include <linux/mtd/partitions.h>
 #include <linux/mtd/nand.h>
+#include <linux/interrupt.h>
 
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
@@ -212,6 +213,7 @@ MACHINE_START(ASPENITE, "PXA168-based Aspenite Development Platform")
 	.phys_io        = APB_PHYS_BASE,
 	.io_pg_offst    = (APB_VIRT_BASE >> 18) & 0xfffc,
 	.map_io		= mmp_map_io,
+	.nr_irqs	= IRQ_BOARD_START,
 	.init_irq       = pxa168_init_irq,
 	.timer          = &pxa168_timer,
 	.init_machine   = common_init,
@@ -221,6 +223,7 @@ MACHINE_START(ZYLONITE2, "PXA168-based Zylonite2 Development Platform")
 	.phys_io        = APB_PHYS_BASE,
 	.io_pg_offst    = (APB_VIRT_BASE >> 18) & 0xfffc,
 	.map_io		= mmp_map_io,
+	.nr_irqs	= IRQ_BOARD_START,
 	.init_irq       = pxa168_init_irq,
 	.timer          = &pxa168_timer,
 	.init_machine   = common_init,
diff --git a/arch/arm/mach-mmp/flint.c b/arch/arm/mach-mmp/flint.c
index e4312d2..c558425 100644
--- a/arch/arm/mach-mmp/flint.c
+++ b/arch/arm/mach-mmp/flint.c
@@ -16,6 +16,7 @@
 #include <linux/smc91x.h>
 #include <linux/io.h>
 #include <linux/gpio.h>
+#include <linux/interrupt.h>
 
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
@@ -25,6 +26,8 @@
 
 #include "common.h"
 
+#define FLINT_NR_IRQS	(IRQ_BOARD_START + 48)
+
 static unsigned long flint_pin_config[] __initdata = {
 	/* UART1 */
 	GPIO45_UART1_RXD,
@@ -116,6 +119,7 @@ MACHINE_START(FLINT, "Flint Development Platform")
 	.phys_io        = APB_PHYS_BASE,
 	.io_pg_offst    = (APB_VIRT_BASE >> 18) & 0xfffc,
 	.map_io		= mmp_map_io,
+	.nr_irqs	= FLINT_NR_IRQS,
 	.init_irq       = mmp2_init_irq,
 	.timer          = &mmp2_timer,
 	.init_machine   = flint_init,
diff --git a/arch/arm/mach-mmp/include/mach/irqs.h b/arch/arm/mach-mmp/include/mach/irqs.h
index b379cde..a09d328 100644
--- a/arch/arm/mach-mmp/include/mach/irqs.h
+++ b/arch/arm/mach-mmp/include/mach/irqs.h
@@ -222,10 +222,8 @@
 #define IRQ_GPIO_NUM			192
 #define IRQ_GPIO(x)			(IRQ_GPIO_START + (x))
 
-/* Board IRQ - 64 by default, increase if not enough */
 #define IRQ_BOARD_START			(IRQ_GPIO_START + IRQ_GPIO_NUM)
-#define IRQ_BOARD_END			(IRQ_BOARD_START + 64)
 
-#define NR_IRQS				(IRQ_BOARD_END)
+#define NR_IRQS				(IRQ_BOARD_START)
 
 #endif /* __ASM_MACH_IRQS_H */
diff --git a/arch/arm/mach-mmp/jasper.c b/arch/arm/mach-mmp/jasper.c
index 80c3e7a..940ee03 100644
--- a/arch/arm/mach-mmp/jasper.c
+++ b/arch/arm/mach-mmp/jasper.c
@@ -18,16 +18,18 @@
 #include <linux/regulator/machine.h>
 #include <linux/regulator/max8649.h>
 #include <linux/mfd/max8925.h>
+#include <linux/interrupt.h>
 
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 #include <mach/addr-map.h>
 #include <mach/mfp-mmp2.h>
 #include <mach/mmp2.h>
-#include <mach/irqs.h>
 
 #include "common.h"
 
+#define JASPER_NR_IRQS		(IRQ_BOARD_START + 48)
+
 static unsigned long jasper_pin_config[] __initdata = {
 	/* UART1 */
 	GPIO29_UART1_RXD,
@@ -137,6 +139,7 @@ MACHINE_START(MARVELL_JASPER, "Jasper Development Platform")
 	.phys_io        = APB_PHYS_BASE,
 	.io_pg_offst    = (APB_VIRT_BASE >> 18) & 0xfffc,
 	.map_io		= mmp_map_io,
+	.nr_irqs	= JASPER_NR_IRQS,
 	.init_irq       = mmp2_init_irq,
 	.timer          = &mmp2_timer,
 	.init_machine   = jasper_init,
diff --git a/arch/arm/mach-mmp/ttc_dkb.c b/arch/arm/mach-mmp/ttc_dkb.c
index ee65e05..5457113 100644
--- a/arch/arm/mach-mmp/ttc_dkb.c
+++ b/arch/arm/mach-mmp/ttc_dkb.c
@@ -14,6 +14,7 @@
 #include <linux/mtd/mtd.h>
 #include <linux/mtd/partitions.h>
 #include <linux/mtd/onenand.h>
+#include <linux/interrupt.h>
 
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
@@ -24,6 +25,8 @@
 
 #include "common.h"
 
+#define TTCDKB_NR_IRQS		(IRQ_BOARD_START + 24)
+
 static unsigned long ttc_dkb_pin_config[] __initdata = {
 	/* UART2 */
 	GPIO47_UART2_RXD,
@@ -125,6 +128,7 @@ MACHINE_START(TTC_DKB, "PXA910-based TTC_DKB Development Platform")
 	.phys_io        = APB_PHYS_BASE,
 	.io_pg_offst    = (APB_VIRT_BASE >> 18) & 0xfffc,
 	.map_io		= mmp_map_io,
+	.nr_irqs	= TTCDKB_NR_IRQS,
 	.init_irq       = pxa910_init_irq,
 	.timer          = &pxa910_timer,
 	.init_machine   = ttc_dkb_init,
-- 
1.5.6.5

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

* [PATCH 1/4] ARM: pxa168fb: fix clear operation
  2010-09-08 13:42 [PATCH 1/4] ARM: pxa168fb: fix clear operation Haojian Zhuang
  2010-09-08 13:42 ` [PATCH 2/4] ARM: pxa: append tavorevb3 support Haojian Zhuang
@ 2010-09-13  7:39 ` Eric Miao
  1 sibling, 0 replies; 8+ messages in thread
From: Eric Miao @ 2010-09-13  7:39 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Sep 8, 2010 at 9:42 PM, Haojian Zhuang <haojian.zhuang@gmail.com> wrote:
> While fb isn't active, we should clear CFG_GRA_ENA bit. The existing code
> can't clear this bit.
>
> Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com>
> Acked-by: Marek Vasut <marek.vasut@gmail.com>
> Cc: Eric Miao <eric.y.miao@gmail.com>

Applied to 'fix'.

> ---
> ?drivers/video/pxa168fb.c | ? ?4 ++--
> ?1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/video/pxa168fb.c b/drivers/video/pxa168fb.c
> index c91a7f7..13c238b 100644
> --- a/drivers/video/pxa168fb.c
> +++ b/drivers/video/pxa168fb.c
> @@ -298,8 +298,8 @@ static void set_dma_control0(struct pxa168fb_info *fbi)
> ? ? ? ? * Set bit to enable graphics DMA.
> ? ? ? ? */
> ? ? ? ?x = readl(fbi->reg_base + LCD_SPU_DMA_CTRL0);
> - ? ? ? x |= fbi->active ? 0x00000100 : 0;
> - ? ? ? fbi->active = 0;
> + ? ? ? x &= ~CFG_GRA_ENA_MASK;
> + ? ? ? x |= fbi->active ? CFG_GRA_ENA(1) : CFG_GRA_ENA(0);
>
> ? ? ? ?/*
> ? ? ? ? * If we are in a pseudo-color mode, we need to enable
> --
> 1.5.6.5
>
>

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

* [PATCH 2/4] ARM: pxa: append tavorevb3 support
  2010-09-08 13:42 ` [PATCH 2/4] ARM: pxa: append tavorevb3 support Haojian Zhuang
  2010-09-08 13:42   ` [PATCH 3/4] ARM: pxa: update cpuid of pxa168 & pxa910 Haojian Zhuang
@ 2010-09-13 16:18   ` Eric Miao
  1 sibling, 0 replies; 8+ messages in thread
From: Eric Miao @ 2010-09-13 16:18 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Sep 8, 2010 at 9:42 PM, Haojian Zhuang <haojian.zhuang@gmail.com> wrote:
> Bringup tavorevb3 development platform. UART and PMIC are enabled.
>
> Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com>
> Cc: Eric Miao <eric.y.miao@gmail.com>

Applied to 'devel'.

> ---
> ?arch/arm/mach-pxa/Kconfig ? ? ? ? ? ? ? ? ? | ? ?4 +
> ?arch/arm/mach-pxa/Makefile ? ? ? ? ? ? ? ? ?| ? ?1 +
> ?arch/arm/mach-pxa/include/mach/mfp-pxa930.h | ? ?7 ++
> ?arch/arm/mach-pxa/pxa930.c ? ? ? ? ? ? ? ? ?| ? ?2 +-
> ?arch/arm/mach-pxa/tavorevb3.c ? ? ? ? ? ? ? | ?136 +++++++++++++++++++++++++++
> ?5 files changed, 149 insertions(+), 1 deletions(-)
> ?create mode 100644 arch/arm/mach-pxa/tavorevb3.c
>
> diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
> index e2453db..dd235ec 100644
> --- a/arch/arm/mach-pxa/Kconfig
> +++ b/arch/arm/mach-pxa/Kconfig
> @@ -41,6 +41,10 @@ config MACH_TAVOREVB
> ? ? ? ?select PXA3xx
> ? ? ? ?select CPU_PXA930
>
> +config MACH_TAVOREVB3
> + ? ? ? bool "PXA95x Development Platform (aka TavorEVB III)"
> + ? ? ? select CPU_PXA950
> +
> ?config MACH_SAAR
> ? ? ? ?bool "PXA930 Handheld Platform (aka SAAR)"
> ? ? ? ?select PXA3xx
> diff --git a/arch/arm/mach-pxa/Makefile b/arch/arm/mach-pxa/Makefile
> index a1db59b..e2f89c2 100644
> --- a/arch/arm/mach-pxa/Makefile
> +++ b/arch/arm/mach-pxa/Makefile
> @@ -32,6 +32,7 @@ obj-$(CONFIG_MACH_ZYLONITE300) ? ? ? ?+= zylonite.o zylonite_pxa300.o
> ?obj-$(CONFIG_MACH_ZYLONITE320) += zylonite.o zylonite_pxa320.o
> ?obj-$(CONFIG_MACH_LITTLETON) ? += littleton.o
> ?obj-$(CONFIG_MACH_TAVOREVB) ? ?+= tavorevb.o
> +obj-$(CONFIG_MACH_TAVOREVB3) ? += tavorevb3.o
> ?obj-$(CONFIG_MACH_SAAR) ? ? ? ? ? ? ? ?+= saar.o
>
> ?# 3rd Party Dev Platforms
> diff --git a/arch/arm/mach-pxa/include/mach/mfp-pxa930.h b/arch/arm/mach-pxa/include/mach/mfp-pxa930.h
> index 0d119d3..04f7c97 100644
> --- a/arch/arm/mach-pxa/include/mach/mfp-pxa930.h
> +++ b/arch/arm/mach-pxa/include/mach/mfp-pxa930.h
> @@ -69,6 +69,7 @@
> ?#define nBE0_GPIO_60 ? ? ? ? ? MFP_CFG(nBE0, AF0)
> ?#define nBE1_GPIO_61 ? ? ? ? ? MFP_CFG(nBE1, AF0)
> ?#define RDY_GPIO_62 ? ? ? ? ? ?MFP_CFG(RDY, AF0)
> +#define PMIC_INT_GPIO83 ? ? ? ? ? ? ? ?MFP_CFG_LPM(PMIC_INT, AF0, PULL_HIGH)
>
> ?/* Chip Select */
> ?#define DF_nCS0_nCS2 ? ? ? ? ? MFP_CFG_LPM(DF_nCS0, AF3, PULL_HIGH)
> @@ -92,6 +93,9 @@
> ?#define GPIO63_CI2C_SCL ? ? ? ? ? ? ? ?MFP_CFG_LPM(GPIO63, AF4, PULL_HIGH)
> ?#define GPIO64_CI2C_SDA ? ? ? ? ? ? ? ?MFP_CFG_LPM(GPIO64, AF4, PULL_HIGH)
>
> +#define GPIO73_CI2C_SCL ? ? ? ? ? ? ? ?MFP_CFG_LPM(GPIO73, AF1, PULL_HIGH)
> +#define GPIO74_CI2C_SDA ? ? ? ? ? ? ? ?MFP_CFG_LPM(GPIO74, AF1, PULL_HIGH)
> +
> ?#define GPIO77_CI2C_SCL ? ? ? ? ? ? ? ?MFP_CFG_LPM(GPIO77, AF2, PULL_HIGH)
> ?#define GPIO78_CI2C_SDA ? ? ? ? ? ? ? ?MFP_CFG_LPM(GPIO78, AF2, PULL_HIGH)
>
> @@ -345,6 +349,9 @@
> ?#define GPIO69_UART1_CTS ? ? ? MFP_CFG(GPIO69, AF2)
> ?#define GPIO70_UART1_RTS ? ? ? MFP_CFG(GPIO70, AF2)
>
> +#define GPIO53_UART1_TXD ? ? ? MFP_CFG(GPIO53, AF2)
> +#define GPIO54_UART1_RXD ? ? ? MFP_CFG(GPIO54, AF2)
> +
> ?/* UART2 - BTUART */
> ?#define GPIO91_UART2_RXD ? ? ? MFP_CFG(GPIO91, AF1)
> ?#define GPIO92_UART2_TXD ? ? ? MFP_CFG(GPIO92, AF1)
> diff --git a/arch/arm/mach-pxa/pxa930.c b/arch/arm/mach-pxa/pxa930.c
> index 0642920..7d29dd3 100644
> --- a/arch/arm/mach-pxa/pxa930.c
> +++ b/arch/arm/mach-pxa/pxa930.c
> @@ -192,7 +192,7 @@ static struct mfp_addr_map pxa935_mfp_addr_map[] __initdata = {
>
> ?static int __init pxa930_init(void)
> ?{
> - ? ? ? if (cpu_is_pxa930() || cpu_is_pxa935()) {
> + ? ? ? if (cpu_is_pxa930() || cpu_is_pxa935() || cpu_is_pxa950()) {
> ? ? ? ? ? ? ? ?mfp_init_base(io_p2v(MFPR_BASE));
> ? ? ? ? ? ? ? ?mfp_init_addr(pxa930_mfp_addr_map);
> ? ? ? ?}
> diff --git a/arch/arm/mach-pxa/tavorevb3.c b/arch/arm/mach-pxa/tavorevb3.c
> new file mode 100644
> index 0000000..5eeba64
> --- /dev/null
> +++ b/arch/arm/mach-pxa/tavorevb3.c
> @@ -0,0 +1,136 @@
> +/*
> + * ?linux/arch/arm/mach-pxa/tavorevb3.c
> + *
> + * ?Support for the Marvell EVB3 Development Platform.
> + *
> + * ?Copyright: ?(C) Copyright 2008-2010 Marvell International Ltd.
> + *
> + * ?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
> + * ?publishhed by the Free Software Foundation.
> + */
> +
> +#include <linux/init.h>
> +#include <linux/kernel.h>
> +#include <linux/platform_device.h>
> +#include <linux/interrupt.h>
> +#include <linux/i2c.h>
> +#include <linux/gpio.h>
> +#include <linux/mfd/88pm860x.h>
> +
> +#include <asm/mach-types.h>
> +#include <asm/mach/arch.h>
> +
> +#include <mach/pxa930.h>
> +
> +#include <plat/i2c.h>
> +
> +#include "devices.h"
> +#include "generic.h"
> +
> +#define TAVOREVB3_NR_IRQS ? ? ?(IRQ_BOARD_START + 24)
> +
> +static mfp_cfg_t evb3_mfp_cfg[] __initdata = {
> + ? ? ? /* UART */
> + ? ? ? GPIO53_UART1_TXD,
> + ? ? ? GPIO54_UART1_RXD,
> +
> + ? ? ? /* PMIC */
> + ? ? ? PMIC_INT_GPIO83,
> +};
> +
> +#if defined(CONFIG_I2C_PXA) || defined(CONFIG_I2C_PXA_MODULE)
> +static struct pm860x_touch_pdata evb3_touch = {
> + ? ? ? .gpadc_prebias ?= 1,
> + ? ? ? .slot_cycle ? ? = 1,
> + ? ? ? .tsi_prebias ? ?= 6,
> + ? ? ? .pen_prebias ? ?= 16,
> + ? ? ? .pen_prechg ? ? = 2,
> + ? ? ? .res_x ? ? ? ? ?= 300,
> +};
> +
> +static struct pm860x_backlight_pdata evb3_backlight[] = {
> + ? ? ? {
> + ? ? ? ? ? ? ? .id ? ? = PM8606_ID_BACKLIGHT,
> + ? ? ? ? ? ? ? .iset ? = PM8606_WLED_CURRENT(24),
> + ? ? ? ? ? ? ? .flags ?= PM8606_BACKLIGHT1,
> + ? ? ? },
> + ? ? ? {},
> +};
> +
> +static struct pm860x_led_pdata evb3_led[] = {
> + ? ? ? {
> + ? ? ? ? ? ? ? .id ? ? = PM8606_ID_LED,
> + ? ? ? ? ? ? ? .iset ? = PM8606_LED_CURRENT(12),
> + ? ? ? ? ? ? ? .flags ?= PM8606_LED1_RED,
> + ? ? ? }, {
> + ? ? ? ? ? ? ? .id ? ? = PM8606_ID_LED,
> + ? ? ? ? ? ? ? .iset ? = PM8606_LED_CURRENT(12),
> + ? ? ? ? ? ? ? .flags ?= PM8606_LED1_GREEN,
> + ? ? ? }, {
> + ? ? ? ? ? ? ? .id ? ? = PM8606_ID_LED,
> + ? ? ? ? ? ? ? .iset ? = PM8606_LED_CURRENT(12),
> + ? ? ? ? ? ? ? .flags ?= PM8606_LED1_BLUE,
> + ? ? ? }, {
> + ? ? ? ? ? ? ? .id ? ? = PM8606_ID_LED,
> + ? ? ? ? ? ? ? .iset ? = PM8606_LED_CURRENT(12),
> + ? ? ? ? ? ? ? .flags ?= PM8606_LED2_RED,
> + ? ? ? }, {
> + ? ? ? ? ? ? ? .id ? ? = PM8606_ID_LED,
> + ? ? ? ? ? ? ? .iset ? = PM8606_LED_CURRENT(12),
> + ? ? ? ? ? ? ? .flags ?= PM8606_LED2_GREEN,
> + ? ? ? }, {
> + ? ? ? ? ? ? ? .id ? ? = PM8606_ID_LED,
> + ? ? ? ? ? ? ? .iset ? = PM8606_LED_CURRENT(12),
> + ? ? ? ? ? ? ? .flags ?= PM8606_LED2_BLUE,
> + ? ? ? },
> +};
> +
> +static struct pm860x_platform_data evb3_pm8607_info = {
> + ? ? ? .touch ? ? ? ? ? ? ? ? ? ? ? ? ?= &evb3_touch,
> + ? ? ? .backlight ? ? ? ? ? ? ? ? ? ? ?= &evb3_backlight[0],
> + ? ? ? .led ? ? ? ? ? ? ? ? ? ? ? ? ? ?= &evb3_led[0],
> + ? ? ? .companion_addr ? ? ? ? ? ? ? ? = 0x10,
> + ? ? ? .irq_mode ? ? ? ? ? ? ? ? ? ? ? = 0,
> + ? ? ? .irq_base ? ? ? ? ? ? ? ? ? ? ? = IRQ_BOARD_START,
> +
> + ? ? ? .i2c_port ? ? ? ? ? ? ? ? ? ? ? = GI2C_PORT,
> +};
> +
> +static struct i2c_board_info evb3_i2c_info[] = {
> + ? ? ? {
> + ? ? ? ? ? ? ? .type ? ? ? ? ? = "88PM860x",
> + ? ? ? ? ? ? ? .addr ? ? ? ? ? = 0x34,
> + ? ? ? ? ? ? ? .platform_data ?= &evb3_pm8607_info,
> + ? ? ? ? ? ? ? .irq ? ? ? ? ? ?= gpio_to_irq(mfp_to_gpio(MFP_PIN_GPIO83)),
> + ? ? ? },
> +};
> +
> +static void __init evb3_init_i2c(void)
> +{
> + ? ? ? pxa_set_i2c_info(NULL);
> + ? ? ? i2c_register_board_info(0, ARRAY_AND_SIZE(evb3_i2c_info));
> +}
> +#else
> +static inline void evb3_init_i2c(void) {}
> +#endif
> +
> +static void __init evb3_init(void)
> +{
> + ? ? ? /* initialize MFP configurations */
> + ? ? ? pxa3xx_mfp_config(ARRAY_AND_SIZE(evb3_mfp_cfg));
> +
> + ? ? ? pxa_set_ffuart_info(NULL);
> +
> + ? ? ? evb3_init_i2c();
> +}
> +
> +MACHINE_START(TAVOREVB3, "PXA950 Evaluation Board (aka TavorEVB3)")
> + ? ? ? .phys_io ? ? ? ?= 0x40000000,
> + ? ? ? .boot_params ? ?= 0xa0000100,
> + ? ? ? .map_io ? ? ? ? = pxa_map_io,
> + ? ? ? .nr_irqs ? ? ? ?= TAVOREVB3_NR_IRQS,
> + ? ? ? .init_irq ? ? ? = pxa3xx_init_irq,
> + ? ? ? .timer ? ? ? ? ?= &pxa_timer,
> + ? ? ? .init_machine ? = evb3_init,
> +MACHINE_END
> --
> 1.5.6.5
>
>

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

* [PATCH 3/4] ARM: pxa: update cpuid of pxa168 & pxa910
  2010-09-08 13:42   ` [PATCH 3/4] ARM: pxa: update cpuid of pxa168 & pxa910 Haojian Zhuang
  2010-09-08 13:42     ` [PATCH 4/4] ARM: mmp: support sparse irq Haojian Zhuang
@ 2010-09-14  5:28     ` Eric Miao
  1 sibling, 0 replies; 8+ messages in thread
From: Eric Miao @ 2010-09-14  5:28 UTC (permalink / raw)
  To: linux-arm-kernel

might be better now for us to move to something like:

#ifdef CONFIG_CPU_PXA168
static inline int cpu_is_pxa168(void)
{
	return ((read_cpuid_id() >> 4) & 0xff == 0x84) &&
		(mmp_chip_id & 0x0fff == 0x0333);
}
#else
#define cpu_is_pxa168()		(0)
#endif

Although these all need to be re-worked in the end once multiple SoCs can
be compiled together.

> ?#else
> -# ?define __cpu_is_pxa168(id) ?(0)
> +#define __cpu_is_pxa168(id, cid) ? ? ? (0)
> ?#endif
>
> ?#ifdef CONFIG_CPU_PXA910
> -# ?define __cpu_is_pxa910(id) ?\
> - ? ? ? ({ unsigned int _id = ((id) >> 8) & 0xff; _id == 0x80; })
> +#define __cpu_is_pxa910(id, cid) ? ? ? \
> + ? ? ? ({ unsigned int _id = ((id) >> 8) & 0xff; \
> + ? ? ? ? ?unsigned int _cid = (cid) & 0xfff; \
> + ? ? ? ? ?(_id == 0x84 || _id == 0x80) && (_cid == 0x910 || _cid == 0x920); })
> ?#else
> -# ?define __cpu_is_pxa910(id) ?(0)
> +#define __cpu_is_pxa910(id, cid) ? ? ? (0)
> ?#endif
>
> ?#ifdef CONFIG_CPU_MMP2
> -# ?define __cpu_is_mmp2(id) ? ?\
> +#define __cpu_is_mmp2(id) ? ? ?\
> ? ? ? ?({ unsigned int _id = ((id) >> 8) & 0xff; _id == 0x58; })
> ?#else
> -# ?define __cpu_is_mmp2(id) ? ?(0)
> +#define __cpu_is_mmp2(id) ? ? ?(0)
> ?#endif
>
> -#define cpu_is_pxa168() ? ? ? ? ? ? ? ?({ __cpu_is_pxa168(read_cpuid_id()); })
> -#define cpu_is_pxa910() ? ? ? ? ? ? ? ?({ __cpu_is_pxa910(read_cpuid_id()); })
> +#define cpu_is_pxa168() ? ? ? ? ? ? ? ?({ __cpu_is_pxa168(read_cpuid_id(), \
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? __raw_readl(CHIP_ID)); })
> +#define cpu_is_pxa910() ? ? ? ? ? ? ? ?({ __cpu_is_pxa910(read_cpuid_id(), \
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? __raw_readl(CHIP_ID)); })
> ?#define cpu_is_mmp2() ? ? ? ? ?({ __cpu_is_mmp2(read_cpuid_id()); })
>
> ?#endif /* __ASM_MACH_CPUTYPE_H */
> --
> 1.5.6.5
>
>

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

* [PATCH 4/4] ARM: mmp: support sparse irq
  2010-09-08 13:42     ` [PATCH 4/4] ARM: mmp: support sparse irq Haojian Zhuang
@ 2010-09-14  6:29       ` Eric Miao
  0 siblings, 0 replies; 8+ messages in thread
From: Eric Miao @ 2010-09-14  6:29 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Sep 8, 2010 at 9:42 PM, Haojian Zhuang <haojian.zhuang@gmail.com> wrote:
> Add sparse IRQ support in ARCH_MMP.
>
> Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com>
> Cc: Eric Miao <eric.y.miao@gmail.com>

Applied to 'devel'.

> ---
> ?arch/arm/Kconfig ? ? ? ? ? ? ? ? ? ? ?| ? ?1 +
> ?arch/arm/mach-mmp/aspenite.c ? ? ? ? ?| ? ?3 +++
> ?arch/arm/mach-mmp/flint.c ? ? ? ? ? ? | ? ?4 ++++
> ?arch/arm/mach-mmp/include/mach/irqs.h | ? ?4 +---
> ?arch/arm/mach-mmp/jasper.c ? ? ? ? ? ?| ? ?5 ++++-
> ?arch/arm/mach-mmp/ttc_dkb.c ? ? ? ? ? | ? ?4 ++++
> ?6 files changed, 17 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 45f93e1..eb1d43d 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -511,6 +511,7 @@ config ARCH_MMP
> ? ? ? ?select GENERIC_CLOCKEVENTS
> ? ? ? ?select TICK_ONESHOT
> ? ? ? ?select PLAT_PXA
> + ? ? ? select SPARSE_IRQ
> ? ? ? ?help
> ? ? ? ? ?Support for Marvell's PXA168/PXA910(MMP) and MMP2 processor line.
>
> diff --git a/arch/arm/mach-mmp/aspenite.c b/arch/arm/mach-mmp/aspenite.c
> index 9e1bd6b..9b1ef76 100644
> --- a/arch/arm/mach-mmp/aspenite.c
> +++ b/arch/arm/mach-mmp/aspenite.c
> @@ -16,6 +16,7 @@
> ?#include <linux/mtd/mtd.h>
> ?#include <linux/mtd/partitions.h>
> ?#include <linux/mtd/nand.h>
> +#include <linux/interrupt.h>
>
> ?#include <asm/mach-types.h>
> ?#include <asm/mach/arch.h>
> @@ -212,6 +213,7 @@ MACHINE_START(ASPENITE, "PXA168-based Aspenite Development Platform")
> ? ? ? ?.phys_io ? ? ? ?= APB_PHYS_BASE,
> ? ? ? ?.io_pg_offst ? ?= (APB_VIRT_BASE >> 18) & 0xfffc,
> ? ? ? ?.map_io ? ? ? ? = mmp_map_io,
> + ? ? ? .nr_irqs ? ? ? ?= IRQ_BOARD_START,
> ? ? ? ?.init_irq ? ? ? = pxa168_init_irq,
> ? ? ? ?.timer ? ? ? ? ?= &pxa168_timer,
> ? ? ? ?.init_machine ? = common_init,
> @@ -221,6 +223,7 @@ MACHINE_START(ZYLONITE2, "PXA168-based Zylonite2 Development Platform")
> ? ? ? ?.phys_io ? ? ? ?= APB_PHYS_BASE,
> ? ? ? ?.io_pg_offst ? ?= (APB_VIRT_BASE >> 18) & 0xfffc,
> ? ? ? ?.map_io ? ? ? ? = mmp_map_io,
> + ? ? ? .nr_irqs ? ? ? ?= IRQ_BOARD_START,
> ? ? ? ?.init_irq ? ? ? = pxa168_init_irq,
> ? ? ? ?.timer ? ? ? ? ?= &pxa168_timer,
> ? ? ? ?.init_machine ? = common_init,
> diff --git a/arch/arm/mach-mmp/flint.c b/arch/arm/mach-mmp/flint.c
> index e4312d2..c558425 100644
> --- a/arch/arm/mach-mmp/flint.c
> +++ b/arch/arm/mach-mmp/flint.c
> @@ -16,6 +16,7 @@
> ?#include <linux/smc91x.h>
> ?#include <linux/io.h>
> ?#include <linux/gpio.h>
> +#include <linux/interrupt.h>
>
> ?#include <asm/mach-types.h>
> ?#include <asm/mach/arch.h>
> @@ -25,6 +26,8 @@
>
> ?#include "common.h"
>
> +#define FLINT_NR_IRQS ?(IRQ_BOARD_START + 48)
> +
> ?static unsigned long flint_pin_config[] __initdata = {
> ? ? ? ?/* UART1 */
> ? ? ? ?GPIO45_UART1_RXD,
> @@ -116,6 +119,7 @@ MACHINE_START(FLINT, "Flint Development Platform")
> ? ? ? ?.phys_io ? ? ? ?= APB_PHYS_BASE,
> ? ? ? ?.io_pg_offst ? ?= (APB_VIRT_BASE >> 18) & 0xfffc,
> ? ? ? ?.map_io ? ? ? ? = mmp_map_io,
> + ? ? ? .nr_irqs ? ? ? ?= FLINT_NR_IRQS,
> ? ? ? ?.init_irq ? ? ? = mmp2_init_irq,
> ? ? ? ?.timer ? ? ? ? ?= &mmp2_timer,
> ? ? ? ?.init_machine ? = flint_init,
> diff --git a/arch/arm/mach-mmp/include/mach/irqs.h b/arch/arm/mach-mmp/include/mach/irqs.h
> index b379cde..a09d328 100644
> --- a/arch/arm/mach-mmp/include/mach/irqs.h
> +++ b/arch/arm/mach-mmp/include/mach/irqs.h
> @@ -222,10 +222,8 @@
> ?#define IRQ_GPIO_NUM ? ? ? ? ? ? ? ? ? 192
> ?#define IRQ_GPIO(x) ? ? ? ? ? ? ? ? ? ?(IRQ_GPIO_START + (x))
>
> -/* Board IRQ - 64 by default, increase if not enough */
> ?#define IRQ_BOARD_START ? ? ? ? ? ? ? ? ? ? ? ?(IRQ_GPIO_START + IRQ_GPIO_NUM)
> -#define IRQ_BOARD_END ? ? ? ? ? ? ? ? ?(IRQ_BOARD_START + 64)
>
> -#define NR_IRQS ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(IRQ_BOARD_END)
> +#define NR_IRQS ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(IRQ_BOARD_START)
>
> ?#endif /* __ASM_MACH_IRQS_H */
> diff --git a/arch/arm/mach-mmp/jasper.c b/arch/arm/mach-mmp/jasper.c
> index 80c3e7a..940ee03 100644
> --- a/arch/arm/mach-mmp/jasper.c
> +++ b/arch/arm/mach-mmp/jasper.c
> @@ -18,16 +18,18 @@
> ?#include <linux/regulator/machine.h>
> ?#include <linux/regulator/max8649.h>
> ?#include <linux/mfd/max8925.h>
> +#include <linux/interrupt.h>
>
> ?#include <asm/mach-types.h>
> ?#include <asm/mach/arch.h>
> ?#include <mach/addr-map.h>
> ?#include <mach/mfp-mmp2.h>
> ?#include <mach/mmp2.h>
> -#include <mach/irqs.h>
>
> ?#include "common.h"
>
> +#define JASPER_NR_IRQS ? ? ? ? (IRQ_BOARD_START + 48)
> +
> ?static unsigned long jasper_pin_config[] __initdata = {
> ? ? ? ?/* UART1 */
> ? ? ? ?GPIO29_UART1_RXD,
> @@ -137,6 +139,7 @@ MACHINE_START(MARVELL_JASPER, "Jasper Development Platform")
> ? ? ? ?.phys_io ? ? ? ?= APB_PHYS_BASE,
> ? ? ? ?.io_pg_offst ? ?= (APB_VIRT_BASE >> 18) & 0xfffc,
> ? ? ? ?.map_io ? ? ? ? = mmp_map_io,
> + ? ? ? .nr_irqs ? ? ? ?= JASPER_NR_IRQS,
> ? ? ? ?.init_irq ? ? ? = mmp2_init_irq,
> ? ? ? ?.timer ? ? ? ? ?= &mmp2_timer,
> ? ? ? ?.init_machine ? = jasper_init,
> diff --git a/arch/arm/mach-mmp/ttc_dkb.c b/arch/arm/mach-mmp/ttc_dkb.c
> index ee65e05..5457113 100644
> --- a/arch/arm/mach-mmp/ttc_dkb.c
> +++ b/arch/arm/mach-mmp/ttc_dkb.c
> @@ -14,6 +14,7 @@
> ?#include <linux/mtd/mtd.h>
> ?#include <linux/mtd/partitions.h>
> ?#include <linux/mtd/onenand.h>
> +#include <linux/interrupt.h>
>
> ?#include <asm/mach-types.h>
> ?#include <asm/mach/arch.h>
> @@ -24,6 +25,8 @@
>
> ?#include "common.h"
>
> +#define TTCDKB_NR_IRQS ? ? ? ? (IRQ_BOARD_START + 24)
> +
> ?static unsigned long ttc_dkb_pin_config[] __initdata = {
> ? ? ? ?/* UART2 */
> ? ? ? ?GPIO47_UART2_RXD,
> @@ -125,6 +128,7 @@ MACHINE_START(TTC_DKB, "PXA910-based TTC_DKB Development Platform")
> ? ? ? ?.phys_io ? ? ? ?= APB_PHYS_BASE,
> ? ? ? ?.io_pg_offst ? ?= (APB_VIRT_BASE >> 18) & 0xfffc,
> ? ? ? ?.map_io ? ? ? ? = mmp_map_io,
> + ? ? ? .nr_irqs ? ? ? ?= TTCDKB_NR_IRQS,
> ? ? ? ?.init_irq ? ? ? = pxa910_init_irq,
> ? ? ? ?.timer ? ? ? ? ?= &pxa910_timer,
> ? ? ? ?.init_machine ? = ttc_dkb_init,
> --
> 1.5.6.5
>
>

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

end of thread, other threads:[~2010-09-14  6:29 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-09-08 13:42 [PATCH 1/4] ARM: pxa168fb: fix clear operation Haojian Zhuang
2010-09-08 13:42 ` [PATCH 2/4] ARM: pxa: append tavorevb3 support Haojian Zhuang
2010-09-08 13:42   ` [PATCH 3/4] ARM: pxa: update cpuid of pxa168 & pxa910 Haojian Zhuang
2010-09-08 13:42     ` [PATCH 4/4] ARM: mmp: support sparse irq Haojian Zhuang
2010-09-14  6:29       ` Eric Miao
2010-09-14  5:28     ` [PATCH 3/4] ARM: pxa: update cpuid of pxa168 & pxa910 Eric Miao
2010-09-13 16:18   ` [PATCH 2/4] ARM: pxa: append tavorevb3 support Eric Miao
2010-09-13  7:39 ` [PATCH 1/4] ARM: pxa168fb: fix clear operation Eric Miao

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.