All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Boyd <sboyd@codeaurora.org>
To: Jacky Bai <ping.bai@nxp.com>
Cc: "shawnguo@kernel.org" <shawnguo@kernel.org>,
	"mturquette@baylibre.com" <mturquette@baylibre.com>,
	"robh+dt@kernel.org" <robh+dt@kernel.org>,
	"mark.rutland@arm.com" <mark.rutland@arm.com>,
	"linus.walleij@linaro.org" <linus.walleij@linaro.org>,
	"kernel@pengutronix.de" <kernel@pengutronix.de>,
	Fabio Estevam <fabio.estevam@nxp.com>,
	"daniel.lezcano@linaro.org" <daniel.lezcano@linaro.org>,
	"tglx@linutronix.de" <tglx@linutronix.de>,
	"p.zabel@pengutronix.de" <p.zabel@pengutronix.de>,
	"linux-clk@vger.kernel.org" <linux-clk@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-gpio@vger.kernel.org" <linux-gpio@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"jacky.baip@gmail.com" <jacky.baip@gmail.com>
Subject: Re: [PATCH v2 04/12] driver: clk: imx: Add clock driver for imx6sll
Date: Thu, 12 Jan 2017 14:05:36 -0800	[thread overview]
Message-ID: <20170112220536.GP17126@codeaurora.org> (raw)
In-Reply-To: <AM3PR04MB5307CB38AA904535AF8D80D87670@AM3PR04MB530.eurprd04.prod.outlook.com>

On 01/10, Jacky Bai wrote:
> 
> > 
> > > +#include <linux/types.h>
> > > +
> > > +#include "clk.h"
> > > +
> > > +#define CCM_ANALOG_PLL_BYPASS		(0x1 << 16)
> > > +#define BM_CCM_CCDR_MMDC_CH0_MASK	(0x2 << 16)
> > > +#define CCDR	0x4
> > > +#define xPLL_CLR(offset)		 (offset + 0x8)
> > > +
> > > +static const char *pll_bypass_src_sels[] = { "osc", "dummy", };
> > 
> > All these should be const char * const unless something is wrong.
> 
> If changed to 'const char * const', it vill has argument type mismatch error, as imx_clk_* wrapper function
> has argument type 'const char *'. 

Hmm that's unfortunate.

