linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* ARM: LPC32XX: Various minor fixes and updates
@ 2010-08-18 23:40 wellsk40 at gmail.com
  2010-08-18 23:40 ` [PATCH 1/6] ARM: LPC32XX: Fix several clock device ID strings wellsk40 at gmail.com
                   ` (7 more replies)
  0 siblings, 8 replies; 11+ messages in thread
From: wellsk40 at gmail.com @ 2010-08-18 23:40 UTC (permalink / raw)
  To: linux-arm-kernel

This patch set updates and fixes some minor LPC32xx issues.

[PATCH 1/6] ARM: LPC32XX: Fix several clock device ID strings
[PATCH 2/6] ARM: LPC32XX: Fix naming convention issues with some defines
[PATCH 3/6] ARM: LPC32xx: Fix gpiolib bit mask macro
[PATCH 4/6] ARM: LPC32xx: Remove MMC peripheral clock enable/disable code
[PATCH 5/6] ARM: LPC32XX: Remove clock enable code for AMBA driver
[PATCH 6/6] ARM: LPC32XX: Add board.h for platform_data structures

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

* [PATCH 1/6] ARM: LPC32XX: Fix several clock device ID strings
  2010-08-18 23:40 ARM: LPC32XX: Various minor fixes and updates wellsk40 at gmail.com
@ 2010-08-18 23:40 ` wellsk40 at gmail.com
  2010-08-18 23:40 ` [PATCH 2/6] ARM: LPC32XX: Fix naming convention issues with some defines wellsk40 at gmail.com
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 11+ messages in thread
From: wellsk40 at gmail.com @ 2010-08-18 23:40 UTC (permalink / raw)
  To: linux-arm-kernel

From: Kevin Wells <wellsk40@gmail.com>

TBDs for I2S0 and I2S1 clocks are now NULL. Touch controller
device clock renamed to match &pdev->dev.

Signed-off-by: Kevin Wells <wellsk40@gmail.com>
---
 arch/arm/mach-lpc32xx/clock.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm/mach-lpc32xx/clock.c b/arch/arm/mach-lpc32xx/clock.c
index 32d6379..1659b3f 100644
--- a/arch/arm/mach-lpc32xx/clock.c
+++ b/arch/arm/mach-lpc32xx/clock.c
@@ -1076,9 +1076,9 @@ static struct clk_lookup lookups[] = {
 	_REGISTER_CLOCK("dev:ssp1", NULL, clk_ssp1)
 	_REGISTER_CLOCK("lpc32xx_keys.0", NULL, clk_kscan)
 	_REGISTER_CLOCK("lpc32xx-nand.0", "nand_ck", clk_nand)
-	_REGISTER_CLOCK("tbd", "i2s0_ck", clk_i2s0)
-	_REGISTER_CLOCK("tbd", "i2s1_ck", clk_i2s1)
-	_REGISTER_CLOCK("lpc32xx-ts", NULL, clk_tsc)
+	_REGISTER_CLOCK(NULL, "i2s0_ck", clk_i2s0)
+	_REGISTER_CLOCK(NULL, "i2s1_ck", clk_i2s1)
+	_REGISTER_CLOCK("ts-lpc32xx", NULL, clk_tsc)
 	_REGISTER_CLOCK("dev:mmc0", "MCLK", clk_mmc)
 	_REGISTER_CLOCK("lpc-net.0", NULL, clk_net)
 	_REGISTER_CLOCK("dev:clcd", NULL, clk_lcd)
-- 
1.7.1.1

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

* [PATCH 2/6] ARM: LPC32XX: Fix naming convention issues with some defines
  2010-08-18 23:40 ARM: LPC32XX: Various minor fixes and updates wellsk40 at gmail.com
  2010-08-18 23:40 ` [PATCH 1/6] ARM: LPC32XX: Fix several clock device ID strings wellsk40 at gmail.com
@ 2010-08-18 23:40 ` wellsk40 at gmail.com
  2010-08-18 23:40 ` [PATCH 3/6] ARM: LPC32xx: Fix gpiolib bit mask macro wellsk40 at gmail.com
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 11+ messages in thread
From: wellsk40 at gmail.com @ 2010-08-18 23:40 UTC (permalink / raw)
  To: linux-arm-kernel

From: Kevin Wells <wellsk40@gmail.com>

Some platform defines were prefixed with LCP instead of LPC.
This has been corrected.

Signed-off-by: Kevin Wells <wellsk40@gmail.com>
---
 arch/arm/mach-lpc32xx/include/mach/platform.h |   48 ++++++++++++------------
 arch/arm/mach-lpc32xx/timer.c                 |   46 ++++++++++++------------
 2 files changed, 47 insertions(+), 47 deletions(-)

diff --git a/arch/arm/mach-lpc32xx/include/mach/platform.h b/arch/arm/mach-lpc32xx/include/mach/platform.h
index 14ea8d1..85f9aff 100644
--- a/arch/arm/mach-lpc32xx/include/mach/platform.h
+++ b/arch/arm/mach-lpc32xx/include/mach/platform.h
@@ -591,42 +591,42 @@
 /*
  * Timer/counter register offsets
  */
-#define LCP32XX_TIMER_IR(x)			io_p2v((x) + 0x00)
-#define LCP32XX_TIMER_TCR(x)			io_p2v((x) + 0x04)
-#define LCP32XX_TIMER_TC(x)			io_p2v((x) + 0x08)
-#define LCP32XX_TIMER_PR(x)			io_p2v((x) + 0x0C)
-#define LCP32XX_TIMER_PC(x)			io_p2v((x) + 0x10)
-#define LCP32XX_TIMER_MCR(x)			io_p2v((x) + 0x14)
-#define LCP32XX_TIMER_MR0(x)			io_p2v((x) + 0x18)
-#define LCP32XX_TIMER_MR1(x)			io_p2v((x) + 0x1C)
-#define LCP32XX_TIMER_MR2(x)			io_p2v((x) + 0x20)
-#define LCP32XX_TIMER_MR3(x)			io_p2v((x) + 0x24)
-#define LCP32XX_TIMER_CCR(x)			io_p2v((x) + 0x28)
-#define LCP32XX_TIMER_CR0(x)			io_p2v((x) + 0x2C)
-#define LCP32XX_TIMER_CR1(x)			io_p2v((x) + 0x30)
-#define LCP32XX_TIMER_CR2(x)			io_p2v((x) + 0x34)
-#define LCP32XX_TIMER_CR3(x)			io_p2v((x) + 0x38)
-#define LCP32XX_TIMER_EMR(x)			io_p2v((x) + 0x3C)
-#define LCP32XX_TIMER_CTCR(x)			io_p2v((x) + 0x70)
+#define LPC32XX_TIMER_IR(x)			io_p2v((x) + 0x00)
+#define LPC32XX_TIMER_TCR(x)			io_p2v((x) + 0x04)
+#define LPC32XX_TIMER_TC(x)			io_p2v((x) + 0x08)
+#define LPC32XX_TIMER_PR(x)			io_p2v((x) + 0x0C)
+#define LPC32XX_TIMER_PC(x)			io_p2v((x) + 0x10)
+#define LPC32XX_TIMER_MCR(x)			io_p2v((x) + 0x14)
+#define LPC32XX_TIMER_MR0(x)			io_p2v((x) + 0x18)
+#define LPC32XX_TIMER_MR1(x)			io_p2v((x) + 0x1C)
+#define LPC32XX_TIMER_MR2(x)			io_p2v((x) + 0x20)
+#define LPC32XX_TIMER_MR3(x)			io_p2v((x) + 0x24)
+#define LPC32XX_TIMER_CCR(x)			io_p2v((x) + 0x28)
+#define LPC32XX_TIMER_CR0(x)			io_p2v((x) + 0x2C)
+#define LPC32XX_TIMER_CR1(x)			io_p2v((x) + 0x30)
+#define LPC32XX_TIMER_CR2(x)			io_p2v((x) + 0x34)
+#define LPC32XX_TIMER_CR3(x)			io_p2v((x) + 0x38)
+#define LPC32XX_TIMER_EMR(x)			io_p2v((x) + 0x3C)
+#define LPC32XX_TIMER_CTCR(x)			io_p2v((x) + 0x70)
 
 /*
  * ir register definitions
  */
-#define LCP32XX_TIMER_CNTR_MTCH_BIT(n)		(1 << ((n) & 0x3))
-#define LCP32XX_TIMER_CNTR_CAPT_BIT(n)		(1 << (4 + ((n) & 0x3)))
+#define LPC32XX_TIMER_CNTR_MTCH_BIT(n)		(1 << ((n) & 0x3))
+#define LPC32XX_TIMER_CNTR_CAPT_BIT(n)		(1 << (4 + ((n) & 0x3)))
 
 /*
  * tcr register definitions
  */
-#define LCP32XX_TIMER_CNTR_TCR_EN		0x1
-#define LCP32XX_TIMER_CNTR_TCR_RESET		0x2
+#define LPC32XX_TIMER_CNTR_TCR_EN		0x1
+#define LPC32XX_TIMER_CNTR_TCR_RESET		0x2
 
 /*
  * mcr register definitions
  */
-#define LCP32XX_TIMER_CNTR_MCR_MTCH(n)		(0x1 << ((n) * 3))
-#define LCP32XX_TIMER_CNTR_MCR_RESET(n)		(0x1 << (((n) * 3) + 1))
-#define LCP32XX_TIMER_CNTR_MCR_STOP(n)		(0x1 << (((n) * 3) + 2))
+#define LPC32XX_TIMER_CNTR_MCR_MTCH(n)		(0x1 << ((n) * 3))
+#define LPC32XX_TIMER_CNTR_MCR_RESET(n)		(0x1 << (((n) * 3) + 1))
+#define LPC32XX_TIMER_CNTR_MCR_STOP(n)		(0x1 << (((n) * 3) + 2))
 
 /*
  * Standard UART register offsets
diff --git a/arch/arm/mach-lpc32xx/timer.c b/arch/arm/mach-lpc32xx/timer.c
index 630dd4a..791100b 100644
--- a/arch/arm/mach-lpc32xx/timer.c
+++ b/arch/arm/mach-lpc32xx/timer.c
@@ -33,7 +33,7 @@
 
 static cycle_t lpc32xx_clksrc_read(struct clocksource *cs)
 {
-	return (cycle_t)__raw_readl(LCP32XX_TIMER_TC(LPC32XX_TIMER1_BASE));
+	return (cycle_t)__raw_readl(LPC32XX_TIMER_TC(LPC32XX_TIMER1_BASE));
 }
 
 static struct clocksource lpc32xx_clksrc = {
@@ -48,11 +48,11 @@ static struct clocksource lpc32xx_clksrc = {
 static int lpc32xx_clkevt_next_event(unsigned long delta,
     struct clock_event_device *dev)
 {
-	__raw_writel(LCP32XX_TIMER_CNTR_TCR_RESET,
-		LCP32XX_TIMER_TCR(LPC32XX_TIMER0_BASE));
-	__raw_writel(delta, LCP32XX_TIMER_PR(LPC32XX_TIMER0_BASE));
-	__raw_writel(LCP32XX_TIMER_CNTR_TCR_EN,
-		LCP32XX_TIMER_TCR(LPC32XX_TIMER0_BASE));
+	__raw_writel(LPC32XX_TIMER_CNTR_TCR_RESET,
+		LPC32XX_TIMER_TCR(LPC32XX_TIMER0_BASE));
+	__raw_writel(delta, LPC32XX_TIMER_PR(LPC32XX_TIMER0_BASE));
+	__raw_writel(LPC32XX_TIMER_CNTR_TCR_EN,
+		LPC32XX_TIMER_TCR(LPC32XX_TIMER0_BASE));
 
 	return 0;
 }
@@ -72,7 +72,7 @@ static void lpc32xx_clkevt_mode(enum clock_event_mode mode,
 		 * disable the timer to wait for the first call to
 		 * set_next_event().
 		 */
-		__raw_writel(0, LCP32XX_TIMER_TCR(LPC32XX_TIMER0_BASE));
+		__raw_writel(0, LPC32XX_TIMER_TCR(LPC32XX_TIMER0_BASE));
 		break;
 
 	case CLOCK_EVT_MODE_UNUSED:
@@ -95,8 +95,8 @@ static irqreturn_t lpc32xx_timer_interrupt(int irq, void *dev_id)
 	struct clock_event_device *evt = &lpc32xx_clkevt;
 
 	/* Clear match */
-	__raw_writel(LCP32XX_TIMER_CNTR_MTCH_BIT(0),
-		LCP32XX_TIMER_IR(LPC32XX_TIMER0_BASE));
+	__raw_writel(LPC32XX_TIMER_CNTR_MTCH_BIT(0),
+		LPC32XX_TIMER_IR(LPC32XX_TIMER0_BASE));
 
 	evt->event_handler(evt);
 
@@ -142,14 +142,14 @@ static void __init lpc32xx_timer_init(void)
 	clkrate = clkrate / clk_get_pclk_div();
 
 	/* Initial timer setup */
-	__raw_writel(0, LCP32XX_TIMER_TCR(LPC32XX_TIMER0_BASE));
-	__raw_writel(LCP32XX_TIMER_CNTR_MTCH_BIT(0),
-		LCP32XX_TIMER_IR(LPC32XX_TIMER0_BASE));
-	__raw_writel(1, LCP32XX_TIMER_MR0(LPC32XX_TIMER0_BASE));
-	__raw_writel(LCP32XX_TIMER_CNTR_MCR_MTCH(0) |
-		LCP32XX_TIMER_CNTR_MCR_STOP(0) |
-		LCP32XX_TIMER_CNTR_MCR_RESET(0),
-		LCP32XX_TIMER_MCR(LPC32XX_TIMER0_BASE));
+	__raw_writel(0, LPC32XX_TIMER_TCR(LPC32XX_TIMER0_BASE));
+	__raw_writel(LPC32XX_TIMER_CNTR_MTCH_BIT(0),
+		LPC32XX_TIMER_IR(LPC32XX_TIMER0_BASE));
+	__raw_writel(1, LPC32XX_TIMER_MR0(LPC32XX_TIMER0_BASE));
+	__raw_writel(LPC32XX_TIMER_CNTR_MCR_MTCH(0) |
+		LPC32XX_TIMER_CNTR_MCR_STOP(0) |
+		LPC32XX_TIMER_CNTR_MCR_RESET(0),
+		LPC32XX_TIMER_MCR(LPC32XX_TIMER0_BASE));
 
 	/* Setup tick interrupt */
 	setup_irq(IRQ_LPC32XX_TIMER0, &lpc32xx_timer_irq);
@@ -165,12 +165,12 @@ static void __init lpc32xx_timer_init(void)
 	clockevents_register_device(&lpc32xx_clkevt);
 
 	/* Use timer1 as clock source. */
-	__raw_writel(LCP32XX_TIMER_CNTR_TCR_RESET,
-		LCP32XX_TIMER_TCR(LPC32XX_TIMER1_BASE));
-	__raw_writel(0, LCP32XX_TIMER_PR(LPC32XX_TIMER1_BASE));
-	__raw_writel(0, LCP32XX_TIMER_MCR(LPC32XX_TIMER1_BASE));
-	__raw_writel(LCP32XX_TIMER_CNTR_TCR_EN,
-		LCP32XX_TIMER_TCR(LPC32XX_TIMER1_BASE));
+	__raw_writel(LPC32XX_TIMER_CNTR_TCR_RESET,
+		LPC32XX_TIMER_TCR(LPC32XX_TIMER1_BASE));
+	__raw_writel(0, LPC32XX_TIMER_PR(LPC32XX_TIMER1_BASE));
+	__raw_writel(0, LPC32XX_TIMER_MCR(LPC32XX_TIMER1_BASE));
+	__raw_writel(LPC32XX_TIMER_CNTR_TCR_EN,
+		LPC32XX_TIMER_TCR(LPC32XX_TIMER1_BASE));
 	lpc32xx_clksrc.mult = clocksource_hz2mult(clkrate,
 		lpc32xx_clksrc.shift);
 	clocksource_register(&lpc32xx_clksrc);
-- 
1.7.1.1

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

* [PATCH 3/6] ARM: LPC32xx: Fix gpiolib bit mask macro
  2010-08-18 23:40 ARM: LPC32XX: Various minor fixes and updates wellsk40 at gmail.com
  2010-08-18 23:40 ` [PATCH 1/6] ARM: LPC32XX: Fix several clock device ID strings wellsk40 at gmail.com
  2010-08-18 23:40 ` [PATCH 2/6] ARM: LPC32XX: Fix naming convention issues with some defines wellsk40 at gmail.com
@ 2010-08-18 23:40 ` wellsk40 at gmail.com
  2010-08-18 23:40 ` [PATCH 4/6] ARM: LPC32xx: Remove MMC peripheral clock enable/disable code wellsk40 at gmail.com
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 11+ messages in thread
From: wellsk40 at gmail.com @ 2010-08-18 23:40 UTC (permalink / raw)
  To: linux-arm-kernel

From: Kevin Wells <wellsk40@gmail.com>

The GPIO bank 3 input mask macro was missing a critical mask that
would cause it to return invalid pin states

Signed-off-by: Kevin Wells <wellsk40@gmail.com>
---
 arch/arm/mach-lpc32xx/gpiolib.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-lpc32xx/gpiolib.c b/arch/arm/mach-lpc32xx/gpiolib.c
index 69061ea..16577c5 100644
--- a/arch/arm/mach-lpc32xx/gpiolib.c
+++ b/arch/arm/mach-lpc32xx/gpiolib.c
@@ -59,7 +59,8 @@
 #define GPO3_PIN_TO_BIT(x)			(1 << (x))
 #define GPIO012_PIN_IN_SEL(x, y)		(((x) >> (y)) & 1)
 #define GPIO3_PIN_IN_SHIFT(x)			((x) == 5 ? 24 : 10 + (x))
-#define GPIO3_PIN_IN_SEL(x, y)			((x) >> GPIO3_PIN_IN_SHIFT(y))
+#define GPIO3_PIN_IN_SEL(x, y)			(((x) >> \
+						GPIO3_PIN_IN_SHIFT(y)) & 1)
 #define GPIO3_PIN5_IN_SEL(x)			(((x) >> 24) & 1)
 #define GPI3_PIN_IN_SEL(x, y)			(((x) >> (y)) & 1)
 
-- 
1.7.1.1

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

* [PATCH 4/6] ARM: LPC32xx: Remove MMC peripheral clock enable/disable code
  2010-08-18 23:40 ARM: LPC32XX: Various minor fixes and updates wellsk40 at gmail.com
                   ` (2 preceding siblings ...)
  2010-08-18 23:40 ` [PATCH 3/6] ARM: LPC32xx: Fix gpiolib bit mask macro wellsk40 at gmail.com
@ 2010-08-18 23:40 ` wellsk40 at gmail.com
  2010-08-18 23:40 ` [PATCH 5/6] ARM: LPC32XX: Remove clock enable code for AMBA driver wellsk40 at gmail.com
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 11+ messages in thread
From: wellsk40 at gmail.com @ 2010-08-18 23:40 UTC (permalink / raw)
  To: linux-arm-kernel

From: Kevin Wells <wellsk40@gmail.com>

The MMC clock rate set and get functions had extra code to force
the high level peripheral clock to enable prior to register
accesses. This isn't needed.

Signed-off-by: Kevin Wells <wellsk40@gmail.com>
---
 arch/arm/mach-lpc32xx/clock.c |   14 ++------------
 1 files changed, 2 insertions(+), 12 deletions(-)

diff --git a/arch/arm/mach-lpc32xx/clock.c b/arch/arm/mach-lpc32xx/clock.c
index 1659b3f..dd34a64 100644
--- a/arch/arm/mach-lpc32xx/clock.c
+++ b/arch/arm/mach-lpc32xx/clock.c
@@ -738,14 +738,9 @@ static int mmc_onoff_enable(struct clk *clk, int enable)
 
 static unsigned long mmc_get_rate(struct clk *clk)
 {
-	u32 div, rate, oldclk;
+	u32 div, rate;
 
-	/* The MMC clock must be on when accessing an MMC register */
-	oldclk = __raw_readl(LPC32XX_CLKPWR_MS_CTRL);
-	__raw_writel(oldclk | LPC32XX_CLKPWR_MSCARD_SDCARD_EN,
-		LPC32XX_CLKPWR_MS_CTRL);
 	div = __raw_readl(LPC32XX_CLKPWR_MS_CTRL);
-	__raw_writel(oldclk, LPC32XX_CLKPWR_MS_CTRL);
 
 	/* Get the parent clock rate */
 	rate = clk->parent->get_rate(clk->parent);
@@ -778,7 +773,7 @@ static unsigned long mmc_round_rate(struct clk *clk, unsigned long rate)
 
 static int mmc_set_rate(struct clk *clk, unsigned long rate)
 {
-	u32 oldclk, tmp;
+	u32 tmp;
 	unsigned long prate, div, crate = mmc_round_rate(clk, rate);
 
 	prate = clk->parent->get_rate(clk->parent);
@@ -786,16 +781,11 @@ static int mmc_set_rate(struct clk *clk, unsigned long rate)
 	div = prate / crate;
 
 	/* The MMC clock must be on when accessing an MMC register */
-	oldclk = __raw_readl(LPC32XX_CLKPWR_MS_CTRL);
-	__raw_writel(oldclk | LPC32XX_CLKPWR_MSCARD_SDCARD_EN,
-		LPC32XX_CLKPWR_MS_CTRL);
 	tmp = __raw_readl(LPC32XX_CLKPWR_MS_CTRL) &
 		~LPC32XX_CLKPWR_MSCARD_SDCARD_DIV(0xf);
 	tmp |= LPC32XX_CLKPWR_MSCARD_SDCARD_DIV(div);
 	__raw_writel(tmp, LPC32XX_CLKPWR_MS_CTRL);
 
-	__raw_writel(oldclk, LPC32XX_CLKPWR_MS_CTRL);
-
 	return 0;
 }
 
-- 
1.7.1.1

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

* [PATCH 5/6] ARM: LPC32XX: Remove clock enable code for AMBA driver
  2010-08-18 23:40 ARM: LPC32XX: Various minor fixes and updates wellsk40 at gmail.com
                   ` (3 preceding siblings ...)
  2010-08-18 23:40 ` [PATCH 4/6] ARM: LPC32xx: Remove MMC peripheral clock enable/disable code wellsk40 at gmail.com
@ 2010-08-18 23:40 ` wellsk40 at gmail.com
  2010-08-18 23:40 ` [PATCH 6/6] ARM: LPC32XX: Add board.h for platform_data structures wellsk40 at gmail.com
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 11+ messages in thread
From: wellsk40 at gmail.com @ 2010-08-18 23:40 UTC (permalink / raw)
  To: linux-arm-kernel

From: Kevin Wells <wellsk40@gmail.com>

These clock enables were just for the AMBA driver's peripheral
ID check and are no longer needed with the AMBA bus clock
changes.

Signed-off-by: Kevin Wells <wellsk40@gmail.com>
---
 arch/arm/mach-lpc32xx/phy3250.c |   17 -----------------
 1 files changed, 0 insertions(+), 17 deletions(-)

diff --git a/arch/arm/mach-lpc32xx/phy3250.c b/arch/arm/mach-lpc32xx/phy3250.c
index bc9a42d..3ef69cb 100644
--- a/arch/arm/mach-lpc32xx/phy3250.c
+++ b/arch/arm/mach-lpc32xx/phy3250.c
@@ -340,23 +340,6 @@ static void __init phy3250_board_init(void)
 
 	lpc32xx_serial_init();
 
-	/*
-	 * AMBA peripheral clocks need to be enabled prior to AMBA device
-	 * detection or a data fault will occur, so enable the clocks
-	 * here. However, we don't want to enable them if the peripheral
-	 * isn't included in the image
-	 */
-#ifdef CONFIG_FB_ARMCLCD
-	tmp = __raw_readl(LPC32XX_CLKPWR_LCDCLK_CTRL);
-	__raw_writel((tmp | LPC32XX_CLKPWR_LCDCTRL_CLK_EN),
-		LPC32XX_CLKPWR_LCDCLK_CTRL);
-#endif
-#ifdef CONFIG_SPI_PL022
-	tmp = __raw_readl(LPC32XX_CLKPWR_SSP_CLK_CTRL);
-	__raw_writel((tmp | LPC32XX_CLKPWR_SSPCTRL_SSPCLK0_EN),
-		LPC32XX_CLKPWR_SSP_CLK_CTRL);
-#endif
-
 	platform_add_devices(phy3250_devs, ARRAY_SIZE(phy3250_devs));
 	for (i = 0; i < ARRAY_SIZE(amba_devs); i++) {
 		struct amba_device *d = amba_devs[i];
-- 
1.7.1.1

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

* [PATCH 6/6] ARM: LPC32XX: Add board.h for platform_data structures
  2010-08-18 23:40 ARM: LPC32XX: Various minor fixes and updates wellsk40 at gmail.com
                   ` (4 preceding siblings ...)
  2010-08-18 23:40 ` [PATCH 5/6] ARM: LPC32XX: Remove clock enable code for AMBA driver wellsk40 at gmail.com
@ 2010-08-18 23:40 ` wellsk40 at gmail.com
  2010-08-19  8:58 ` ARM: LPC32XX: Various minor fixes and updates Wolfram Sang
  2010-08-20 22:16 ` Kevin Wells
  7 siblings, 0 replies; 11+ messages in thread
From: wellsk40 at gmail.com @ 2010-08-18 23:40 UTC (permalink / raw)
  To: linux-arm-kernel

From: Kevin Wells <wellsk40@gmail.com>

Add the initial board.h file to support platform data for
some drivers.

Signed-off-by: Kevin Wells <wellsk40@gmail.com>
---
 arch/arm/mach-lpc32xx/include/mach/board.h |   47 ++++++++++++++++++++++++++++
 1 files changed, 47 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/mach-lpc32xx/include/mach/board.h

diff --git a/arch/arm/mach-lpc32xx/include/mach/board.h b/arch/arm/mach-lpc32xx/include/mach/board.h
new file mode 100644
index 0000000..a810c78
--- /dev/null
+++ b/arch/arm/mach-lpc32xx/include/mach/board.h
@@ -0,0 +1,47 @@
+/*
+ * arch/arm/mach-lpc32xx/include/mach/board.h
+ *
+ * Author: Kevin Wells <kevin.wells@nxp.com>
+ *
+ * Copyright (C) 2010 NXP Semiconductors
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef __ASM_ARCH_BOARD_H
+#define __ASM_ARCH_BOARD_H
+
+#include <linux/types.h>
+
+/*
+ * lpc32xx touchscreen controller timing platform data.
+ * All timing values are based on a 32KHz clock.
+ */
+struct lpc32xx_tsc_data {
+	u32	dtr_clocks;	/* Clocks to delay start after pen detect */
+	u32	rtr_clocks;	/* Number of settling clocks after mux */
+	u32	dxp_clocks;	/* Number of drain plate discharge clocks */
+	u32	ttr_clocks;	/* Clocks to delay next pen status check */
+	u32	utr_clocks;	/* Interval clocks between scans */
+};
+
+/*
+ * lpc32xx key scanner timing platform data.
+ * All timing values are based on a 32KHz clock.
+ */
+struct lpc32XX_kscan_data {
+	const u32 *keymap_data;	/* Mapped key data to scanner */
+	u8	matrix_sz;	/* Size of matrix in XxY, ie. 3 = 3x3 */
+	u32	deb_clks;	/* Number of debounce clocks */
+	u32	scan_delay;	/* Number of scan delay clocks */
+};
+
+#endif /* __ASM_ARCH_BOARD_H */
-- 
1.7.1.1

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

* ARM: LPC32XX: Various minor fixes and updates
  2010-08-18 23:40 ARM: LPC32XX: Various minor fixes and updates wellsk40 at gmail.com
                   ` (5 preceding siblings ...)
  2010-08-18 23:40 ` [PATCH 6/6] ARM: LPC32XX: Add board.h for platform_data structures wellsk40 at gmail.com
@ 2010-08-19  8:58 ` Wolfram Sang
  2010-08-19 18:30   ` Kevin Wells
  2010-08-20 22:16 ` Kevin Wells
  7 siblings, 1 reply; 11+ messages in thread
From: Wolfram Sang @ 2010-08-19  8:58 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Kevin,

On Wed, Aug 18, 2010 at 04:40:53PM -0700, wellsk40 at gmail.com wrote:
> This patch set updates and fixes some minor LPC32xx issues.
> 
> [PATCH 1/6] ARM: LPC32XX: Fix several clock device ID strings
> [PATCH 2/6] ARM: LPC32XX: Fix naming convention issues with some defines
> [PATCH 3/6] ARM: LPC32xx: Fix gpiolib bit mask macro
> [PATCH 4/6] ARM: LPC32xx: Remove MMC peripheral clock enable/disable code
> [PATCH 5/6] ARM: LPC32XX: Remove clock enable code for AMBA driver
> [PATCH 6/6] ARM: LPC32XX: Add board.h for platform_data structures

This looks confusing for me. Those patches come from your branch
'lpc32xx_up1' but some of them are also contained in
'wells/lpc32xx-arch_up1' which you already posted. So, this looks like a
V2 of the series to me or am I wrong? If so, what has changed and why?

If I might add, the increasing number of branches makes it hard to
decide what is currently needed for a board-support; maybe a
"for-mainline"-branch or something similar with all
"state-of-the-art"-branches merged might help here?

Kind regards,

   Wolfram

-- 
Pengutronix e.K.                           | Wolfram Sang                |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20100819/cb07aca7/attachment-0001.sig>

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

* ARM: LPC32XX: Various minor fixes and updates
  2010-08-19  8:58 ` ARM: LPC32XX: Various minor fixes and updates Wolfram Sang
@ 2010-08-19 18:30   ` Kevin Wells
  0 siblings, 0 replies; 11+ messages in thread
From: Kevin Wells @ 2010-08-19 18:30 UTC (permalink / raw)
  To: linux-arm-kernel

>> This patch set updates and fixes some minor LPC32xx issues.
>>
>> [PATCH 1/6] ARM: LPC32XX: Fix several clock device ID strings
>> [PATCH 2/6] ARM: LPC32XX: Fix naming convention issues with some defines
>> [PATCH 3/6] ARM: LPC32xx: Fix gpiolib bit mask macro
>> [PATCH 4/6] ARM: LPC32xx: Remove MMC peripheral clock enable/disable code
>> [PATCH 5/6] ARM: LPC32XX: Remove clock enable code for AMBA driver
>> [PATCH 6/6] ARM: LPC32XX: Add board.h for platform_data structures
>
> This looks confusing for me. Those patches come from your branch
> 'lpc32xx_up1' but some of them are also contained in
> 'wells/lpc32xx-arch_up1' which you already posted. So, this looks like a
> V2 of the series to me or am I wrong? If so, what has changed and why?
>

Hi Wolfram,
Thanks for the feedback. This is a v2 patch. I'll post a changelog in a bit.

> If I might add, the increasing number of branches makes it hard to
> decide what is currently needed for a board-support; maybe a
> "for-mainline"-branch or something similar with all
> "state-of-the-art"-branches merged might help here?
>

I'm going to post future patch sets for review without providing a GIT link
on our server until it's ready for mainline. This makes it a bit easier for me
too and this seems to be more the standard approach.

thanks,
Kevin

> Kind regards,
>
> ? Wolfram
>
> --
> Pengutronix e.K. ? ? ? ? ? ? ? ? ? ? ? ? ? | Wolfram Sang ? ? ? ? ? ? ? ?|
> Industrial Linux Solutions ? ? ? ? ? ? ? ? | http://www.pengutronix.de/ ?|
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.10 (GNU/Linux)
>
> iEYEARECAAYFAkxs8k8ACgkQD27XaX1/VRs9fgCfezrJWYfKdfZOiQaQwsETzQSl
> F3IAnRoykTiPrA2hke4I59gcAYyWFxRL
> =iApV
> -----END PGP SIGNATURE-----
>
>

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

* ARM: LPC32XX: Various minor fixes and updates
  2010-08-18 23:40 ARM: LPC32XX: Various minor fixes and updates wellsk40 at gmail.com
                   ` (6 preceding siblings ...)
  2010-08-19  8:58 ` ARM: LPC32XX: Various minor fixes and updates Wolfram Sang
@ 2010-08-20 22:16 ` Kevin Wells
  2010-09-01  7:06   ` Russell King - ARM Linux
  7 siblings, 1 reply; 11+ messages in thread
From: Kevin Wells @ 2010-08-20 22:16 UTC (permalink / raw)
  To: linux-arm-kernel

>
> [PATCH 1/6] ARM: LPC32XX: Fix several clock device ID strings
> [PATCH 2/6] ARM: LPC32XX: Fix naming convention issues with some defines
> [PATCH 3/6] ARM: LPC32xx: Fix gpiolib bit mask macro
> [PATCH 4/6] ARM: LPC32xx: Remove MMC peripheral clock enable/disable code
> [PATCH 5/6] ARM: LPC32XX: Remove clock enable code for AMBA driver
> [PATCH 6/6] ARM: LPC32XX: Add board.h for platform_data structures
>

Sorry about the lack of info on changed with this patchset.
This is a v2 update to the v1 patchset. The title should of indicated that :(
v1 was originally posted July 29 (ARM: LPC32xx: Misc arch updates and fixes)

Unchanged from v1:
       LPC definition fixes
       Fix GPIO 3 IN bit mask
       Remove un-needed local MMC clock enable code
       Fix up I2S device ID name for clock registration

Changed from v1:
       Remove un-needed code from IRQ ack handler
         The problem this patch fixed needs more investigation, so
there's no point
          in putting in a partial fix
       Change AMBA pre and post clock init for AMBA registration
          No longer needed with amba clocking fix
       Add a workaround for LCD register access prior to clock enable
          No longer needed with amba clocking fix

Additions in v2:
       Changed the touch screen clock device ID name to match &pdev->dev per
          the driver currently under review
       Added board.h file and platform data for touch screen controller and
          key scanner interface

I sneaked the additions in this series so I can move forward with the
tsc changes.

Note the LCD will still not work correctly with this patch. I'll post
another patch with
the fixes for the AMBA apb_pclk (in mach-lcp32xx/clock.c) soon that will fix the
LCD issue. I want to do the amba clocking patch separately to avoid holding this
series up.

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

* ARM: LPC32XX: Various minor fixes and updates
  2010-08-20 22:16 ` Kevin Wells
@ 2010-09-01  7:06   ` Russell King - ARM Linux
  0 siblings, 0 replies; 11+ messages in thread
From: Russell King - ARM Linux @ 2010-09-01  7:06 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Aug 20, 2010 at 03:16:17PM -0700, Kevin Wells wrote:
> >
> > [PATCH 1/6] ARM: LPC32XX: Fix several clock device ID strings
> > [PATCH 2/6] ARM: LPC32XX: Fix naming convention issues with some defines
> > [PATCH 3/6] ARM: LPC32xx: Fix gpiolib bit mask macro
> > [PATCH 4/6] ARM: LPC32xx: Remove MMC peripheral clock enable/disable code
> > [PATCH 5/6] ARM: LPC32XX: Remove clock enable code for AMBA driver
> > [PATCH 6/6] ARM: LPC32XX: Add board.h for platform_data structures
> >
> 
> Sorry about the lack of info on changed with this patchset.
> This is a v2 update to the v1 patchset. The title should of indicated that :(
> v1 was originally posted July 29 (ARM: LPC32xx: Misc arch updates and fixes)
> 
> Unchanged from v1:
>        LPC definition fixes
>        Fix GPIO 3 IN bit mask
>        Remove un-needed local MMC clock enable code
>        Fix up I2S device ID name for clock registration
> 
> Changed from v1:
>        Remove un-needed code from IRQ ack handler
>          The problem this patch fixed needs more investigation, so
> there's no point
>           in putting in a partial fix
>        Change AMBA pre and post clock init for AMBA registration
>           No longer needed with amba clocking fix
>        Add a workaround for LCD register access prior to clock enable
>           No longer needed with amba clocking fix
> 
> Additions in v2:
>        Changed the touch screen clock device ID name to match &pdev->dev per
>           the driver currently under review
>        Added board.h file and platform data for touch screen controller and
>           key scanner interface
> 
> I sneaked the additions in this series so I can move forward with the
> tsc changes.

This patch set looks fine to me.

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

end of thread, other threads:[~2010-09-01  7:06 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-08-18 23:40 ARM: LPC32XX: Various minor fixes and updates wellsk40 at gmail.com
2010-08-18 23:40 ` [PATCH 1/6] ARM: LPC32XX: Fix several clock device ID strings wellsk40 at gmail.com
2010-08-18 23:40 ` [PATCH 2/6] ARM: LPC32XX: Fix naming convention issues with some defines wellsk40 at gmail.com
2010-08-18 23:40 ` [PATCH 3/6] ARM: LPC32xx: Fix gpiolib bit mask macro wellsk40 at gmail.com
2010-08-18 23:40 ` [PATCH 4/6] ARM: LPC32xx: Remove MMC peripheral clock enable/disable code wellsk40 at gmail.com
2010-08-18 23:40 ` [PATCH 5/6] ARM: LPC32XX: Remove clock enable code for AMBA driver wellsk40 at gmail.com
2010-08-18 23:40 ` [PATCH 6/6] ARM: LPC32XX: Add board.h for platform_data structures wellsk40 at gmail.com
2010-08-19  8:58 ` ARM: LPC32XX: Various minor fixes and updates Wolfram Sang
2010-08-19 18:30   ` Kevin Wells
2010-08-20 22:16 ` Kevin Wells
2010-09-01  7:06   ` Russell King - ARM Linux

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).