net: introduce helpers to get PHY ofnode from MAC

Add helpers ofnode_get_phy_node() and dev_get_phy_node() and use it in
net/mdio-uclass.c function dm_eth_connect_phy_handle(). Also add
corresponding UT test.

This is useful because other part's of U-Boot may want to get PHY ofnode
without connecting a PHY.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Marek Behún
2022-04-07 00:32:57 +02:00
committed by Ramon Fried
parent a7a96ef812
commit f3dd213e15
7 changed files with 96 additions and 18 deletions

View File

@@ -447,3 +447,21 @@ static int dm_test_ofnode_string_err(struct unit_test_state *uts)
return 0;
}
DM_TEST(dm_test_ofnode_string_err, UT_TESTF_LIVE_TREE);
static int dm_test_ofnode_get_phy(struct unit_test_state *uts)
{
ofnode eth_node, phy_node;
u32 reg;
eth_node = ofnode_path("/phy-test-eth");
ut_assert(ofnode_valid(eth_node));
phy_node = ofnode_get_phy_node(eth_node);
ut_assert(ofnode_valid(phy_node));
reg = ofnode_read_u32_default(phy_node, "reg", -1U);
ut_asserteq_64(0x1, reg);
return 0;
}
DM_TEST(dm_test_ofnode_get_phy, 0);