Skip to content

Commit 97ad2e0

Browse files
jamesequinlanpopcornmix
authored andcommitted
PCI: brcmstb: Make two changes in MDIO register fields
The HW team has decided to "tighten" some field definitions in the MDIO packet format. Fortunately these two changes may be made in a backwards compatible manner. The CMD field used to be 12 bits and now is one. This change is backwards compatible because the field's starting bit position is unchanged and the only commands we've used have values 0 and 1. The PORT field's width has been changed from four to five bits. When written, the new bit is not contiguous with the other four. Fortunately, this change is backwards compatible because we have never used anything other than 0 for the port field's value. Signed-off-by: Jim Quinlan <james.quinlan@broadcom.com>
1 parent a70c281 commit 97ad2e0

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

drivers/pci/controller/pcie-brcmstb.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,8 +176,9 @@
176176
#define MDIO_PORT0 0x0
177177
#define MDIO_DATA_MASK 0x7fffffff
178178
#define MDIO_PORT_MASK 0xf0000
179+
#define MDIO_PORT_EXT_MASK 0x200000
179180
#define MDIO_REGAD_MASK 0xffff
180-
#define MDIO_CMD_MASK 0xfff00000
181+
#define MDIO_CMD_MASK 0x00100000
181182
#define MDIO_CMD_READ 0x1
182183
#define MDIO_CMD_WRITE 0x0
183184
#define MDIO_DATA_DONE_MASK 0x80000000
@@ -328,6 +329,7 @@ static u32 brcm_pcie_mdio_form_pkt(int port, int regad, int cmd)
328329
{
329330
u32 pkt = 0;
330331

332+
pkt |= FIELD_PREP(MDIO_PORT_EXT_MASK, port >> 4);
331333
pkt |= FIELD_PREP(MDIO_PORT_MASK, port);
332334
pkt |= FIELD_PREP(MDIO_REGAD_MASK, regad);
333335
pkt |= FIELD_PREP(MDIO_CMD_MASK, cmd);

0 commit comments

Comments
 (0)