[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1551178088-6615-1-git-send-email-f.suligoi@asem.it>
Date: Tue, 26 Feb 2019 11:48:07 +0100
From: Flavio Suligoi <f.suligoi@...m.it>
To: David Woodhouse <dwmw2@...radead.org>,
Brian Norris <computersforpeace@...il.com>,
Boris Brezillon <bbrezillon@...nel.org>,
Marek Vasut <marek.vasut@...il.com>,
Richard Weinberger <richard@....at>,
Mark Brown <broonie@...nel.org>,
Frieder Schrempf <frieder.schrempf@...eet.de>,
Yogesh Gaur <yogeshnarayan.gaur@....com>,
<linux-mtd@...ts.infradead.org>, <linux-kernel@...r.kernel.org>
CC: Flavio Suligoi <f.suligoi@...m.it>
Subject: [PATCH v1 0/1] mtd: devices: add ACPI support for non-jedec m25p80
This patch concerns the use of a "non-jedec" m25p80 device in a x86 machine.
For an x86 machine a m25p80 device has to be declared inside a BIOS ACPI table
(for example inside the SSDT or the DSDT table).
No matching problems for the jedec compatible devices, since we have the list:
static const struct of_device_id m25p_of_table[] = {
{ .compatible = "jedec,spi-nor" },
{}
};
But for the "non-jedec" devices there are no possible matches, even if we try to
use, the SPI modalias, as:
spi:mr25h40
So it is necessary filling the m25p_of_table with all the m25p80 device names
used in the driver. This solution works both for the ACPI-style (x86) and
the DT-style declarations (ARM).
I checked this patch with:
1) x68 board using both an SSDT and DSDT tables
2) i.MX6DL custom board using a Device Tree
This is an example of working SSDT table for x86:
DefinitionBlock ("mr25h40.aml", "SSDT", 5, "ASEMsp", "MR25H40", 1)
{
External (_SB.SPI1, DeviceObj)
Scope (\_SB.SPI1)
{
Device (NVR0)
{
Name (_HID, "PRP0001")
Name (_DDN, "Everspin MR25H40 MRAM")
Name (_CRS, ResourceTemplate () {
SpiSerialBus (
1, // 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
ResourceConsumer,
,
)
})
Name (_DSD, Package () {
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
Package () {
Package () {"compatible", "mr25h40"},
}
})
}
}
}
Flavio Suligoi (1):
mtd: devices: add ACPI support for non-jedec m25p80
drivers/mtd/devices/m25p80.c | 57 +++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 56 insertions(+), 1 deletion(-)
--
2.7.4
Powered by blists - more mailing lists