Browse Source

Marvell/Armada80x0Db: Introduce SD/MMC ACPI description

This patch adds a new description of the board's SD/MMC
interfaces in DSDT table that can work with the newly
introduced support in Linux.

Signed-off-by: Marcin Wojtas <mw@semihalf.com>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Marcin Wojtas 3 years ago
parent
commit
5f835557dd
1 changed files with 59 additions and 0 deletions
  1. 59 0
      Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0Db/Dsdt.asl

+ 59 - 0
Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0Db/Dsdt.asl

@@ -87,6 +87,65 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARMADA8K", 3)
             })
         }
 
+        Device (MMC0)
+        {
+            Name (_HID, "MRVL0002")     // _HID: Hardware ID
+            Name (_UID, 0x00)           // _UID: Unique ID
+            Name (_CCA, 0x01)           // _CCA: Cache Coherency Attribute
+
+            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
+            {
+                Memory32Fixed (ReadWrite,
+                    0xF06E0000,         // Address Base (MMIO)
+                    0x00000300,         // Address Length
+                    )
+                Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, )
+                {
+                  48
+                }
+            })
+            Name (_DSD, Package () {
+                ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+                Package () {
+                      Package () { "clock-frequency", 400000000 },
+                      Package () { "bus-width", 8 },
+                      Package () { "marvell,xenon-phy-slow-mode", 0x1 },
+                      Package () { "no-sd", 0x1 },
+                      Package () { "no-sdio", 0x1  },
+                      Package () { "non-removable", 0x1  },
+                }
+            })
+        }
+
+        Device (MMC1)
+        {
+            Name (_HID, "MRVL0004")     // _HID: Hardware ID
+            Name (_UID, 0x01)           // _UID: Unique ID
+            Name (_CCA, 0x01)           // _CCA: Cache Coherency Attribute
+
+            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
+            {
+                Memory32Fixed (ReadWrite,
+                    0xF2780000,         // Address Base (MMIO)
+                    0x00000300,         // Address Length
+                    )
+                Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, )
+                {
+                  CP_GIC_SPI_CP0_SDMMC
+                }
+            })
+            Name (_DSD, Package () {
+                ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+                Package () {
+                      Package () { "clock-frequency", 400000000 },
+                      Package () { "bus-width", 4 },
+                      Package () { "no-sd", 0x1 },
+                      Package () { "no-sdio", 0x1  },
+                      Package () { "non-removable", 0x1  },
+                }
+            })
+        }
+
         Device (XHC0)
         {
             Name (_HID, "PNP0D10")      // _HID: Hardware ID