[clug] ARM devices with complete upstream support

Eyal Lebedinsky eyal at eyal.emu.id.au
Sat Oct 29 08:34:21 UTC 2016


On 29/10/16 18:19, Chris Smart wrote:
> On Fri, Oct 28, 2016 at 07:59:41PM +1100, Eyal Lebedinsky wrote:
>>>
>>>
>>> That's my fault - you should be using rpi_3_32b_defconfig as the
>>> rpi_3_defconfig is 64bit (which I tried to say to avoid).
>>>
>>> Can you try that and see how you go? I'll update the blog post.
>>
>> Yes thanks, this one builds.
>>
>> I could not see anything on the serial line but I have HDMI and kbd/mouse
>> connected and I got the "U-Boot>" prompt and the version matches my build.
>
> I think for the rpi 3 you need to add a config.txt file to the boot
> partition, with:
>
> enable_uart=1
>
> See:
> https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=141195

Yes Chris, this does the trick.

> The rpi might also be doing something automatic if it detects the HDMI
> is plugged in.
>
>> I removed the kbd/mouse and still got nothing on the serial line (did swap Tx/Rx too).
>> And just verifying (the supplied picture is not as clear), the connected pins are
>>        pin  6 (GND)
>>        pin  8 (TX)
>>        pin 10 (RX)
>
> The rpi2 doesn't have these labelled on the board, but I think that's
> correct.

The rpi3 is not labelled either.

> -c

Now that I can see everything, below is what is logged to the console.
I note a few warnings but it completes the process. Looks like it sees
two CPUs but is not running SMP.

cheers
	Eyal

U-Boot 2016.09.01 (Oct 28 2016 - 19:20:34 +1100)

DRAM:  944 MiB
RPI 3 Model B (0xa22082)
MMC:   bcm2835_sdhci: 0
reading uboot.env

** Unable to read "uboot.env" from mmc0:1 **
Using default environment

In:    serial
Out:   lcd
Err:   lcd
Net:   Net Initialization Skipped
No ethernet found.
starting USB...
USB0:   Core Release: 2.80a
scanning bus 0 for devices... 6 USB Device(s) found
        scanning usb for storage devices... 0 Storage Device(s) found
        scanning usb for ethernet devices... 1 Ethernet Device(s) found
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
reading /boot.scr
337 bytes read in 10 ms (32.2 KiB/s)
## Executing script at 02000000
reading zImage
4037840 bytes read in 641 ms (6 MiB/s)
reading bcm2836-rpi-2-b.dtb
7531 bytes read in 20 ms (367.2 KiB/s)
reading uInitrd
1250880 bytes read in 210 ms (5.7 MiB/s)
Kernel image @ 0x1000000 [ 0x000000 - 0x3d9cd0 ]
## Loading init Ramdisk from Legacy Image at 02100000 ...
    Image Name:   uInitrd
    Image Type:   ARM Linux RAMDisk Image (uncompressed)
    Data Size:    1250816 Bytes = 1.2 MiB
    Load Address: 00000000
    Entry Point:  00000000
    Verifying Checksum ... OK
