u-boot/arch/arm/dts/rk3288-tinker-u-boot.dtsi
Jonas Karlman 57237c7f41 rockchip: rk3288-tinker: Fix slow Ethernet initializion
For some reason the Ethernet PHY reset delay is set to 1 second, this
cause an unneccecery long boot delay.

Tinker Board use RTL8211E or RTL8211F Ethernet PHY, datasheet list an
initial 10ms delay and then a 30-76ms delay before accessing registers.

Change to use 80ms delay instead of a full second to speed up Ethernet
initializion in U-Boot.

Also enable PHY_REALTEK, DM_ETH_PHY and PHY_GIGE to improve Ethernet PHY
support in U-Boot.

Before:

  1,404,971    960,924  eth_common_init
  2,438,830  1,033,859  eth_initialize
  2,444,449      5,619  main_loop
  2,445,153        704  cli_loop

After:

  1,404,987    960,710  eth_common_init
  1,519,110    114,123  eth_initialize
  1,524,734      5,624  main_loop
  1,525,452        718  cli_loop

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10 18:56:15 -06:00

84 lines
1.2 KiB
Text

// SPDX-License-Identifier: GPL-2.0+
/*
* Copyright (C) 2019 Rockchip Electronics Co., Ltd
*/
#include "rk3288-u-boot.dtsi"
&dmc {
rockchip,pctl-timing = <0x215 0xc8 0x0 0x35 0x26 0x2 0x70 0x2000d
0x6 0x0 0x8 0x4 0x17 0x24 0xd 0x6
0x4 0x8 0x4 0x76 0x4 0x0 0x30 0x0
0x1 0x2 0x2 0x4 0x0 0x0 0xc0 0x4
0x8 0x1f4>;
rockchip,phy-timing = <0x48d7dd93 0x187008d8 0x121076
0x0 0xc3 0x6 0x2>;
rockchip,sdram-params = <0x20d266a4 0x5b6 2 533000000 6 9 0>;
};
&gmac {
snps,reset-delays-us = <0 10000 80000>;
};
&gpio7 {
/delete-property/ bootph-all;
};
&i2c2 {
m24c08@50 {
compatible = "at,24c08", "i2c-eeprom";
reg = <0x50>;
};
};
&pcfg_pull_none {
bootph-all;
};
&pcfg_pull_none_drv_8ma {
bootph-pre-ram;
bootph-some-ram;
};
&pcfg_pull_up {
bootph-all;
};
&pcfg_pull_up_drv_8ma {
bootph-pre-ram;
bootph-some-ram;
};
&sdmmc {
bootph-pre-ram;
bootph-some-ram;
};
&sdmmc_bus4 {
bootph-pre-ram;
bootph-some-ram;
};
&sdmmc_cd {
bootph-pre-ram;
bootph-some-ram;
};
&sdmmc_clk {
bootph-pre-ram;
bootph-some-ram;
};
&sdmmc_cmd {
bootph-pre-ram;
bootph-some-ram;
};
&uart2 {
bootph-all;
};
&uart2_xfer {
bootph-pre-sram;
bootph-pre-ram;
};