|
@@ -34,7 +34,7 @@ typedef struct _MII_reg_desc_t {
|
|
|
char * name;
|
|
|
} MII_reg_desc_t;
|
|
|
|
|
|
-MII_reg_desc_t reg_0_5_desc_tbl[] = {
|
|
|
+static const MII_reg_desc_t reg_0_5_desc_tbl[] = {
|
|
|
{ 0, "PHY control register" },
|
|
|
{ 1, "PHY status register" },
|
|
|
{ 2, "PHY ID 1 register" },
|
|
@@ -50,7 +50,7 @@ typedef struct _MII_field_desc_t {
|
|
|
char * name;
|
|
|
} MII_field_desc_t;
|
|
|
|
|
|
-MII_field_desc_t reg_0_desc_tbl[] = {
|
|
|
+static const MII_field_desc_t reg_0_desc_tbl[] = {
|
|
|
{ 15, 15, 0x01, "reset" },
|
|
|
{ 14, 14, 0x01, "loopback" },
|
|
|
{ 13, 6, 0x81, "speed selection" }, /* special */
|
|
@@ -63,7 +63,7 @@ MII_field_desc_t reg_0_desc_tbl[] = {
|
|
|
{ 5, 0, 0x3f, "(reserved)" }
|
|
|
};
|
|
|
|
|
|
-MII_field_desc_t reg_1_desc_tbl[] = {
|
|
|
+static const MII_field_desc_t reg_1_desc_tbl[] = {
|
|
|
{ 15, 15, 0x01, "100BASE-T4 able" },
|
|
|
{ 14, 14, 0x01, "100BASE-X full duplex able" },
|
|
|
{ 13, 13, 0x01, "100BASE-X half duplex able" },
|
|
@@ -82,17 +82,17 @@ MII_field_desc_t reg_1_desc_tbl[] = {
|
|
|
{ 0, 0, 0x01, "extended capabilities" },
|
|
|
};
|
|
|
|
|
|
-MII_field_desc_t reg_2_desc_tbl[] = {
|
|
|
+static const MII_field_desc_t reg_2_desc_tbl[] = {
|
|
|
{ 15, 0, 0xffff, "OUI portion" },
|
|
|
};
|
|
|
|
|
|
-MII_field_desc_t reg_3_desc_tbl[] = {
|
|
|
+static const MII_field_desc_t reg_3_desc_tbl[] = {
|
|
|
{ 15, 10, 0x3f, "OUI portion" },
|
|
|
{ 9, 4, 0x3f, "manufacturer part number" },
|
|
|
{ 3, 0, 0x0f, "manufacturer rev. number" },
|
|
|
};
|
|
|
|
|
|
-MII_field_desc_t reg_4_desc_tbl[] = {
|
|
|
+static const MII_field_desc_t reg_4_desc_tbl[] = {
|
|
|
{ 15, 15, 0x01, "next page able" },
|
|
|
{ 14, 14, 0x01, "reserved" },
|
|
|
{ 13, 13, 0x01, "remote fault" },
|
|
@@ -107,7 +107,7 @@ MII_field_desc_t reg_4_desc_tbl[] = {
|
|
|
{ 4, 0, 0x1f, "xxx to do" },
|
|
|
};
|
|
|
|
|
|
-MII_field_desc_t reg_5_desc_tbl[] = {
|
|
|
+static const MII_field_desc_t reg_5_desc_tbl[] = {
|
|
|
{ 15, 15, 0x01, "next page able" },
|
|
|
{ 14, 14, 0x01, "acknowledge" },
|
|
|
{ 13, 13, 0x01, "remote fault" },
|
|
@@ -121,39 +121,31 @@ MII_field_desc_t reg_5_desc_tbl[] = {
|
|
|
{ 5, 5, 0x01, "10BASE-T able" },
|
|
|
{ 4, 0, 0x1f, "xxx to do" },
|
|
|
};
|
|
|
-
|
|
|
-#define DESC0LEN (sizeof(reg_0_desc_tbl)/sizeof(reg_0_desc_tbl[0]))
|
|
|
-#define DESC1LEN (sizeof(reg_1_desc_tbl)/sizeof(reg_1_desc_tbl[0]))
|
|
|
-#define DESC2LEN (sizeof(reg_2_desc_tbl)/sizeof(reg_2_desc_tbl[0]))
|
|
|
-#define DESC3LEN (sizeof(reg_3_desc_tbl)/sizeof(reg_3_desc_tbl[0]))
|
|
|
-#define DESC4LEN (sizeof(reg_4_desc_tbl)/sizeof(reg_4_desc_tbl[0]))
|
|
|
-#define DESC5LEN (sizeof(reg_5_desc_tbl)/sizeof(reg_5_desc_tbl[0]))
|
|
|
-
|
|
|
typedef struct _MII_field_desc_and_len_t {
|
|
|
- MII_field_desc_t * pdesc;
|
|
|
+ const MII_field_desc_t *pdesc;
|
|
|
ushort len;
|
|
|
} MII_field_desc_and_len_t;
|
|
|
|
|
|
-MII_field_desc_and_len_t desc_and_len_tbl[] = {
|
|
|
- { reg_0_desc_tbl, DESC0LEN },
|
|
|
- { reg_1_desc_tbl, DESC1LEN },
|
|
|
- { reg_2_desc_tbl, DESC2LEN },
|
|
|
- { reg_3_desc_tbl, DESC3LEN },
|
|
|
- { reg_4_desc_tbl, DESC4LEN },
|
|
|
- { reg_5_desc_tbl, DESC5LEN },
|
|
|
+static const MII_field_desc_and_len_t desc_and_len_tbl[] = {
|
|
|
+ { reg_0_desc_tbl, ARRAY_SIZE(reg_0_desc_tbl) },
|
|
|
+ { reg_1_desc_tbl, ARRAY_SIZE(reg_1_desc_tbl) },
|
|
|
+ { reg_2_desc_tbl, ARRAY_SIZE(reg_2_desc_tbl) },
|
|
|
+ { reg_3_desc_tbl, ARRAY_SIZE(reg_3_desc_tbl) },
|
|
|
+ { reg_4_desc_tbl, ARRAY_SIZE(reg_4_desc_tbl) },
|
|
|
+ { reg_5_desc_tbl, ARRAY_SIZE(reg_5_desc_tbl) },
|
|
|
};
|
|
|
|
|
|
static void dump_reg(
|
|
|
ushort regval,
|
|
|
- MII_reg_desc_t * prd,
|
|
|
- MII_field_desc_and_len_t * pdl);
|
|
|
+ const MII_reg_desc_t *prd,
|
|
|
+ const MII_field_desc_and_len_t *pdl);
|
|
|
|
|
|
static int special_field(
|
|
|
ushort regno,
|
|
|
- MII_field_desc_t * pdesc,
|
|
|
+ const MII_field_desc_t *pdesc,
|
|
|
ushort regval);
|
|
|
|
|
|
-void MII_dump_0_to_5(
|
|
|
+static void MII_dump_0_to_5(
|
|
|
ushort regvals[6],
|
|
|
uchar reglo,
|
|
|
uchar reghi)
|
|
@@ -169,12 +161,12 @@ void MII_dump_0_to_5(
|
|
|
|
|
|
static void dump_reg(
|
|
|
ushort regval,
|
|
|
- MII_reg_desc_t * prd,
|
|
|
- MII_field_desc_and_len_t * pdl)
|
|
|
+ const MII_reg_desc_t *prd,
|
|
|
+ const MII_field_desc_and_len_t *pdl)
|
|
|
{
|
|
|
ulong i;
|
|
|
ushort mask_in_place;
|
|
|
- MII_field_desc_t * pdesc;
|
|
|
+ const MII_field_desc_t *pdesc;
|
|
|
|
|
|
printf("%u. (%04hx) -- %s --\n",
|
|
|
prd->regno, regval, prd->name);
|
|
@@ -217,7 +209,7 @@ static void dump_reg(
|
|
|
|
|
|
static int special_field(
|
|
|
ushort regno,
|
|
|
- MII_field_desc_t * pdesc,
|
|
|
+ const MII_field_desc_t *pdesc,
|
|
|
ushort regval)
|
|
|
{
|
|
|
if ((regno == 0) && (pdesc->lo == 6)) {
|
|
@@ -268,12 +260,12 @@ static int special_field(
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-char last_op[2];
|
|
|
-uint last_data;
|
|
|
-uint last_addr_lo;
|
|
|
-uint last_addr_hi;
|
|
|
-uint last_reg_lo;
|
|
|
-uint last_reg_hi;
|
|
|
+static char last_op[2];
|
|
|
+static uint last_data;
|
|
|
+static uint last_addr_lo;
|
|
|
+static uint last_addr_hi;
|
|
|
+static uint last_reg_lo;
|
|
|
+static uint last_reg_hi;
|
|
|
|
|
|
static void extract_range(
|
|
|
char * input,
|
|
@@ -292,7 +284,7 @@ static void extract_range(
|
|
|
}
|
|
|
|
|
|
/* ---------------------------------------------------------------- */
|
|
|
-int do_mii (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
|
|
|
+static int do_mii(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
|
|
{
|
|
|
char op[2];
|
|
|
unsigned char addrlo, addrhi, reglo, reghi;
|