]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - android-sdk/kernel-video.git/commitdiff
ARM: DRA7: GMAC: Apply Errata i877
authorLokesh Vutla <lokeshvutla@ti.com>
Tue, 16 Jun 2015 05:35:03 +0000 (11:05 +0530)
committerSekhar Nori <nsekhar@ti.com>
Tue, 16 Jun 2015 10:23:53 +0000 (15:53 +0530)
Errata ID: i877

Description:
The RGMII Transmit timing is based on the output clock (rgmiin_txc) being
driven relative to the rising edge of an internal clock and the output
control/data (rgmiin_txctl/txd) being driven relative to the falling edge
of an internal clock source. If the internal clock source is allowed to be
static low (i.e., disabled) for an extended period of time then when the
clock is actually enabled the timing delta between the rising edge and
falling edge can change over the lifetime of the device. This can result
in the device switching characteristics degrading over time, and
eventually failing to meet the Data Manual Delay Time/Skew specs.
To maintain RGMII IO Timings, SW should minimize the duration that the
Ethernet internal clock source is disabled. Note that the device reset
state for the Ethernet clock is "disabled".

Workaround:
If the SoC Ethernet interface(s) are used in RGMII mode, SW should minimize
the time the Ethernet internal clock source is disabled to a maximum of
200 hours in a device life cycle. This is done by enabling the clock as
early as possible in IPL (QNX) or SPL/u-boot (Linux/Android) by setting
the register CM_GMAC_CLKSTCTRL[1:0]CLKTRCTRL = 0x2:SW_WKUP.
In addition to programming SW_WKUP(0x2) on CM_GMAC_CLKSTCTRL, SW should
also program modulemode field as ENABLED(0x2) on CM_GMAC_GMAC_CLKCTRL
register.

Note that this erratum applies only when device may need to be used
for 1Gbit operation.
Since the POR is to use 1GB mode, enabling this errata by hooking
ti,no-idle flag to gmac node.

Acked-by: Roger Quadros <rogerq@ti.com>
Tested-by: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
arch/arm/boot/dts/am57xx-beagle-x15.dts
arch/arm/boot/dts/dra7-evm.dts
arch/arm/boot/dts/dra72-evm.dts

index b279bf5aed71548c1ed45af4222d883f8bdb4667..d13f6f40f132bbde54c22083766ee0cc12e2605c 100644 (file)
 &mac {
        status = "okay";
        dual_emac;
+       ti,no-idle;
 };
 
 &cpsw_emac0 {
index b058932a83f2526d853b74a63a9b81f634928890..f585b5b94fe3bcc60044b851bd2b4d7341bf6c4c 100644 (file)
 &mac {
        status = "okay";
        dual_emac;
+       ti,no-idle;
 };
 
 &cpsw_emac0 {
index e7d5e8b04390fe80ac0766e1426a99faba96da2f..e8680421ba0c34e11e7a436d8cbbcd2f94fc380e 100644 (file)
        pinctrl-0 = <&cpsw_default>;
        pinctrl-1 = <&cpsw_sleep>;
        slaves = <1>;
+       ti,no-idle;
 };
 
 &cpsw_emac0 {