linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* arch-vt8500 and wm8850 support
@ 2012-11-14  7:54 Tony Prisk
  2012-11-14 11:17 ` Arnd Bergmann
  0 siblings, 1 reply; 5+ messages in thread
From: Tony Prisk @ 2012-11-14  7:54 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Arnd,

Just looking for a little advice re: adding support for the WM8850
variant.

At the moment we have the ARM926 variants under ARCH_VT8500. The WM8850
is ARMv7, but uses all the same drivers as the ARM926 versions. At the
moment, all the drivers depend on ARCH_VT8500.

The obvious solution (to me at least) seems to be to have 3 groups -
ARCH_VT8500 keeps everything it has now except 'select CPU_ARM926T', and
we add 2 additional groups - the first for all the current models, which
selects CPU_ARM926T and ARCH_VT8500, and a second for WM8850 which
selects CPU_V7 and ARCH_VT8500.

The other option seems to be to add WM8850 as ARCH_newmodel, but that
would require patching all the driver Kconfigs to depends on ARCH_VT8500
|| ARCH_newmodel.


Interested in your feedback.

Regards
Tony P

^ permalink raw reply	[flat|nested] 5+ messages in thread

* arch-vt8500 and wm8850 support
  2012-11-14  7:54 arch-vt8500 and wm8850 support Tony Prisk
@ 2012-11-14 11:17 ` Arnd Bergmann
  2012-11-14 11:22   ` Alexey Charkov
  2012-11-14 17:42   ` Tony Prisk
  0 siblings, 2 replies; 5+ messages in thread
From: Arnd Bergmann @ 2012-11-14 11:17 UTC (permalink / raw)
  To: linux-arm-kernel

On Wednesday 14 November 2012, Tony Prisk wrote:
> Hi Arnd,
> 
> Just looking for a little advice re: adding support for the WM8850
> variant.
> 
> At the moment we have the ARM926 variants under ARCH_VT8500. The WM8850
> is ARMv7, but uses all the same drivers as the ARM926 versions. At the
> moment, all the drivers depend on ARCH_VT8500.
> 
> The obvious solution (to me at least) seems to be to have 3 groups -
> ARCH_VT8500 keeps everything it has now except 'select CPU_ARM926T', and
> we add 2 additional groups - the first for all the current models, which
> selects CPU_ARM926T and ARCH_VT8500, and a second for WM8850 which
> selects CPU_V7 and ARCH_VT8500.

Yes, makes sense. Actually with the move to multiplatform, you already
need to make the decision for the CPU earlier on, since the multiplatform
kernel can only be built either for ARMv4/v5 or for ARMv6/v7.

I would suggest doing it like

config ARCH_VT8500
	bool
	select FOO
	select BAR

config ARCH_WM8505
	bool "WonderMedia WM8505 or VIA VT8500"
	depends on ARCH_MULTI_V5
	select ARCH_VT8500
	select CPU_ARM926

config ARCH_WM8650
	bool "WonderMedia WM 8650"
	depends on ARCH_MULTI_V6
	select ARCH_VT8500
	select CPU_V6

config ARCH_WM8850
	bool "WonderMedia WM 8750/8850"
	depends on ARCH_MULTI_V7
	select ARCH_VT8500
	select CPU_V7

This keeps ARCH_VT8500 as the overall name for the family, but
lists only the WonderMedia parts in the configuration.

	Arnd

^ permalink raw reply	[flat|nested] 5+ messages in thread

