Created
December 16, 2022 04:18
-
-
Save lupyuen/61a1374c9ea6a1b7826488da688e8c6c to your computer and use it in GitHub Desktop.
NuttX Kernel PinePhone TCON0 Tested OK with Graphics Logging Disabled. See https://lupyuen.github.io/articles/dsi3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DRAM: 2048 MiB | |
Trying to boot from MMC1 | |
NOTICE: BL31: v2.2(release):v2.2-904-gf9ea3a629 | |
NOTICE: BL31: Built : 15:32:12, Apr 9 2020 | |
NOTICE: BL31: Detected Allwinner A64/H64/R18 SoC (1689) | |
NOTICE: BL31: Found U-Boot DTB at 0x4064410, model: PinePhone | |
NOTICE: PSCI: System suspend is unavailable | |
U-Boot 2020.07 (Nov 08 2020 - 00:15:12 +0100) | |
DRAM: 2 GiB | |
MMC: Device 'mmc@1c11000': seq 1 is in use by 'mmc@1c10000' | |
mmc@1c0f000: 0, mmc@1c10000: 2, mmc@1c11000: 1 | |
Loading Environment from FAT... *** Warning - bad CRC, using default environment | |
starting USB... | |
No working controllers 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 | |
653 bytes read in 3 ms (211.9 KiB/s) | |
## Executing script at 4fc00000 | |
gpio: pin 114 (gpio 114) value is 1 | |
172529 bytes read in 11 ms (15 MiB/s) | |
Uncompressed size: 10321920 = 0x9D8000 | |
36162 bytes read in 4 ms (8.6 MiB/s) | |
1078500 bytes read in 50 ms (20.6 MiB/s) | |
## Flattened Device Tree blob at 4fa00000 | |
Booting using the fdt blob at 0x4fa00000 | |
Loading Ramdisk to 49ef8000, end 49fff4e4 ... OK | |
Loading Device Tree to 0000000049eec000, end 0000000049ef7d41 ... OK | |
Starting kernel ... | |
- Ready to Boot CPU | |
- Boot from EL2 | |
- Boot from EL1 | |
- Boot to C runtime for OS Initialize | |
psci_detect: Detected PSCI v1.1 | |
nx_start: Entry | |
up_allocate_heap: heap_start=0x0x40a58000, heap_size=0x75a8000 | |
gic_validate_dist_version: GICv2 detected | |
up_timer_initialize: up_timer_initialize: cp15 timer(s) running at 24.00MHz, cycle 24000 | |
uart_register: Registering /dev/console | |
uart_register: Registering /dev/ttyS0 | |
work_start_highpri: Starting high-priority kernel worker thread(s) | |
nx_start_application: Starting init thread | |
lib_cxx_initialize: _sinit: 0x400e8000 _einit: 0x400e8000 | |
nsh: sysinit: fopen failed: 2 | |
nshn:x _msktfaarttf:s :C PcUo0m:m aBnedg innonti nfgo uInddl | |
e | |
L | |
oNoupt | |
t | |
Shell (NSH) NuttX-11.0.0-pinephone | |
nsh> | |
nsh> | |
nsh> uname -a | |
NuttX 11.0.0-pinephone 893b147 Dec 14 2022 23:01:27 arm64 pinephone | |
nsh> | |
nsh> hello 0 | |
task_spawn: name=hello entry=0x400a0940 file_actions=0x40a5da40 attr=0x40a5da48 argv=0x40a5db90 | |
spawn_execattrs: Setting policy=2 priority=100 for pid=3 | |
pinephone-nuttx/render.zig: hello_main | |
backlight_enable: start, percent=90 | |
Configure PL10 for PWM | |
*0x1f02c04: clear 0x700, set 0x200 | |
*0x1f02c04 = 0x77277 | |
Disable R_PWM | |
*0x1f03800: clear 0x40, set 0x0 | |
*0x1f03800 = 0x0 | |
Configure R_PWM Period | |
*0x1f03804 = 0x4af0437 | |
Enable R_PWM | |
*0x1f03800 = 0x5f | |
Configure PH10 for Output | |
*0x1c20900: clear 0x700, set 0x100 | |
*0x1c20900 = 0x7177 | |
Set PH10 to High | |
*0x1c2090c: clear 0x400, set 0x400 | |
*0x1c2090c = 0x400 | |
backlight_enable: end | |
display_board_init: start | |
Configure PD23 for Output | |
*0x1c20874: clear 0x70000000, set 0x10000000 | |
*0x1c20874 = 0x17711177 | |
Set PD23 to Low | |
*0x1c2087c: clear 0x800000, set 0x0 | |
*0x1c2087c = 0x0 | |
Set DLDO1 Voltage to 3.3V | |
pmic_write: reg=0x15, val=0x1a | |
rsb_write: rt_addr=0x2d, reg_addr=0x15, value=0x1a | |
*0x1f0342c = 0x4e | |
*0x1f03430 = 0x2d0000 | |
*0x1f03410 = 0x15 | |
*0x1f0341c = 0x1a | |
*0x1f03400 = 0x80 | |
pmic_clrsetbits: reg=0x12, clr_mask=0x0, set_mask=0x8 | |
rsb_read: rt_addr=0x2d, reg_addr=0x12 | |
*0x1f0342c = 0x8b | |
*0x1f03430 = 0x2d0000 | |
*0x1f03410 = 0x12 | |
*0x1f03400 = 0x80 | |
rsb_write: rt_addr=0x2d, reg_addr=0x12, value=0xd9 | |
*0x1f0342c = 0x4e | |
*0x1f03430 = 0x2d0000 | |
*0x1f03410 = 0x12 | |
*0x1f0341c = 0xd9 | |
*0x1f03400 = 0x80 | |
Set LDO Voltage to 3.3V | |
pmic_write: reg=0x91, val=0x1a | |
rsb_write: rt_addr=0x2d, reg_addr=0x91, value=0x1a | |
*0x1f0342c = 0x4e | |
*0x1f03430 = 0x2d0000 | |
*0x1f03410 = 0x91 | |
*0x1f0341c = 0x1a | |
*0x1f03400 = 0x80 | |
Enable LDO mode on GPIO0 | |
pmic_write: reg=0x90, val=0x3 | |
rsb_write: rt_addr=0x2d, reg_addr=0x90, value=0x3 | |
*0x1f0342c = 0x4e | |
*0x1f03430 = 0x2d0000 | |
*0x1f03410 = 0x90 | |
*0x1f0341c = 0x3 | |
*0x1f03400 = 0x80 | |
Set DLDO2 Voltage to 1.8V | |
pmic_write: reg=0x16, val=0xb | |
rsb_write: rt_addr=0x2d, reg_addr=0x16, value=0xb | |
*0x1f0342c = 0x4e | |
*0x1f03430 = 0x2d0000 | |
*0x1f03410 = 0x16 | |
*0x1f0341c = 0xb | |
*0x1f03400 = 0x80 | |
pmic_clrsetbits: reg=0x12, clr_mask=0x0, set_mask=0x10 | |
rsb_read: rt_addr=0x2d, reg_addr=0x12 | |
*0x1f0342c = 0x8b | |
*0x1f03430 = 0x2d0000 | |
*0x1f03410 = 0x12 | |
*0x1f03400 = 0x80 | |
rsb_write: rt_addr=0x2d, reg_addr=0x12, value=0xd9 | |
*0x1f0342c = 0x4e | |
*0x1f03430 = 0x2d0000 | |
*0x1f03410 = 0x12 | |
*0x1f0341c = 0xd9 | |
*0x1f03400 = 0x80 | |
Wait for power supply and power-on init | |
display_board_init: end | |
panel_reset: start | |
Configure PD23 for Output | |
*0x1c20874: clear 0x70000000, set 0x10000000 | |
*0x1c20874 = 0x17711177 | |
Set PD23 to High | |
*0x1c2087c: clear 0x800000, set 0x800000 | |
*0x1c2087c = 0x800000 | |
wait for initialization | |
panel_reset: end | |
de2_init: start | |
Set High Speed SRAM to DMA Mode | |
*0x1c00004 = 0x0 | |
Set Display Engine PLL to 297 MHz | |
*0x1c20048 = 0x81001701 | |
Wait for Display Engine PLL to be stable | |
Set Special Clock to Display Engine PLL | |
*0x1c20104: clear 0x87000000, set 0x81000000 | |
*0x1c20104 = 0x81000000 | |
Enable AHB for Display Engine: De-Assert Display Engine | |
*0x1c202c4: clear 0x1000, set 0x1000 | |
*0x1c202c4 = 0x1008 | |
Enable AHB for Display Engine: Pass Display Engine | |
*0x1c20064: clear 0x1000, set 0x1000 | |
*0x1c20064 = 0x1008 | |
Enable Clock for MIXER0: SCLK Clock Pass | |
*0x1000000: clear 0x1, set 0x1 | |
*0x1000000 = 0x1 | |
Enable Clock for MIXER0: HCLK Clock Reset Off | |
*0x1000008: clear 0x1, set 0x1 | |
*0x1000008 = 0x1 | |
Enable Clock for MIXER0: HCLK Clock Pass | |
*0x1000004: clear 0x1, set 0x1 | |
*0x1000004 = 0x1 | |
Route MIXER0 to TCON0 | |
*0x1000010: clear 0x1, set 0x0 | |
*0x1000010 = 0x0 | |
Clear MIXER0 Registers: GLB, BLD, OVL_V, OVL_UI | |
*0x1100000 = 0x0 | |
to *0x1105fff = 0x0 | |
Disable MIXER0 VSU | |
*0x1120000 = 0x0 | |
Disable MIXER0 Undocumented | |
*0x1130000 = 0x0 | |
Disable MIXER0 UI_SCALER1 | |
*0x1140000 = 0x0 | |
Disable MIXER0 UI_SCALER2 | |
*0x1150000 = 0x0 | |
Disable MIXER0 FCE | |
*0x11a0000 = 0x0 | |
Disable MIXER0 BWS | |
*0x11a2000 = 0x0 | |
Disable MIXER0 LTI | |
*0x11a4000 = 0x0 | |
Disable MIXER0 PEAKING | |
*0x11a6000 = 0x0 | |
Disable MIXER0 ASE | |
*0x11a8000 = 0x0 | |
Disable MIXER0 FCC | |
*0x11aa000 = 0x0 | |
Disable MIXER0 DRC | |
*0x11b0000 = 0x0 | |
Enable MIXER0 | |
*0x1100000 = 0x1 | |
de2_init: end | |
renderGraphics: start | |
initUiBlender: start | |
Set Blender Background | |
*0x1101088 = 0xff000000 | |
Set Blender Pre-Multiply | |
*0x1101084 = 0x0 | |
initUiBlender: end | |
initUiChannel: start | |
Channel 1: Set Overlay (720 x 1440) | |
*0x1103000 = 0xff000405 | |
*0x1103010 = 0x4010a000 | |
*0x110300c = 0xb40 | |
*0x1103004 = 0x59f02cf | |
*0x1103088 = 0x59f02cf | |
*0x1103008 = 0x0 | |
Channel 1: Set Blender Output | |
*0x110108c = 0x59f02cf | |
*0x110000c = 0x59f02cf | |
Channel 1: Set Blender Input Pipe 0 (720 x 1440) | |
*0x1101008 = 0x59f02cf | |
*0x1101004 = 0xff000000 | |
*0x110100c = 0x0 | |
*0x1101090 = 0x3010301 | |
Channel 1: Disable Scaler | |
*0x1140000 = 0x0 | |
initUiChannel: end | |
initUiChannel: start | |
Channel 2: Set Overlay (600 x 600) | |
*0x1104000 = 0xff000005 | |
*0x1104010 = 0x404ff000 | |
*0x110400c = 0x960 | |
*0x1104004 = 0x2570257 | |
*0x1104088 = 0x2570257 | |
*0x1104008 = 0x0 | |
Channel 2: Set Blender Input Pipe 1 (600 x 600) | |
*0x1101018 = 0x2570257 | |
*0x1101014 = 0xff000000 | |
*0x110101c = 0x340034 | |
*0x1101094 = 0x3010301 | |
Channel 2: Disable Scaler | |
*0x1150000 = 0x0 | |
initUiChannel: end | |
initUiChannel: start | |
Channel 3: Set Overlay (720 x 1440) | |
*0x1105000 = 0x7f000005 | |
*0x1105010 = 0x4065f000 | |
*0x110500c = 0xb40 | |
*0x1105004 = 0x59f02cf | |
*0x1105088 = 0x59f02cf | |
*0x1105008 = 0x0 | |
Channel 3: Set Blender Input Pipe 2 (720 x 1440) | |
*0x1101028 = 0x59f02cf | |
*0x1101024 = 0xff000000 | |
*0x110102c = 0x0 | |
*0x1101098 = 0x3010301 | |
Channel 3: Disable Scaler | |
*0x1160000 = 0x0 | |
initUiChannel: end | |
applySettings: start | |
Set Blender Route | |
*0x1101080 = 0x321 | |
Enable Blender Pipes | |
*0x1101000 = 0x701 | |
Apply Settings | |
*0x1100008 = 0x1 | |
applySettings: end | |
renderGraphics: end | |
nsh> | |
nsh> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment