NameDateSize

..01-Oct-20188

aml-rawnand.cH A D01-Oct-201837.6 KiB

aml-rawnand.hH A D01-Oct-20184.6 KiB

onfi.cH A D01-Oct-20184.9 KiB

onfi.hH A D01-Oct-20182.2 KiB

READMEH A D01-Oct-20182.1 KiB

rules.mkH A D01-Oct-2018557

README

1List of TODOs :
2-------------
31) The Amlogic controller is capable of irq driven writes and erases,
4however this is not well documented (need to discuss with Cheng on the
5specifics on how to do that). The controller driver uses polling with
6usleep() for write and erase completions. irq driven completions
7should be a measurable win.
82) Eliminate copy in read/write. Right now, the DMA is done to/from a
9buffer inside the amlogic controller driver, and then the data is
10copied to/from the supplied vmo. DMA'ing directly to the mapped vmo
11address needs to be investigated and done.
123) Eliminate some wasteful usleep()s in the command/status code in the
13driver.
144) We really only want to support read/write data+oob in one IO
15support in the NAND protocol (it is not possible to write data and oob
16separately to a page). We should eliminate the other read/write
17variants (and all the code to support that).
18
19Running the NAND unit test :
20--------------------------
21The NAND unit test depends on ability to create files in /tmp. The
22following patch is needed to be able to do this.
23
24diff --git a/system/core/devmgr/devmgr-coordinator.c
25b/system/core/devmgr/devmgr-coordinator.c
26index ec0c1aa12..ece7018fc 100644
27--- a/system/core/devmgr/devmgr-coordinator.c
28+++ b/system/core/devmgr/devmgr-coordinator.c
29@@ -585,7 +585,7 @@ static zx_status_t dc_launch_devhost(devhost_t*
30host,
31     // Inherit devmgr's environment (including kernel cmdline)
32          launchpad_clone(lp, LP_CLONE_ENVIRON);
33
34-    const char* nametable[2] = { "/boot", "/svc", };
35+    const char* nametable[3] = { "/boot", "/svc", "/tmp"};
36     size_t name_count = 0;
37
38     //TODO: eventually devhosts should not have vfs access
39     @@ -597,6 +597,10 @@ static zx_status_t
40     dc_launch_devhost(devhost_t* host,
41              launchpad_add_handle(lp, h, PA_HND(PA_NS_DIR,
42     name_count++));
43          }
44
45+    if ((h = fs_clone("tmp")) != ZX_HANDLE_INVALID) {
46+        launchpad_add_handle(lp, h, PA_HND(PA_NS_DIR, name_count++));
47+    }
48+
49     launchpad_set_nametable(lp, name_count, nametable);
50
51     //TODO: limit root job access to root devhost only
52