> 
> > 
> > > +static const char *pll1_bypass_sels[] = { "pll1", "pll1_bypass_src",
> > > +}; static const char *pll2_bypass_sels[] = { "pll2",
> > > +"pll2_bypass_src", }; static const char *pll3_bypass_sels[] = {
> > > +"pll3", "pll3_bypass_src", }; static const char *pll4_bypass_sels[] =
> > > +{ "pll4", "pll4_bypass_src", }; static const char *pll5_bypass_sels[]
> > > += { "pll5", "pll5_bypass_src", }; static const char
> > > +*pll6_bypass_sels[] = { "pll6", "pll6_bypass_src", };
> > [...]
> > > +	clks[IMX6SLL_CLK_USDHC3]	= imx_clk_gate2("usdhc3",
> > 	"usdhc3_podf",	 base + 0x80,	6);
> > > +
> > > +	/* mask handshake of mmdc */
> > > +	writel_relaxed(BM_CCM_CCDR_MMDC_CH0_MASK, base + CCDR);
> > > +
> > > +	for (i = 0; i < ARRAY_SIZE(clks); i++)
> > > +		if (IS_ERR(clks[i]))
> > > +			pr_err("i.MX6SLL clk %d: register failed with %ld\n", i,
> > > +PTR_ERR(clks[i]));
> > > +
> > > +	clk_data.clks = clks;
> > > +	clk_data.clk_num = ARRAY_SIZE(clks);
> > > +	of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data);
> > > +
> > > +	/* set perclk to from OSC */
> > > +	clk_set_parent(clks[IMX6SLL_CLK_PERCLK_SEL],
> > clks[IMX6SLL_CLK_OSC]);
> > 
> > Can this be done with assigned-clocks in DT?
> 
> Ok, I will move it to assigned-clocks in DT.
> 
> > 
> > > +
> > > +	for (i = 0; i < ARRAY_SIZE(clks_init_on); i++)
> > > +		clk_prepare_enable(clks[clks_init_on[i]]);
> > 
> > Critical clocks?
> 
> Yes, these clocks must be always on. 
> 
> > 
> > > +
> > > +	if (IS_ENABLED(CONFIG_USB_MXS_PHY)) {
> > > +		clk_prepare_enable(clks[IMX6SLL_CLK_USBPHY1_GATE]);
> > > +		clk_prepare_enable(clks[IMX6SLL_CLK_USBPHY2_GATE]);
> > 
> > The phy driver can't enable these?
> 
> The reason why we enable these two clks here is in below commit
> commit a5120e89e7e187a91852896f586876c7a2030804
> Author: Peter Chen <peter.chen@freescale.com>
> Date:   Fri Jan 18 10:38:05 2013 +0800
>       ARM i.MX6: change mxs usbphy clock usage
> 

So can we mark these clks with CLK_IS_CRITICAL flag then instead?
Or are they disabled out of the bootloader?

> > 
> > > +	}
> > > +
> > > +	/* Lower the AHB clock rate before changing the clock source. */
> > > +	clk_set_rate(clks[IMX6SLL_CLK_AHB], 99000000);
> > > +
> > > +	/* Change periph_pre clock to pll2_bus to adjust AXI rate to 264MHz */
> > > +	clk_set_parent(clks[IMX6SLL_CLK_PERIPH_CLK2_SEL],
> > clks[IMX6SLL_CLK_PLL3_USB_OTG]);
> > > +	clk_set_parent(clks[IMX6SLL_CLK_PERIPH],
> > clks[IMX6SLL_CLK_PERIPH_CLK2]);
> > > +	clk_set_parent(clks[IMX6SLL_CLK_PERIPH_PRE],
> > clks[IMX6SLL_CLK_PLL2_BUS]);
> > > +	clk_set_parent(clks[IMX6SLL_CLK_PERIPH],
> > > +clks[IMX6SLL_CLK_PERIPH_PRE]);
> > > +
> > > +	clk_set_rate(clks[IMX6SLL_CLK_AHB], 132000000);
> > 
> > assigned-clocks for rates now? Or perhaps we shouldn't be exposing these as
> > clks if they have some sort of complicated rate sequence switch that we can't
> > guarantee with the clk_ops we have today.
> 
> These clks will be used by some peripherals, so we need to expose these clocks.
> And the above parent and rate swith sequence is not very easy to be handled in assigned-clocks,
> So we leave it in this place. 
> 

How do we guarantee that the rate switch doesn't happen later on,
requiring this coordinated sequence of clk operations?

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

WARNING: multiple messages have this Message-ID (diff)
From: Stephen Boyd <sboyd@codeaurora.org>
To: Jacky Bai <ping.bai@nxp.com>
Cc: "shawnguo@kernel.org" <shawnguo@kernel.org>,
	"mturquette@baylibre.com" <mturquette@baylibre.com>,
	"robh+dt@kernel.org" <robh+dt@kernel.org>,
	"mark.rutland@arm.com" <mark.rutland@arm.com>,
	"linus.walleij@linaro.org" <linus.walleij@linaro.org>,
	"kernel@pengutronix.de" <kernel@pengutronix.de>,
	Fabio Estevam <fabio.estevam@nxp.com>,
	"daniel.lezcano@linaro.org" <daniel.lezcano@linaro.org>,
	"tglx@linutronix.de" <tglx@linutronix.de>,
	"p.zabel@pengutronix.de" <p.zabel@pengutronix.de>,
	"linux-clk@vger.kernel.org" <linux-clk@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-gpio@vger.kernel.org" <linux-gpio@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"jacky.baip@gmail.com" <jacky.baip@gmai>
