[Question] Use mr25h40 in a custom DSDT ACPI table
Flavio Suligoi
f.suligoi at asem.it
Thu Feb 14 03:34:52 EST 2019
Hi all,
I work on a custom x86 board. In this board I have to manage an MRAM chip mr25h40 (on the SPI bus).
I want to modify the DSDT ACPI table in the BIOS.
Unfortunately, the mr25h40 is not Jedec compatible, so, in my DSDT, if I use the classic:
{"compatible", "jedec,spi-nor"}
the device drivers mtd and m25p80 are loaded, but obviously the MRAM is not initialized:
Device (NVR0) {
Name (_HID, "PRP0001")
Name (_DDN, "Everspin MR25H40 MRAM")
Name (_CRS, ResourceTemplate () {
SpiSerialBus (
0, // Chip select
PolarityLow, // Chip select is active low
FourWireMode, // Full duplex
8, // Bits per word is 8 (byte)
ControllerInitiated, // Don't care
10000000, // 10 MHz
ClockPolarityLow, // SPI mode 0 ClockPolarityLow
ClockPhaseFirst, // SPI mode 0 ClockPhaseFirst
"\\_SB.SPI1", // SPI host controller
0 // Must be 0
)
})
Name (_DSD, Package () {
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
Package () {
Package () {"compatible", "jedec,spi-nor"},
}
})
}
Instead if I try to use:
Package () {"compatible", "mr25h40"}
obviously it doesn't work, because "mr25h40" is not in the m25p_of_table.
Does anyone have any ideas?
Thanks and best regards,
Flavio Suligoi
More information about the Kernelnewbies
mailing list