From: linux@rempel-privat.de (Oleksij Rempel)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 1/8] ARM: add mach-asm9260
Date: Tue, 23 Sep 2014 11:00:32 +0200 [thread overview]
Message-ID: <542136B0.3020305@rempel-privat.de> (raw)
In-Reply-To: <71905861.S3QD6rl7jU@wuerfel>
Am 22.09.2014 um 17:08 schrieb Arnd Bergmann:
> On Sunday 21 September 2014 20:41:37 Oleksij Rempel wrote:
>> it is low cost (?) SoC targeted for market in China and India which
>> trying to compete with AT91SAM9G25.
>>
>> Here is some info:
>> http://www.alphascale.com/index.asp?ics/615.html
>>
>> One of products:
>> http://www.aliexpress.com/store/product/2014-hot-sales-FREE-SHIPPING-new-Purple-core-ARM9-development-board-ASM9260T-SDRAM-power-line/433637_1931495721.html
>>
>> Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
>
> Thanks for the submission! It looks pretty good, but has one main mistake
> in being incompatible with ARCH_MULTIPLATFORM. I think that should be easy
> to fix. There are also a few minor issues that can be improved.
>
>> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
>> index 5918d40..1a71feb 100644
>> --- a/arch/arm/Kconfig
>> +++ b/arch/arm/Kconfig
>> @@ -379,6 +379,20 @@ config ARCH_AT91
>> This enables support for systems based on Atmel
>> AT91RM9200 and AT91SAM9* processors.
>>
>> +config MACH_ASM9260
>> + bool "Alphascale ASM9260"
>> + select ARCH_REQUIRE_GPIOLIB
>> + select COMMON_CLK
>> + select IRQ_DOMAIN
>> + select SPARSE_IRQ
>> + select MULTI_IRQ_HANDLER
>> + select GENERIC_IRQ_CHIP
>> + select GENERIC_CLOCKEVENTS
>> + select CLKSRC_MMIO
>> + select CPU_ARM926T
>> + help
>> + Support for Alpascale ASM9260 based platform.
>
> To enable multiplatform support, please move this to its own
> arch/arm/mach-asm9260/Kconfig file and make it depend on ARCH_MULTI_V5,
> then remove all 'select' statements that are implicitly enabled there
> already (most of the above).
Should they be only in defconfig or selected by driver?
>> diff --git a/arch/arm/mach-asm9260/Makefile b/arch/arm/mach-asm9260/Makefile
>> new file mode 100644
>> index 0000000..4bd8ebd
>> --- /dev/null
>> +++ b/arch/arm/mach-asm9260/Makefile
>> @@ -0,0 +1,11 @@
>> +#
>> +# Makefile for the linux kernel.
>> +#
>> +
>> +# Object file lists.
>> +
>> +obj-y := core.o
>> +obj-m :=
>> +obj-n :=
>> +obj- :=
>
> You can remove most of these and just leave the one line.
>
>> diff --git a/arch/arm/mach-asm9260/Makefile.boot b/arch/arm/mach-asm9260/Makefile.boot
>> new file mode 100644
>> index 0000000..c57b3b4
>> --- /dev/null
>> +++ b/arch/arm/mach-asm9260/Makefile.boot
>> @@ -0,0 +1,2 @@
>> +zreladdr-y := 0x20008000
>
> This file should be removed, nowadays we use AUTO_ZRELADDR, which is
> implied by multiplatform.
>
>> +static struct map_desc asm9260_io_desc[] __initdata = {
>> + { /* IO space */
>> + .virtual = (unsigned long)0xf0000000,
>> + .pfn = __phys_to_pfn(0x80000000),
>> + .length = 0x00800000,
>> + .type = MT_DEVICE
>> + },
>> + { /* LCD IO space */
>> + .virtual = (unsigned long)0xf0a00000,
>> + .pfn = __phys_to_pfn(0x80800000),
>> + .length = 0x00009000,
>> + .type = MT_DEVICE
>> + },
>> + { /* GPIO IO space */
>> + .virtual = (unsigned long)0xf0800000,
>> + .pfn = __phys_to_pfn(0x50000000),
>> + .length = 0x00100000,
>> + .type = MT_DEVICE
>> + },
>> + { /* SRAM space Cacheable */
>> + .virtual = (unsigned long)0xd0000000,
>> + .pfn = __phys_to_pfn(0x40000000),
>> + .length = 0x00100000,
>> +#ifdef CONFIG_SRAM_MEM_CACHED
>> + .type = MT_MEMORY
>> +#else
>> + .type = MT_DEVICE
>> +#endif
>> + },
>> +};
>
> This should not be necessary, as all drivers are supposed to
> ioremap their own device registers. For large register ranges
> that are used a lot, you could use these as an optimization to
> get 1 MB sections mapped using a large TLB entry, but usually
> the benefit is very small.
Do you mean only "SRAM space Cacheable" section?
>> +static void __init asm9260_init(void)
>> +{
>> + of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
>> +}
>
> When you don't do anything else in the init_machine callback, you can
> remove it entirely.
>
> Arnd
>
--
Regards,
Oleksij
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 213 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140923/206fb525/attachment-0001.sig>
next prev parent reply other threads:[~2014-09-23 9:00 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-21 18:41 [PATCH v2 0/8] initial suport for Alpscale ASM9260 Oleksij Rempel
2014-09-21 18:41 ` [PATCH v2 1/8] ARM: add mach-asm9260 Oleksij Rempel
2014-09-22 15:08 ` Arnd Bergmann
2014-09-23 9:00 ` Oleksij Rempel [this message]
2014-09-23 10:19 ` Arnd Bergmann
2014-09-24 8:00 ` Oleksij Rempel
2014-09-24 9:43 ` Russell King - ARM Linux
2014-09-24 9:56 ` Oleksij Rempel
2014-09-24 10:25 ` Russell King - ARM Linux
2014-09-24 10:33 ` Arnd Bergmann
2014-09-24 11:30 ` Oleksij Rempel
2014-09-21 18:41 ` [PATCH v2 2/8] add include/debug/asm9260.S Oleksij Rempel
2014-09-21 18:45 ` Oleksij Rempel
2014-09-21 18:45 ` [PATCH v2 3/8] add alphascale,asm9260.h binding Oleksij Rempel
2014-09-24 10:15 ` Mark Rutland
2014-09-21 18:45 ` [PATCH v2 4/8] ARM: dts: add DT for Alphascale ASM9260 SoC Oleksij Rempel
2014-09-22 15:14 ` Arnd Bergmann
2014-09-24 10:11 ` Mark Rutland
2014-09-21 18:45 ` [PATCH v2 5/8] clk: add clk-asm9260 driver Oleksij Rempel
2014-09-21 18:45 ` [PATCH v2 6/8] clocksource: add asm9260_timer driver Oleksij Rempel
2014-09-21 18:45 ` [PATCH v2 7/8] irqchip: add irq-asm9260 driver Oleksij Rempel
2014-09-22 15:22 ` Arnd Bergmann
2014-09-21 18:45 ` [PATCH v2 8/8] tty/serial: add asm9260-serial driver Oleksij Rempel
2014-09-22 15:26 ` Arnd Bergmann
2014-09-22 16:04 ` Oleksij Rempel
2014-09-24 9:24 ` Oleksij Rempel
2014-09-24 10:20 ` Arnd Bergmann
2014-09-23 11:32 ` [PATCH v2 0/8] initial suport for Alpscale ASM9260 Arnd Bergmann
2014-09-24 10:13 ` Mark Rutland
2014-10-07 8:55 ` [PATCH v3 0/9] initial suport for Alphascale ASM9260 Oleksij Rempel
2014-10-07 8:55 ` [PATCH v3 1/9] ARM: add mach-asm9260 Oleksij Rempel
2014-10-07 8:55 ` [PATCH v3 2/9] arm: add lolevel debug support for asm9260 Oleksij Rempel
2014-10-07 8:55 ` [PATCH v3 3/9] ARM: dts: add DT for Alphascale ASM9260 SoC Oleksij Rempel
2014-10-07 8:55 ` [PATCH v3 4/9] ARM: add alphascale,acc.txt bindings documentation Oleksij Rempel
2014-10-07 8:55 ` [PATCH v3 5/9] ARM: clk: add clk-asm9260 driver Oleksij Rempel
2014-10-07 8:55 ` [PATCH v3 6/9] clocksource: add asm9260_timer driver Oleksij Rempel
2014-10-07 8:55 ` [PATCH v3 7/9] irqchip/irq-mxs.c: add asm9260 support Oleksij Rempel
2014-10-08 7:45 ` Thomas Gleixner
2014-10-08 12:11 ` [PATCH v4 1/2] irqchip: mxs: prepare driver for HW with different offsets Oleksij Rempel
2014-10-08 12:11 ` [PATCH v4 2/2] irqchip: mxs: add Alpascale ASM9260 support Oleksij Rempel
2014-10-07 8:55 ` [PATCH v3 8/9] tty/serial/mxs-auart.c: add initial Alphascale " Oleksij Rempel
2014-10-07 8:55 ` [PATCH v3 9/9] add Alphascale to vendor-prefixes.txt Oleksij Rempel
2014-10-10 5:38 ` [PATCH v3 0/9] initial suport for Alphascale ASM9260 Oleksij Rempel
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=542136B0.3020305@rempel-privat.de \
--to=linux@rempel-privat.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.