All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Cousson, Benoit" <b-cousson@ti.com>
To: Paul Walmsley <paul@pwsan.com>
Cc: "Kristo, Tero" <t-kristo@ti.com>,
	"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCHv9 03/18] TEMP: OMAP3xxx: hwmod data: add PRM hwmod
Date: Mon, 10 Oct 2011 21:54:33 +0200	[thread overview]
Message-ID: <4E934D79.4080000@ti.com> (raw)
In-Reply-To: <alpine.DEB.2.00.1110101320180.5205@utopia.booyaka.com>

Hi Paul,

On 10/10/2011 9:24 PM, Paul Walmsley wrote:
> Hi Tero
>
> On Fri, 23 Sep 2011, Tero Kristo wrote:
>
>> This patch is temporary until Paul can provide a final version.
>>
>> Signed-off-by: Tero Kristo<t-kristo@ti.com>
>
> Here's an updated version of this one.  The one change is that the hwmod's
> name is now "prm3xxx" to reflect that the register layout of this IP block
> is quite different from its OMAP2 predecessors and OMAP4 successors.
> This should avoid some of the special-purpose driver probing code.

This is not really aligned with the naming convention we've been using 
so far.
In both cases, the hwmod should just be named "prm". If a version 
information is needed, then it should be added in the revision class field.

It will make the device creation even simpler and not dependent of the 
SoC version.
I did not check the whole series, but I'm not sure we need a special 
treatment in the case of the prm.

Regards,
Benoit

