[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