arch-vt8500 and wm8850 support
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
Quoted 9 lines · Tony Prisk
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 onARCH_VT8500.
Quoted 5 lines
The obvious solution (to me at least) seems to be to have 3 groups -
ARCH_VT8500keeps everything it has now except 'selectCPU_ARM926T', and we add 2 additional groups - the first for all the current models, which selectsCPU_ARM926TandARCH_VT8500, and a second for WM8850 which selectsCPU_V7andARCH_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
2012/11/14 Arnd Bergmann <[email protected]>:
Quoted 39 lines · Tony Prisk
Quoted 9 lines
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 onARCH_VT8500.Quoted 5 lines
The obvious solution (to me at least) seems to be to have 3 groups -
ARCH_VT8500keeps everything it has now except 'selectCPU_ARM926T', and we add 2 additional groups - the first for all the current models, which selectsCPU_ARM926TandARCH_VT8500, and a second for WM8850 which selectsCPU_V7andARCH_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 BARconfig
ARCH_WM8505bool "WonderMedia WM8505 or VIA VT8500" depends on ARCH_MULTI_V5 select ARCH_VT8500 select CPU_ARM926config
ARCH_WM8650
bool "WonderMedia WM 8650"
depends onARCH_MULTI_V6
selectARCH_VT8500
selectCPU_V6
Quoted 5 lines
config
ARCH_WM8850bool "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
Quoted 32 lines
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 BARconfig
ARCH_WM8505bool "WonderMedia WM8505 or VIA VT8500" depends on ARCH_MULTI_V5 select ARCH_VT8500 select CPU_ARM926config
ARCH_WM8650
bool "WonderMedia WM 8650"
depends onARCH_MULTI_V6
selectARCH_VT8500
selectCPU_V6config
ARCH_WM8850bool "WonderMedia WM 8750/8850" depends on ARCH_MULTI_V7 select ARCH_VT8500 select CPU_V7This keeps
ARCH_VT8500as the overall name for the family, but lists only the WonderMedia parts in the configuration.
Quoted 6 lines
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
Quoted 5 lines · Tony Prisk
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_SINGLEforARCH_VT8500. Would I need to add an additionalxx_SINGLEvariant 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.
Quoted 2 lines
We would need
ARCH_WM8505(To cover VT8500/WM8505/WM8650 ARM926),ARCH_WM8750(for ARMv6) andARCH_WM8850(for ARMv7).
Ah, right, I was mixing up the numbers.
Quoted 2 lines
Do I need a
ARCH_WM8750_SINGLE,ARCH_WM8850_SINGLEetc 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_ARM926config ARCH_WM8750
bool "WonderMedia WM 8750"
depends on ARCH_MULTI_V6 || ARCH_WM8750_SINGLE
select ARCH_VT8500
select CPU_V6config ARCH_WM8850
bool "WonderMedia WM 8850/8950"
depends on ARCH_MULTI_V7 || ARCH_WM8750_SINGLE
select ARCH_VT8500
select CPU_V7config 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