Links

Configs we already tried

This is a place were we put configurations we tried, and didn't work or did work up to a certain point.

Surface RT 1

@Leander's trial and fail

Note to members of the gitbook: I don't know if it is useful to make this person-specific.

#001

This hangs at without supplying device tree with dtb= If device tree is supplied, cpuidle complains at printed. [ 0.000000] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2 [ 0.000000] cfg80211: failed to load regulatory.db
.config
163KB
Binary
#001 .config
tegra30-microsoft-surfaceRT-test1.dts
6KB
Binary
#001 device tree
Testing without device tree from here on

#002

Changed:CONFIG_CFG80211=n [ 0.000000] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2 [ 0.000000] cfg80211: failed to load regulatory.db This is issue doesn't exist anymore, it just freezes at [ 0.000000] Freeing unused kernel memory: 1024K
Note the line, clock should be 100kHz[ 0.000000] sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 21474836475000000ns
[ 0.000000] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled [ 0.000000] Warning: unable to open an initial console. It looks like it's using some serial and then is unable to open a console. -> No device tree so it doesn't know /dev/ttyS0 (UART-A)
.config
160KB
Binary
#002 .config
log.txt
12KB
Text
#002 log

#003

CONFIG_FB_EFI=y CONFIG_CMDLINE="console=ttyS0,115200 console=tty0 earlyprintk initcall_debug sched_debug lpj=10000"
It booted, then disabled uart and printed to the screen. Log only contains print from uart. Stuck at the same line.
.config
159KB
Binary
#003 .config
log.txt
5KB
Text
#003 log

#004

CONFIG_CMDLINE="console=ttyS0,115200 console=tty0 earlycon earlyprintk initcall_debug sched_debug lpj=10000"
Log should be the same apart from the cmdline. Again, it displayed to display, so log doesn't include that output.
.config
160KB
Binary
#004 .config
log.txt
5KB
Text
#004 log

#005

CONFIG_CMDLINE="console=ttyS0,115200 earlycon earlyprintk initcall_debug sched_debug lpj=10000"
Screen with a cursor, all output on uart. But because there is no device tree, no console from initrd.
.config
159KB
Binary
#005 .config
log.txt
13KB
Text
#005 log
Testing with device tree from here on

#006

Nothing changed in config. Only added device tree.
Kernel panic: [ 0.000000] Unable to handle kernel NULL pointer dereference at virtual address 00000010Has to do with cpuidle. You can also see complaints about a bad device tree.
.config
159KB
Binary
#006 .config
log.txt
18KB
Text
#006 log
tegra30-microsoft-surfaceRT.dts
2KB
Binary
#006 device tree

#007

Only device tree edits.
Screen has no cursor anymore, only backlight is turned on. You can't print something on it with echo hello >> /dev/fb0 or echo hello >> /dev/tty0
Successful boot to Buildroot.
Note: Log has a lot of entries two times.
.config
159KB
Binary
#007 .config
log.txt
30KB
Text
#007 log
tegra30-microsoft-surfaceRT.dts
2KB
Binary
#007 device tree

#008

CONFIG_VGA_ARB=n CONFIG_TEGRA_HOST1X=n CONFIG_DRM=n
No different screen behaviour.
Log has some commands at the bottom.
.config
156KB
Binary
#008 .config
log.txt
18KB
Text
#008 log
tegra30-microsoft-surfaceRT.dts
2KB
Binary
#008 device tree

#009

No config changed. Only device tree edits. Added nodes to it until dtc didn't complain about anything.
Some strange screen behaviour.
[ 0.000000] tegra20-cpufreq tegra20-cpufreq: operating points not found [ 0.000000] tegra20-cpufreq tegra20-cpufreq: please update your device tree Looks like some cpu frequency nodes have to be added to device tree.
.config
155KB
Binary
#009 .config
log.txt
17KB
Text
#009 log
tegra30-microsoft-surfaceRT.dts
5KB
Binary
#009 device tree

#010

Only device tree edits.
Screen still doesn't work.
Boots fine to Buildroot. Log has commands at the bottom.
.config
155KB
Binary
#010 .config
log.txt
19KB
Text
#010 log
tegra30-microsoft-surfaceRT.dts
6KB
Binary
#010 device tree

#011

CONFIG_CMDLINE="console=ttyS0,115200 console=tty0 earlyprintk initcall_debug sched_debug lpj=10000"
Found out that screen works, but it gets cleared when Busybox (from ramdisk) starts. At least I think at that point it gets cleared, not 100% sure.
.config
155KB
Binary
#011 .config
log.txt
22KB
Text
#011 log
tegra30-microsoft-surfaceRT.dts
6KB
Binary
#011 device tree

#012

CONFIG_CMDLINE="console=ttyS0,115200 earlyprintk initcall_debug sched_debug lpj=10000"
Minimal device tree with sd-card+emmc+uart, it includes tegra30.dtsi
No display output with this command line, but you get log output when adding console=tty0, but afterwards it stops around when Busybox takes over.
.config
155KB
Binary
#012 .config
log.txt
25KB
Text
#012 log
tegra30-microsoft-surfaceRT-test2.dts
932B
Binary
#012 device tree

#013

Added a raspberry pi rootfs. Specifying root= option with efi shell
Display stops working after the line [ 251.431349] tegra-devfreq 6000c800.actmon: Failed to get emc clock
Log contains output from rootfs.
.config
155KB
Binary
#013 .config
log.txt
29KB
Text
#013 log
tegra30-microsoft-surfaceRT-test2.dts
932B
Binary
#013 device tree
Config reseted. Started from a new one.

#014

CONFIG_EFI_STUB=y CONFIG_EFI=y CONFIG_CMDLINE="console=ttyS0,115200n8 earlyprintk initcall_debug sched_debug lpj=10000 boot_delay=50" CONFIG_CMDLINE_EXTEND=y CONFIG_SMP=n CONFIG_CACHE_L2X0=n CONFIG_EARLY_PRINTK=y CONFIG_DEBUG_TEGRA_UART=y CONFIG_TEGRA_DEBUG_UARTA=y CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_BOOT_PRINTK_DELAY=y and boot_delay=50(cmdline) are necessary so mmc driver gets loaded early enough.
Log contains a few commands from rootfs.
.config
166KB
Binary
#014 .config
log.txt
36KB
Text
#014 log
tegra30-microsoft-surfaceRT-test2.dts
932B
Binary
#014 device tree

#015

I'm not sure what changed.
Working display with booted raspberry pi os!
.config
166KB
Binary
#015 .config
log.txt
47KB
Text
#015 log
tegra30-microsoft-surfaceRT-test1.dts
6KB
Binary
#015 device tree

Surface RT 2