Commit 75be1ea2 authored by Ivan Khoronzhuk's avatar Ivan Khoronzhuk Committed by Brian Norris

mtd: nand: davinci: adjust DT properties to MTD generic

The properties davinci-ecc-mode, davinci-nand-use-bbt, davinci-nand-buswidth
are MTD generic. Correct names for them are: nand-ecc-mode, nand-on-flash-bbt,
nand-bus-width accordingly. So rename them in dts and documentation.
Reviewed-by: default avatarGrygorii Strashko <grygorii.strashko@ti.com>
Reviewed-by: default avatarTaras Kondratiuk <taras@ti.com>
Signed-off-by: default avatarIvan Khoronzhuk <ivan.khoronzhuk@ti.com>
Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
parent 9ba51cff
...@@ -37,7 +37,7 @@ Recommended properties : ...@@ -37,7 +37,7 @@ Recommended properties :
- ti,davinci-mask-chipsel: mask for chipselect address. Needed to mask - ti,davinci-mask-chipsel: mask for chipselect address. Needed to mask
addresses for given chipselect. addresses for given chipselect.
- ti,davinci-ecc-mode: operation mode of the NAND ecc mode. ECC mode - nand-ecc-mode: operation mode of the NAND ecc mode. ECC mode
valid values for davinci driver: valid values for davinci driver:
- "none" - "none"
- "soft" - "soft"
...@@ -45,10 +45,25 @@ Recommended properties : ...@@ -45,10 +45,25 @@ Recommended properties :
- ti,davinci-ecc-bits: used ECC bits, currently supported 1 or 4. - ti,davinci-ecc-bits: used ECC bits, currently supported 1 or 4.
- ti,davinci-nand-buswidth: buswidth 8 or 16. - nand-bus-width: buswidth 8 or 16. If not present 8.
- nand-on-flash-bbt: use flash based bad block table support. OOB
identifier is saved in OOB area. If not present
false.
Deprecated properties:
- ti,davinci-ecc-mode: operation mode of the NAND ecc mode. ECC mode
valid values for davinci driver:
- "none"
- "soft"
- "hw"
- ti,davinci-nand-buswidth: buswidth 8 or 16. If not present 8.
- ti,davinci-nand-use-bbt: use flash based bad block table support. OOB - ti,davinci-nand-use-bbt: use flash based bad block table support. OOB
identifier is saved in OOB area. identifier is saved in OOB area. If not present
false.
Nand device bindings may contain additional sub-nodes describing partitions of Nand device bindings may contain additional sub-nodes describing partitions of
the address space. See partition.txt for more detail. The NAND Flash timing the address space. See partition.txt for more detail. The NAND Flash timing
...@@ -66,9 +81,9 @@ nand_cs3@62000000 { ...@@ -66,9 +81,9 @@ nand_cs3@62000000 {
ti,davinci-mask-ale = <0>; ti,davinci-mask-ale = <0>;
ti,davinci-mask-cle = <0>; ti,davinci-mask-cle = <0>;
ti,davinci-mask-chipsel = <0>; ti,davinci-mask-chipsel = <0>;
ti,davinci-ecc-mode = "hw"; nand-ecc-mode = "hw";
ti,davinci-ecc-bits = <4>; ti,davinci-ecc-bits = <4>;
ti,davinci-nand-use-bbt; nand-on-flash-bbt;
partition@180000 { partition@180000 {
label = "ubifs"; label = "ubifs";
......
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/of_device.h> #include <linux/of_device.h>
#include <linux/of.h> #include <linux/of.h>
#include <linux/of_mtd.h>
#include <linux/platform_data/mtd-davinci.h> #include <linux/platform_data/mtd-davinci.h>
#include <linux/platform_data/mtd-davinci-aemif.h> #include <linux/platform_data/mtd-davinci-aemif.h>
...@@ -534,7 +535,6 @@ static struct davinci_nand_pdata ...@@ -534,7 +535,6 @@ static struct davinci_nand_pdata
struct davinci_nand_pdata *pdata; struct davinci_nand_pdata *pdata;
const char *mode; const char *mode;
u32 prop; u32 prop;
int len;
pdata = devm_kzalloc(&pdev->dev, pdata = devm_kzalloc(&pdev->dev,
sizeof(struct davinci_nand_pdata), sizeof(struct davinci_nand_pdata),
...@@ -558,6 +558,8 @@ static struct davinci_nand_pdata ...@@ -558,6 +558,8 @@ static struct davinci_nand_pdata
"ti,davinci-mask-chipsel", &prop)) "ti,davinci-mask-chipsel", &prop))
pdata->mask_chipsel = prop; pdata->mask_chipsel = prop;
if (!of_property_read_string(pdev->dev.of_node, if (!of_property_read_string(pdev->dev.of_node,
"nand-ecc-mode", &mode) ||
!of_property_read_string(pdev->dev.of_node,
"ti,davinci-ecc-mode", &mode)) { "ti,davinci-ecc-mode", &mode)) {
if (!strncmp("none", mode, 4)) if (!strncmp("none", mode, 4))
pdata->ecc_mode = NAND_ECC_NONE; pdata->ecc_mode = NAND_ECC_NONE;
...@@ -569,12 +571,16 @@ static struct davinci_nand_pdata ...@@ -569,12 +571,16 @@ static struct davinci_nand_pdata
if (!of_property_read_u32(pdev->dev.of_node, if (!of_property_read_u32(pdev->dev.of_node,
"ti,davinci-ecc-bits", &prop)) "ti,davinci-ecc-bits", &prop))
pdata->ecc_bits = prop; pdata->ecc_bits = prop;
if (!of_property_read_u32(pdev->dev.of_node,
prop = of_get_nand_bus_width(pdev->dev.of_node);
if (0 < prop || !of_property_read_u32(pdev->dev.of_node,
"ti,davinci-nand-buswidth", &prop)) "ti,davinci-nand-buswidth", &prop))
if (prop == 16) if (prop == 16)
pdata->options |= NAND_BUSWIDTH_16; pdata->options |= NAND_BUSWIDTH_16;
if (of_find_property(pdev->dev.of_node, if (of_property_read_bool(pdev->dev.of_node,
"ti,davinci-nand-use-bbt", &len)) "nand-on-flash-bbt") ||
of_property_read_bool(pdev->dev.of_node,
"ti,davinci-nand-use-bbt"))
pdata->bbt_options = NAND_BBT_USE_FLASH; pdata->bbt_options = NAND_BBT_USE_FLASH;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment