[PATCH v3 6/6] ARM: davinci: da850: configure system configuration chip(CFGCHIP3) for emac
From: Sekhar Nori <hidden>
Date: 2013-08-08 10:36:21
Also in:
linux-devicetree, lkml, netdev
On Thursday 08 August 2013 04:02 PM, Prabhakar Lad wrote:
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 [off-list ref] wrote:quoted
On Sunday 23 June 2013 08:30 PM, Prabhakar Lad wrote:quoted
From: "Lad, Prabhakar" <prabhakar.csengg@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]quoted
quoted
+ 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.cOKquoted
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 usesAlrite something similar to usb-s8815 node.quoted
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 ?
Look at cpu8815_eth_init() function in this file. Thanks, Sekhar