[PATCH 3/3 v3] [ARM] Kirkwood: add support for PCIe1

saeed bishara saeed.bishara at gmail.com
Tue Jun 8 07:20:18 EDT 2010


On Mon, Jun 7, 2010 at 11:04 AM, Benjamin Zores
<benjamin.zores at alcatel-lucent.com> wrote:
> On 06/06/2010 12:24, Saeed Bishara wrote:
>>
>> This patch extens the kirkwood's PCIe support up to 2 controllers as in
>> the 6282 devices.
>>
>> diff --git a/arch/arm/mach-kirkwood/db88f6281-bp-setup.c
>> b/arch/arm/mach-kirkwood/db88f6281-bp-setup.c
>> index 39bdf4b..c428348 100644
>> --- a/arch/arm/mach-kirkwood/db88f6281-bp-setup.c
>> +++ b/arch/arm/mach-kirkwood/db88f6281-bp-setup.c
>> @@ -74,9 +74,15 @@ static void __init db88f6281_init(void)
>>
>>  static int __init db88f6281_pci_init(void)
>>  {
>> -       if (machine_is_db88f6281_bp())
>> -               kirkwood_pcie_init();
>> +       if (machine_is_db88f6281_bp()) {
>> +               u32 dev, rev;
>>
>> +               kirkwood_pcie_id(&dev,&rev);
>> +               if (dev == MV88F6282_DEV_ID)
>> +                       kirkwood_pcie_init(KW_PCIE1 | KW_PCIE0);
>> +               else
>> +                       kirkwood_pcie_init(KW_PCIE0);
>> +       }
>>        return 0;
>>
>
> This is still not likely to be possible: I don't think a given board can
> have 2 different SoCs.
well, it works because the 6282 is "pin-compatible" to 6281 and the
differences between the two boards are the additional pcie and few
mpps that set by the bootloader.
>
>> +#define CGC_PEX1               (1<<  18)
>>  #define CGC_GE1                       (1<<  19)
>>  #define CGC_TDM                       (1<<  20)
>>  #define CGC_RESERVED          ((1<<  18) | (0x6<<  21))
>>
>
> (1 << 18) is no longer reserved.
>
> Except from that you still miss the mapping definition and phy
> initialization in common.c
>
> See
> http://lists.infradead.org/pipermail/linux-arm-kernel/2010-June/017176.html
> for details.
I applied your comments except to the io table, I don't think it's
worth to add, the pcie0 entry is always added even if that interface
is not used.
saeed



More information about the linux-arm-kernel mailing list