mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-18 02:44:37 +00:00
mx6cuboxi: Fix Ethernet after DT sync with Linux
The i.MX6 Cubox-i and HummingBoards can have different PHYs at varying addresses. U-Boot needs to auto-detect which phy is actually present, and at which address it is responding. Auto-detection from multiple phy nodes specified in device-tree does not currently work correct. As a work-around merge all three possible phys into one node with the special address 0xffffffff which indicates to the generic phy driver to probe all addresses. Signed-off-by: Josua Mayer <josua@solid-run.com> [fabio: Added the changes to imx6qdl-sr-som-u-boot.dtsi.] Signed-off-by: Fabio Estevam <festevam@gmail.com> Tested-by: Christian Gmeiner <cgmeiner@igalia.com> Tested-by: Christian Gmeiner <cgmeiner@igalia.com>
This commit is contained in:
parent
3952365515
commit
6970f4a6cd
2 changed files with 50 additions and 0 deletions
|
@ -1,6 +1,7 @@
|
|||
// SPDX-License-Identifier: GPL-2.0+
|
||||
|
||||
#include "imx6qdl-u-boot.dtsi"
|
||||
#include "imx6qdl-sr-som-u-boot.dtsi"
|
||||
|
||||
/ {
|
||||
board-detect {
|
||||
|
|
49
arch/arm/dts/imx6qdl-sr-som-u-boot.dtsi
Normal file
49
arch/arm/dts/imx6qdl-sr-som-u-boot.dtsi
Normal file
|
@ -0,0 +1,49 @@
|
|||
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
&fec {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_microsom_enet_ar8035>;
|
||||
phy-handle = <&phy>;
|
||||
phy-mode = "rgmii-id";
|
||||
|
||||
/*
|
||||
* The PHY seems to require a long-enough reset duration to avoid
|
||||
* some rare issues where the PHY gets stuck in an inconsistent and
|
||||
* non-functional state at boot-up. 10ms proved to be fine .
|
||||
*/
|
||||
phy-reset-duration = <10>;
|
||||
phy-reset-gpios = <&gpio4 15 GPIO_ACTIVE_LOW>;
|
||||
status = "okay";
|
||||
|
||||
mdio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ethernet-phy@0 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ethernet-phy@1 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ethernet-phy@4 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
phy: ethernet-phy@ffffffff {
|
||||
/*
|
||||
* The PHY can appear either:
|
||||
* - AR8035: at address 0 or 4
|
||||
* - ADIN1300: at address 1
|
||||
* Actual address being detected at runtime.
|
||||
*/
|
||||
reg = <0xffffffff>;
|
||||
qca,clk-out-frequency = <125000000>;
|
||||
qca,smarteee-tw-us-1g = <24>;
|
||||
adi,phy-output-clock = "125mhz-free-running";
|
||||
};
|
||||
};
|
||||
};
|
Loading…
Add table
Reference in a new issue