* arch-vt8500 and wm8850 support
  2012-11-14 11:17 ` Arnd Bergmann
@ 2012-11-14 11:22   ` Alexey Charkov
  2012-11-14 17:42   ` Tony Prisk
  1 sibling, 0 replies; 5+ messages in thread
From: Alexey Charkov @ 2012-11-14 11:22 UTC (permalink / raw)
  To: linux-arm-kernel

2012/11/14 Arnd Bergmann <arnd@arndb.de>:
> On Wednesday 14 November 2012, Tony Prisk wrote:
>> Hi Arnd,
>>
>> Just looking for a little advice re: adding support for the WM8850
>> variant.
>>
>> At the moment we have the ARM926 variants under ARCH_VT8500. The WM8850
>> is ARMv7, but uses all the same drivers as the ARM926 versions. At the
>> moment, all the drivers depend on ARCH_VT8500.
>>
>> The obvious solution (to me at least) seems to be to have 3 groups -
>> ARCH_VT8500 keeps everything it has now except 'select CPU_ARM926T', and
>> we add 2 additional groups - the first for all the current models, which
>> selects CPU_ARM926T and ARCH_VT8500, and a second for WM8850 which
>> selects CPU_V7 and ARCH_VT8500.
>
> Yes, makes sense. Actually with the move to multiplatform, you already
> need to make the decision for the CPU earlier on, since the multiplatform
> kernel can only be built either for ARMv4/v5 or for ARMv6/v7.
>
> I would suggest doing it like
>
> config ARCH_VT8500
>         bool
>         select FOO
>         select BAR
>
> config ARCH_WM8505
>         bool "WonderMedia WM8505 or VIA VT8500"
>         depends on ARCH_MULTI_V5
>         select ARCH_VT8500
>         select CPU_ARM926
>
> config ARCH_WM8650
>         bool "WonderMedia WM 8650"
>         depends on ARCH_MULTI_V6
>         select ARCH_VT8500
>         select CPU_V6
>
> config ARCH_WM8850
>         bool "WonderMedia WM 8750/8850"
>         depends on ARCH_MULTI_V7
>         select ARCH_VT8500
>         select CPU_V7

Just my 2 cents: from what I remember, 8650 is still v5, while 87xx is
v6 and 88xx+ are v7. The whole arrangement looks pretty neat, though,
thanks for your feedback!

Best,
Alexey

^ permalink raw reply	[flat|nested] 5+ messages in thread

* arch-vt8500 and wm8850 support
  2012-11-14 11:17 ` Arnd Bergmann
  2012-11-14 11:22   ` Alexey Charkov
@ 2012-11-14 17:42   ` Tony Prisk
  2012-11-14 23:26     ` Arnd Bergmann
  1 sibling, 1 reply; 5+ messages in thread
From: Tony Prisk @ 2012-11-14 17:42 UTC (permalink / raw)
  To: linux-arm-kernel

> Yes, makes sense. Actually with the move to multiplatform, you already
> need to make the decision for the CPU earlier on, since the multiplatform
> kernel can only be built either for ARMv4/v5 or for ARMv6/v7.
> 
> I would suggest doing it like
> 
> config ARCH_VT8500
> 	bool
> 	select FOO
> 	select BAR
> 
> config ARCH_WM8505
> 	bool "WonderMedia WM8505 or VIA VT8500"
> 	depends on ARCH_MULTI_V5
> 	select ARCH_VT8500
> 	select CPU_ARM926
> 
> config ARCH_WM8650
> 	bool "WonderMedia WM 8650"
> 	depends on ARCH_MULTI_V6
> 	select ARCH_VT8500
> 	select CPU_V6
> 
> config ARCH_WM8850
> 	bool "WonderMedia WM 8750/8850"
> 	depends on ARCH_MULTI_V7
> 	select ARCH_VT8500
> 	select CPU_V7
> 
> This keeps ARCH_VT8500 as the overall name for the family, but
> lists only the WonderMedia parts in the configuration.
> 
> 	Arnd
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

Makes sense - That's basically what I had in mind. My concern is with
the bit that made no sense to me - the non-multiplatform version of the
same. At the moment, we have the default xx_SINGLE for ARCH_VT8500.
Would I need to add an additional xx_SINGLE variant for each different
version?

We would need ARCH_WM8505 (To cover VT8500/WM8505/WM8650 ARM926),
ARCH_WM8750 (for ARMv6) and ARCH_WM8850 (for ARMv7).

Do I need a ARCH_WM8750_SINGLE, ARCH_WM8850_SINGLE etc for each one to
allow use to continue using earlyprintk?

Regards
Tony P

^ permalink raw reply	[flat|nested] 5+ messages in thread

* arch-vt8500 and wm8850 support
  2012-11-14 17:42   ` Tony Prisk
@ 2012-11-14 23:26     ` Arnd Bergmann
  0 siblings, 0 replies; 5+ messages in thread
From: Arnd Bergmann @ 2012-11-14 23:26 UTC (permalink / raw)
  To: linux-arm-kernel

On Wednesday 14 November 2012, Tony Prisk wrote:
> Makes sense - That's basically what I had in mind. My concern is with
> the bit that made no sense to me - the non-multiplatform version of the
> same. At the moment, we have the default xx_SINGLE for ARCH_VT8500.
> Would I need to add an additional xx_SINGLE variant for each different
> version?

I think either one option or two (v5 and v6/v7), but we don't need three
separate ones, as it should be possible to build v6 and v7 together.

> We would need ARCH_WM8505 (To cover VT8500/WM8505/WM8650 ARM926),
> ARCH_WM8750 (for ARMv6) and ARCH_WM8850 (for ARMv7).

Ah, right, I was mixing up the numbers.

> Do I need a ARCH_WM8750_SINGLE, ARCH_WM8850_SINGLE etc for each one to
> allow use to continue using earlyprintk?

You just need to ensure that we always set at least one of them, and
that ARCH_WM8505 isn't set at the same time as one of the v6/v7 parts.

Maybe something like

config ARCH_VT8500
      bool
      select FOO
      select BAR

config ARCH_WM8505
      bool "WonderMedia WM8505/WM8650 or VIA VT8500" if !ARCH_VT8500_SINGLE
      depends on ARCH_MULTI_V5
      default ARCH_VT8500_SINGLE
      select ARCH_VT8500
      select CPU_ARM926

config ARCH_WM8750
      bool "WonderMedia WM 8750"
      depends on ARCH_MULTI_V6 || ARCH_WM8750_SINGLE
      select ARCH_VT8500
      select CPU_V6

config ARCH_WM8850
      bool "WonderMedia WM 8850/8950"
      depends on ARCH_MULTI_V7 || ARCH_WM8750_SINGLE
      select ARCH_VT8500
      select CPU_V7

config ARCH_WM8850_AUTO
      def_bool y
      depends on ARCH_WM8750_SINGLE && !ARCH_WM8750
      select ARCH_WM8850 # ensure that ARCH_WM8850 is on if ARCH_WM8750 is off


	Arnd

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-11-14 23:26 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-14  7:54 arch-vt8500 and wm8850 support Tony Prisk
2012-11-14 11:17 ` Arnd Bergmann
2012-11-14 11:22   ` Alexey Charkov
2012-11-14 17:42   ` Tony Prisk
2012-11-14 23:26     ` Arnd Bergmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).