Subject: Re: [PATCH v2 04/12] driver: clk: imx: Add clock driver for imx6sll
Date: Thu, 12 Jan 2017 14:05:36 -0800	[thread overview]
Message-ID: <20170112220536.GP17126@codeaurora.org> (raw)
In-Reply-To: <AM3PR04MB5307CB38AA904535AF8D80D87670@AM3PR04MB530.eurprd04.prod.outlook.com>

On 01/10, Jacky Bai wrote:
> 
> > 
> > > +#include <linux/types.h>
> > > +
> > > +#include "clk.h"
> > > +
> > > +#define CCM_ANALOG_PLL_BYPASS		(0x1 << 16)
> > > +#define BM_CCM_CCDR_MMDC_CH0_MASK	(0x2 << 16)
> > > +#define CCDR	0x4
> > > +#define xPLL_CLR(offset)		 (offset + 0x8)
> > > +
> > > +static const char *pll_bypass_src_sels[] = { "osc", "dummy", };
> > 
> > All these should be const char * const unless something is wrong.
> 
> If changed to 'const char * const', it vill has argument type mismatch error, as imx_clk_* wrapper function
> has argument type 'const char *'. 

Hmm that's unfortunate.

> 
> > 
> > > +static const char *pll1_bypass_sels[] = { "pll1", "pll1_bypass_src",
> > > +}; static const char *pll2_bypass_sels[] = { "pll2",
> > > +"pll2_bypass_src", }; static const char *pll3_bypass_sels[] = {
> > > +"pll3", "pll3_bypass_src", }; static const char *pll4_bypass_sels[] =
> > > +{ "pll4", "pll4_bypass_src", }; static const char *pll5_bypass_sels[]
> > > += { "pll5", "pll5_bypass_src", }; static const char
> > > +*pll6_bypass_sels[] = { "pll6", "pll6_bypass_src", };
> > [...]
> > > +	clks[IMX6SLL_CLK_USDHC3]	= imx_clk_gate2("usdhc3",
> > 	"usdhc3_podf",	 base + 0x80,	6);
> > > +
> > > +	/* mask handshake of mmdc */
> > > +	writel_relaxed(BM_CCM_CCDR_MMDC_CH0_MASK, base + CCDR);
> > > +
> > > +	for (i = 0; i < ARRAY_SIZE(clks); i++)
> > > +		if (IS_ERR(clks[i]))
> > > +			pr_err("i.MX6SLL clk %d: register failed with %ld\n", i,
> > > +PTR_ERR(clks[i]));
> > > +
> > > +	clk_data.clks = clks;
> > > +	clk_data.clk_num = ARRAY_SIZE(clks);
> > > +	of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data);
> > > +
> > > +	/* set perclk to from OSC */
> > > +	clk_set_parent(clks[IMX6SLL_CLK_PERCLK_SEL],
> > clks[IMX6SLL_CLK_OSC]);
> > 
> > Can this be done with assigned-clocks in DT?
> 
> Ok, I will move it to assigned-clocks in DT.
> 
> > 
> > > +
> > > +	for (i = 0; i < ARRAY_SIZE(clks_init_on); i++)
> > > +		clk_prepare_enable(clks[clks_init_on[i]]);
> > 
> > Critical clocks?
> 
> Yes, these clocks must be always on. 
> 
> > 
> > > +
> > > +	if (IS_ENABLED(CONFIG_USB_MXS_PHY)) {
> > > +		clk_prepare_enable(clks[IMX6SLL_CLK_USBPHY1_GATE]);
> > > +		clk_prepare_enable(clks[IMX6SLL_CLK_USBPHY2_GATE]);
> > 
> > The phy driver can't enable these?
> 
> The reason why we enable these two clks here is in below commit
> commit a5120e89e7e187a91852896f586876c7a2030804
> Author: Peter Chen <peter.chen@freescale.com>
> Date:   Fri Jan 18 10:38:05 2013 +0800
>       ARM i.MX6: change mxs usbphy clock usage
> 

So can we mark these clks with CLK_IS_CRITICAL flag then instead?
Or are they disabled out of the bootloader?

> > 
> > > +	}
> > > +
> > > +	/* Lower the AHB clock rate before changing the clock source. */
> > > +	clk_set_rate(clks[IMX6SLL_CLK_AHB], 99000000);
> > > +
> > > +	/* Change periph_pre clock to pll2_bus to adjust AXI rate to 264MHz */
> > > +	clk_set_parent(clks[IMX6SLL_CLK_PERIPH_CLK2_SEL],
> > clks[IMX6SLL_CLK_PLL3_USB_OTG]);
> > > +	clk_set_parent(clks[IMX6SLL_CLK_PERIPH],
> > clks[IMX6SLL_CLK_PERIPH_CLK2]);
> > > +	clk_set_parent(clks[IMX6SLL_CLK_PERIPH_PRE],
> > clks[IMX6SLL_CLK_PLL2_BUS]);
> > > +	clk_set_parent(clks[IMX6SLL_CLK_PERIPH],
> > > +clks[IMX6SLL_CLK_PERIPH_PRE]);
> > > +
> > > +	clk_set_rate(clks[IMX6SLL_CLK_AHB], 132000000);
> > 
> > assigned-clocks for rates now? Or perhaps we shouldn't be exposing these as
> > clks if they have some sort of complicated rate sequence switch that we can't
> > guarantee with the clk_ops we have today.
> 
> These clks will be used by some peripherals, so we need to expose these clocks.
> And the above parent and rate swith sequence is not very easy to be handled in assigned-clocks,
> So we leave it in this place. 
> 