>
>
> - Paul
>
> From: Paul Walmsley<paul@pwsan.com>
> Date: Mon, 10 Oct 2011 13:11:11 -0600
> Subject: [PATCH] OMAP3xxx: hwmod data: add PRM hwmod
>
> Add a hwmod for the Power&  Reset Management (PRM) IP block that is
> present on OMAP3xxx SoCs.
>
> Signed-off-by: Paul Walmsley<paul@pwsan.com>
> ---
>   arch/arm/mach-omap2/omap_hwmod_3xxx_data.c |   62 ++++++++++++++++++++++++++++
>   1 files changed, 62 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> index ab35acb..382fad9 100644
> --- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> +++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> @@ -160,6 +160,7 @@ static struct omap_hwmod omap3xxx_l3_main_hwmod = {
>   };
>
>   static struct omap_hwmod omap3xxx_l4_wkup_hwmod;
> +static struct omap_hwmod omap3xxx_prm_hwmod;
>   static struct omap_hwmod omap3xxx_uart1_hwmod;
>   static struct omap_hwmod omap3xxx_uart2_hwmod;
>   static struct omap_hwmod omap3xxx_uart3_hwmod;
> @@ -475,6 +476,29 @@ static struct omap_hwmod omap3xxx_l4_per_hwmod = {
>   	.flags		= HWMOD_NO_IDLEST,
>   };
>
> +static struct omap_hwmod_addr_space omap3xxx_prm_addrs[] = {
> +	{
> +		.pa_start	= 0x48306000,
> +		.pa_end		= 0x48306000 + SZ_8K + SZ_4K - 1,
> +		.flags		= ADDR_TYPE_RT
> +	},
> +	{ }
> +};
> +
> +/* L4_WKUP ->  PRM interface */
> +static struct omap_hwmod_ocp_if omap3xxx_l4_wkup__prm = {
> +	.master		=&omap3xxx_l4_wkup_hwmod,
> +	.slave		=&omap3xxx_prm_hwmod,
> +	.clk		= "wkup_l4_ick",
> +	.addr		= omap3xxx_prm_addrs,
> +	.user		= OCP_USER_MPU,
> +};
> +
> +/* Master interfaces on the L4_WKUP interconnect */
> +static struct omap_hwmod_ocp_if *omap3xxx_l4_wkup_masters[] = {
> +	&omap3xxx_l4_wkup__prm,
> +};
> +
>   /* Slave interfaces on the L4_WKUP interconnect */
>   static struct omap_hwmod_ocp_if *omap3xxx_l4_wkup_slaves[] = {
>   	&omap3xxx_l4_core__l4_wkup,
> @@ -484,11 +508,46 @@ static struct omap_hwmod_ocp_if *omap3xxx_l4_wkup_slaves[] = {
>   static struct omap_hwmod omap3xxx_l4_wkup_hwmod = {
>   	.name		= "l4_wkup",
>   	.class		=&l4_hwmod_class,
> +	.masters	= omap3xxx_l4_wkup_masters,
> +	.masters_cnt	= ARRAY_SIZE(omap3xxx_l4_wkup_masters),
>   	.slaves		= omap3xxx_l4_wkup_slaves,
>   	.slaves_cnt	= ARRAY_SIZE(omap3xxx_l4_wkup_slaves),
>   	.flags		= HWMOD_NO_IDLEST,
>   };
>
> +/* Slave interfaces on the L4_WKUP interconnect */
> +static struct omap_hwmod_ocp_if *omap3xxx_prm_slaves[] = {
> +	&omap3xxx_l4_wkup__prm,
> +};
> +
> +static struct omap_hwmod_class_sysconfig omap3xxx_prm_sysc = {
> +	.rev_offs	= 0x0804,
> +	.sysc_offs	= 0x0814,
> +	.sysc_flags	= SYSC_HAS_AUTOIDLE,
> +	.sysc_fields	=&omap_hwmod_sysc_type1,
> +};
> +
> +static struct omap_hwmod_class omap3xxx_prm_hwmod_class = {
> +	.name		= "prm",
> +	.sysc		=&omap3xxx_prm_sysc,
> +};
> +
> +static struct omap_hwmod_irq_info omap3xxx_prm_irqs[] = {
> +	{ .irq = 11 },
> +	{ .irq = -1 }
> +};
> +
> +/* PRM */
> +static struct omap_hwmod omap3xxx_prm_hwmod = {
> +	.name		= "prm3xxx",
> +	.mpu_irqs	= omap3xxx_prm_irqs,
> +	.class		=&omap3xxx_prm_hwmod_class,
> +	.main_clk	= "wkup_32k_fck",
> +	.slaves		= omap3xxx_prm_slaves,
> +	.slaves_cnt	= ARRAY_SIZE(omap3xxx_prm_slaves),
> +	.flags		= HWMOD_NO_IDLEST,
> +};
> +
>   /* Master interfaces on the MPU device */
>   static struct omap_hwmod_ocp_if *omap3xxx_mpu_masters[] = {
>   	&omap3xxx_mpu__l3_main,
> @@ -3128,6 +3187,9 @@ static __initdata struct omap_hwmod *omap3xxx_hwmods[] = {
>   	&omap3xxx_l4_core_hwmod,
>   	&omap3xxx_l4_per_hwmod,
>   	&omap3xxx_l4_wkup_hwmod,
> +
> +	&omap3xxx_prm_hwmod,
> +
>   	&omap3xxx_mmc1_hwmod,
>   	&omap3xxx_mmc2_hwmod,
>   	&omap3xxx_mmc3_hwmod,

WARNING: multiple messages have this Message-ID (diff)
From: b-cousson@ti.com (Cousson, Benoit)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCHv9 03/18] TEMP: OMAP3xxx: hwmod data: add PRM hwmod
Date: Mon, 10 Oct 2011 21:54:33 +0200	[thread overview]
Message-ID: <4E934D79.4080000@ti.com> (raw)
In-Reply-To: <alpine.DEB.2.00.1110101320180.5205@utopia.booyaka.com>

Hi Paul,

On 10/10/2011 9:24 PM, Paul Walmsley wrote:
> Hi Tero
>
> On Fri, 23 Sep 2011, Tero Kristo wrote:
>
>> This patch is temporary until Paul can provide a final version.
>>
>> Signed-off-by: Tero Kristo<t-kristo@ti.com>
>
> Here's an updated version of this one.  The one change is that the hwmod's
> name is now "prm3xxx" to reflect that the register layout of this IP block
> is quite different from its OMAP2 predecessors and OMAP4 successors.
> This should avoid some of the special-purpose driver probing code.

This is not really aligned with the naming convention we've been using 
so far.
In both cases, the hwmod should just be named "prm". If a version 
information is needed, then it should be added in the revision class field.

It will make the device creation even simpler and not dependent of the 
SoC version.
I did not check the whole series, but I'm not sure we need a special 
treatment in the case of the prm.

Regards,
Benoit

>
>
> - Paul
>
> From: Paul Walmsley<paul@pwsan.com>
> Date: Mon, 10 Oct 2011 13:11:11 -0600
> Subject: [PATCH] OMAP3xxx: hwmod data: add PRM hwmod
>
> Add a hwmod for the Power&  Reset Management (PRM) IP block that is
> present on OMAP3xxx SoCs.
>
> Signed-off-by: Paul Walmsley<paul@pwsan.com>
> ---
>   arch/arm/mach-omap2/omap_hwmod_3xxx_data.c |   62 ++++++++++++++++++++++++++++
>   1 files changed, 62 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> index ab35acb..382fad9 100644
> --- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> +++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> @@ -160,6 +160,7 @@ static struct omap_hwmod omap3xxx_l3_main_hwmod = {
>   };
>
>   static struct omap_hwmod omap3xxx_l4_wkup_hwmod;
> +static struct omap_hwmod omap3xxx_prm_hwmod;
>   static struct omap_hwmod omap3xxx_uart1_hwmod;
>   static struct omap_hwmod omap3xxx_uart2_hwmod;
>   static struct omap_hwmod omap3xxx_uart3_hwmod;
> @@ -475,6 +476,29 @@ static struct omap_hwmod omap3xxx_l4_per_hwmod = {
>   	.flags		= HWMOD_NO_IDLEST,
>   };
>
> +static struct omap_hwmod_addr_space omap3xxx_prm_addrs[] = {
> +	{
> +		.pa_start	= 0x48306000,
> +		.pa_end		= 0x48306000 + SZ_8K + SZ_4K - 1,
> +		.flags		= ADDR_TYPE_RT
> +	},
> +	{ }
> +};
> +
> +/* L4_WKUP ->  PRM interface */
> +static struct omap_hwmod_ocp_if omap3xxx_l4_wkup__prm = {
> +	.master		=&omap3xxx_l4_wkup_hwmod,
> +	.slave		=&omap3xxx_prm_hwmod,
> +	.clk		= "wkup_l4_ick",
> +	.addr		= omap3xxx_prm_addrs,
> +	.user		= OCP_USER_MPU,
> +};
> +
> +/* Master interfaces on the L4_WKUP interconnect */
> +static struct omap_hwmod_ocp_if *omap3xxx_l4_wkup_masters[] = {
> +	&omap3xxx_l4_wkup__prm,
> +};
> +
>   /* Slave interfaces on the L4_WKUP interconnect */
>   static struct omap_hwmod_ocp_if *omap3xxx_l4_wkup_slaves[] = {
>   	&omap3xxx_l4_core__l4_wkup,
> @@ -484,11 +508,46 @@ static struct omap_hwmod_ocp_if *omap3xxx_l4_wkup_slaves[] = {
>   static struct omap_hwmod omap3xxx_l4_wkup_hwmod = {
>   	.name		= "l4_wkup",
>   	.class		=&l4_hwmod_class,
> +	.masters	= omap3xxx_l4_wkup_masters,
> +	.masters_cnt	= ARRAY_SIZE(omap3xxx_l4_wkup_masters),
>   	.slaves		= omap3xxx_l4_wkup_slaves,
>   	.slaves_cnt	= ARRAY_SIZE(omap3xxx_l4_wkup_slaves),
>   	.flags		= HWMOD_NO_IDLEST,
>   };
>
> +/* Slave interfaces on the L4_WKUP interconnect */
> +static struct omap_hwmod_ocp_if *omap3xxx_prm_slaves[] = {
> +	&omap3xxx_l4_wkup__prm,
> +};
> +
> +static struct omap_hwmod_class_sysconfig omap3xxx_prm_sysc = {
> +	.rev_offs	= 0x0804,
> +	.sysc_offs	= 0x0814,
> +	.sysc_flags	= SYSC_HAS_AUTOIDLE,
> +	.sysc_fields	=&omap_hwmod_sysc_type1,
> +};
> +
> +static struct omap_hwmod_class omap3xxx_prm_hwmod_class = {
> +	.name		= "prm",
> +	.sysc		=&omap3xxx_prm_sysc,
> +};
> +
> +static struct omap_hwmod_irq_info omap3xxx_prm_irqs[] = {
> +	{ .irq = 11 },
> +	{ .irq = -1 }
> +};
> +
> +/* PRM */
> +static struct omap_hwmod omap3xxx_prm_hwmod = {
> +	.name		= "prm3xxx",
> +	.mpu_irqs	= omap3xxx_prm_irqs,
> +	.class		=&omap3xxx_prm_hwmod_class,
> +	.main_clk	= "wkup_32k_fck",
> +	.slaves		= omap3xxx_prm_slaves,
> +	.slaves_cnt	= ARRAY_SIZE(omap3xxx_prm_slaves),
> +	.flags		= HWMOD_NO_IDLEST,
> +};
> +
>   /* Master interfaces on the MPU device */
>   static struct omap_hwmod_ocp_if *omap3xxx_mpu_masters[] = {
>   	&omap3xxx_mpu__l3_main,
> @@ -3128,6 +3187,9 @@ static __initdata struct omap_hwmod *omap3xxx_hwmods[] = {
>   	&omap3xxx_l4_core_hwmod,
>   	&omap3xxx_l4_per_hwmod,
>   	&omap3xxx_l4_wkup_hwmod,
> +
> +	&omap3xxx_prm_hwmod,
> +
>   	&omap3xxx_mmc1_hwmod,
>   	&omap3xxx_mmc2_hwmod,
>   	&omap3xxx_mmc3_hwmod,

  reply	other threads:[~2011-10-10 19:54 UTC|newest]

Thread overview: 110+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-23 12:46 [PATCHv9 00/18] omap PRCM chain handler Tero Kristo
2011-09-23 12:46 ` Tero Kristo
2011-09-23 12:46 ` Tero Kristo
2011-09-23 12:46 ` [PATCHv9 01/18] OMAP2+: hwmod: Add API to enable IO ring wakeup Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-09-23 12:46 ` [PATCHv9 02/18] OMAP2+: hwmod: Add API to check IO PAD wakeup status Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-09-23 12:46 ` [PATCHv9 03/18] TEMP: OMAP3xxx: hwmod data: add PRM hwmod Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-10-10 19:24   ` Paul Walmsley
2011-10-10 19:24     ` Paul Walmsley
2011-10-10 19:54     ` Cousson, Benoit [this message]
2011-10-10 19:54       ` Cousson, Benoit
2011-10-10 20:11       ` Paul Walmsley
2011-10-10 20:11         ` Paul Walmsley
2011-10-10 20:42       ` Paul Walmsley
2011-10-10 20:42         ` Paul Walmsley
2011-10-10 22:17         ` Cousson, Benoit
2011-10-10 22:17           ` Cousson, Benoit
2011-10-10 22:35           ` Paul Walmsley
2011-10-10 22:35             ` Paul Walmsley
2011-10-12  8:14             ` Cousson, Benoit
2011-10-12  8:14               ` Cousson, Benoit
2011-10-10 23:26           ` Paul Walmsley
2011-10-10 23:26             ` Paul Walmsley
2011-10-12  8:16             ` Cousson, Benoit
2011-10-12  8:16               ` Cousson, Benoit
2011-10-13 16:38               ` Paul Walmsley
2011-10-13 16:38                 ` Paul Walmsley
2011-10-13 16:51                 ` Paul Walmsley
2011-10-13 16:51                   ` Paul Walmsley
2011-10-20 14:51                   ` Cousson, Benoit
2011-10-20 14:51                     ` Cousson, Benoit
2011-10-20 15:25                     ` Tero Kristo
2011-10-20 15:25                       ` Tero Kristo
2011-10-20 15:25                       ` Tero Kristo
2011-10-20 14:43                 ` Cousson, Benoit
2011-10-20 14:43                   ` Cousson, Benoit
2011-09-23 12:46 ` [PATCHv9 04/18] TEMP: OMAP4xxx: " Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-09-23 12:46 ` [PATCHv9 05/18] mfd: omap-prm: add driver skeleton Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-11-18 21:35   ` Kevin Hilman
2011-11-18 21:35     ` Kevin Hilman
2011-09-23 12:46 ` [PATCHv9 06/18] mfd: omap-prm: added chain interrupt handler Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-11-17 22:34   ` Kevin Hilman
2011-11-17 22:34     ` Kevin Hilman
2011-11-17 22:34     ` Kevin Hilman
2011-11-18 19:18     ` Felipe Balbi
2011-11-18 19:18       ` Felipe Balbi
2011-11-21 13:10       ` Tero Kristo
2011-11-21 13:10         ` Tero Kristo
2011-11-21 13:10         ` Tero Kristo
2011-09-23 12:46 ` [PATCHv9 07/18] mfd: omap-prm: added suspend prepare and complete callbacks Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-11-18 19:02   ` Kevin Hilman
2011-11-18 19:02     ` Kevin Hilman
2011-11-18 19:02     ` Kevin Hilman
2011-11-21 13:00     ` Tero Kristo
2011-11-21 13:00       ` Tero Kristo
2011-11-21 13:00       ` Tero Kristo
2011-09-23 12:46 ` [PATCHv9 08/18] OMAP2+: mux: add support for PAD wakeup interrupts Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-09-23 12:46 ` [PATCHv9 09/18] omap3: pm: use prcm chain handler Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-09-23 12:46 ` [PATCHv9 10/18] OMAP3: pm: do not enable PRCM MPU interrupts manually Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-09-23 12:46 ` [PATCHv9 11/18] omap3+: add omap prm driver initialization Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-09-23 12:46 ` [PATCHv9 12/18] TEMP: serial: added mux support Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-09-23 12:46 ` [PATCHv9 13/18] TEMP: 4430sdp: use common serial init with " Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-09-23 12:46 ` [PATCHv9 14/18] TEMP: mux: added trace for io wkup event Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-09-23 12:46 ` [PATCHv9 15/18] TEMP: OMAP3: pm: remove serial resume / idle calls from idle path Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-09-23 12:46 ` [PATCHv9 16/18] TEMP: OMAP3: serial: made serial to work properly with PRCM chain handler Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-09-23 12:46 ` [PATCHv9 17/18] TEMP: OMAP: serial: remove padconf hacks Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-09-23 12:46 ` [PATCHv9 18/18] TEMP: OMAP device: change pr_warnings to pr_debugs Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-09-23 12:46   ` Tero Kristo
2011-09-23 22:23 ` [PATCHv9 00/18] omap PRCM chain handler Valdis.Kletnieks
2011-09-23 22:23   ` Valdis.Kletnieks
2011-09-23 22:23   ` Valdis.Kletnieks at vt.edu
2011-09-24  5:24   ` Sripathy, Vishwanath
2011-09-24  5:24     ` Sripathy, Vishwanath
2011-09-24  5:55     ` Valdis.Kletnieks
2011-09-24  5:55       ` Valdis.Kletnieks
2011-09-24  5:55       ` Valdis.Kletnieks at vt.edu

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=4E934D79.4080000@ti.com \
    --to=b-cousson@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=paul@pwsan.com \
    --cc=t-kristo@ti.com \
    /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.