Differences

This shows you the differences between two versions of the page.

toh:cloudengines:pogo-v4 [2014/08/21 20:14]
tmomas Added: Hardware mod, add SATA
toh:cloudengines:pogo-v4 [2014/10/18 00:06] (current)
bobryan Add JTAG info
Line 12: Line 12:
PCB photos are available [[https://forum.openwrt.org/viewtopic.php?pid=242195#p242195|here]]. PCB photos are available [[https://forum.openwrt.org/viewtopic.php?pid=242195#p242195|here]].
 +
 +===== GPIO =====
 +There are at least 12 usable GPIO on this board excluding the serial console pins. Below is an image with the ones I've found so far.
 +{{:media:pogoplugmobilegpio_large.jpg|}}
 +In addition to these the two LEDs can also be repurposed. The green LED is GPIO22 and the red LED is GPIO24. There are also two unpopulated LEDs on the bottom of the board close to the 6192 processor marked LED7 and LED8. LED7 is GPIO23 and LED8 is GPIO21. The pad closest to the processor is tied to the pin.
 +Here is the hardware peripheral mapping (http://free-electrons.com/kerneldoc//latest/devicetree/bindings/pinctrl/marvell,kirkwood-pinctrl.txt). Can anyone verify this? Seems strange to have MISO as output only, could be other errors?
 +<code>
 +* Marvell Kirkwood 88f6192
 +
 +name          pins    functions
 +================================================================================
 +mpp0          0        gpio, nand(io2), spi(cs)
 +mpp1          1        gpo, nand(io3), spi(mosi)
 +mpp2          2        gpo, nand(io4), spi(sck)
 +mpp3          3        gpo, nand(io5), spi(miso)
 +mpp4          4        gpio, nand(io6), uart0(rxd), ptp(clk), sata1(act)
 +mpp5          5        gpo, nand(io7), uart0(txd), ptp(trig), sata0(act)
 +mpp6          6        sysrst(out), spi(mosi), ptp(trig)
 +mpp7          7        gpo, pex(rsto), spi(cs), ptp(trig)
 +mpp8          8        gpio, twsi0(sda), uart0(rts), uart1(rts), ptp(clk),
 +                      mii(col), mii-1(rxerr), sata1(prsnt)
 +mpp9          9        gpio, twsi(sck), uart0(cts), uart1(cts), ptp(evreq),
 +                      mii(crs), sata0(prsnt)
 +mpp10        10      gpo, spi(sck), uart0(txd), ptp(trig), sata1(act)
 +mpp11        11      gpio, spi(miso), uart0(rxd), ptp(clk), ptp-1(evreq),
 +                      ptp-2(trig), sata0(act)
 +mpp12        12      gpo, sdio(clk)
 +mpp13        13      gpio, sdio(cmd), uart1(txd)
 +mpp14        14      gpio, sdio(d0), uart1(rxd), mii(col), sata1(prsnt)
 +mpp15        15      gpio, sdio(d1), uart0(rts), uart1(txd), sata0(act)
 +mpp16        16      gpio, sdio(d2), uart0(cts), uart1(rxd), mii(crs),
 +                      sata1(act)
 +mpp17        17      gpio, sdio(d3), sata0(prsnt)
 +mpp18        18      gpo, nand(io0)
 +mpp19        19      gpo, nand(io1)
 +mpp20        20      gpio, ge1(txd0), ts(mp0), tdm(tx0ql), audio(spdifi),
 +                      sata1(act)
 +mpp21        21      gpio, ge1(txd1), sata0(act), ts(mp1), tdm(rx0ql),
 +                      audio(spdifo)
 +mpp22        22      gpio, ge1(txd2), ts(mp2), tdm(tx2ql), audio(rmclk),
 +                      sata1(prsnt)
 +mpp23        23      gpio, ge1(txd3), sata0(prsnt), ts(mp3), tdm(rx2ql),
 +                      audio(bclk)
 +mpp24        24      gpio, ge1(rxd0), ts(mp4), tdm(spi-cs0), audio(sdo)
 +mpp25        25      gpio, ge1(rxd1), ts(mp5), tdm(spi-sck), audio(lrclk)
 +mpp26        26      gpio, ge1(rxd2), ts(mp6), tdm(spi-miso), audio(mclk)
 +mpp27        27      gpio, ge1(rxd3), ts(mp7), tdm(spi-mosi), audio(sdi)
 +mpp28        28      gpio, ge1(col), ts(mp8), tdm(int), audio(extclk)
 +mpp29        29      gpio, ge1(txclk), ts(mp9), tdm(rst)
 +mpp30        30      gpio, ge1(rxclk), ts(mp10), tdm(pclk)
 +mpp31        31      gpio, ge1(rxclk), ts(mp11), tdm(fs)
 +mpp32        32      gpio, ge1(txclko), ts(mp12), tdm(drx)
 +mpp33        33      gpo, ge1(txclk), tdm(drx)
 +mpp34        34      gpio, ge1(txen), tdm(spi-cs1)
 +mpp35        35      gpio, ge1(rxerr), sata0(act), mii(rxerr), tdm(tx0ql)
 +</code>
===== Installation ===== ===== Installation =====
Line 29: Line 85:
==== Not working/tested ==== ==== Not working/tested ====
-  * SD card 
-  * NAND flash 
-  * LEDs 
  * Eject button   * Eject button
-[[https://forum.openwrt.org/viewtopic.php?pid=186323#p186323|NAND installation for the E02]] works, but hasn't been verified for the Pogoplug Mobile. +[[https://forum.openwrt.org/viewtopic.php?pid=186323#p186323|NAND installation for the E02]] works, and the same process works for the Pogoplug Mobile. [[http://wiki.beyondlogic.org/index.php?title=GuruPlug_Building_Kernel|This link]] has some good information on writing the kernel to the nand, and [[http://wiki.openwrt.org/toh/cloudengines/pogoplug#installing.rootfs.including.kernel.and.devicetree|this link]] shows how to write a ubifs image from u-boot. Don't forget to add ${mtdparts} to your bootcmd, excluding this and an errant ubiattach -p /dev/mtd0 meant I had the pleasure of figuring out JTAG on these devices.
==== OpenWrt bootlog ==== ==== OpenWrt bootlog ====
Line 42: Line 94:
<code> <code>
-PUT HERE YOUR BOOTLOG+U-Boot 1.1.4 (Oct  1 2011 - 12:21:35) Cloud Engines 1.1.2 (3.4.27) PHYADDR=0 
 +U-Boot code: 00600000 -> 0067FFF0  BSS: -> 006918B4 
 +Soc: 88F6192 A1 (DDR2) 
 +CPU running @ 800Mhz L2 running @ 400Mhz 
 +SysClock = 200Mhz , TClock = 166Mhz 
 +DRAM CAS Latency = 3 tRP = 3 tRAS = 8 tRCD=3 
 +DRAM CS[0] base 0x00000000  size 128MB  
 +DRAM Total size 128MB  16bit width 
 +Addresses 8M - 0M are saved for the U-Boot usage. 
 +Mem malloc Initialization (8M - 7M): Done 
 +NAND:128 MB 
 +Flash:  0 kB 
 +CPU : Marvell Feroceon (Rev 1) 
 +CLOUD ENGINES BOARD: PPV4A1 
 +Streaming disabled  
 +Write allocate disabled 
 + 
 +USB 0: host mode 
 +PEX 0: interface detected no Link. 
 +Net:  egiga0 [PRIME] 
 +Hit any key to stop autoboot:  0  
 +Unknown command 'usb' - try 'help' 
 +NAND read: device 0 offset 0x100000, size 0x73d0c 
 +474380 bytes read: OK 
 +## Starting application at 0x00800000 ... 
 + 
 +U-Boot 1.1.4 (Jan 13 2012 - 22:33:21) Arch Linux ARM (PPV4 r1) PHYADDR=0 
 +U-Boot code: 00600000 -> 0067FFF0  BSS: -> 006CFD60 
 +Soc: 88F6192 A1 (DDR2) 
 +CPU running @ 800Mhz L2 running @ 400Mhz 
 +SysClock = 200Mhz , TClock = 166Mhz 
 +DRAM CAS Latency = 3 tRP = 3 tRAS = 8 tRCD=3 
 +DRAM CS[0] base 0x00000000  size 128MB  
 +DRAM Total size 128MB  16bit width 
 +Addresses 8M - 0M are saved for the U-Boot usage. 
 +Mem malloc Initialization (8M - 7M): Done 
 +NAND:128 MB 
 +Flash:  0 kB 
 +CPU : Marvell Feroceon (Rev 1) 
 +CLOUD ENGINES BOARD: PPV4A1 
 +Streaming disabled  
 +Write allocate disabled 
 + 
 +USB 0: host mode 
 +PEX 0: interface detected no Link. 
 +Net:  egiga0 [PRIME] 
 +Hit any key to stop autoboot:  0  
 +(Re)start USB... 
 +USB:  scanning bus for devices... 2 USB Device(s) found 
 +Waiting for storage device(s) to settle before scanning... 
 +1 Storage Device(s) found 
 +Reset IDE:  
 +Marvell Serial ATA Adapter 
 +Integrated Sata device found 
 +No Fat FS detected 
 +IDE device 0 not available 
 +
 +.... 
 +...... 
 +............ 
 +
 +........................ 
 +
 +......................... 
 +........................ 
 +
 +......................... 
 +......................... 
 +
 +1601190 bytes read 
 +## Booting image at 00800000 ... 
 +  Image Name:  ARM OpenWrt Linux-3.14.16 
 +  Created:      2014-09-02  17:50:15 UTC 
 +  Image Type:  ARM Linux Kernel Image (uncompressed) 
 +  Data Size:    1601126 Bytes =  1.5 MB 
 +  Load Address: 00008000 
 +  Entry Point:  00008000 
 +  Verifying Checksum ... OK 
 +OK 
 +Starting kernel ... 
 +Uncompressing Linux... done, booting the kernel. 
 +[    0.000000] Booting Linux on physical CPU 0x0 
 +[    0.000000] Linux version 3.14.16 (dp@P5Q-DELUXE) (gcc version 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.04 r41887) ) #1 Tue Sep 2 12:50:02 CDT 2014 
 +[    0.000000] CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=00053977 
 +[    0.000000] CPU: VIVT data cache, VIVT instruction cache 
 +[    0.000000] Machine model: Cloud Engines Pogoplug E02 
 +[    0.000000] Memory policy: Data cache writeback 
 +[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32512 
 +[    0.000000] Kernel command line: console=ttyS0,115200 root=/dev/sda1 rootwait rootfstype=ext3 
 +[    0.000000] PID hash table entries: 512 (order: -1, 2048 bytes) 
 +[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) 
 +[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) 
 +[    0.000000] Memory: 125244K/131072K available (3218K kernel code, 150K rwdata, 912K rodata, 132K init, 181K bss, 5828K reserved) 
 +[    0.000000] Virtual kernel memory layout: 
 +[    0.000000]    vector  : 0xffff0000 - 0xffff1000  (  4 kB) 
 +[    0.000000]    fixmap  : 0xfff00000 - 0xfffe0000  ( 896 kB) 
 +[    0.000000]    vmalloc : 0xc8800000 - 0xff000000  ( 872 MB) 
 +[    0.000000]    lowmem  : 0xc0000000 - 0xc8000000  ( 128 MB) 
 +[    0.000000]    modules : 0xbf000000 - 0xc0000000  (  16 MB) 
 +[    0.000000]      .text : 0xc0008000 - 0xc0410d5c  (4132 kB) 
 +[    0.000000]      .init : 0xc0411000 - 0xc0432364  ( 133 kB) 
 +[    0.000000]      .data : 0xc0434000 - 0xc045990c  ( 151 kB) 
 +[    0.000000]        .bss : 0xc045990c - 0xc0486d58  ( 182 kB) 
 +[    0.000000] NR_IRQS:114 
 +[    0.000023] sched_clock: 32 bits at 166MHz, resolution 6ns, wraps every 25769803770ns 
 +[    0.000200] Calibrating delay loop... 795.44 BogoMIPS (lpj=3977216) 
 +[    0.040120] pid_max: default: 32768 minimum: 301 
 +[    0.040281] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) 
 +[    0.040306] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) 
 +[    0.043251] CPU: Testing write buffer coherency: ok 
 +[    0.043710] Setting up static identity map for 0x11168 - 0x111a4 
 +[    0.046269] pinctrl core: initialized pinctrl subsystem 
 +[    0.047661] regulator-dummy: no parameters 
 +[    0.048380] NET: Registered protocol family 16 
 +[    0.048959] DMA: preallocated 256 KiB pool for atomic coherent allocations 
 +[    0.052723] cpuidle: using governor ladder 
 +[    0.052810] Kirkwood: MV88F6281-A1. 
 +[    0.053010] Feroceon L2: Enabling L2 
 +[    0.053063] Feroceon L2: Cache support initialised. 
 +[    0.053692] [Firmware Info]: /ocp@f1000000/ethernet-controller@72000/ethernet0-port@0: local-mac-address is not set 
 +[    0.070607] bio: create slab <bio-0> at 0 
 +[    0.071430] USB Power: Failed to request enable GPIO29: -517 
 +[    0.071639] reg-fixed-voltage 1.regulator: Failed to register regulator: -517 
 +[    0.071666] platform 1.regulator: Driver reg-fixed-voltage requests probe deferral 
 +[    0.072772] SCSI subsystem initialized 
 +[    0.073833] usbcore: registered new interface driver usbfs 
 +[    0.074041] usbcore: registered new interface driver hub 
 +[    0.074278] usbcore: registered new device driver usb 
 +[    0.076264] Switched to clocksource orion_clocksource 
 +[    0.078768] NET: Registered protocol family 2 
 +[    0.079350] TCP established hash table entries: 1024 (order: 0, 4096 bytes) 
 +[    0.079387] TCP bind hash table entries: 1024 (order: 0, 4096 bytes) 
 +[    0.079415] TCP: Hash tables configured (established 1024 bind 1024) 
 +[    0.079498] TCP: reno registered 
 +[    0.079515] UDP hash table entries: 256 (order: 0, 4096 bytes) 
 +[    0.079546] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) 
 +[    0.079781] NET: Registered protocol family 1 
 +[    0.081606] futex hash table entries: 256 (order: -1, 3072 bytes) 
 +[    0.082267] squashfs: version 4.0 (2009/01/31) Phillip Lougher 
 +[    0.082281] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. 
 +[    0.082592] msgmni has been set to 244 
 +[    0.083467] io scheduler noop registered 
 +[    0.083481] io scheduler deadline registered (default) 
 +[    0.085427] kirkwood-pinctrl f1010000.pinctrl: registered pinctrl driver 
 +[    0.186764] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled 
 +[    0.188674] f1012000.serial: ttyS0 at MMIO 0xf1012000 (irq = 33, base_baud = 10416666) is a 16550A 
 +[    0.571410] console [ttyS0] enabled 
 +[    0.577561] nand: device found, Manufacturer ID: 0xad, Chip ID: 0xf1 
 +[    0.583892] nand: Hynix H27U1G8F2BTR-BC 
 +[    0.587741] nand: 128MiB, SLC, page size: 2048, OOB size: 64 
 +[    0.593378] Scanning device for bad blocks 
 +[    0.690446] 4 ofpart partitions found on MTD device orion_nand 
 +[    0.696273] Creating 4 MTD partitions on "orion_nand": 
 +[    0.701396] 0x000000000000-0x000000100000 : "u-boot" 
 +[    0.707866] 0x000000100000-0x000000500000 : "uImage" 
 +[    0.714113] 0x000000500000-0x000002500000 : "pogoplug" 
 +[    0.720584] 0x000002500000-0x000008000000 : "root" 
 +[    0.727655] libphy: orion_mdio_bus: probed 
 +[    0.732644] mv643xx_eth: MV-643xx 10/100/1000 ethernet driver version 1.4 
 +[    0.817550] mv643xx_eth_port mv643xx_eth_port.0 eth0: port 0 with MAC address XX:XX:XX:XX:XX:XX 
 +[    0.826421] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver 
 +[    0.832923] ehci-pci: EHCI PCI platform driver 
 +[    0.837583] ehci-platform: EHCI generic platform driver 
 +[    0.843042] ehci-orion: EHCI orion driver 
 +[    0.847193] orion-ehci f1050000.ehci: EHCI Host Controller 
 +[    0.852688] orion-ehci f1050000.ehci: new USB bus registered, assigned bus number 1 
 +[    0.860550] orion-ehci f1050000.ehci: irq 24, io mem 0xf1050000 
 +[    0.886285] orion-ehci f1050000.ehci: USB 2.0 started, EHCI 1.00 
 +[    0.893296] hub 1-0:1.0: USB hub found 
 +[    0.897098] hub 1-0:1.0: 1 port detected 
 +[    0.901766] usbcore: registered new interface driver usb-storage 
 +[    0.910289] TCP: cubic registered 
 +[    0.913598] NET: Registered protocol family 17 
 +[    0.918404] 8021q: 802.1Q VLAN Support v1.8 
 +[    0.924040] regulator-dummy: disabling 
 +[    0.928398] USB Power: 5000 mV  
 +[    0.932125] drivers/rtc/hctosys.c: unable to open rtc device (rtc0) 
 +[    0.939914] Waiting for root device /dev/sda1... 
 +[    1.216307] usb 1-1: new high-speed USB device number 2 using orion-ehci 
 +[    1.369338] usb-storage 1-1:1.0: USB Mass Storage device detected 
 +[    1.375711] scsi0 : usb-storage 1-1:1.0 
 +[    2.377828] scsi 0:0:0:0: Direct-Access    LEXAR    JD FIREFLY      3000 PQ: 0 ANSI: 0 CCS 
 +[    2.388233] sd 0:0:0:0: [sda] 1014784 512-byte logical blocks: (519 MB/495 MiB) 
 +[    2.396343] sd 0:0:0:0: [sda] Write Protect is off 
 +[    2.401841] sd 0:0:0:0: [sda] No Caching mode page found 
 +[    2.407160] sd 0:0:0:0: [sda] Assuming drive cache: write through 
 +[    2.417467] sd 0:0:0:0: [sda] No Caching mode page found 
 +[    2.422781] sd 0:0:0:0: [sda] Assuming drive cache: write through 
 +[    2.430029]  sda: sda1 
 +[    2.435717] sd 0:0:0:0: [sda] No Caching mode page found 
 +[    2.441050] sd 0:0:0:0: [sda] Assuming drive cache: write through 
 +[    2.447154] sd 0:0:0:0: [sda] Attached SCSI removable disk 
 +[    2.476348] UBIFS error (pid 1): ubifs_mount: cannot open "ubi0:rootfs", error -19 
 +[    2.484976] EXT4-fs (sda1): mounting ext3 file system using the ext4 subsystem 
 +[    2.499712] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null) 
 +[    2.507421] VFS: Mounted root (ext3 filesystem) readonly on device 8:1. 
 +[    2.514633] Freeing unused kernel memory: 132K (c0411000 - c0432000) 
 +procd: Console is alive 
 +procd: - preinit - 
 +[    2.854142] random: mktemp urandom read with 27 bits of entropy available 
 +Press the [f] key and hit [enter] to enter failsafe mode 
 +Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level 
 +mounting /dev/root 
 +[    4.958382] EXT4-fs (sda1): re-mounted. Opts: (null) 
 +procd: - early - 
 +procd: - ubus - 
 +procd: - init - 
 +Please press Enter to activate this console. 
 +[    9.806507] NET: Registered protocol family 10 
 +[    9.830193] nf_conntrack version 0.5.0 (1959 buckets, 7836 max) 
 +[    9.855919] ip6_tables: (C) 2000-2006 Netfilter Core Team 
 +[    9.908134] ip_tables: (C) 2000-2006 Netfilter Core Team 
 +[  10.058859] xt_time: kernel timezone is -0000 
 +[  10.079085] PPP generic driver version 2.4.2 
 +[  10.096504] NET: Registered protocol family 24 
 +[  12.652384] random: nonblocking pool is initialized 
 +[  13.049131] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready 
 +procd: - init complete - 
 +[  14.902142] mv643xx_eth_port mv643xx_eth_port.0 eth0: link up, 100 Mb/s, half duplex, flow control disabled 
 +[  14.912072] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
</code> </code>
Line 48: Line 319:
</HTML> </HTML>
 +==== JTAG ====
 +JTAG access points are available on the back side of the board.
 +
 +<code>
 +TDI = TP19
 +TDO = TP20
 +TCK = TP18
 +TMS_CPU = TP21
 +RSTn = TP17
 +</code>
 +
 +There is also TMS_CORE on TP22 but I didn't need this. Instructions for the dockstar devices worked for me.
===== Hardware mods ===== ===== Hardware mods =====
Line 55: Line 338:
See http://archlinuxarm.org/forum/viewtopic.php?f=53&t=6040 See http://archlinuxarm.org/forum/viewtopic.php?f=53&t=6040
 +
 +==== Resources ====
 +
 +  * Initial device info thread: https://forum.openwrt.org/viewtopic.php?id=51769
 +  * Hardware hacking thread: https://forum.openwrt.org/viewtopic.php?id=52809
 +
 +

Back to top

toh/cloudengines/pogo-v4.1408644876.txt.bz2 · Last modified: 2014/08/21 20:14 by tmomas