[PATCHv2 0/9] macb: add support for Cadence GEM
Nicolas Ferre
nicolas.ferre at atmel.com
Mon Mar 21 02:38:18 EDT 2011
On 3/17/2011 4:17 AM, David Miller :
> From: Jamie Iles <jamie at jamieiles.com>
> Date: Tue, 15 Mar 2011 10:14:47 +0000
>
>> This patch series extends the Atmel MACB driver to support the Cadence
>> GEM (Gigabit Ethernet MAC) to support 10/100 operation. The GEM is
>> based on the MACB block but has a few moved registers and bitfields.
>> This patch series attempts to use the MACB accessors where block
>> functionallity is identical and only overrides to GEM specific
>> acccessors when needed.
>>
>> This has been runtested on a board with a Cadence GEM and compile tested
>> for all at91 configurations and a number of avr32 configurations.
>>
>> Changes since v1:
>> - AT91 now provides a fake "hclk" and "macb_clk" has been
>> renamed to "pclk" to be consistent with AVR32.
>> - Configurable GEM receive buffer size support has been added.
>> - pr_foo() and dev_foo() have been converted to netdev_foo()
>> where appropriate.
>> - New conditional accessors (macb_or_gem_{read,write}l) have
>> been introduced that do the conditional accesses dependent on
>> macb/gem type.
>> - GEM is now dynamically detected from the module ID rather than
>> platform device name.
>>
>> Jean-Christophe, I haven't based this on your conditional clock patch as
>> I wasn't sure what decision had been made on that and whether the
>> at91/avr32 detection is reliable.
>
> I'm happy to ACK this so you guys can merge this via one of the
> ARM trees:
>
> Acked-by: David S. Miller <davem at davemloft.net>
I add my:
Acked-by: Nicolas Ferre <nicolas.ferre at atmel.com>
Now, tell me if we need to setup a git tree with this and make it handled by linux-next (we do not have for at91 yet)?
or Russell can take the series in a "devel" branch?
I have tested the series with the v2 patches. It is working good with some modification that were discussed (hclk, pclk clocks). I attach modifications I have made to make it work so that you have an idea of my testbed (not a patch as you should already have this and it is on a development platform):
+/* One additional fake clock for macb interfaces */
+static struct clk hclk = {
+ .name = "hclk",
+ .pmc_mask = 0,
+ .type = CLK_TYPE_PERIPHERAL,
+};
@@ -247,6 +254,7 @@ static struct clk *periph_clocks[] __initdata = {
// irq0
&ohci_clk,
&tcb1_clk,
+ &hclk,
};
[..]
/* Clock */
- at91_clock_associate("macb0_clk", &at91sam9x5_eth0_device.dev, "macb_clk");
+ at91_clock_associate("macb0_clk", &at91sam9x5_eth0_device.dev, "pclk");
eth0_data = *data;
platform_device_register(&at91sam9x5_eth0_device);
Thanks, best regards,
--
Nicolas Ferre
More information about the linux-arm-kernel
mailing list