Merge branch 'Add-ACPI-bindings-to-the-genet'
authorDavid S. Miller <davem@davemloft.net>
Mon, 24 Feb 2020 23:31:23 +0000 (15:31 -0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 24 Feb 2020 23:31:23 +0000 (15:31 -0800)
commite2763bc4d4af79ac2194de3fcfec070ae4793e98
tree2907f49827ca3e245c7ce3793023d96d77348527
parentcc5b48b567a2f668d6f301cb0dd08d65ff1f7fa2
parentae200c26b32b98f48a9eb5cf53396fd15d94a3cb
Merge branch 'Add-ACPI-bindings-to-the-genet'

Jeremy Linton says:

====================
Add ACPI bindings to the genet

This patch series allows the BCM GENET, as used on the RPi4,
to attach when booted in an ACPI environment. The DSDT entry to
trigger this is seen below. Of note, the first patch adds a
small extension to the mdio layer which allows drivers to find
the mii_bus without firmware assistance. The fifth patch in
the set retrieves the MAC address from the umac registers
rather than carrying it directly in the DSDT. This of course
requires the firmware to pre-program it, so we continue to fall
back on a random one if it appears to be garbage.

v1 -> v2:
     fail on missing phy-mode property
     replace phy-mode internal property read string with
           device_get_phy_mode() equivalent
     rework mac address detection logic so that it merges
          the acpi/DT case into device_get_mac_address()
    allowing _DSD mac address properties.
     some commit messages justifying why phy_find_first()
          isn't the worst choice for this driver.

+    Device (ETH0)
+    {
+      Name (_HID, "BCM6E4E")
+      Name (_UID, 0)
+      Name (_CCA, 0x0)
+      Method (_STA)
+      {
+        Return (0xf)
+      }
+      Method (_CRS, 0x0, Serialized)
+      {
+        Name (RBUF, ResourceTemplate ()
+        {
+          Memory32Fixed (ReadWrite, 0xFd580000, 0x10000, )
+          Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { 0xBD }
+          Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { 0xBE }
+        })
+        Return (RBUF)
+      }
+      Name (_DSD, Package () {
+        ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+          Package () {
+          Package () { "phy-mode", "rgmii-rxid" },
+        }
+      })
+    }
====================

Tested-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>