How do we guarantee that the rate switch doesn't happen later on,
requiring this coordinated sequence of clk operations?

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

WARNING: multiple messages have this Message-ID (diff)
From: sboyd@codeaurora.org (Stephen Boyd)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 04/12] driver: clk: imx: Add clock driver for imx6sll
Date: Thu, 12 Jan 2017 14:05:36 -0800	[thread overview]
Message-ID: <20170112220536.GP17126@codeaurora.org> (raw)
In-Reply-To: <AM3PR04MB5307CB38AA904535AF8D80D87670@AM3PR04MB530.eurprd04.prod.outlook.com>

On 01/10, Jacky Bai wrote:
> 
> > 
> > > +#include <linux/types.h>
> > > +
> > > +#include "clk.h"
> > > +
> > > +#define CCM_ANALOG_PLL_BYPASS		(0x1 << 16)
> > > +#define BM_CCM_CCDR_MMDC_CH0_MASK	(0x2 << 16)
> > > +#define CCDR	0x4
> > > +#define xPLL_CLR(offset)		 (offset + 0x8)
> > > +
> > > +static const char *pll_bypass_src_sels[] = { "osc", "dummy", };
> > 
> > All these should be const char * const unless something is wrong.
> 
> If changed to 'const char * const', it vill has argument type mismatch error, as imx_clk_* wrapper function
> has argument type 'const char *'. 

Hmm that's unfortunate.

