Skip to content

Commit 4b29e39

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> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
1 parent 23b4ed1 commit 4b29e39

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
@@ -175,8 +175,9 @@
175175
#define MDIO_PORT0 0x0
176176
#define MDIO_DATA_MASK 0x7fffffff
177177
#define MDIO_PORT_MASK 0xf0000
178+
#define MDIO_PORT_EXT_MASK 0x200000
178179
#define MDIO_REGAD_MASK 0xffff
179-
#define MDIO_CMD_MASK 0xfff00000
180+
#define MDIO_CMD_MASK 0x00100000
180181
#define MDIO_CMD_READ 0x1
181182
#define MDIO_CMD_WRITE 0x0
182183
#define MDIO_DATA_DONE_MASK 0x80000000
@@ -327,6 +328,7 @@ static u32 brcm_pcie_mdio_form_pkt(int port, int regad, int cmd)
327328
{
328329
u32 pkt = 0;
329330

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

0 commit comments

Comments
 (0)