Message ID | 1384964699-15134-2-git-send-email-ivan.khoronzhuk@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wednesday 20 November 2013, Ivan Khoronzhuk wrote: > --- a/drivers/mtd/nand/davinci_nand.c > +++ b/drivers/mtd/nand/davinci_nand.c > @@ -523,6 +523,7 @@ static struct nand_ecclayout hwecc4_2048 __initconst = { > #if defined(CONFIG_OF) > static const struct of_device_id davinci_nand_of_match[] = { > {.compatible = "ti,davinci-nand", }, > + {.compatible = "ti,keystone-nand", }, > {}, > }; > MODULE_DEVICE_TABLE(of, davinci_nand_of_match); Same comment as for the watchdog driver: when the devices are actually compatible, the driver does not need to know the new string, the preferred method is to set both strings from the .dts file. Arnd
On 11/23/2013 08:15 PM, Arnd Bergmann wrote: > On Wednesday 20 November 2013, Ivan Khoronzhuk wrote: >> --- a/drivers/mtd/nand/davinci_nand.c >> +++ b/drivers/mtd/nand/davinci_nand.c >> @@ -523,6 +523,7 @@ static struct nand_ecclayout hwecc4_2048 __initconst = { >> #if defined(CONFIG_OF) >> static const struct of_device_id davinci_nand_of_match[] = { >> {.compatible = "ti,davinci-nand", }, >> + {.compatible = "ti,keystone-nand", }, >> {}, >> }; >> MODULE_DEVICE_TABLE(of, davinci_nand_of_match); > > Same comment as for the watchdog driver: when the devices are actually compatible, > the driver does not need to know the new string, the preferred method is to > set both strings from the .dts file. > > Arnd > Thanks. I'll correct it.
diff --git a/Documentation/devicetree/bindings/mtd/davinci-nand.txt b/Documentation/devicetree/bindings/mtd/davinci-nand.txt index befaa5b..cfb18ab 100644 --- a/Documentation/devicetree/bindings/mtd/davinci-nand.txt +++ b/Documentation/devicetree/bindings/mtd/davinci-nand.txt @@ -1,14 +1,16 @@ -Device tree bindings for Texas instruments Davinci NAND controller +Device tree bindings for Texas instruments Davinci/Keystone NAND controller -This file provides information, what the device node for the davinci NAND -interface contains. +This file provides information, what the device node for the davinci/keystone +NAND interface contains. Documentation: Davinci DM646x - http://www.ti.com/lit/ug/sprueq7c/sprueq7c.pdf +Kestone - http://www.ti.com/lit/ug/sprugz3a/sprugz3a.pdf Required properties: - compatible: "ti,davinci-nand" + "ti,keystone-nand" - reg: Contains 2 offset/length values: - offset and length for the access window. diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig index d885298..8bf69c7 100644 --- a/drivers/mtd/nand/Kconfig +++ b/drivers/mtd/nand/Kconfig @@ -492,11 +492,11 @@ config MTD_NAND_SH_FLCTL for NAND Flash using FLCTL. config MTD_NAND_DAVINCI - tristate "Support NAND on DaVinci SoC" - depends on ARCH_DAVINCI + tristate "Support NAND on DaVinci/Keystone SoC" + depends on ARCH_DAVINCI || (ARCH_KEYSTONE && TI_AEMIF) help Enable the driver for NAND flash chips on Texas Instruments - DaVinci processors. + DaVinci/Keystone processors. config MTD_NAND_TXX9NDFMC tristate "NAND Flash support for TXx9 SoC" diff --git a/drivers/mtd/nand/davinci_nand.c b/drivers/mtd/nand/davinci_nand.c index f7b21b8..8459720 100644 --- a/drivers/mtd/nand/davinci_nand.c +++ b/drivers/mtd/nand/davinci_nand.c @@ -523,6 +523,7 @@ static struct nand_ecclayout hwecc4_2048 __initconst = { #if defined(CONFIG_OF) static const struct of_device_id davinci_nand_of_match[] = { {.compatible = "ti,davinci-nand", }, + {.compatible = "ti,keystone-nand", }, {}, }; MODULE_DEVICE_TABLE(of, davinci_nand_of_match);
The Keystone arch has compatible nand device, so reuse it. In case with Keystone it depends on TI_AEMIF because AEMIF driver is responsible to set timings. See http://www.ti.com/lit/ug/sprugz3a/sprugz3a.pdf Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com> --- .../devicetree/bindings/mtd/davinci-nand.txt | 8 +++++--- drivers/mtd/nand/Kconfig | 6 +++--- drivers/mtd/nand/davinci_nand.c | 1 + 3 files changed, 9 insertions(+), 6 deletions(-)