All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Wang <jason77.wang@gmail.com>
To: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
Cc: Jason Wang <jason77.wang@gmail.com>,
	s.hauer@pengutronix.de, grant.likely@secretlab.ca,
	amit.kucheria@canonical.com,
	spi-devel-general@lists.sourceforge.net,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 2/6] i.MX5/clock: add eCSPI and CSPI clock definitions
Date: Fri, 03 Sep 2010 14:22:08 +0800	[thread overview]
Message-ID: <4C809410.9090602@gmail.com> (raw)
In-Reply-To: <20100902150112.GM14214@pengutronix.de>

Uwe Kleine-König wrote:
> On Thu, Sep 02, 2010 at 03:52:00PM +0800, Jason Wang wrote:
>   
>> i.MX51 has two eCSPI and one CSPI controllers, now add clock
>> definitions and registrations for these controllers.
>>
>> Signed-off-by: Jason Wang <jason77.wang@gmail.com>
>> ---
>>  arch/arm/mach-mx5/clock-mx51.c |   79 ++++++++++++++++++++++++++++++++++++++++
>>  1 files changed, 79 insertions(+), 0 deletions(-)
>>
>> diff --git a/arch/arm/mach-mx5/clock-mx51.c b/arch/arm/mach-mx5/clock-mx51.c
>> index 6af69de..217c3f3 100644
>> --- a/arch/arm/mach-mx5/clock-mx51.c
>> +++ b/arch/arm/mach-mx5/clock-mx51.c
>> @@ -38,6 +38,7 @@ static struct clk periph_apm_clk;
>>  static struct clk ahb_clk;
>>  static struct clk ipg_clk;
>>  static struct clk usboh3_clk;
>> +static struct clk spba_clk;
>>  
>>  #define MAX_DPLL_WAIT_TRIES	1000 /* 1000 * udelay(1) = 1ms */
>>  
>> @@ -52,6 +53,18 @@ static int _clk_ccgr_enable(struct clk *clk)
>>  	return 0;
>>  }
>>  
>> +static int _clk_ccgr_enable_inrun(struct clk *clk)
>> +{
>> +	u32 reg;
>> +
>> +	reg = __raw_readl(clk->enable_reg);
>> +	reg &= ~(MXC_CCM_CCGRx_CG_MASK << clk->enable_shift);
>> +	reg |= MXC_CCM_CCGRx_MOD_IDLE << clk->enable_shift;
>> +	__raw_writel(reg, clk->enable_reg);
>> +
>> +	return 0;
>> +}
>> +
>>     
> imho this should be consolidated in something like:
>
> static int _clk_ccgr_setclk(struct clk *clk, unsigned mode)
> {
> 	...
> }
>
> #define _clk_ccgr_enable(clk) _clk_ccgr_setclk(clk, MXC_CCM_CCGRx_MOD_ON)
> #define _clk_ccgr_disable(clk) _clk_ccgr_setclk(clk, MXC_CCM_CCGRx_MOD_OFF)
> #define _clk_ccgr_enable_inrun(clk) _clk_ccgr_setclk(clk, MXC_CCM_CCGRx_MOD_IDLE)
>
>   
It makes  code more concise. On the other hand, too many macros will
add troubles when we use kgdb to perform sourcecode-level debug.

