mdio: rename argument devad to regad

Rename argument `devad` to `regad` to indicate this is the register
address in a given PHY device and to not be confused with the
Clause 45 device address within a port.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
This commit is contained in:
Manuel Argüelles 2023-07-08 14:52:20 -03:00 committed by Carles Cufí
commit 62b28cb443
6 changed files with 50 additions and 49 deletions

View file

@ -131,7 +131,7 @@ int adin2111_mdio_c45_write(const struct device *dev, uint8_t prtad,
}
static int mdio_adin2111_read(const struct device *dev, uint8_t prtad,
uint8_t devad, uint16_t *data)
uint8_t regad, uint16_t *data)
{
const struct mdio_adin2111_config *const cfg = dev->config;
uint32_t read;
@ -141,7 +141,7 @@ static int mdio_adin2111_read(const struct device *dev, uint8_t prtad,
cmd = BIT(28);
cmd |= 0x3U << 26;
cmd |= (prtad & 0x1FU) << 21;
cmd |= (devad & 0x1FU) << 16;
cmd |= (regad & 0x1FU) << 16;
ret = eth_adin2111_reg_write(cfg->adin, ADIN2111_MDIOACC0, cmd);
if (ret >= 0) {
@ -153,7 +153,7 @@ static int mdio_adin2111_read(const struct device *dev, uint8_t prtad,
}
static int mdio_adin2111_write(const struct device *dev, uint8_t prtad,
uint8_t devad, uint16_t data)
uint8_t regad, uint16_t data)
{
const struct mdio_adin2111_config *const cfg = dev->config;
uint32_t cmd;
@ -163,7 +163,7 @@ static int mdio_adin2111_write(const struct device *dev, uint8_t prtad,
cmd = BIT(28);
cmd |= BIT(26);
cmd |= (prtad & 0x1FU) << 21;
cmd |= (devad & 0x1FU) << 16;
cmd |= (regad & 0x1FU) << 16;
cmd |= data;
ret = eth_adin2111_reg_write(cfg->adin, ADIN2111_MDIOACC0, cmd);

View file

@ -30,7 +30,7 @@ struct mdio_esp32_dev_config {
const struct pinctrl_dev_config *pcfg;
};
static int mdio_transfer(const struct device *dev, uint8_t prtad, uint8_t devad,
static int mdio_transfer(const struct device *dev, uint8_t prtad, uint8_t regad,
bool write, uint16_t data_in, uint16_t *data_out)
{
struct mdio_esp32_dev_data *const dev_data = dev->data;
@ -46,7 +46,7 @@ static int mdio_transfer(const struct device *dev, uint8_t prtad, uint8_t devad,
if (write) {
emac_ll_set_phy_data(dev_data->hal.mac_regs, data_in);
}
emac_hal_set_phy_cmd(&dev_data->hal, prtad, devad, write);
emac_hal_set_phy_cmd(&dev_data->hal, prtad, regad, write);
/* Poll until operation complete */
bool success = false;
@ -73,17 +73,17 @@ static int mdio_transfer(const struct device *dev, uint8_t prtad, uint8_t devad,
return 0;
}
static int mdio_esp32_read(const struct device *dev, uint8_t prtad, uint8_t devad,
static int mdio_esp32_read(const struct device *dev, uint8_t prtad, uint8_t regad,
uint16_t *data)
{
return mdio_transfer(dev, prtad, devad, false, 0, data);
return mdio_transfer(dev, prtad, regad, false, 0, data);
}
static int mdio_esp32_write(const struct device *dev, uint8_t prtad,
uint8_t devad, uint16_t data)
uint8_t regad, uint16_t data)
{
return mdio_transfer(dev, prtad, devad, true, data, NULL);
return mdio_transfer(dev, prtad, regad, true, data, NULL);
}
static void mdio_esp32_bus_enable(const struct device *dev)

View file

@ -25,7 +25,7 @@ struct nxp_s32_mdio_data {
};
static int nxp_s32_mdio_read(const struct device *dev, uint8_t prtad,
uint8_t devad, uint16_t *regval)
uint8_t regad, uint16_t *regval)
{
const struct nxp_s32_mdio_config *const cfg = dev->config;
struct nxp_s32_mdio_data *data = dev->data;
@ -37,14 +37,14 @@ static int nxp_s32_mdio_read(const struct device *dev, uint8_t prtad,
}
k_mutex_lock(&data->rw_mutex, K_FOREVER);
status = Netc_EthSwt_Ip_ReadTrcvRegister(NETC_SWT_IDX, prtad, devad, regval);
status = Netc_EthSwt_Ip_ReadTrcvRegister(NETC_SWT_IDX, prtad, regad, regval);
k_mutex_unlock(&data->rw_mutex);
return status == E_OK ? 0 : -EIO;
}
static int nxp_s32_mdio_write(const struct device *dev, uint8_t prtad,
uint8_t devad, uint16_t regval)
uint8_t regad, uint16_t regval)
{
const struct nxp_s32_mdio_config *const cfg = dev->config;
struct nxp_s32_mdio_data *data = dev->data;
@ -56,7 +56,7 @@ static int nxp_s32_mdio_write(const struct device *dev, uint8_t prtad,
}
k_mutex_lock(&data->rw_mutex, K_FOREVER);
status = Netc_EthSwt_Ip_WriteTrcvRegister(NETC_SWT_IDX, prtad, devad, regval);
status = Netc_EthSwt_Ip_WriteTrcvRegister(NETC_SWT_IDX, prtad, regad, regval);
k_mutex_unlock(&data->rw_mutex);
return status == E_OK ? 0 : -EIO;

View file

@ -34,7 +34,7 @@ struct mdio_sam_dev_config {
int protocol;
};
static int mdio_transfer(const struct device *dev, uint8_t prtad, uint8_t devad,
static int mdio_transfer(const struct device *dev, uint8_t prtad, uint8_t regad,
uint8_t rw, uint16_t data_in, uint16_t *data_out)
{
const struct mdio_sam_dev_config *const cfg = dev->config;
@ -48,7 +48,7 @@ static int mdio_transfer(const struct device *dev, uint8_t prtad, uint8_t devad,
cfg->regs->GMAC_MAN = (GMAC_MAN_OP(rw ? 0x2 : 0x3))
| GMAC_MAN_WTN(0x02)
| GMAC_MAN_PHYA(prtad)
| GMAC_MAN_REGA(devad)
| GMAC_MAN_REGA(regad)
| GMAC_MAN_DATA(data_in);
} else if (cfg->protocol == CLAUSE_22) {
@ -56,7 +56,7 @@ static int mdio_transfer(const struct device *dev, uint8_t prtad, uint8_t devad,
| (GMAC_MAN_OP(rw ? 0x2 : 0x1))
| GMAC_MAN_WTN(0x02)
| GMAC_MAN_PHYA(prtad)
| GMAC_MAN_REGA(devad)
| GMAC_MAN_REGA(regad)
| GMAC_MAN_DATA(data_in);
} else {
@ -84,16 +84,16 @@ static int mdio_transfer(const struct device *dev, uint8_t prtad, uint8_t devad,
return 0;
}
static int mdio_sam_read(const struct device *dev, uint8_t prtad, uint8_t devad,
static int mdio_sam_read(const struct device *dev, uint8_t prtad, uint8_t regad,
uint16_t *data)
{
return mdio_transfer(dev, prtad, devad, 1, 0, data);
return mdio_transfer(dev, prtad, regad, 1, 0, data);
}
static int mdio_sam_write(const struct device *dev, uint8_t prtad,
uint8_t devad, uint16_t data)
uint8_t regad, uint16_t data)
{
return mdio_transfer(dev, prtad, devad, 0, data, NULL);
return mdio_transfer(dev, prtad, regad, 0, data, NULL);
}
static void mdio_sam_bus_enable(const struct device *dev)

View file

@ -35,14 +35,14 @@ LOG_MODULE_REGISTER(mdio_shell, CONFIG_LOG_DEFAULT_LEVEL);
/*
* Scan the entire 5-bit address space of the MDIO bus
*
* scan [<dev_addr>]
* scan [<reg_addr>]
*/
static int cmd_mdio_scan(const struct shell *sh, size_t argc, char **argv)
{
const struct device *dev;
int cnt;
uint16_t data;
uint16_t dev_addr;
uint16_t reg_addr;
dev = DEVICE_DT_GET(MDIO_NODE_ID);
if (!device_is_ready(dev)) {
@ -52,21 +52,21 @@ static int cmd_mdio_scan(const struct shell *sh, size_t argc, char **argv)
}
if (argc >= 2) {
dev_addr = strtol(argv[1], NULL, 16);
reg_addr = strtol(argv[1], NULL, 16);
} else {
dev_addr = 0;
reg_addr = 0;
}
shell_print(sh,
"Scanning bus for devices. Reading register 0x%x",
dev_addr);
reg_addr);
cnt = 0;
mdio_bus_enable(dev);
for (int i = 0; i < 32; i++) {
data = 0;
if (mdio_read(dev, i, dev_addr, &data) >= 0 &&
if (mdio_read(dev, i, reg_addr, &data) >= 0 &&
data != UINT16_MAX) {
cnt++;
shell_print(sh, "Found MDIO device @ 0x%x", i);
@ -80,12 +80,12 @@ static int cmd_mdio_scan(const struct shell *sh, size_t argc, char **argv)
return 0;
}
/* mdio write <port_addr> <dev_addr> <data> */
/* mdio write <port_addr> <reg_addr> <data> */
static int cmd_mdio_write(const struct shell *sh, size_t argc, char **argv)
{
const struct device *dev;
uint16_t data;
uint16_t dev_addr;
uint16_t reg_addr;
uint16_t port_addr;
dev = DEVICE_DT_GET(MDIO_NODE_ID);
@ -96,12 +96,12 @@ static int cmd_mdio_write(const struct shell *sh, size_t argc, char **argv)
}
port_addr = strtol(argv[1], NULL, 16);
dev_addr = strtol(argv[2], NULL, 16);
reg_addr = strtol(argv[2], NULL, 16);
data = strtol(argv[3], NULL, 16);
mdio_bus_enable(dev);
if (mdio_write(dev, port_addr, dev_addr, data) < 0) {
if (mdio_write(dev, port_addr, reg_addr, data) < 0) {
shell_error(sh, "Failed to write to device: %s", dev->name);
mdio_bus_disable(dev);
@ -113,12 +113,12 @@ static int cmd_mdio_write(const struct shell *sh, size_t argc, char **argv)
return 0;
}
/* mdio read <port_addr> <dev_addr> */
/* mdio read <port_addr> <reg_addr> */
static int cmd_mdio_read(const struct shell *sh, size_t argc, char **argv)
{
const struct device *dev;
uint16_t data;
uint16_t dev_addr;
uint16_t reg_addr;
uint16_t port_addr;
dev = DEVICE_DT_GET(MDIO_NODE_ID);
@ -129,11 +129,11 @@ static int cmd_mdio_read(const struct shell *sh, size_t argc, char **argv)
}
port_addr = strtol(argv[1], NULL, 16);
dev_addr = strtol(argv[2], NULL, 16);
reg_addr = strtol(argv[2], NULL, 16);
mdio_bus_enable(dev);
if (mdio_read(dev, port_addr, dev_addr, &data) < 0) {
if (mdio_read(dev, port_addr, reg_addr, &data) < 0) {
shell_error(sh, "Failed to read from device: %s", dev->name);
mdio_bus_disable(dev);
@ -142,20 +142,20 @@ static int cmd_mdio_read(const struct shell *sh, size_t argc, char **argv)
mdio_bus_disable(dev);
shell_print(sh, "%x[%x]: 0x%x", port_addr, dev_addr, data);
shell_print(sh, "%x[%x]: 0x%x", port_addr, reg_addr, data);
return 0;
}
SHELL_STATIC_SUBCMD_SET_CREATE(sub_mdio_cmds,
SHELL_CMD_ARG(scan, NULL,
"Scan MDIO bus for devices: scan [<dev_addr>]",
"Scan MDIO bus for devices: scan [<reg_addr>]",
cmd_mdio_scan, 0, 1),
SHELL_CMD_ARG(read, NULL,
"Read from MDIO device: read <phy_addr> <dev_addr>",
"Read from MDIO device: read <phy_addr> <reg_addr>",
cmd_mdio_read, 3, 0),
SHELL_CMD_ARG(write, NULL,
"Write to MDIO device: write <phy_addr> <dev_addr> <value>",
"Write to MDIO device: write <phy_addr> <reg_addr> <value>",
cmd_mdio_write, 4, 0),
SHELL_SUBCMD_SET_END /* Array terminated. */
);

View file

@ -6,6 +6,7 @@
/*
* Copyright (c) 2021 IP-Logix Inc.
* Copyright 2023 NXP
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -47,11 +48,11 @@ __subsystem struct mdio_driver_api {
void (*bus_disable)(const struct device *dev);
/** Read data from MDIO bus */
int (*read)(const struct device *dev, uint8_t prtad, uint8_t devad,
int (*read)(const struct device *dev, uint8_t prtad, uint8_t regad,
uint16_t *data);
/** Write data to MDIO bus */
int (*write)(const struct device *dev, uint8_t prtad, uint8_t devad,
int (*write)(const struct device *dev, uint8_t prtad, uint8_t regad,
uint16_t data);
};
/**
@ -98,23 +99,23 @@ static inline void z_impl_mdio_bus_disable(const struct device *dev)
*
* @param[in] dev Pointer to the device structure for the controller
* @param[in] prtad Port address
* @param[in] devad Device address
* @param[in] regad Register address
* @param data Pointer to receive read data
*
* @retval 0 If successful.
* @retval -EIO General input / output error.
* @retval -ETIMEDOUT If transaction timedout on the bus
*/
__syscall int mdio_read(const struct device *dev, uint8_t prtad, uint8_t devad,
__syscall int mdio_read(const struct device *dev, uint8_t prtad, uint8_t regad,
uint16_t *data);
static inline int z_impl_mdio_read(const struct device *dev, uint8_t prtad,
uint8_t devad, uint16_t *data)
uint8_t regad, uint16_t *data)
{
const struct mdio_driver_api *api =
(const struct mdio_driver_api *)dev->api;
return api->read(dev, prtad, devad, data);
return api->read(dev, prtad, regad, data);
}
@ -126,23 +127,23 @@ static inline int z_impl_mdio_read(const struct device *dev, uint8_t prtad,
*
* @param[in] dev Pointer to the device structure for the controller
* @param[in] prtad Port address
* @param[in] devad Device address
* @param[in] regad Register address
* @param[in] data Data to write
*
* @retval 0 If successful.
* @retval -EIO General input / output error.
* @retval -ETIMEDOUT If transaction timedout on the bus
*/
__syscall int mdio_write(const struct device *dev, uint8_t prtad, uint8_t devad,
__syscall int mdio_write(const struct device *dev, uint8_t prtad, uint8_t regad,
uint16_t data);
static inline int z_impl_mdio_write(const struct device *dev, uint8_t prtad,
uint8_t devad, uint16_t data)
uint8_t regad, uint16_t data)
{
const struct mdio_driver_api *api =
(const struct mdio_driver_api *)dev->api;
return api->write(dev, prtad, devad, data);
return api->write(dev, prtad, regad, data);
}
#ifdef __cplusplus