> 
> > 
> > > +static const char *pll1_bypass_sels[] = { "pll1", "pll1_bypass_src",
> > > +}; static const char *pll2_bypass_sels[] = { "pll2",
> > > +"pll2_bypass_src", }; static const char *pll3_bypass_sels[] = {
> > > +"pll3", "pll3_bypass_src", }; static const char *pll4_bypass_sels[] =
> > > +{ "pll4", "pll4_bypass_src", }; static const char *pll5_bypass_sels[]
> > > += { "pll5", "pll5_bypass_src", }; static const char
> > > +*pll6_bypass_sels[] = { "pll6", "pll6_bypass_src", };
> > [...]
> > > +	clks[IMX6SLL_CLK_USDHC3]	= imx_clk_gate2("usdhc3",
> > 	"usdhc3_podf",	 base + 0x80,	6);
> > > +
> > > +	/* mask handshake of mmdc */
> > > +	writel_relaxed(BM_CCM_CCDR_MMDC_CH0_MASK, base + CCDR);
> > > +
> > > +	for (i = 0; i < ARRAY_SIZE(clks); i++)
> > > +		if (IS_ERR(clks[i]))
> > > +			pr_err("i.MX6SLL clk %d: register failed with %ld\n", i,
> > > +PTR_ERR(clks[i]));
> > > +
> > > +	clk_data.clks = clks;
> > > +	clk_data.clk_num = ARRAY_SIZE(clks);
> > > +	of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data);
> > > +
> > > +	/* set perclk to from OSC */
> > > +	clk_set_parent(clks[IMX6SLL_CLK_PERCLK_SEL],
> > clks[IMX6SLL_CLK_OSC]);
> > 
> > Can this be done with assigned-clocks in DT?
> 
> Ok, I will move it to assigned-clocks in DT.
> 
> > 
> > > +
> > > +	for (i = 0; i < ARRAY_SIZE(clks_init_on); i++)
> > > +		clk_prepare_enable(clks[clks_init_on[i]]);
> > 
> > Critical clocks?
> 
> Yes, these clocks must be always on. 
> 
> > 
> > > +
> > > +	if (IS_ENABLED(CONFIG_USB_MXS_PHY)) {
> > > +		clk_prepare_enable(clks[IMX6SLL_CLK_USBPHY1_GATE]);
> > > +		clk_prepare_enable(clks[IMX6SLL_CLK_USBPHY2_GATE]);
> > 
> > The phy driver can't enable these?
> 
> The reason why we enable these two clks here is in below commit
> commit a5120e89e7e187a91852896f586876c7a2030804
> Author: Peter Chen <peter.chen@freescale.com>
> Date:   Fri Jan 18 10:38:05 2013 +0800
>       ARM i.MX6: change mxs usbphy clock usage
> 

So can we mark these clks with CLK_IS_CRITICAL flag then instead?
Or are they disabled out of the bootloader?

> > 
> > > +	}
> > > +
> > > +	/* Lower the AHB clock rate before changing the clock source. */
> > > +	clk_set_rate(clks[IMX6SLL_CLK_AHB], 99000000);
> > > +
> > > +	/* Change periph_pre clock to pll2_bus to adjust AXI rate to 264MHz */
> > > +	clk_set_parent(clks[IMX6SLL_CLK_PERIPH_CLK2_SEL],
> > clks[IMX6SLL_CLK_PLL3_USB_OTG]);
> > > +	clk_set_parent(clks[IMX6SLL_CLK_PERIPH],
> > clks[IMX6SLL_CLK_PERIPH_CLK2]);
> > > +	clk_set_parent(clks[IMX6SLL_CLK_PERIPH_PRE],
> > clks[IMX6SLL_CLK_PLL2_BUS]);
> > > +	clk_set_parent(clks[IMX6SLL_CLK_PERIPH],
> > > +clks[IMX6SLL_CLK_PERIPH_PRE]);
> > > +
> > > +	clk_set_rate(clks[IMX6SLL_CLK_AHB], 132000000);
> > 
> > assigned-clocks for rates now? Or perhaps we shouldn't be exposing these as
> > clks if they have some sort of complicated rate sequence switch that we can't
> > guarantee with the clk_ops we have today.
> 
> These clks will be used by some peripherals, so we need to expose these clocks.
> And the above parent and rate swith sequence is not very easy to be handled in assigned-clocks,
> So we leave it in this place. 
> 

