• Marek Vasut's avatar
    ARM: dts: stm32: Switch DWMAC RMII clock to MCO2 on DHCOM · 73ab99aa
    Marek Vasut authored
    The DHCOM SoM has two options for supplying ETHRX clock to the DWMAC
    block and PHY. Either (1) ETHCK_K generates 50 MHz clock on ETH_CLK
    pad for the PHY and the same 50 MHz clock are fed back to ETHRX via
    internal eth_clk_fb clock connection OR (2) ETH_CLK is not used at
    all, MCO2 generates 50 MHz clock on MCO2 output pad for the PHY and
    the same MCO2 clock are fed back into ETHRX via ETH_RX_CLK input pad
    using external pad-to-pad connection.
    
    Option (1) has two downsides. ETHCK_K is supplied directly from either
    PLL3_Q or PLL4_P, hence the PLL output is limited to exactly 50 MHz and
    since the same PLL output is also used to supply SDMMC blocks, the
    performance of SD and eMMC access is affected. The second downside is
    that using this option, the EMI of the SoM is higher.
    
    Option (2) solves both of those problems, so implement it here. In this
    case, the PLL4_P is no longer limited and can be operated faster, at
    100 MHz, which improves SDMMC performance (read performance is improved
    from ~41 MiB/s to ~57 MiB/s with dd if=/dev/mmcblk1 of=/dev/null bs=64M
    count=1). The EMI interference also decreases.
    Signed-off-by: default avatarMarek Vasut <marex@denx.de>
    Cc: Alexandre Torgue <alexandre.torgue@foss.st.com>
    Cc: Christophe Roullier <christophe.roullier@foss.st.com>
    Cc: Gabriel Fernandez <gabriel.fernandez@foss.st.com>
    Cc: Patrice Chotard <patrice.chotard@foss.st.com>
    Cc: Patrick Delaunay <patrick.delaunay@foss.st.com>
    Cc: Stephen Boyd <sboyd@kernel.org>
    Cc: linux-clk@vger.kernel.org
    Cc: linux-stm32@st-md-mailman.stormreply.com
    To: linux-arm-kernel@lists.infradead.org
    Tested-by: default avatarJohann Neuhauser <jneuhauser@dh-electronics.com>
    Signed-off-by: default avatarAlexandre Torgue <alexandre.torgue@foss.st.com>
    73ab99aa
stm32mp15xx-dhcom-som.dtsi 11.3 KB