All of lore.kernel.org
 help / color / mirror / Atom feed
From: pavel@denx.de (Pavel Machek)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCHv1 1/2] ARM: socfpga: initial support for Altera's SOCFPGA platform.
Date: Mon, 9 Jul 2012 13:30:21 +0200	[thread overview]
Message-ID: <20120709113021.GB12130@elf.ucw.cz> (raw)
In-Reply-To: <4FF483D2.70000@gmail.com>

Hi!

> > +config ARCH_SOCFPGA
> > +	bool "Altera SOCFPGA family"
> > +	select CPU_V7
> > +	select ARM_GIC
> > +	select ARM_AMBA
> > +	select CLKDEV_LOOKUP
> > +	select MIGHT_HAVE_CACHE_L2X0
> > +	select HAVE_MACH_CLKDEV
> > +	select GENERIC_CLOCKEVENTS
> > +	select ARCH_WANT_OPTIONAL_GPIOLIB
> > +	select GPIO_PL061 if GPIOLIB
> > +	select NEED_MACH_MEMORY_H
> > +	select USE_OF
> 
> Alphabetize the selects.

Umm... Others are not alphabetized, either. Something like this to
group them logically?

> > @@ -1596,6 +1614,7 @@ config HZ
> >  	default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER
> >  	default AT91_TIMER_HZ if ARCH_AT91
> >  	default SHMOBILE_TIMER_HZ if ARCH_SHMOBILE
> > +	default SOCFPGA_TIMER_HZ if ARCH_SOCFPGA
> 
> Is this really needed?

Probably not. Removed.

> > +struct clk_ops {
> > +	long	(*round)(struct clk *, unsigned long);
> > +	int	(*set)(struct clk *, unsigned long);
> > +};
> 
> Use common clk infrastructure.

Yep, done already.

> > +#define IO_SPACE_LIMIT 0xffffffff
> > +
> > +#define __io(a)		__typesafe_io(a)
> > +#define __mem_pci(a)	(a)
> 
> You don't need io.h, remove it.

Will do, thanks.

> > --- /dev/null
> > +++ b/arch/arm/mach-socfpga/include/mach/iomap.h
> > @@ -0,0 +1,37 @@
> > +#include <asm/sizes.h>
> > +
> > +/* macro to get at IO space when running virtually */
> > +#ifdef CONFIG_MMU
> 
> Do you really support !MMU?

No. Will remove.

> > +#define SOFTIRQ_SOCFPGA_GPIO_2_28	(IRQ_SOCFPGA_GIC_START + 269)
> > +#define SOFTIRQ_SOCFPGA_GPIO_2_29	(IRQ_SOCFPGA_GIC_START + 270)
> > +
> 
> All these defines should come from DT.

Yes. Most of them do now, will fix the rest.

> > +#define NR_IRQS			512
> 
> As mentioned, use SPARSE_IRQ.

Fixed. As mentioned :-).

> > +#define PLAT_PHYS_OFFSET	UL(0x00000000)
> > +
> > +#if !defined(__ASSEMBLY__) && defined(CONFIG_ZONE_DMA)
> > +
> > +#define ISA_DMA_THRESHOLD	(PHYS_OFFSET + SZ_256M - 1)
> > +#define MAX_DMA_ADDRESS		(PAGE_OFFSET + SZ_256M)
> > +#endif
> 
> You shouldn't need memory.h.

Ok.

> > --- /dev/null
> > +++ b/arch/arm/mach-socfpga/include/mach/system.h
> > @@ -0,0 +1,31 @@
> > +static inline void arch_idle(void)
> > +{
> > +	/*
> > +	 * This should do all the clock switching
> > +	 * and wait for interrupt tricks
> > +	 */
> > +	cpu_do_idle();
> > +}
> 
> This isn't needed any longer and system.h should be removed.

Ok.

> > --- /dev/null
> > +++ b/arch/arm/mach-socfpga/platsmp.c
...
> > +/*
> > + * control for which core is the next to come out of the secondary
> > + * boot "holding pen"
> > + */
> > +int __cpuinitdata pen_release = -1;
> 
> None of this pen stuff is needed if you properly reset cores when
> hot-unplugged. All this is only needed if you only go to wfi when hot
> unplugged. See highbank platsmp.c for an example without pen code.

Will take a look, thanks!

> > diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig
> > index 101b968..2f9a81e 100644
> > --- a/arch/arm/mm/Kconfig
> > +++ b/arch/arm/mm/Kconfig
> > @@ -381,7 +381,7 @@ config CPU_V6K
> >  
> >  # ARMv7
> >  config CPU_V7
> > -	bool "Support ARM V7 processor" if ARCH_INTEGRATOR || MACH_REALVIEW_EB || MACH_REALVIEW_PBX
> > +	bool "Support ARM V7 processor" if ARCH_INTEGRATOR || MACH_REALVIEW_EB || MACH_REALVIEW_PBX || ARCH_SOCFPGA
> 
> This is not needed.

Already fixed.

Thanks for the review. This is the easy stuff, I'll remove the
memory.h/system.h next, then address the SMP thing.
									Pavel

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index d203253..ab3b389 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -252,18 +252,18 @@ choice
 
 config ARCH_SOCFPGA
 	bool "Altera SOCFPGA family"
-	select CPU_V7
-	select ARM_GIC
 	select ARM_AMBA
-	select CLKDEV_LOOKUP
-	select MIGHT_HAVE_CACHE_L2X0
-	select HAVE_MACH_CLKDEV
-	select GENERIC_CLOCKEVENTS
+	select ARM_GIC
+	select CPU_V7
 	select ARCH_WANT_OPTIONAL_GPIOLIB
 	select GPIO_PL061 if GPIOLIB
