[PATCH v3 6/6] ARM: davinci: da850: configure system configuration chip(CFGCHIP3) for emac

Prabhakar Lad prabhakar.csengg at gmail.com
Thu Aug 8 06:32:30 EDT 2013


Hi Sekhar,

Sorry for the  delayed response I was on leave and now back again up
and running.

On Wed, Jul 31, 2013 at 11:17 AM, Sekhar Nori <nsekhar at ti.com> wrote:
> On Sunday 23 June 2013 08:30 PM, Prabhakar Lad wrote:
>> From: "Lad, Prabhakar" <prabhakar.csengg at gmail.com>
>>
>> This patch makes a common function for to configure emac and calls
>> it appropriately in DT and non DT boot mode. The system configuration
>> chip CFGCHIP3, controls the emac module. This patch appropriately
>> configures this register for emac and sets DA850_MII_MDIO_CLKEN_PIN
>> GPIO pin appropriately.
>>
[Snip]

>> +     if (rmii_enabled)
>> +             val |= BIT(8);
>> +     else
>> +             val &= ~BIT(8);
>> +
>> +     /* configure the CFGCHIP3 register for RMII or MII */
>> +     writel(val, cfg_chip3_base);
>> +
>> +     ret = davinci_cfg_reg(DA850_GPIO2_6);
>> +     if (ret)
>> +             pr_warn("%s:GPIO(2,6) mux setup failed\n", __func__);
>> +
>> +     ret = gpio_request(DA850_MII_MDIO_CLKEN_PIN, "mdio_clk_en");
>> +     if (ret) {
>> +             pr_warn("Cannot open GPIO %d\n", DA850_MII_MDIO_CLKEN_PIN);
>> +             return;
>> +     }
>
> You cannot do this in SoC specific code. All boards wont use a GPIO to
> choose between MII/RMII. You need to do this in a EVM specific manner.
> This just means you retain the GPIO part of code in board-da850-evm.c

OK

> and for the DT case use a board specific GPIO node. See a similar
> example in arch/arm/boot/dts/ste-nomadik-s8815.dts and how the code uses
Alrite something similar to usb-s8815 node.

> it in arch/arm/mach-nomadik/cpu-8815.c.
>
But I don't see any code to access this node in this file, can
you point me to right direction ?

Regards,
--Prabhakar Lad



More information about the linux-arm-kernel mailing list