This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM335x and NAND Flash

Other Parts Discussed in Thread: AM3352

Hello,

We are testing our new board based on am3352 and NAND Flash.

We have made initial porting and up to now we have been able to create a bootable SD with this FW:

- U-Boot 2016.09-rc2

- Kernel 4.4.19 from TI SDK

- Basic Debian GNU/Linux 8 (jessie)

Now we want to load the system and start from NAND. So I have a couple of questions:

1- What is the recommended type of FS to use in order to be as much reliable as possible?

2- How can we create and load this FW to the NAND flash?

Best regards

Angel

  • Hi Angel,

    The linked tutorial will be helpful for understanding how to flashing file system to NAND:

    Here is one more tutorial:


    BR
    Tsvetolin Shulev

  • Hi Tsvetolin,

    These links talk about how to use JFFS2.
    Looking at more recent discussions it seems that UBIFS is preferred in more recent designs. What do you think?

    Could you also help us with this UBIFS?
    - Partitions needed to be defined in U-Boot and "board.dts" file in kernel.
    - How to create and flash FW to partitions.
    - Environment variables in U-Boot to boot.

    Best regards
    Angel
  • Angel,

    The linked below article will help about creating and flashing UBIFS image to NAND and setting proper u-boot bootargs:
    processors.wiki.ti.com/.../UBIFS_Support

    BR
    Tsvetolin Shulev
  • Hi Tsvetolin,

    Thanks for your help.

    First I have added NAND support in U-Boot, and everything is fine at this point. Then I am trying to  configure my .dts file but kernel is not detecting the NAND flash.

    I have no changed am33xx.dtsi, so definition for NAND is

    gpmc: gpmc@50000000 {

    compatible = "ti,am3352-gpmc";

    ti,hwmods = "gpmc";

    ti,no-idle-on-init;

    reg = <0x50000000 0x2000>;

    interrupts = <100>;

    dmas = <&edma 52 0>;

    dma-names = "rxtx";

    gpmc,num-cs = <7>;

    gpmc,num-waitpins = <2>;

    #address-cells = <2>;

    #size-cells = <1>;

    interrupt-controller;

    #interrupt-cells = <2>;

    gpio-controller;

    #gpio-cells = <2>;

    status = "disabled";

    };

    Then I add NAND configuration in my .dts file

       nandflash_pins_default: nandflash_pins_default {

           pinctrl-single,pins     = <

               0x00 (PIN_INPUT  | MUX_MODE0) /* gpmc_ad0.gpmc_ad0           */

               0x04 (PIN_INPUT  | MUX_MODE0) /* gpmc_ad1.gpmc_ad1           */

               0x08 (PIN_INPUT  | MUX_MODE0) /* gpmc_ad2.gpmc_ad2           */

               0x0c (PIN_INPUT  | MUX_MODE0) /* gpmc_ad3.gpmc_ad3           */

               0x10 (PIN_INPUT  | MUX_MODE0) /* gpmc_ad4.gpmc_ad4           */

               0x14 (PIN_INPUT  | MUX_MODE0) /* gpmc_ad5.gpmc_ad5           */

               0x18 (PIN_INPUT  | MUX_MODE0) /* gpmc_ad6.gpmc_ad6           */

               0x1c (PIN_INPUT  | MUX_MODE0) /* gpmc_ad7.gpmc_ad7           */

               0x70 (PIN_INPUT  | MUX_MODE0) /* gpmc_wait0.gpmc_wait0       */

               0x7c (PIN_OUTPUT        | MUX_MODE0) /* gpmc_csn0.gpmc_csn0         */

               0x90 (PIN_OUTPUT        | MUX_MODE0) /* gpmc_advn_ale.gpmc_advn_ale */

               0x94 (PIN_OUTPUT        | MUX_MODE0) /* gpmc_oen_ren.gpmc_oen_ren   */

               0x98 (PIN_OUTPUT        | MUX_MODE0) /* gpmc_wen.gpmc_wen           */

               0x9c (PIN_OUTPUT        | MUX_MODE0) /* gpmc_be0n_cle.gpmc_be0n_cle */

           >;

       }; /* nandflash_pins_default */

    &gpmc {

       status                          = "okay";

       pinctrl-names                   = "default";

       pinctrl-0                       = <&nandflash_pins_default>;

       pinctrl-1                       = <&nandflash_pins_sleep>;

       ranges                          = <0 0 0x08000000 0x40000000>;  /* CS0, NAND, 1GB */

       nand@0,0 {

    compatible = "ti,omap2-nand";

           reg                         = <0 0 0>;                     /*  CS0, offset 0  */

           nand-bus-width              = <8>;

           gpmc,device-width           = <1>;

           gpmc,sync-clk-ps            = <0>;

           gpmc,cs-on-ns               = <0>;

           gpmc,cs-rd-off-ns           = <44>;

           gpmc,cs-wr-off-ns           = <44>;

           gpmc,adv-on-ns              = <6>;

           gpmc,adv-rd-off-ns          = <34>;

           gpmc,adv-wr-off-ns          = <44>;

           gpmc,we-on-ns               = <0>;

           gpmc,we-off-ns              = <40>;

           gpmc,oe-on-ns               = <0>;

           gpmc,oe-off-ns              = <54>;

           gpmc,access-ns              = <64>;

           gpmc,rd-cycle-ns            = <82>;

           gpmc,wr-cycle-ns            = <82>;

           gpmc,wait-on-read           = "true";

           gpmc,wait-on-write          = "true";

           gpmc,bus-turnaround-ns      = <0>;

           gpmc,cycle2cycle-delay-ns   = <0>;

           gpmc,clk-activation-ns      = <0>;

           gpmc,wait-monitoring-ns     = <0>;

           gpmc,wr-access-ns           = <40>;

           gpmc,wr-data-mux-bus-ns     = <0>;

           ti,nand-ecc-opt             = "bch16";

           ti,elm-id                   = <&elm>;

           #address-cells              = <1>;

           #size-cells                 = <1>;

           /* MTD partition table */

           /* All SPL-* partitions are sized to minimal length

            * which can be independently programmable. For

            * NAND flash this is equal to size of erase-block

            */

           partition@0 {

               label                   = "NAND.SPL";

               reg                     = <0x00000000 0x00080000>;

           };

           partition@1 {

               label                   = "NAND.SPL.backup1";

               reg                     = <0x00080000 0x00080000>;

           };

           partition@2 {

               label                   = "NAND.SPL.backup2";

               reg                     = <0x00100000 0x00080000>;

           };

           partition@3 {

               label                   = "NAND.SPL.backup3";

               reg                     = <0x00180000 0x00080000>;

           };

           partition@4 {

               label                   = "NAND.u-boot-spl-os";

               reg                     = <0x00200000 0x00080000>;

           };

           partition@5 {

               label                   = "NAND.u-boot";

               reg                     = <0x00280000 0x00080000>;

           };

           partition@6 {

               label                   = "NAND.u-boot-env";

               reg                     = <0x00300000 0x00080000>;

           };

           partition@7 {

               label                   = "NAND.u-boot-env.backup1";

               reg                     = <0x00380000 0x00080000>;

           };

           partition@8 {

               label                   = "NAND.kernel";

               reg                     = <0x00400000 0x01000000>;

           };

           partition@9 {

               label                   = "NAND.file-system";

               reg                     = <0x01400000 0x3EC00000>;

           };

       }; /* NAND@0,0 */

    }; /* gpmc */

    I attach kernel log so you can see the error.

    Any idea on what I am missing or not setting properly?

    Best regards

    Angel

    Starting kernel ...
    
    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Initializing cgroup subsys cpuset
    [    0.000000] Initializing cgroup subsys cpu
    [    0.000000] Initializing cgroup subsys cpuacct
    [    0.000000] Linux version 4.4.19-gdb0b54cdad (owzafs@PCOWZAFS) (gcc version 5.3.1 20160113 (Linaro GCC 5.3-2016.02) ) #1 SMP Thu Nov 17 13:05:34 CET 2016
    [    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [    0.000000] Machine model: Owa4x board
    [    0.000000] cma: Reserved 16 MiB at 0x9e800000
    [    0.000000] Memory policy: Data cache writeback
    [    0.000000] CPU: All CPU(s) started in SVC mode.
    [    0.000000] AM335X ES2.1 (neon )
    [    0.000000] PERCPU: Embedded 14 pages/cpu @df915000 s24960 r8192 d24192 u57344
    [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 129408
    [    0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait
    [    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
    [    0.000000] Memory: 481844K/522240K available (6777K kernel code, 760K rwdata, 2272K rodata, 452K init, 8264K bss, 24012K reserved, 16384K cma-reserved, 0K highmem)
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    [    0.000000]     vmalloc : 0xe0800000 - 0xff800000   ( 496 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
    [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
    [    0.000000]       .text : 0xc0008000 - 0xc08de744   (9050 kB)
    [    0.000000]       .init : 0xc08df000 - 0xc0950000   ( 452 kB)
    [    0.000000]       .data : 0xc0950000 - 0xc0a0e3f8   ( 761 kB)
    [    0.000000]        .bss : 0xc0a10000 - 0xc1222098   (8265 kB)
    [    0.000000] Running RCU self tests
    [    0.000000] Hierarchical RCU implementation.
    [    0.000000] 	RCU lockdep checking is enabled.
    [    0.000000] 	Build-time adjustment of leaf fanout to 32.
    [    0.000000] 	RCU restricting CPUs from NR_CPUS=2 to nr_cpu_ids=1.
    [    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=32, nr_cpu_ids=1
    [    0.000000] NR_IRQS:16 nr_irqs:16 16
    [    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
    [    0.000000] OMAP clockevent source: timer2 at 24000000 Hz
    [    0.000016] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
    [    0.000044] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
    [    0.000094] OMAP clocksource: timer1 at 24000000 Hz
    [    0.000650] clocksource_probe: no matching clocksources found
    [    0.001663] Console: colour dummy device 80x30
    [    0.001732] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
    [    0.001743] ... MAX_LOCKDEP_SUBCLASSES:  8
    [    0.001752] ... MAX_LOCK_DEPTH:          48
    [    0.001761] ... MAX_LOCKDEP_KEYS:        8191
    [    0.001770] ... CLASSHASH_SIZE:          4096
    [    0.001779] ... MAX_LOCKDEP_ENTRIES:     32768
    [    0.001788] ... MAX_LOCKDEP_CHAINS:      65536
    [    0.001797] ... CHAINHASH_SIZE:          32768
    [    0.001806]  memory used by lock dependency info: 5167 kB
    [    0.001816]  per task-struct memory footprint: 1536 bytes
    [    0.001846] Calibrating delay loop... 795.44 BogoMIPS (lpj=3977216)
    [    0.078522] pid_max: default: 32768 minimum: 301
    [    0.078995] Security Framework initialized
    [    0.079146] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.079164] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.082768] Initializing cgroup subsys io
    [    0.082892] Initializing cgroup subsys memory
    [    0.082994] Initializing cgroup subsys devices
    [    0.083141] Initializing cgroup subsys freezer
    [    0.083235] Initializing cgroup subsys perf_event
    [    0.083314] CPU: Testing write buffer coherency: ok
    [    0.085304] CPU0: thread -1, cpu 0, socket -1, mpidr 0
    [    0.085443] Setting up static identity map for 0x80008280 - 0x800082f0
    [    0.090046] Brought up 1 CPUs
    [    0.090075] SMP: Total of 1 processors activated (795.44 BogoMIPS).
    [    0.090086] CPU: All CPU(s) started in SVC mode.
    [    0.094605] devtmpfs: initialized
    [    0.136305] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [    0.187840] omap_hwmod: debugss: _wait_target_disable failed
    [    0.245499] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [    0.248245] pinctrl core: initialized pinctrl subsystem
    [    0.254827] NET: Registered protocol family 16
    [    0.261880] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.264327] cpuidle: using governor ladder
    [    0.264363] cpuidle: using governor menu
    [    0.279877] OMAP GPIO hardware version 0.1
    [    0.301104] omap-gpmc 50000000.gpmc: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/nandflash_pins_default, deferring probe
    [    0.305072] No ATAGs?
    [    0.305105] hw-breakpoint: debug architecture 0x4 unsupported.
    [    0.305751] omap4_sram_init:Unable to allocate sram needed to handle errata I688
    [    0.305775] omap4_sram_init:Unable to get sram pool needed to handle errata I688
    [    0.356446] edma 49000000.edma: TI EDMA DMA engine driver
    [    0.357202] reg-fixed-voltage fixedregulator@0: Fixed regulator specified with variable voltages
    [    0.357288] reg-fixed-voltage: probe of fixedregulator@0 failed with error -22
    [    0.361638] SCSI subsystem initialized
    [    0.363925] pps_core: LinuxPPS API ver. 1 registered
    [    0.363941] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.364005] PTP clock support registered
    [    0.368887] clocksource: Switched to clocksource timer1
    [    0.538232] NET: Registered protocol family 2
    [    0.540856] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.540971] TCP bind hash table entries: 4096 (order: 5, 147456 bytes)
    [    0.542458] TCP: Hash tables configured (established 4096 bind 4096)
    [    0.542711] UDP hash table entries: 256 (order: 2, 20480 bytes)
    [    0.542925] UDP-Lite hash table entries: 256 (order: 2, 20480 bytes)
    [    0.543959] NET: Registered protocol family 1
    [    0.545990] RPC: Registered named UNIX socket transport module.
    [    0.546016] RPC: Registered udp transport module.
    [    0.546029] RPC: Registered tcp transport module.
    [    0.546041] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.549326] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
    [    0.554609] futex hash table entries: 256 (order: 2, 16384 bytes)
    [    0.554880] audit: initializing netlink subsys (disabled)
    [    0.555167] audit: type=2000 audit(0.550:1): initialized
    [    0.560959] VFS: Disk quotas dquot_6.6.0
    [    0.561293] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
    [    0.564082] NFS: Registering the id_resolver key type
    [    0.564526] Key type id_resolver registered
    [    0.564544] Key type id_legacy registered
    [    0.564778] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
    [    0.571451] io scheduler noop registered
    [    0.571494] io scheduler deadline registered
    [    0.571562] io scheduler cfq registered (default)
    [    0.573511] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
    [    0.576389] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
    [    0.583825] omap_uart 44e09000.serial: no wakeirq for uart0
    [    0.584445] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 158, base_baud = 3000000) is a OMAP UART0
    [    1.315000] console [ttyO0] enabled
    [    1.362962] brd: module loaded
    [    1.393166] loop: module loaded
    [    1.399443] mtdoops: mtd device (mtddev=name/number) must be supplied
    [    1.413764] mousedev: PS/2 mouse device common for all mice
    [    1.419755] i2c /dev entries driver
    [    1.459422] ledtrig-cpu: registered to indicate activity on CPUs
    [    1.467003] oprofile: using arm/armv7
    [    1.471896] Initializing XFRM netlink socket
    [    1.476799] NET: Registered protocol family 10
    [    1.486148] sit: IPv6 over IPv4 tunneling driver
    [    1.493852] NET: Registered protocol family 17
    [    1.498606] NET: Registered protocol family 15
    [    1.503815] Key type dns_resolver registered
    [    1.508528] omap_voltage_late_init: Voltage driver support not added
    [    1.515256] sr_dev_init: No voltage domain specified for smartreflex0. Cannot initialize
    [    1.523740] sr_dev_init: No voltage domain specified for smartreflex1. Cannot initialize
    [    1.533876] ThumbEE CPU extension supported.
    [    1.538388] Registering SWP/SWPB emulation handler
    [    1.543498] SmartReflex Class3 initialized
    [    1.559643] omap-gpmc 50000000.gpmc: GPMC revision 6.0
    [    1.565230] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000
    [    1.572688] omap-gpmc 50000000.gpmc: cannot request GPMC CS 0
    [    1.578801] omap-gpmc 50000000.gpmc: failed to probe DT children
    [    1.587230] omap-gpmc: probe of 50000000.gpmc failed with error -16
    [    1.599419] hctosys: unable to open rtc device (rtc0)
    [    1.604722] sr_init: No PMIC hook to init smartreflex
    [    1.610326] sr_init: platform driver register failed for SR
    [    1.643523] Waiting for root device /dev/mmcblk0p2...
    [    1.667037] mmc0: host does not support reading read-only switch, assuming write-enable
    [    1.677662] mmc0: new high speed SDHC card at address 0007
    [    1.686656] mmcblk0: mmc0:0007 SD8GB 7.21 GiB 
    [    1.696169]  mmcblk0: p1 p2
    [    1.784462] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    [    1.793327] VFS: Mounted root (ext4 filesystem) readonly on device 179:2.
    [    1.814905] devtmpfs: mounted
    [    1.819009] Freeing unused kernel memory: 452K (c08df000 - c0950000)
    [    1.825647] This architecture does not have kernel memory protection.
    [    2.110907] random: systemd: uninitialized urandom read (16 bytes read, 8 bits of entropy available)
    [    2.143438] systemd[1]: systemd 215 running in system mode. (+PAM +AUDIT +SELINUX +IMA +SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ -SECCOMP -APPARMOR)
    [    2.158433] systemd[1]: Detected architecture 'arm'.
    
    Welcome to Debian GNU/Linux 8 (jessie)!
    
    [    2.293825] systemd[1]: Inserted module 'autofs4'
    [    2.302941] systemd[1]: Set hostname to <arm>.
    [    2.553334] random: systemd-sysv-ge: uninitialized urandom read (16 bytes read, 13 bits of entropy available)
    [    2.694887] random: systemd: uninitialized urandom read (16 bytes read, 18 bits of entropy available)
    [    2.705483] random: systemd: uninitialized urandom read (16 bytes read, 18 bits of entropy available)
    [    2.716556] random: systemd: uninitialized urandom read (16 bytes read, 18 bits of entropy available)
    [    2.758640] random: systemd: uninitialized urandom read (16 bytes read, 19 bits of entropy available)
    [    2.769788] random: systemd: uninitialized urandom read (16 bytes read, 19 bits of entropy available)
    [    2.779865] random: systemd: uninitialized urandom read (16 bytes read, 19 bits of entropy available)
    [    2.872035] random: systemd: uninitialized urandom read (16 bytes read, 21 bits of entropy available)
    [    2.882172] random: systemd: uninitialized urandom read (16 bytes read, 21 bits of entropy available)
    [    3.022957] systemd[1]: Cannot add dependency job for unit dbus.socket, ignoring: Unit dbus.socket failed to load: No such file or directory.
    [    3.036686] systemd[1]: Cannot add dependency job for unit display-manager.service, ignoring: Unit display-manager.service failed to load: No such file or directory.
    [    3.056569] systemd[1]: Starting Forward Password Requests to Wall Directory Watch.
    [    3.067294] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
    [    3.075669] systemd[1]: Expecting device dev-ttyO0.device...
             Expecting device dev-ttyO0.device...
    [    3.099269] systemd[1]: Starting Remote File Systems (Pre).
    [  OK  ] Reached target Remote File Systems (Pre).
    [    3.119257] systemd[1]: Reached target Remote File Systems (Pre).
    [    3.125806] systemd[1]: Starting Encrypted Volumes.
    [  OK  ] Reached target Encrypted Volumes.
    [    3.149159] systemd[1]: Reached target Encrypted Volumes.
    [    3.155230] systemd[1]: Starting Arbitrary Executable File Formats File System Automount Point.
    [  OK  ] Set up automount Arbitrary Executable File Formats F...utomount Point.
    [    3.189206] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point.
    [    3.199552] systemd[1]: Starting Dispatch Password Requests to Console Directory Watch.
    [    3.209006] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    [    3.217395] systemd[1]: Starting Paths.
    [  OK  ] Reached target Paths.
    [    3.239107] systemd[1]: Reached target Paths.
    [    3.243792] systemd[1]: Starting Swap.
    [  OK  ] Reached target Swap.
    [    3.269140] systemd[1]: Reached target Swap.
    [    3.273739] systemd[1]: Starting Root Slice.
    [  OK  ] Created slice Root Slice.
    [    3.299156] systemd[1]: Created slice Root Slice.
    [    3.304208] systemd[1]: Starting User and Session Slice.
    [  OK  ] Created slice User and Session Slice.
    [    3.329226] systemd[1]: Created slice User and Session Slice.
    [    3.335402] systemd[1]: Starting Delayed Shutdown Socket.
    [  OK  ] Listening on Delayed Shutdown Socket.
    [    3.359177] systemd[1]: Listening on Delayed Shutdown Socket.
    [    3.365330] systemd[1]: Starting /dev/initctl Compatibility Named Pipe.
    [  OK  ] Listening on /dev/initctl Compatibility Named Pipe.
    [    3.389200] systemd[1]: Listening on /dev/initctl Compatibility Named Pipe.
    [    3.396630] systemd[1]: Starting Journal Socket (/dev/log).
    [  OK  ] Listening on Journal Socket (/dev/log).
    [    3.419184] systemd[1]: Listening on Journal Socket (/dev/log).
    [    3.425615] systemd[1]: Starting udev Control Socket.
    [  OK  ] Listening on udev Control Socket.
    [    3.449177] systemd[1]: Listening on udev Control Socket.
    [    3.455052] systemd[1]: Starting udev Kernel Socket.
    [  OK  ] Listening on udev Kernel Socket.
    [    3.479153] systemd[1]: Listening on udev Kernel Socket.
    [    3.484875] systemd[1]: Starting Journal Socket.
    [  OK  ] Listening on Journal Socket.
    [    3.509175] systemd[1]: Listening on Journal Socket.
    [    3.514617] systemd[1]: Starting System Slice.
    [  OK  ] Created slice System Slice.
    [    3.539201] systemd[1]: Created slice System Slice.
    [    3.545246] systemd[1]: Starting File System Check on Root Device...
             Starting File System Check on Root Device...
    [    3.578422] systemd[1]: Starting system-getty.slice.
    [  OK  ] Created slice system-getty.slice.
    [    3.620015] systemd[1]: Created slice system-getty.slice.
    [    3.633320] systemd[1]: Starting system-serial\x2dgetty.slice.
    [  OK  ] Created slice system-serial\x2dgetty.slice.
    [    3.657168] systemd[1]: Created slice system-serial\x2dgetty.slice.
    [    3.667895] systemd[1]: Starting Increase datagram queue length...
             Starting Increase datagram queue length...
    [    3.694103] systemd[1]: Starting Create list of required static device nodes for the current kernel...
             Starting Create list of required static device nodes...rrent kernel...
    [    3.777522] systemd[1]: Mounting Debug File System...
             Mounting Debug File System...
    [    3.855280] systemd[1]: Starting udev Coldplug all Devices...
             Starting udev Coldplug all Devices...
    [    3.946210] systemd[1]: Mounting POSIX Message Queue File System...
             Mounting POSIX Message Queue File System...
    [    4.824167] systemd[1]: Started Set Up Additional Binary Formats.
    [    4.848668] systemd[1]: Mounted Huge Pages File System.
    [    4.869332] systemd[1]: Starting Load Kernel Modules...
             Starting Load Kernel Modules...
    [    4.911147] systemd[1]: Starting Slices.
    [  OK  ] Reached target Slices.
    [    4.949676] systemd[1]: Reached target Slices.
    [  OK  ] Mounted POSIX Message Queue File System.
    [    5.009679] systemd[1]: Mounted POSIX Message Queue File System.
    [  OK  ] Mounted Debug File System.
    [    5.049536] systemd[1]: Mounted Debug File System.
    [  OK  ] Started File System Check on Root Device.
    [    5.090598] systemd[1]: Started File System Check on Root Device.
    [  OK  ] Started Increase datagram queue length.
    [    5.119257] systemd[1]: Started Increase datagram queue length.
    [  OK  ] Started Create list of required static device nodes ...current kernel.
    [    5.149809] systemd[1]: Started Create list of required static device nodes for the current kernel.
    [  OK  ] Started Load Kernel Modules.
    [    5.199589] systemd[1]: Started Load Kernel Modules.
    [  OK  ] Started udev Coldplug all Devices.
    [    5.629243] systemd[1]: Started udev Coldplug all Devices.
    [    5.760265] systemd[1]: Mounted FUSE Control File System.
    [    5.766902] systemd[1]: Mounting Configuration File System...
             Mounting Configuration File System...
    [    5.797625] systemd[1]: Starting Apply Kernel Variables...
             Starting Apply Kernel Variables...
    [    5.861820] systemd[1]: Starting Create Static Device Nodes in /dev...
             Starting Create Static Device Nodes in /dev...
    [    5.930527] systemd[1]: Starting Syslog Socket.
    [  OK  ] Listening on Syslog Socket.
    [    5.959494] systemd[1]: Listening on Syslog Socket.
    [    5.964861] systemd[1]: Starting Sockets.
    [  OK  ] Reached target Sockets.
    [    6.009447] systemd[1]: Reached target Sockets.
    [    6.014432] systemd[1]: Starting Journal Service...
             Starting Journal Service...
    [  OK  ] Started Journal Service.
    [    6.099962] systemd[1]: Started Journal Service.
             Starting Remount Root and Kernel File Systems...
    [  OK  ] Mounted Configuration File System.
    [  OK  ] Started Apply Kernel Variables.
    [  OK  ] Started Create Static Device Nodes in /dev.
    [    6.389227] EXT4-fs (mmcblk0p2): re-mounted. Opts: errors=remount-ro
    [  OK  ] Started Remount Root and Kernel File Systems.
    [    6.524637] systemd-fsck[78]: rootfs: clean, 8348/60928 files, 65856/243456 blocks
             Starting Load/Save Random Seed...
             Starting udev Kernel Device Manager...
    [  OK  ] Reached target Local File Systems (Pre).
    [  OK  ] Reached target Local File Systems.
             Starting Create Volatile Files and Directories...
    [  OK  ] Reached target Remote File Systems.
    [    6.843364] systemd-udevd[124]: starting version 215
             Starting Trigger Flushing of Journal to Persistent Storage...
    [  OK  ] Started udev Kernel Device Manager.
    [  OK  ] Started Load/Save Random Seed.
    [  OK  ] Started Create Volatile Files and Directories.
    [    7.537856] systemd-journald[115]: Received request to flush runtime journal from PID 1
    [  OK  ] Started Trigger Flushing of Journal to Persistent Storage.
    [    7.870175] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
    [  OK  ] Found device /dev/ttyO0.
    [    7.973259] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
             Starting Network Time Synchronization...
             Starting Update UTMP about System Boot/Shutdown...
             Starting LSB: Raise network interfaces....
             Starting Copy rules generated while the root was ro...
    [  OK  ] Started Copy rules generated while the root was ro.
    [  OK  ] Started Network Time Synchronization.
    [  OK  ] Started Update UTMP about System Boot/Shutdown.
    [  OK  ] Reached target System Time Synchronized.
    [  OK  ] Started LSB: Raise network interfaces..
    [  OK  ] Reached target Network.
    [  OK  ] Reached target System Initialization.
    [  OK  ] Reached target Timers.
    [  OK  ] Reached target Basic System.
             Starting Regular background program processing daemon...
    [  OK  ] Started Regular background program processing daemon.
             Starting Cape Manager Service...
             Starting Generic Board Startup...
             Starting /etc/rc.local Compatibility...
             Starting getty on tty2-tty6 if dbus and logind are not available...
             Starting System Logging Service...
             Starting Permit User Sessions...
    [FAILED] Failed to start Cape Manager Service.
    See 'systemctl status capemgr.service' for details.
    [FAILED] Failed to start Generic Board Startup.
    See 'systemctl status generic-board-startup.service' for details.
    [  OK  ] Started /etc/rc.local Compatibility.
    [  OK  ] Started Permit User Sessions.
    [  OK  ] Started System Logging Service.
    [  OK  ] Started getty on tty2-tty6 if dbus and logind are not available.
             Starting Getty on tty6...
    [  OK  ] Started Getty on tty6.
             Starting Getty on tty5...
    [  OK  ] Started Getty on tty5.
             Starting Getty on tty4...
    [  OK  ] Started Getty on tty4.
             Starting Getty on tty3...
    [  OK  ] Started Getty on tty3.
             Starting Getty on tty2...
    [  OK  ] Started Getty on tty2.
             Starting Getty on tty1...
    [  OK  ] Started Getty on tty1.
             Starting Serial Getty on ttyO0...
    [  OK  ] Started Serial Getty on ttyO0.
    [  OK  ] Reached target Login Prompts.
    [  OK  ] Reached target Multi-User System.
    [  OK  ] Reached target Graphical Interface.
             Starting Update UTMP about System Runlevel Changes...
    [  OK  ] Started Update UTMP about System Runlevel Changes.
    
    Debian GNU/Linux 8 arm ttyO0
    
    default username:password is [debian:temppwd]
    
    arm login: 
    

  • Hello,

    Finally I got it running changing configuration in my .dts file. It looks like this now:

    &gpmc {
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&nandflash_pins_default>;
    ranges = <0 0 0x08000000 0x40000000>; /* CS0, NAND, 1GB */

    nand@0,0 {
    compatible = "ti,omap2-nand";
    reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
    interrupt-parent = <&gpmc>;
    interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
    <1 IRQ_TYPE_NONE>; /* termcount */
    rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 */
    ti,nand-ecc-opt = "bch16";
    ti,elm-id = <&elm>;

    Thanks and this issue can be considered closed.

    Best regards