## Flattened Device Tree blob at 00000100
    Booting using the fdt blob at 0x000100
    Using Device Tree in place at 00000100, end 00004e6a

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.8.4 (eyal at e4.eyal.emu.id.au) (gcc version 6.1.1 20160621 (Red Hat Cross 6.1.1-2) (GCC) ) #1 Fri Oct 28 20:41:49 AEDT 2016
[    0.000000] CPU: ARMv7 Processor [410fd034] revision 4 (ARMv7), cr=10c5383d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt:Machine model: Raspberry Pi 2 Model B
[    0.000000] Truncating RAM at 0x00000000-0x3b000000 to -0x30000000
[    0.000000] Consider using a HIGHMEM enabled kernel.
[    0.000000] Memory policy: Data cache writeback
[    0.000000] ------------[ cut here ]------------
[    0.000000] WARNING: CPU: 0 PID: 0 at arch/arm/kernel/devtree.c:158 arm_dt_init_cpu_maps+0x18c/0x1cc
[    0.000000] DT /cpu 2 nodes greater than max cores 1, capping them
[    0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 4.8.4 #1
[    0.000000] Hardware name: BCM2835
[    0.000000] [<c010e7cc>] (unwind_backtrace) from [<c010bdac>] (show_stack+0x20/0x24)
[    0.000000] [<c010bdac>] (show_stack) from [<c034bf1c>] (dump_stack+0x20/0x28)
[    0.000000] [<c034bf1c>] (dump_stack) from [<c011c090>] (__warn+0xe8/0x104)
[    0.000000] [<c011c090>] (__warn) from [<c011c0f4>] (warn_slowpath_fmt+0x48/0x50)
[    0.000000] [<c011c0f4>] (warn_slowpath_fmt) from [<c0a0458c>] (arm_dt_init_cpu_maps+0x18c/0x1cc)
[    0.000000] [<c0a0458c>] (arm_dt_init_cpu_maps) from [<c0a038f4>] (setup_arch+0x630/0xa14)
[    0.000000] [<c0a038f4>] (setup_arch) from [<c0a00ad0>] (start_kernel+0x88/0x3c4)
[    0.000000] [<c0a00ad0>] (start_kernel) from [<00008078>] (0x8078)
[    0.000000] ---[ end trace f68728a0d3053b52 ]---
[    0.000000] DT missing boot CPU MPIDR[23:0], fall back to default cpu_logical_map
[    0.000000] CPU: All CPU(s) started in HYP mode.
[    0.000000] CPU: Virtualization extensions available.
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 195072
[    0.000000] Kernel command line: console=ttyAMA0,115200 earlyprintk root=/dev/root rootwait panic=10
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Memory: 766748K/786432K available (6144K kernel code, 480K rwdata, 1548K rodata, 1024K init, 686K bss, 19684K reserved, 0K cma-reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
[    0.000000]       .text : 0xc0008000 - 0xc0700000   (7136 kB)
[    0.000000]       .init : 0xc0a00000 - 0xc0b00000   (1024 kB)
[    0.000000]       .data : 0xc0b00000 - 0xc0b78048   ( 481 kB)
[    0.000000]        .bss : 0xc0b7a000 - 0xc0c25acc   ( 687 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000013] sched_clock: 32 bits at 1000kHz, resolution 1000ns, wraps every 2147483647500ns
[    0.000041] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275 ns
[    0.000104] bcm2835: system timer (irq = 33)
[    0.000386] arm_arch_timer: WARNING: Invalid trigger for IRQ16, assuming level low
[    0.000395] arm_arch_timer: WARNING: Please fix your firmware
[    0.000409] arm_arch_timer: WARNING: Invalid trigger for IRQ17, assuming level low
[    0.000417] arm_arch_timer: WARNING: Please fix your firmware
[    0.000559] arm_arch_timer: Architected cp15 timer(s) running at 19.20MHz (phys).
[    0.000579] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x46d987e47, max_idle_ns: 440795202767 ns
[    0.000599] sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every 4398046511078ns
[    0.000618] Switching to timer-based delay loop, resolution 52ns
[    0.000871] Console: colour dummy device 80x30
[    0.000897] Calibrating delay loop (skipped), value calculated using timer frequency.. 38.40 BogoMIPS (lpj=192000)
[    0.000915] pid_max: default: 32768 minimum: 301
[    0.001224] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.001238] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.002336] CPU: Testing write buffer coherency: ok
[    0.002380] ftrace: allocating 22230 entries in 66 pages
[    0.061372] Setting up static identity map for 0x100000 - 0x10004c
[    0.065470] devtmpfs: initialized
[    0.069605] VFP support v0.3: implementor 41 architecture 3 part 40 variant 3 rev 4
[    0.069857] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.069995] pinctrl core: initialized pinctrl subsystem
[    0.070481] NET: Registered protocol family 16
[    0.071319] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.071988] No ATAGs?
[    0.072012] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[    0.072022] hw-breakpoint: maximum watchpoint size is 8 bytes.
[    0.072152] Serial: AMBA PL011 UART driver
[    0.085275] SCSI subsystem initialized
[    0.085581] usbcore: registered new interface driver usbfs
[    0.085648] usbcore: registered new interface driver hub
[    0.085709] usbcore: registered new device driver usb
[    0.085999] Advanced Linux Sound Architecture Driver Initialized.
[    0.087514] clocksource: Switched to clocksource arch_sys_counter
[    0.133139] simple-framebuffer 3d7fe000.framebuffer: framebuffer at 0x3d7fe000, 0x3f4800 bytes, mapped to 0xf0c00000
[    0.133168] simple-framebuffer 3d7fe000.framebuffer: format=r5g6b5, mode=1920x1080x16, linelength=3840
[    0.165556] Console: switching to colour frame buffer device 240x67
[    0.196737] simple-framebuffer 3d7fe000.framebuffer: fb0: simplefb registered!
[    0.206991] NET: Registered protocol family 2
[    0.207883] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
[    0.207993] TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
[    0.208102] TCP: Hash tables configured (established 8192 bind 8192)
[    0.208286] UDP hash table entries: 512 (order: 1, 8192 bytes)
[    0.208321] UDP-Lite hash table entries: 512 (order: 1, 8192 bytes)
[    0.208487] NET: Registered protocol family 1
[    0.208943] RPC: Registered named UNIX socket transport module.
[    0.208952] RPC: Registered udp transport module.
[    0.208960] RPC: Registered tcp transport module.
[    0.208968] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.209241] Unpacking initramfs...
[    0.218212] Freeing initrd memory: 1224K (c2100000 - c2232000)
[    0.219268] hw perfevents: enabled with armv7_cortex_a7 PMU driver, 7 counters available
[    0.220206] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.221251] workingset: timestamp_bits=30 max_order=18 bucket_order=0
[    0.235473] Installing knfsd (copyright (C) 1996 okir at monad.swb.de).
[    0.239637] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[    0.239652] io scheduler noop registered
[    0.239661] io scheduler deadline registered
[    0.239905] io scheduler cfq registered (default)
[    0.241857] clk: couldn't get clock 0 for /soc/pwm at 7e20c000
[    1.085974] bcm2835-rng 3f104000.rng: hwrng registered
[    1.086213] [drm] Initialized drm 1.1.0 20060810
[    1.088053] libphy: Fixed MDIO Bus: probed
[    1.088224] usbcore: registered new interface driver zd1211rw
[    1.088288] usbcore: registered new interface driver asix
[    1.088347] usbcore: registered new interface driver ax88179_178a
[    1.088405] usbcore: registered new interface driver cdc_ether
[    1.088466] usbcore: registered new interface driver smsc95xx
[    1.088523] usbcore: registered new interface driver net1080
[    1.088579] usbcore: registered new interface driver cdc_subset
[    1.088634] usbcore: registered new interface driver zaurus
[    1.088702] usbcore: registered new interface driver cdc_ncm
[    1.089003] usbcore: registered new interface driver usb-storage
[    1.089377] mousedev: PS/2 mouse device common for all mice
[    1.089597] i2c /dev entries driver
[    1.090295] bcm2835-wdt 3f100000.watchdog: Broadcom BCM2835 watchdog timer
[    1.090575] sdhci: Secure Digital Host Controller Interface driver
[    1.090583] sdhci: Copyright(c) Pierre Ossman
[    1.090591] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.091371] ledtrig-cpu: registered to indicate activity on CPUs
[    1.091705] usbcore: registered new interface driver usbhid
[    1.091715] usbhid: USB HID core driver
[    1.093832] bcm2835-mbox 3f00b880.mailbox: mailbox enabled
[    1.094855] oprofile: using timer interrupt.
[    1.095928] NET: Registered protocol family 10
[    1.097196] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    1.098179] NET: Registered protocol family 17
[    1.099421] 3f201000.serial: ttyAMA0 at MMIO 0x3f201000 (irq = 87, base_baud = 0) is a PL011 rev2
[    1.909397] console [ttyAMA0] enabled
[    1.915250] i2c-bcm2835 3f805000.i2c: Could not read clock-frequency property
[    1.987537] mmc0: SDHCI controller on 3f300000.sdhci [3f300000.sdhci] using PIO
[    1.995138] raspberrypi-firmware soc:firmware: Attached to firmware from 2016-10-25 16:02
[    2.007963] vc4-drm soc:gpu: bound 3f902000.hdmi (ops vc4_hdmi_ops)
[    2.014256] vc4-drm soc:gpu: bound 3f400000.hvs (ops vc4_hvs_ops)
[    2.020612] vc4-drm soc:gpu: bound 3f206000.pixelvalve (ops vc4_crtc_ops)
[    2.027624] vc4-drm soc:gpu: bound 3f207000.pixelvalve (ops vc4_crtc_ops)
[    2.034627] vc4-drm soc:gpu: bound 3f807000.pixelvalve (ops vc4_crtc_ops)
[    2.041558] vc4-drm soc:gpu: bound 3fc00000.v3d (ops vc4_v3d_ops)
[    2.048415] fb: switching to vc4drmfb from simple
[    2.053388] Console: switching to colour dummy device 80x30
[    2.064032] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    2.070688] [drm] Driver supports precise vblank timestamp query.
[    2.076847] vc4-drm soc:gpu: No connectors reported connected with modes
[    2.083566] [drm] Cannot find any crtc or sizes - going 1024x768
[    2.117100] Console: switching to colour frame buffer device 128x48
[    2.142335] vc4-drm soc:gpu: fb0:  frame buffer device
[    2.148023] dwc2 3f980000.usb: Configuration mismatch. dr_mode forced to host
[    2.164291] mmc0: new SDHC card at address aaaa
[    2.169490] mmcblk0: mmc0:aaaa SL16G 14.8 GiB
[    2.180030]  mmcblk0: p1 p2
[    2.387665] dwc2 3f980000.usb: DWC OTG Controller
[    2.392400] dwc2 3f980000.usb: new USB bus registered, assigned bus number 1
[    2.399504] dwc2 3f980000.usb: irq 39, io mem 0x00000000
[    2.405781] hub 1-0:1.0: USB hub found
[    2.409568] hub 1-0:1.0: 1 port detected
[    2.417491] ALSA device list:
[    2.420474]   No soundcards found.
[    2.424134] uart-pl011 3f201000.serial: no DMA platform data
[    2.432871] Freeing unused kernel memory: 1024K (c0a00000 - c0b00000)
[    2.476199] random: init: uninitialized urandom read (4 bytes read)
[    2.484026] random: mount: uninitialized urandom read (4 bytes read)
[    2.491668] random: mount: uninitialized urandom read (4 bytes read)
[    2.499597] random: mkdir: uninitialized urandom read (4 bytes read)
[    2.507142] random: mkdir: uninitialized urandom read (4 bytes read)
[    2.514738] random: mount: uninitialized urandom read (4 bytes read)
[    2.525479] random: hostname: uninitialized urandom read (4 bytes read)
[    2.533445] random: rcS: uninitialized urandom read (4 bytes read)
[    2.541837] random: exe: uninitialized urandom read (4 bytes read)
ESC[HESC[JInitializing random number generator... done.
Starting network: OK

arm login: root
Jan  1 00:07:24 login[76]: root login on 'ttyAMA0'
# uname -a
Linux arm 4.8.4 #1 Fri Oct 28 20:41:49 AEDT 2016 armv7l armv7l armv7l GNU/Linux

# cat /proc/cpuinfo
processor       : 0
model name      : ARMv7 Processor rev 4 (v7l)
BogoMIPS        : 38.40
Features        : half thumb fastmult vfp edsp vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 4

Hardware        : BCM2835
Revision        : 0000
Serial          : 00000000bc107171

# halt
Stopping network: # OK
Saving random seed... done.
umount: none busy - remounted read-only
umount: can't umount /: Invalid argument
The system is going down NOW!
Sent SIGTERM to all processes
Sent SIGKILL to all processes
Requesting system halt

-- 
Eyal Lebedinsky (eyal at eyal.emu.id.au)



More information about the linux mailing list