From: plagnioj@jcrosoft.com (Jean-Christophe PLAGNIOL-VILLARD)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/9] ARM: SPMP8000: Add machine base files
Date: Sun, 16 Oct 2011 22:52:21 +0200 [thread overview]
Message-ID: <20111016205221.GL1459@game.jcrosoft.org> (raw)
In-Reply-To: <201110162259.19960.arnd@arndb.de>
On 22:59 Sun 16 Oct , Arnd Bergmann wrote:
> On Sunday 16 October 2011, Zoltan Devai wrote:
> > 2011/10/11 Arnd Bergmann <arnd@arndb.de>:
> > > On Sunday 09 October 2011, Zoltan Devai wrote:
> > >> +
> > >> +/* Static mappings:
> > >> + * SCU: timer needs clk support which is inited in init_early
> > >> + * UART: needed for earlyprintk
> > >> + */
> > >> +static struct map_desc io_desc[] __initdata = {
> > >> + {
> > >> + .virtual = IO_ADDRESS(SPMP8000_SCU_A_BASE),
> > >> + .pfn = __phys_to_pfn(SPMP8000_SCU_A_BASE),
> > >> + .length = SPMP8000_SCU_A_SIZE,
> > >> + .type = MT_DEVICE,
> > >> + }, {
> > >> + .virtual = IO_ADDRESS(SPMP8000_SCU_B_BASE),
> > >> + .pfn = __phys_to_pfn(SPMP8000_SCU_B_BASE),
> > >> + .length = SPMP8000_SCU_B_SIZE,
> > >> + .type = MT_DEVICE,
> > >> + }, {
> > >> + .virtual = IO_ADDRESS(SPMP8000_SCU_C_BASE),
> > >> + .pfn = __phys_to_pfn(SPMP8000_SCU_C_BASE),
> > >> + .length = SPMP8000_SCU_C_SIZE,
> > >> + .type = MT_DEVICE,
> > >> + },
> > >
> > > With Nicolas Pitre's rework of the MMIO space handling, I think it
> > > would be nice to just use a single area that spans all of the devices
> > > so you can do an optimized ioremap and huge TLBs. Unfortunately
> > > that series won't make it into 3.2, but if you just set up a large
> > > area now, it will automatically work.
> > What do you mean by 'all of the devices' ?
> > These three, or all MMIO peripherals ?
> > These are at addresses 0x90005000, 0x92005000 and 0x93007000.
> > So either a 50 or 256 MB area, but both seem like a waste of
> > virtual memory space.
>
> I was thinking of mapping everything that your IO_ADDRESS macro covers,
> which should be something like 240 MB starting at 0x90000000/0xf0000000.
> On most ARM9 platforms, virtual memory is not really contraint at all
> because there is not all that much physical memory. Also, you currently
> reserve the entire 0xf0000000 segment for MMIO ranges, so I would
> expect that you can keep doing that after the cleanup.
>
> > >> +#ifdef CONFIG_DEBUG_LL
> > >> + {
> > >> + .virtual = IO_ADDRESS(SPMP8000_UARTC0_BASE),
> > >> + .pfn = __phys_to_pfn(SPMP8000_UARTC0_BASE),
> > >> + .length = SPMP8000_UARTC0_SIZE,
> > >> + .type = MT_DEVICE,
> > >> + },
> > >> +#endif
> > >> +};
> > >>
> > > And it would be nice to move this into a separate file that handles the
> > > early debug code, as prima2 does.
> > Prima2 doesn't have other static mappings. In my case, that would
> > mean a separate map_desc table in lluart.c and an
> > #ifdef CONFIG_DEBUG_LL in the map_io call.
> > Is it worth it ?
>
> Yes, it's worth it. Don't do the #ifdef in the map_io call though, do
> it in the header file that declares the function prototype.
>
> > BTW, the static mappings are only needed to be able to set up the
> > clk stuff in init_early. That in turn is only needed for the timer code to
> > determinate its input clock.
> > If I would hard-code the timer clock rate in its driver (the bootloader is
> > very unlikely to change), then I could init the clk driver from
> > machine_init and get rid of these mappings.
> > How about that ?
>
> Maybe you can just pass the clock rate in the device tree then. If the boot
> loader changes it, it can still pass the correct rate and you don't
> need the early mappings for functional reasons any more.
please don't update the DT from the bootloader, I'll recommand you to limit
your bootloader to just update the strict minimun (same as ATAG) and touch
noting else
Best Regards,
J.
next prev parent reply other threads:[~2011-10-16 20:52 UTC|newest]
Thread overview: 103+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-09 16:36 Add support for the SPMP8000 SoC and Letcool board Zoltan Devai
2011-10-09 16:36 ` [PATCH 1/9] ARM: vic: Don't write to the read-only register VIC_IRQ_STATUS Zoltan Devai
2011-10-10 1:35 ` Linus Walleij
2011-10-10 13:59 ` Zoltan Devai
2011-10-09 16:36 ` [PATCH 2/9] ARM: SPMP8000: Add machine base files Zoltan Devai
2011-10-09 17:22 ` Jamie Iles
2011-10-10 11:36 ` Zoltan Devai
2011-10-10 11:52 ` Jamie Iles
2011-10-11 14:44 ` Arnd Bergmann
2011-10-16 14:10 ` Zoltan Devai
2011-10-16 15:57 ` Russell King - ARM Linux
2011-10-16 20:59 ` Arnd Bergmann
2011-10-16 20:52 ` Jean-Christophe PLAGNIOL-VILLARD [this message]
2011-10-17 11:44 ` Arnd Bergmann
2011-10-17 11:44 ` Arnd Bergmann
2011-10-09 16:36 ` [PATCH 3/9] ARM: SPMP8000: Add clk support Zoltan Devai
2011-10-13 9:38 ` Russell King - ARM Linux
2011-10-16 14:16 ` Zoltan Devai
2011-10-17 12:15 ` Mark Brown
2011-10-18 10:18 ` Russell King - ARM Linux
2011-10-09 16:36 ` [PATCH 4/9] ARM: SPMP8000: Add ADC driver Zoltan Devai
2011-10-10 1:29 ` Linus Walleij
2011-10-10 1:29 ` Linus Walleij
2011-10-10 9:42 ` Jonathan Cameron
2011-10-10 9:42 ` Jonathan Cameron
2011-10-10 9:46 ` Jonathan Cameron
2011-10-10 9:46 ` Jonathan Cameron
2011-10-10 10:00 ` Mark Brown
2011-10-10 10:00 ` Mark Brown
2011-10-10 11:42 ` Zoltan Devai
2011-10-10 11:42 ` Zoltan Devai
2011-10-10 11:44 ` Mark Brown
2011-10-10 11:44 ` Mark Brown
2011-10-11 14:17 ` Arnd Bergmann
2011-10-11 14:17 ` Arnd Bergmann
2011-10-11 14:40 ` Mark Brown
2011-10-11 14:40 ` Mark Brown
2011-10-11 15:24 ` Arnd Bergmann
2011-10-11 15:24 ` Arnd Bergmann
2011-10-11 15:39 ` Jonathan Cameron
2011-10-11 15:39 ` Jonathan Cameron
2011-10-12 14:42 ` Mark Brown
2011-10-12 14:42 ` Mark Brown
2011-10-12 15:41 ` Jonathan Cameron
2011-10-12 15:41 ` Jonathan Cameron
2011-10-13 9:47 ` Russell King - ARM Linux
2011-10-13 9:47 ` Russell King - ARM Linux
2011-10-13 11:09 ` Linus Walleij
2011-10-13 11:09 ` Linus Walleij
2011-10-13 11:35 ` Jonathan Cameron
2011-10-13 11:35 ` Jonathan Cameron
2011-10-13 11:35 ` Mark Brown
2011-10-13 11:35 ` Mark Brown
2011-10-13 12:17 ` Russell King - ARM Linux
2011-10-13 12:17 ` Russell King - ARM Linux
2011-10-13 14:19 ` Arnd Bergmann
2011-10-13 14:19 ` Arnd Bergmann
2011-10-13 14:27 ` Mark Brown
2011-10-13 14:27 ` Mark Brown
2011-10-13 14:38 ` Mark Brown
2011-10-13 14:38 ` Mark Brown
2011-10-13 14:56 ` Arnd Bergmann
2011-10-13 14:56 ` Arnd Bergmann
2011-10-13 16:25 ` Mark Brown
2011-10-13 16:25 ` Mark Brown
2011-10-09 16:36 ` [PATCH 5/9] ARM: SPMP8000: Add pinmux driver Zoltan Devai
2011-10-10 1:32 ` Linus Walleij
2011-10-10 8:01 ` Barry Song
2011-10-10 8:34 ` Linus Walleij
2011-10-09 16:36 ` [PATCH 6/9] ARM: SPMP8000: Add pwm driver Zoltan Devai
2011-10-10 1:50 ` Linus Walleij
2011-10-10 9:30 ` Sascha Hauer
2011-10-09 16:36 ` [PATCH 7/9] ARM: SPMP8000: Add dts file of SPMP8000 SoC and Letcool board Zoltan Devai
2011-10-10 8:54 ` Jamie Iles
2011-10-09 16:36 ` [PATCH 8/9] ARM: SPMP8000: Add support for the " Zoltan Devai
2011-10-11 14:09 ` Arnd Bergmann
2011-10-11 14:43 ` Zoltan Devai
2011-10-11 15:18 ` Arnd Bergmann
2011-10-13 9:54 ` Russell King - ARM Linux
2011-10-09 16:36 ` [PATCH 9/9] ARM: SPMP8000: Add Kconfig and Makefile entries to build the machine Zoltan Devai
2011-10-09 17:25 ` Jamie Iles
2011-10-10 1:43 ` Linus Walleij
2011-10-13 9:53 ` Russell King - ARM Linux
2011-10-10 8:55 ` Add support for the SPMP8000 SoC and Letcool board Jamie Iles
2011-10-10 12:00 ` Zoltan Devai
2011-10-10 12:03 ` Jamie Iles
2011-10-11 14:57 ` Arnd Bergmann
[not found] ` <1319040118-29773-1-git-send-email-zoss@devai.org>
2011-10-19 16:01 ` [PATCH v2 1/5] ARM: SPMP8000: Add machine base files Zoltan Devai
2011-10-19 19:15 ` Arnd Bergmann
2011-10-21 22:54 ` Russell King - ARM Linux
2011-10-23 21:47 ` Zoltan Devai
2011-10-23 21:37 ` Zoltan Devai
2011-10-24 9:13 ` Arnd Bergmann
2011-10-24 11:00 ` Jamie Iles
2011-11-02 13:29 ` Zoltan Devai
2011-11-03 15:08 ` Arnd Bergmann
2011-10-19 16:01 ` [PATCH v2 2/5] ARM: SPMP8000: Add clk support Zoltan Devai
2011-10-19 16:01 ` [PATCH v2 3/5] ARM: SPMP8000: Add clocksource and clockevent drivers Zoltan Devai
2011-10-19 16:01 ` [PATCH v2 4/5] ARM: SPMP8000: Add SPMP8000 SoC and Letcool board dts descriptions Zoltan Devai
2011-10-19 16:01 ` Zoltan Devai
2011-10-24 12:47 ` Rob Herring
2011-10-24 12:47 ` Rob Herring
2011-10-19 16:01 ` [PATCH v2 5/5] ARM: SPMP8000: Add Kconfig and Makefile entries Zoltan Devai
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=20111016205221.GL1459@game.jcrosoft.org \
--to=plagnioj@jcrosoft.com \
--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.