tegra: enable NAND on Harmony
PATCH 1/1 tegra: enable NAND on Harmony
From: Stephen Warren <[email protected]>
--- board/nvidia/dts/tegra20-harmony.dts | 10 ++++++++++ include/configs/harmony.h | 9 ++++++++- 2 files changed, 18 insertions(+), 1 deletions(-)
board/nvidia/dts/tegra20-harmony.dts +10 -0
@@ -54,4 +54,14 @@ usb at c5004000 { status = "disabled"; }; + + nand-controller at 70008000 { + nvidia,wp-gpios = <&gpio 23 0>; /* PC7 */ + nvidia,width = <8>; + nvidia,timing = <26 100 20 80 20 10 12 10 70>; + nand at 0 { + reg = <0>; + compatible = "hynix,hy27uf4g2b", "nand-flash"; + }; + }; };
include/configs/harmony.h +8 -1
@@ -62,8 +62,15 @@#define CONFIG_CMD_EXT2 #define CONFIG_CMD_FAT +/* NAND support */ +#define CONFIG_CMD_NAND +#define CONFIG_TEGRA_NAND +#define CONFIG_SYS_MAX_NAND_DEVICE 1 +#define CONFIG_SYS_NAND_BASE TEGRA20_NAND_BASE +/* Environment not stored */ -#define CONFIG_ENV_IS_NOWHERE +#define CONFIG_ENV_IS_IN_NAND +#define CONFIG_ENV_OFFSET (SZ_512M - SZ_128K)/* 128K sector size */ /* USB Host support */ #define CONFIG_USB_EHCI
Signature · 1 line
1.7.0.4
PATCH 1/1 tegra: enable NAND on Harmony
Quoted 3 lines · Stephen Warren
From: Stephen Warren <[email protected]>
Signed-off-by Stephen Warren <[email protected]>
(nice to have a commit message though)
Quoted 48 lines
--- board/nvidia/dts/tegra20-harmony.dts | 10 ++++++++++ include/configs/harmony.h | 9 ++++++++- 2 files changed, 18 insertions(+), 1 deletions(-)board/nvidia/dts/tegra20-harmony.dts +10
-0@@ -54,4 +54,14 @@ usb at c5004000 { status = "disabled"; }; + + nand-controller at 70008000 { + nvidia,wp-gpios = <&gpio 23 0>; /* PC7 */ + nvidia,width = <8>; + nvidia,timing = <26 100 20 80 20 10 12 10 70>; + nand at 0 { + reg = <0>; + compatible = "hynix,hy27uf4g2b", "nand-flash"; + }; + }; };include/configs/harmony.h +8
-2@@ -62,8 +62,15 @@#define CONFIG_CMD_EXT2 #define CONFIG_CMD_FAT +/* NAND support */ +#define CONFIG_CMD_NAND +#define CONFIG_TEGRA_NAND +#define CONFIG_SYS_MAX_NAND_DEVICE 1 +#define CONFIG_SYS_NAND_BASE TEGRA20_NAND_BASE +/* Environment not stored */ -#define CONFIG_ENV_IS_NOWHERE +#define CONFIG_ENV_IS_IN_NAND +#define CONFIG_ENV_OFFSET (SZ_512M - SZ_128K)/* 128K sector size */ /* USB Host support */ #define CONFIG_USB_EHCI --1.7.0.4
PATCH 1/1 tegra: enable NAND on Harmony
In reply to Stephen WarrenQuoted 1 line · Stephen Warren
include/configs/harmony.h +0
-0
[...]
include/configs/harmony.h line 73
Quoted 4 lines
/* Environment not stored */
include/configs/harmony.h +2
-1-#define CONFIG_ENV_IS_NOWHERE +#define CONFIG_ENV_IS_IN_NAND +#define CONFIG_ENV_OFFSET (SZ_512M - SZ_128K)/* 128K sector size */
Perhaps the comment should be updated now.
Also on a semi-related note, do you think it would be useful to define some kind of common layout for NAND content? I noticed that there is now an open-source implementation of nvflash that could be used to bootstrap U-Boot. That combined with the NAND support in U-Boot could be used to streamline the bootstrapping of boards.
Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20120731/10e0dc3a/attachment.pgp>
PATCH 1/1 tegra: enable NAND on Harmony
In reply to Stephen WarrenQuoted 17 lines · Stephen Warren
From: Stephen Warren <[email protected]>
Signed-off-by Stephen Warren <[email protected]>--- board/nvidia/dts/tegra20-harmony.dts | 10 ++++++++++ include/configs/harmony.h | 9 ++++++++- 2 files changed, 18 insertions(+), 1 deletions(-)board/nvidia/dts/tegra20-harmony.dts +1
-0@@ -54,4 +54,14 @@ usb at c5004000 { status = "disabled"; }; +
board/nvidia/dts/tegra20-harmony.dts line 67
Quoted 10 lines
board/nvidia/dts/tegra20-harmony.dts +9
-0+ nand-controller at 70008000 { + nvidia,wp-gpios = <&gpio 23 0>; /* PC7 */ + nvidia,width = <8>; + nvidia,timing = <26 100 20 80 20 10 12 10 70>; + nand at 0 { + reg = <0>; + compatible = "hynix,hy27uf4g2b", "nand-flash"; + }; + }; };
Where is the binding for a generic "nand-flash" compatible?
-Scott
PATCH 1/1 tegra: enable NAND on Harmony
Quoted 5 lines · Scott Wood
Quoted 3 lines · Stephen Warren
board/nvidia/dts/tegra20-harmony.dts +1
-0+ nand-controller at 70008000 {
...
Quoted 5 lines
board/nvidia/dts/tegra20-harmony.dts line 64
Quoted 3 lines
board/nvidia/dts/tegra20-harmony.dts +3
-0+ nand at 0 { + reg = <0>; + compatible = "hynix,hy27uf4g2b", "nand-flash";Where is the binding for a generic "nand-flash" compatible?
I don't know if there is one. This patch was cribbed from one by Simon (CC'd) for Seaboard. Simon do you know the answer?
That said, it seems like it's quite reasonable to create or assume such a binding, since NAND flash appears self-describing.
That said, looking for precedence in the Linux kernel indicates some inconsistencies. There exist:
* Many (ARM and PowerPC) bindings that have no node for the NAND chip itself, but rather the NAND controller has children that describe the partitioning of the NAND chip.
* Many (I think only PowerPC) bindings that have a node for the NAND chip, but containing little but #address/#size-cells, and this node then contains children that describe the partitioning.
* I guess there is at least one PowerPC example just like this patch, that contains a child node containing a compatible value describing the flash model number.