Anyway, i agree your suggestion.
>>  static void _clk_ccgr_disable(struct clk *clk)
>>  {
>>  	u32 reg;
>> @@ -762,6 +775,61 @@ static struct clk kpp_clk = {
>>  	.id = 0,
>>  };
>>  
>> +/* eCSPI */
>> +static unsigned long _clk_ecspi_getrate(struct clk *clk)
>> +{
>> +	u32 reg, prediv, podf;
>> +	unsigned long ret;
>> +
>> +	reg = __raw_readl(MXC_CCM_CSCDR2);
>> +	prediv = ((reg & MXC_CCM_CSCDR2_CSPI_CLK_PRED_MASK) >>
>> +		  MXC_CCM_CSCDR2_CSPI_CLK_PRED_OFFSET) + 1;
>> +	if (prediv == 1)
>> +		BUG();
>> +	podf = ((reg & MXC_CCM_CSCDR2_CSPI_CLK_PODF_MASK) >>
>> +		MXC_CCM_CSCDR2_CSPI_CLK_PODF_OFFSET) + 1;
>> +
>> +	ret = clk_get_rate(clk->parent) / (prediv * podf);
>> +	return ret;
>> +}
>> +
>> +static int _clk_ecspi_set_parent(struct clk *clk, struct clk *parent)
>> +{
>> +	u32 reg, mux;
>> +
>> +	mux = _get_mux(parent, &pll1_sw_clk, &pll2_sw_clk, &pll3_sw_clk,
>> +		       &lp_apm_clk);
>> +	reg = __raw_readl(MXC_CCM_CSCMR1) & ~MXC_CCM_CSCMR1_CSPI_CLK_SEL_MASK;
>> +	reg |= mux << MXC_CCM_CSCMR1_CSPI_CLK_SEL_OFFSET;
>> +	__raw_writel(reg, MXC_CCM_CSCMR1);
>> +
>> +	return 0;
>> +}
>> +
>> +static struct clk ecspi_main_clk = {
>> +	.parent = &pll3_sw_clk,
>> +	.get_rate = _clk_ecspi_getrate,
>> +	.set_parent = _clk_ecspi_set_parent,
>>     
> Sascha didn't implement set_parent
>
>   
ecspi really can change parent root clock.
>> +};
>> +
>> +static struct clk ecspi1_ipg_clk = {
>> +	.parent = &ipg_clk,
>> +	.secondary = &spba_clk,
>> +	.enable_reg = MXC_CCM_CCGR4,
>> +	.enable_shift = MXC_CCM_CCGRx_CG9_OFFSET,
>> +	.enable = _clk_ccgr_enable_inrun,
>> +	.disable = _clk_ccgr_disable,
>> +};
>> +
>> +static struct clk ecspi2_ipg_clk = {
>> +	.parent = &ipg_clk,
>> +	.secondary = &aips_tz2_clk,
>> +	.enable_reg = MXC_CCM_CCGR4,
>> +	.enable_shift = MXC_CCM_CCGRx_CG11_OFFSET,
>> +	.enable = _clk_ccgr_enable_inrun,
>> +	.disable = _clk_ccgr_disable,
>> +};
>> +
>>  #define DEFINE_CLOCK(name, i, er, es, gr, sr, p, s)	\
>>  	static struct clk name = {			\
>>  		.id		= i,			\
>> @@ -814,6 +882,14 @@ DEFINE_CLOCK(hsi2c_clk, 0, MXC_CCM_CCGR1, MXC_CCM_CCGRx_CG11_OFFSET,
>>  DEFINE_CLOCK(fec_clk, 0, MXC_CCM_CCGR2, MXC_CCM_CCGRx_CG12_OFFSET,
>>  	NULL,  NULL, &ipg_clk, NULL);
>>  
>> +/* eCSPI & CSPI */
>> +DEFINE_CLOCK(cspi1_clk, 0, MXC_CCM_CCGR4, MXC_CCM_CCGRx_CG10_OFFSET,
>> +	NULL, NULL, &ecspi_main_clk, &ecspi1_ipg_clk);
>> +DEFINE_CLOCK(cspi2_clk, 1, MXC_CCM_CCGR4, MXC_CCM_CCGRx_CG12_OFFSET,
>> +	NULL, NULL, &ecspi_main_clk, &ecspi2_ipg_clk);
>> +DEFINE_CLOCK(cspi3_clk, 2, MXC_CCM_CCGR4, MXC_CCM_CCGRx_CG13_OFFSET,
>> +	NULL, NULL, &ipg_clk, NULL);
>> +
>>     
> Maybe use ecspi1_clk, cspi2_clk, cspi_clk here?  I thought about this,
> too, for our code, couldn't really decide.  What do you think?
>
>   
Agree.
>>  #define _REGISTER_CLOCK(d, n, c) \
>>         { \
>>  		.dev_id = d, \
>> @@ -837,6 +913,9 @@ static struct clk_lookup lookups[] = {
>>  	_REGISTER_CLOCK("fsl-usb2-udc", "usb", usboh3_clk)
>>  	_REGISTER_CLOCK("fsl-usb2-udc", "usb_ahb", ahb_clk)
>>  	_REGISTER_CLOCK("imx-keypad.0", NULL, kpp_clk)
>> +	_REGISTER_CLOCK("spi_imx.0", NULL, cspi1_clk)
>> +	_REGISTER_CLOCK("spi_imx.1", NULL, cspi2_clk)
>> +	_REGISTER_CLOCK("spi_imx.2", NULL, cspi3_clk)
>>  };
>>  
>>     
>
> Best regards
> Uwe
>
>   

WARNING: multiple messages have this Message-ID (diff)
From: jason77.wang@gmail.com (Jason Wang)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/6] i.MX5/clock: add eCSPI and CSPI clock definitions
Date: Fri, 03 Sep 2010 14:22:08 +0800	[thread overview]
Message-ID: <4C809410.9090602@gmail.com> (raw)
In-Reply-To: <20100902150112.GM14214@pengutronix.de>

Uwe Kleine-K?nig wrote:
> On Thu, Sep 02, 2010 at 03:52:00PM +0800, Jason Wang wrote:
>   
>> i.MX51 has two eCSPI and one CSPI controllers, now add clock
>> definitions and registrations for these controllers.
>>
>> Signed-off-by: Jason Wang <jason77.wang@gmail.com>
>> ---
>>  arch/arm/mach-mx5/clock-mx51.c |   79 ++++++++++++++++++++++++++++++++++++++++
>>  1 files changed, 79 insertions(+), 0 deletions(-)
>>
>> diff --git a/arch/arm/mach-mx5/clock-mx51.c b/arch/arm/mach-mx5/clock-mx51.c
>> index 6af69de..217c3f3 100644
>> --- a/arch/arm/mach-mx5/clock-mx51.c
>> +++ b/arch/arm/mach-mx5/clock-mx51.c
>> @@ -38,6 +38,7 @@ static struct clk periph_apm_clk;
>>  static struct clk ahb_clk;
>>  static struct clk ipg_clk;
>>  static struct clk usboh3_clk;
>> +static struct clk spba_clk;
>>  
>>  #define MAX_DPLL_WAIT_TRIES	1000 /* 1000 * udelay(1) = 1ms */
>>  
>> @@ -52,6 +53,18 @@ static int _clk_ccgr_enable(struct clk *clk)
>>  	return 0;
>>  }
>>  
>> +static int _clk_ccgr_enable_inrun(struct clk *clk)
>> +{
>> +	u32 reg;
>> +
>> +	reg = __raw_readl(clk->enable_reg);
>> +	reg &= ~(MXC_CCM_CCGRx_CG_MASK << clk->enable_shift);
>> +	reg |= MXC_CCM_CCGRx_MOD_IDLE << clk->enable_shift;
>> +	__raw_writel(reg, clk->enable_reg);
>> +
>> +	return 0;
>> +}
>> +
>>     
> imho this should be consolidated in something like:
>
> static int _clk_ccgr_setclk(struct clk *clk, unsigned mode)
> {
> 	...
> }
>
> #define _clk_ccgr_enable(clk) _clk_ccgr_setclk(clk, MXC_CCM_CCGRx_MOD_ON)
> #define _clk_ccgr_disable(clk) _clk_ccgr_setclk(clk, MXC_CCM_CCGRx_MOD_OFF)
> #define _clk_ccgr_enable_inrun(clk) _clk_ccgr_setclk(clk, MXC_CCM_CCGRx_MOD_IDLE)
>
>   
It makes  code more concise. On the other hand, too many macros will
add troubles when we use kgdb to perform sourcecode-level debug.

Anyway, i agree your suggestion.
>>  static void _clk_ccgr_disable(struct clk *clk)
>>  {
>>  	u32 reg;
>> @@ -762,6 +775,61 @@ static struct clk kpp_clk = {
>>  	.id = 0,
>>  };
>>  
>> +/* eCSPI */
>> +static unsigned long _clk_ecspi_getrate(struct clk *clk)
>> +{
>> +	u32 reg, prediv, podf;
>> +	unsigned long ret;
>> +
>> +	reg = __raw_readl(MXC_CCM_CSCDR2);
>> +	prediv = ((reg & MXC_CCM_CSCDR2_CSPI_CLK_PRED_MASK) >>
>> +		  MXC_CCM_CSCDR2_CSPI_CLK_PRED_OFFSET) + 1;
>> +	if (prediv == 1)
>> +		BUG();
>> +	podf = ((reg & MXC_CCM_CSCDR2_CSPI_CLK_PODF_MASK) >>
>> +		MXC_CCM_CSCDR2_CSPI_CLK_PODF_OFFSET) + 1;
>> +
>> +	ret = clk_get_rate(clk->parent) / (prediv * podf);
>> +	return ret;
>> +}
>> +
>> +static int _clk_ecspi_set_parent(struct clk *clk, struct clk *parent)
>> +{
>> +	u32 reg, mux;
>> +
>> +	mux = _get_mux(parent, &pll1_sw_clk, &pll2_sw_clk, &pll3_sw_clk,
>> +		       &lp_apm_clk);
>> +	reg = __raw_readl(MXC_CCM_CSCMR1) & ~MXC_CCM_CSCMR1_CSPI_CLK_SEL_MASK;
>> +	reg |= mux << MXC_CCM_CSCMR1_CSPI_CLK_SEL_OFFSET;
>> +	__raw_writel(reg, MXC_CCM_CSCMR1);
>> +
>> +	return 0;
>> +}
>> +
>> +static struct clk ecspi_main_clk = {
>> +	.parent = &pll3_sw_clk,
>> +	.get_rate = _clk_ecspi_getrate,
>> +	.set_parent = _clk_ecspi_set_parent,
>>     
> Sascha didn't implement set_parent
>
>   
ecspi really can change parent root clock.
>> +};
>> +
>> +static struct clk ecspi1_ipg_clk = {
>> +	.parent = &ipg_clk,
>> +	.secondary = &spba_clk,
>> +	.enable_reg = MXC_CCM_CCGR4,
>> +	.enable_shift = MXC_CCM_CCGRx_CG9_OFFSET,
>> +	.enable = _clk_ccgr_enable_inrun,
>> +	.disable = _clk_ccgr_disable,
>> +};
>> +
>> +static struct clk ecspi2_ipg_clk = {
>> +	.parent = &ipg_clk,
>> +	.secondary = &aips_tz2_clk,
>> +	.enable_reg = MXC_CCM_CCGR4,
>> +	.enable_shift = MXC_CCM_CCGRx_CG11_OFFSET,
>> +	.enable = _clk_ccgr_enable_inrun,
>> +	.disable = _clk_ccgr_disable,
>> +};
>> +
>>  #define DEFINE_CLOCK(name, i, er, es, gr, sr, p, s)	\
>>  	static struct clk name = {			\
>>  		.id		= i,			\
>> @@ -814,6 +882,14 @@ DEFINE_CLOCK(hsi2c_clk, 0, MXC_CCM_CCGR1, MXC_CCM_CCGRx_CG11_OFFSET,
>>  DEFINE_CLOCK(fec_clk, 0, MXC_CCM_CCGR2, MXC_CCM_CCGRx_CG12_OFFSET,
>>  	NULL,  NULL, &ipg_clk, NULL);
>>  
>> +/* eCSPI & CSPI */
>> +DEFINE_CLOCK(cspi1_clk, 0, MXC_CCM_CCGR4, MXC_CCM_CCGRx_CG10_OFFSET,
>> +	NULL, NULL, &ecspi_main_clk, &ecspi1_ipg_clk);
>> +DEFINE_CLOCK(cspi2_clk, 1, MXC_CCM_CCGR4, MXC_CCM_CCGRx_CG12_OFFSET,
>> +	NULL, NULL, &ecspi_main_clk, &ecspi2_ipg_clk);
>> +DEFINE_CLOCK(cspi3_clk, 2, MXC_CCM_CCGR4, MXC_CCM_CCGRx_CG13_OFFSET,
>> +	NULL, NULL, &ipg_clk, NULL);
>> +
>>     
> Maybe use ecspi1_clk, cspi2_clk, cspi_clk here?  I thought about this,
> too, for our code, couldn't really decide.  What do you think?
>
>   
Agree.
>>  #define _REGISTER_CLOCK(d, n, c) \
>>         { \
>>  		.dev_id = d, \
>> @@ -837,6 +913,9 @@ static struct clk_lookup lookups[] = {
>>  	_REGISTER_CLOCK("fsl-usb2-udc", "usb", usboh3_clk)
>>  	_REGISTER_CLOCK("fsl-usb2-udc", "usb_ahb", ahb_clk)
>>  	_REGISTER_CLOCK("imx-keypad.0", NULL, kpp_clk)
>> +	_REGISTER_CLOCK("spi_imx.0", NULL, cspi1_clk)
>> +	_REGISTER_CLOCK("spi_imx.1", NULL, cspi2_clk)
>> +	_REGISTER_CLOCK("spi_imx.2", NULL, cspi3_clk)
>>  };
>>  
>>     
>
> Best regards
> Uwe
>
>   

  reply	other threads:[~2010-09-03  6:22 UTC|newest]

Thread overview: 134+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-02  7:51 [PATCH 0/6] add spi support for i.MX51 in the existing spi_imx driver Jason Wang
2010-09-02  7:51 ` Jason Wang
2010-09-02  7:51 ` [PATCH 1/6] spi-imx: add CSPI and eCSPI support for i.MX51 MCU Jason Wang
2010-09-02  7:51   ` Jason Wang
2010-09-02  7:52   ` [PATCH 2/6] i.MX5/clock: add eCSPI and CSPI clock definitions Jason Wang
2010-09-02  7:52     ` Jason Wang
2010-09-02  7:52     ` [PATCH 3/6] mx5: add support to dynamically register spi_imx devices (imx51 3ds) Jason Wang
2010-09-02  7:52       ` Jason Wang
2010-09-02  7:52       ` [PATCH 4/6] mx5/iomux: add iomux definitions for eCSPI2 on the imx51_3ds board Jason Wang
2010-09-02  7:52         ` Jason Wang
2010-09-02  7:52         ` [PATCH 5/6] mx51_3ds: add eCSPI2 support " Jason Wang
2010-09-02  7:52           ` Jason Wang
2010-09-02  7:52           ` [PATCH 6/6] mx51_3ds: add SPI NOR flash in the board init stage Jason Wang
2010-09-02  7:52             ` Jason Wang
2010-09-02 15:05           ` [PATCH 5/6] mx51_3ds: add eCSPI2 support on the imx51_3ds board Uwe Kleine-König
2010-09-02 15:05             ` Uwe Kleine-König
2010-09-03  6:24             ` Jason Wang
2010-09-03  6:24               ` Jason Wang
2010-09-02 15:02       ` [PATCH 3/6] mx5: add support to dynamically register spi_imx devices (imx51 3ds) Uwe Kleine-König
2010-09-02 15:02         ` Uwe Kleine-König
2010-09-03  6:22         ` Jason Wang
2010-09-03  6:22           ` Jason Wang
2010-09-02 15:01     ` [PATCH 2/6] i.MX5/clock: add eCSPI and CSPI clock definitions Uwe Kleine-König
2010-09-02 15:01       ` Uwe Kleine-König
2010-09-03  6:22       ` Jason Wang [this message]
2010-09-03  6:22         ` Jason Wang
2010-09-10  9:47         ` Uwe Kleine-König
2010-09-10  9:47           ` Uwe Kleine-König
     [not found]           ` <20100910094714.GF30558-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2010-09-10 10:04             ` Lothar Waßmann
2010-09-10 10:04               ` Lothar Waßmann
2010-09-13  3:31           ` Jason Wang
2010-09-13  3:31             ` Jason Wang
2010-09-02 14:53   ` [PATCH 1/6] spi-imx: add CSPI and eCSPI support for i.MX51 MCU Uwe Kleine-König
2010-09-02 14:53     ` Uwe Kleine-König
2010-09-02 15:11     ` Lothar Waßmann
2010-09-02 15:11       ` Lothar Waßmann
2010-09-02 17:29       ` Baruch Siach
2010-09-02 17:29         ` Baruch Siach
2010-09-02 17:57         ` Uwe Kleine-König
2010-09-02 17:57           ` Uwe Kleine-König
2010-09-03  8:49         ` Lothar Waßmann
2010-09-03  8:49           ` Lothar Waßmann
2010-09-03  6:16     ` Jason Wang
2010-09-03  6:16       ` Jason Wang
2010-09-03  7:54       ` Uwe Kleine-König
2010-09-03  7:54         ` Uwe Kleine-König
2010-09-02  8:27 ` [PATCH 0/6] add spi support for i.MX51 in the existing spi_imx driver Uwe Kleine-König
2010-09-02  8:27   ` Uwe Kleine-König
2010-09-02 10:07   ` Jason Wang
2010-09-02 10:07     ` Jason Wang
2010-09-02 14:39     ` Uwe Kleine-König
2010-09-02 14:39       ` Uwe Kleine-König
2010-09-02 14:41       ` [PATCH 1/6] ARM: mx51: clean up mx51 header Uwe Kleine-König
2010-09-02 14:41         ` Uwe Kleine-König
2010-09-02 14:41       ` [PATCH 2/6] ARM: mx51: fix naming of spi related defines Uwe Kleine-König
2010-09-02 14:41         ` Uwe Kleine-König
2010-09-02 14:42       ` [PATCH 3/6] ARM: imx: change the way spi-imx devices are registered Uwe Kleine-König
2010-09-02 14:42         ` Uwe Kleine-König
2010-09-02 14:42       ` [PATCH 4/6] ARM: mx51: Add spi clock and spi_imx device registration Uwe Kleine-König
2010-09-02 14:42         ` Uwe Kleine-König
     [not found]         ` <1283438523-19697-4-git-send-email-u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2010-09-03  5:46           ` Jason Wang
2010-09-03  5:46             ` Jason Wang
2010-09-02 14:42       ` [PATCH 5/6] spi-imx: Add i.MX51 support Uwe Kleine-König
2010-09-02 14:42         ` Uwe Kleine-König
2010-09-09  5:33         ` Grant Likely
2010-09-09  5:33           ` Grant Likely
2010-09-09  7:27           ` Uwe Kleine-König
2010-09-09  7:27             ` Uwe Kleine-König
2010-09-02 14:42       ` [PATCH 6/6] ARM: mx5/mx51_babbage: Add spi support Uwe Kleine-König
2010-09-02 14:42         ` Uwe Kleine-König
2010-09-03  3:18       ` [PATCH 0/6] add spi support for i.MX51 in the existing spi_imx driver Jason Wang
2010-09-03  3:18         ` Jason Wang
2010-09-03  6:41         ` Amit Kucheria
2010-09-03  6:41           ` Amit Kucheria
2010-09-03  9:34           ` Robert Schwebel
2010-09-03  9:34             ` Robert Schwebel
2010-09-17  9:52       ` Uwe Kleine-König
2010-09-17  9:52         ` Uwe Kleine-König
2010-09-17  9:54         ` [PATCH 01/16] spi/imx: default to m on platforms that have such devices Uwe Kleine-König
2010-09-17  9:54           ` Uwe Kleine-König
2010-09-17  9:54         ` [PATCH 03/16] spi/imx: get rid of more ifs depending on the used cpu Uwe Kleine-König
2010-09-17  9:54           ` Uwe Kleine-König
     [not found]         ` <20100917095247.GB30441-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2010-09-17  9:54           ` [PATCH 02/16] spi/imx: convert driver to use platform ids Uwe Kleine-König
2010-09-17  9:54             ` Uwe Kleine-König
2010-09-17  9:54           ` [PATCH 04/16] spi/imx: save the spi chip select in config struct, not the gpio to use Uwe Kleine-König
2010-09-17  9:54             ` Uwe Kleine-König
     [not found]             ` <1284717274-12850-4-git-send-email-u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2010-09-17 11:11               ` Lothar Waßmann
2010-09-17 11:11                 ` Lothar Waßmann
2010-09-17 11:20                 ` Russell King - ARM Linux
2010-09-17 11:20                   ` Russell King - ARM Linux
2010-09-19  8:47                   ` Jason Wang
2010-09-19  8:47                     ` Jason Wang
2010-09-17  9:54           ` [PATCH 05/16] spi/imx: add support for imx51's eCSPI and CSPI Uwe Kleine-König
2010-09-17  9:54             ` Uwe Kleine-König
2010-09-17  9:54           ` [PATCH 06/16] ARM: imx: change the way spi-imx devices are registered Uwe Kleine-König
2010-09-17  9:54             ` Uwe Kleine-König
2010-09-17  9:54           ` [PATCH 07/16] ARM: imx: use platform ids for spi_imx devices Uwe Kleine-König
2010-09-17  9:54             ` Uwe Kleine-König
2010-09-17  9:54           ` [PATCH 08/16] ARM: mx51: clean up mx51 header Uwe Kleine-König
2010-09-17  9:54             ` Uwe Kleine-König
2010-09-17  9:54           ` [PATCH 09/16] ARM: mx51: fix naming of spi related defines Uwe Kleine-König
2010-09-17  9:54             ` Uwe Kleine-König
2010-09-17  9:54           ` [PATCH 10/16] ARM: mx5: add spi_imx device registration Uwe Kleine-König
2010-09-17  9:54             ` Uwe Kleine-König
2010-09-17  9:54           ` [PATCH 11/16] ARM: mx5/clock-mx51: refactor ccgr callbacks to use common code Uwe Kleine-König
2010-09-17  9:54             ` Uwe Kleine-König
2010-09-17  9:54           ` [PATCH 13/16] ARM: mx5/clock-mx51: add spi clocks Uwe Kleine-König
2010-09-17  9:54             ` Uwe Kleine-König
2010-09-17  9:54           ` [PATCH 14/16] ARM: mx5/iomux-mx51: add iomux definitions for eCSPI2 on the imx51_3ds board Uwe Kleine-König
2010-09-17  9:54             ` Uwe Kleine-König
2010-09-17  9:54           ` [PATCH 15/16] ARM: mx5/mx51_3ds: add eCSPI2 support " Uwe Kleine-König
2010-09-17  9:54             ` Uwe Kleine-König
2010-09-17  9:54           ` [PATCH 16/16] ARM: mx5/mx51_3ds: add SPI NOR flash in the board init stage Uwe Kleine-König
2010-09-17  9:54             ` Uwe Kleine-König
2010-09-17  9:54         ` [PATCH 12/16] ARM: mx5/clock-mx51: new macro that defines a clk with all members Uwe Kleine-König
2010-09-17  9:54           ` Uwe Kleine-König
2010-09-19  8:53         ` [PATCH 0/6] add spi support for i.MX51 in the existing spi_imx driver Jason Wang
2010-09-19  8:53           ` Jason Wang
2010-09-20 15:33           ` Uwe Kleine-König
2010-09-20 15:33             ` Uwe Kleine-König
2010-09-21  1:39             ` Jason Wang
2010-09-21  1:39               ` Jason Wang
2010-09-24  7:00         ` Grant Likely
2010-09-24  7:00           ` Grant Likely
2010-09-24  9:11           ` Uwe Kleine-König
2010-09-24  9:11             ` Uwe Kleine-König
2010-09-24 16:12             ` Grant Likely
2010-09-24 16:12               ` Grant Likely
2010-09-24 18:18               ` Uwe Kleine-König
2010-09-24 18:18                 ` Uwe Kleine-König
     [not found]       ` <20100902143908.GK14214-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2010-10-08  9:24         ` [PATCH 7/6] spi/imx: Support different fifo sizes Uwe Kleine-König
2010-10-08  9:24           ` Uwe Kleine-König
     [not found]           ` <1286529841-20800-1-git-send-email-u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2010-10-08 16:39             ` Grant Likely
2010-10-08 16:39               ` Grant Likely

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4C809410.9090602@gmail.com \
    --to=jason77.wang@gmail.com \
    --cc=amit.kucheria@canonical.com \
    --cc=grant.likely@secretlab.ca \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=s.hauer@pengutronix.de \
    --cc=spi-devel-general@lists.sourceforge.net \
    --cc=u.kleine-koenig@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.