How do we guarantee that the rate switch doesn't happen later on,
requiring this coordinated sequence of clk operations?

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

  reply	other threads:[~2017-01-12 22:05 UTC|newest]

Thread overview: 113+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-27  9:47 [PATCH v2 00/12] Add basic code support for imx6sll Bai Ping
2016-12-27  9:47 ` Bai Ping
2016-12-27  9:47 ` Bai Ping
2016-12-27  9:47 ` [PATCH v2 01/12] ARM: imx: Add basic msl " Bai Ping
2016-12-27  9:47   ` Bai Ping
2016-12-27  9:47   ` Bai Ping
2016-12-27  9:47 ` [PATCH v2 02/12] driver: clocksource: add gpt timer " Bai Ping
2016-12-27  9:47   ` Bai Ping
2016-12-27  9:47   ` Bai Ping
2017-01-09 10:30   ` Daniel Lezcano
2017-01-09 10:30     ` Daniel Lezcano
2017-01-09 10:30     ` Daniel Lezcano
2016-12-27  9:47 ` [PATCH v2 03/12] Document: dt: binding: imx: update clock doc " Bai Ping
2016-12-27  9:47   ` Bai Ping
2016-12-27  9:47   ` Bai Ping
2017-01-03 17:48   ` Rob Herring
2017-01-03 17:48     ` Rob Herring
2017-01-03 17:48     ` Rob Herring
2016-12-27  9:47 ` [PATCH v2 04/12] driver: clk: imx: Add clock driver " Bai Ping
2016-12-27  9:47   ` Bai Ping
2016-12-27  9:47   ` Bai Ping
2017-01-03 17:49   ` Rob Herring
2017-01-03 17:49     ` Rob Herring
2017-01-03 17:49     ` Rob Herring
2017-01-10  0:37   ` Stephen Boyd
2017-01-10  0:37     ` Stephen Boyd
2017-01-10  0:37     ` Stephen Boyd
2017-01-10  3:18     ` Jacky Bai
2017-01-10  3:18       ` Jacky Bai
2017-01-10  3:18       ` Jacky Bai
2017-01-12 22:05       ` Stephen Boyd [this message]
2017-01-12 22:05         ` Stephen Boyd
2017-01-12 22:05         ` Stephen Boyd
2017-01-13  3:04         ` Jacky Bai
2017-01-13  3:04           ` Jacky Bai
2017-01-13  3:04           ` Jacky Bai
2017-01-21  1:00           ` Stephen Boyd
2017-01-21  1:00             ` Stephen Boyd
2017-01-21  1:00             ` Stephen Boyd
2017-01-22  2:14             ` Jacky Bai
2017-01-22  2:14               ` Jacky Bai
2017-01-22  2:14               ` Jacky Bai
2016-12-27  9:47 ` [PATCH v2 05/12] Document: dt: binding: imx: update pinctrl doc " Bai Ping
2016-12-27  9:47   ` Bai Ping
2016-12-27  9:47   ` Bai Ping
2016-12-27 12:59   ` Linus Walleij
2016-12-27 12:59     ` Linus Walleij
2017-01-09  2:32     ` Jacky Bai
2017-01-09  2:32       ` Jacky Bai
2017-01-09  2:32       ` Jacky Bai
2017-01-11 14:33       ` Linus Walleij
2017-01-11 14:33         ` Linus Walleij
2017-01-11 14:33         ` Linus Walleij
2017-01-12  2:57         ` Jacky Bai
2017-01-12  2:57           ` Jacky Bai
2017-01-12  2:57           ` Jacky Bai
2017-01-13 15:22           ` Linus Walleij
2017-01-13 15:22             ` Linus Walleij
2017-01-17  6:35             ` Jacky Bai
2017-01-17  6:35               ` Jacky Bai
2017-01-17  6:35               ` Jacky Bai
2017-01-18 12:24               ` Linus Walleij
2017-01-18 12:24                 ` Linus Walleij
2017-01-18 12:24                 ` Linus Walleij
2017-01-23  6:04                 ` Shawn Guo
2017-01-23  6:04                   ` Shawn Guo
2017-01-23  7:17                   ` Jacky Bai
2017-01-23  7:17                     ` Jacky Bai
2017-01-23  7:17                     ` Jacky Bai
2017-01-26 14:05                     ` Linus Walleij
2017-01-26 14:05                       ` Linus Walleij
2017-02-16  7:51     ` Dong Aisheng
2017-02-16  7:51       ` Dong Aisheng
2017-02-16  7:51       ` Dong Aisheng
2017-02-24  9:02       ` Dong Aisheng
2017-02-24  9:02         ` Dong Aisheng
2017-02-24  9:02         ` Dong Aisheng
2017-03-14 13:54       ` Linus Walleij
2017-03-14 13:54         ` Linus Walleij
2017-03-15 14:05         ` Dong Aisheng
2017-03-15 14:05           ` Dong Aisheng
2017-03-15 14:05           ` Dong Aisheng
2016-12-27  9:47 ` [PATCH v2 06/12] driver: pinctrl: imx: Add pinctrl driver support " Bai Ping
2016-12-27  9:47   ` Bai Ping
2016-12-27  9:47   ` Bai Ping
2016-12-27 13:01   ` Linus Walleij
2016-12-27 13:01     ` Linus Walleij
2016-12-27 13:01     ` Linus Walleij
2017-01-03  1:00     ` Jacky Bai
2017-01-03  1:00       ` Jacky Bai
2017-01-03  1:00       ` Jacky Bai
2016-12-27  9:47 ` [PATCH v2 07/12] ARM: dts: imx: Add basic dtsi " Bai Ping
2016-12-27  9:47   ` Bai Ping
2016-12-27  9:47 ` [PATCH v2 08/12] ARM: dts: imx: Add imx6sll EVK board dts support Bai Ping
2016-12-27  9:47   ` Bai Ping
2016-12-27  9:47   ` Bai Ping
2016-12-27  9:47 ` [PATCH v2 09/12] ARM: debug: Add low level debug support for imx6sll Bai Ping
2016-12-27  9:47   ` Bai Ping
2016-12-27  9:47   ` Bai Ping
2016-12-27  9:47 ` [PATCH v2 10/12] ARM: imx: Add suspend/resume " Bai Ping
2016-12-27  9:47   ` Bai Ping
2016-12-27  9:47   ` Bai Ping
2016-12-27  9:47 ` [PATCH v2 11/12] ARM: imx: correct i.mx6sll dram io low power mode Bai Ping
2016-12-27  9:47   ` Bai Ping
2016-12-27  9:47   ` Bai Ping
2016-12-27  9:47 ` [PATCH v2 12/12] ARM: configs: enable imx6sll support in defconfig Bai Ping
2016-12-27  9:47   ` Bai Ping
2016-12-27  9:47   ` Bai Ping
2017-01-23  6:10 ` [PATCH v2 00/12] Add basic code support for imx6sll Shawn Guo
2017-01-23  6:10   ` Shawn Guo
2017-01-23  7:18   ` Jacky Bai
2017-01-23  7:18     ` Jacky Bai
2017-01-23  7:18     ` Jacky Bai

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=20170112220536.GP17126@codeaurora.org \
    --to=sboyd@codeaurora.org \
    --cc=daniel.lezcano@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=fabio.estevam@nxp.com \
    --cc=jacky.baip@gmail.com \
    --cc=kernel@pengutronix.de \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mturquette@baylibre.com \
    --cc=p.zabel@pengutronix.de \
    --cc=ping.bai@nxp.com \
    --cc=robh+dt@kernel.org \
    --cc=shawnguo@kernel.org \
    --cc=tglx@linutronix.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.