board: ti: j721e: Add support for probing and configuring Torrent serdes on J7200

Add support for probing and configuring Torrent serdes on J7200.

Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Link: https://lore.kernel.org/r/20210721155849.20994-11-kishon@ti.com
This commit is contained in:
Aswath Govindraju 2021-07-21 21:28:39 +05:30 committed by Lokesh Vutla
parent 1a83f9931e
commit 6cfabddc3b

View File

@ -10,6 +10,7 @@
#include <common.h>
#include <env.h>
#include <fdt_support.h>
#include <generic-phy.h>
#include <image.h>
#include <init.h>
#include <log.h>
@ -29,7 +30,8 @@
#define board_is_j721e_som() (board_ti_k3_is("J721EX-PM1-SOM") || \
board_ti_k3_is("J721EX-PM2-SOM"))
#define board_is_j7200_som() board_ti_k3_is("J7200X-PM1-SOM")
#define board_is_j7200_som() (board_ti_k3_is("J7200X-PM1-SOM") || \
board_ti_k3_is("J7200X-PM2-SOM"))
/* Max number of MAC addresses that are parsed/processed per daughter card */
#define DAUGHTER_CARD_NO_OF_MAC_ADDR 8
@ -384,6 +386,33 @@ static int probe_daughtercards(void)
}
#endif
void configure_serdes_torrent(void)
{
struct udevice *dev;
struct phy serdes;
int ret;
if (!IS_ENABLED(CONFIG_PHY_CADENCE_TORRENT))
return;
ret = uclass_get_device_by_driver(UCLASS_PHY,
DM_DRIVER_GET(torrent_phy_provider),
&dev);
if (ret)
printf("Torrent init failed:%d\n", ret);
serdes.dev = dev;
serdes.id = 0;
ret = generic_phy_init(&serdes);
if (ret)
printf("phy_init failed!!\n");
ret = generic_phy_power_on(&serdes);
if (ret)
printf("phy_power_on failed !!\n");
}
int board_late_init(void)
{
if (IS_ENABLED(CONFIG_TI_I2C_BOARD_DETECT)) {
@ -394,6 +423,9 @@ int board_late_init(void)
probe_daughtercards();
}
if (board_is_j7200_som())
configure_serdes_torrent();
return 0;
}