+	select CLKDEV_LOOKUP
+	select GENERIC_CLOCKEVENTS
+	select HAVE_MACH_CLKDEV
+	select MIGHT_HAVE_CACHE_L2X0
 	select NEED_MACH_MEMORY_H
-	select USE_OF
 	select SPARSE_IRQ
+	select USE_OF
 	help
 	  This enables support for Altera SOCFPGA Cyclone V platform
 
@@ -1615,7 +1615,6 @@ config HZ
 	default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER
 	default AT91_TIMER_HZ if ARCH_AT91
 	default SHMOBILE_TIMER_HZ if ARCH_SHMOBILE
-	default SOCFPGA_TIMER_HZ if ARCH_SOCFPGA
 	default 100
 
 config THUMB2_KERNEL
diff --git a/arch/arm/mach-socfpga/Kconfig b/arch/arm/mach-socfpga/Kconfig
index 81358e6..7f1b72b 100644
--- a/arch/arm/mach-socfpga/Kconfig
+++ b/arch/arm/mach-socfpga/Kconfig
@@ -6,10 +6,3 @@ config MACH_SOCFPGA_CYCLONE5
 	select COMMON_CLK
 	help
 	  Include support for the Altera(R) Cyclone5 development platform.
-
-config SOCFPGA_TIMER_HZ
-	int "Kernel internal timer frequency "
-	range 20 1024
-	default "100"
-	help
-	  Kernel internal timer frequency should be a divisor of 77161.
diff --git a/arch/arm/mach-socfpga/include/mach/iomap.h b/arch/arm/mach-socfpga/include/mach/iomap.h
index 656482d..d5f8493 100644
--- a/arch/arm/mach-socfpga/include/mach/iomap.h
+++ b/arch/arm/mach-socfpga/include/mach/iomap.h
@@ -20,7 +20,6 @@
 #include <asm/sizes.h>
 
 /* macro to get at IO space when running virtually */
-#ifdef CONFIG_MMU
 /*
  * Statically mapped addresses:
  *
@@ -29,9 +28,6 @@
  * 1fxx xxxx -> fexx xxxx
  */
 #define IO_ADDRESS(x)		(((x) & 0x03ffffff) + 0xfb000000)
-#else
-#define IO_ADDRESS(x)		(x)
-#endif
 #define __io_address(n)		IOMEM(IO_ADDRESS(n))
 
-#endif
\ No newline at end of file
+#endif

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

  reply	other threads:[~2012-07-09 11:30 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-27 13:50 [RFC]Add initial support for Altera's SOCFPGA hardward dinguyen at altera.com
2012-06-27 13:50 ` [RFC PATCHv1 1/2] ARM: socfpga: initial support for Altera's SOCFPGA platform dinguyen at altera.com
2012-06-27 14:20   ` Thomas Petazzoni
2012-06-27 18:05     ` Pavel Machek
2012-06-27 18:40       ` Thomas Petazzoni
2012-06-29 19:54         ` Dinh Nguyen
2012-06-29 22:18           ` Thomas Petazzoni
2012-07-04 16:11             ` Thomas Petazzoni
2012-06-30 21:04         ` Arnd Bergmann
2012-07-01 18:41           ` Pavel Machek
2012-07-02 16:52             ` Arnd Bergmann
2012-07-02 21:53               ` Pavel Machek
2012-10-17 18:16             ` [PATCH] Fix socfpga compilation with early_printk() enabled Pavel Machek
2012-10-25 14:58               ` Arnd Bergmann
2012-10-27 11:56                 ` Pavel Machek
2012-10-27 15:39                   ` Arnd Bergmann
2012-10-28 23:01                     ` arm-soc tree was " Pavel Machek
2012-10-28 23:13                       ` Pavel Machek
2012-10-29  4:41                         ` Arnd Bergmann
2012-10-30 16:03                           ` Pawel Moll
2012-10-29  4:45                       ` Arnd Bergmann
2012-10-29  0:27                     ` [PATCH for soc] socfpga: map uart into virtual address space so that early_printk() works Pavel Machek
2012-11-03 11:26                       ` Pavel Machek
2012-11-05 17:18                         ` Olof Johansson
2012-06-27 20:27     ` [RFC PATCHv1 1/2] ARM: socfpga: initial support for Altera's SOCFPGA platform Pavel Machek
2012-06-30 18:57     ` Pavel Machek
2012-07-01 18:10       ` Pavel Machek
2012-07-04 10:56     ` Pavel Machek
2012-07-04 11:10       ` Thomas Petazzoni
2012-07-04 11:23         ` Pavel Machek
2012-07-04 14:30           ` Dinh Nguyen
2012-07-09 10:58             ` Pavel Machek
2012-07-04 11:15     ` Pavel Machek
2012-07-04 11:21       ` Thomas Petazzoni
2012-07-04 17:56   ` Rob Herring
2012-07-09 11:30     ` Pavel Machek [this message]
2012-07-09 13:25       ` Rob Herring
2012-07-10  9:48         ` Pavel Machek
2012-07-09 11:52     ` Pavel Machek
2012-07-09 12:06     ` Pavel Machek
2012-07-09 12:10     ` Pavel Machek
2012-06-27 13:50 ` [RFC PATCHv1 2/2] ARM: socfpga: Add board support for Altera's SOCFPGA Cyclone 5 HW dinguyen at altera.com
2012-06-27 14:25   ` Thomas Petazzoni
2012-06-27 21:06     ` Pavel Machek
2012-06-27 22:19       ` Thomas Petazzoni
2012-06-28  0:00     ` Pavel Machek
2012-07-10 11:15     ` Pavel Machek

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=20120709113021.GB12130@elf.ucw.cz \
    --to=pavel@denx.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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.