Skip to content

Instantly share code, notes, and snippets.

@lupyuen
Last active December 26, 2022 05:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lupyuen/34b4dbf9ad7b720b673ec0aaaa11e90d to your computer and use it in GitHub Desktop.
Save lupyuen/34b4dbf9ad7b720b673ec0aaaa11e90d to your computer and use it in GitHub Desktop.
NuttX Kernel PinePhone LCD Driver Test Log. See https://lupyuen.github.io/articles/lcd
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
126558 bytes read in 9 ms (13.4 MiB/s)
Uncompressed size: 10047488 = 0x995000
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
pinephone_lcd_backlight_enable: Configure PL10 for PWM
pinephone_lcd_backlight_enable: Disable R_PWM
pinephone_lcd_backlight_enable: Configure R_PWM Period
pinephone_lcd_backlight_enable: Enable R_PWM
pinephone_lcd_backlight_enable: Configure PH10 for Output
pinephone_lcd_backlight_enable: Set PH10 to High
a64_tcon0_init: Configure PLL_VIDEO0
a64_tcon0_init: Enable LDO1 and LDO2
a64_tcon0_init: Configure MIPI PLL
a64_tcon0_init: Set TCON0 Clock Source to MIPI PLL
a64_tcon0_init: Enable TCON0 Clock
a64_tcon0_init: Deassert TCON0 Reset
a64_tcon0_init: Disable TCON0 and Interrupts
a64_tcon0_init: Enable Tristate Output
a64_tcon0_init: Set DCLK to MIPI PLL / 6
a64_tcon0_init: Set CPU Panel Trigger
a64_tcon0_init: Set Safe Period
a64_tcon0_init: Enable Output Triggers
a64_tcon0_init: Enable TCON0
pinephone_lcd_panel_reset: Configure PD23 for Output
pinephone_lcd_panel_reset: Set PD23 to 0
pinephone_pmic_init: Set DLDO1 Voltage to 3.3V
pmic_write: reg=0x15, val=0x1a
a64_rsb_write: rt_addr=0x2d, reg_addr=0x15, value=0x1a
pmic_clrsetbits: reg=0x12, clr_mask=0x0, set_mask=0x8
a64_rsb_read: rt_addr=0x2d, reg_addr=0x12
a64_rsb_write: rt_addr=0x2d, reg_addr=0x12, value=0xd9
pinephone_pmic_init: Set LDO Voltage to 3.3V
pmic_write: reg=0x91, val=0x1a
a64_rsb_write: rt_addr=0x2d, reg_addr=0x91, value=0x1a
pinephone_pmic_init: Enable LDO mode on GPIO0
pmic_write: reg=0x90, val=0x3
a64_rsb_write: rt_addr=0x2d, reg_addr=0x90, value=0x3
pinephone_pmic_init: Set DLDO2 Voltage to 1.8V
pmic_write: reg=0x16, val=0xb
a64_rsb_write: rt_addr=0x2d, reg_addr=0x16, value=0xb
pmic_clrsetbits: reg=0x12, clr_mask=0x0, set_mask=0x10
a64_rsb_read: rt_addr=0x2d, reg_addr=0x12
a64_rsb_write: rt_addr=0x2d, reg_addr=0x12, value=0xd9
a64_mipi_dsi_enable: Enable MIPI DSI Bus
a64_mipi_dsi_enable: Enable DSI Block
a64_mipi_dsi_enable: Set Instructions
a64_mipi_dsi_enable: Configure Jump Instructions
a64_mipi_dsi_enable: Set Video Start Delay
a64_mipi_dsi_enable: Set Burst
a64_mipi_dsi_enable: Set Instruction Loop
a64_mipi_dsi_enable: Set Pixel Format
a64_mipi_dsi_enable: Set Sync Timings
a64_mipi_dsi_enable: Set Basic Size
a64_mipi_dsi_enable: Set Horizontal Blanking
a64_mipi_dsi_enable: Set Vertical Blanking
a64_mipi_dphy_enable: Set DSI Clock to 150 MHz
a64_mipi_dphy_enable: Power on DPHY Tx
a64_mipi_dphy_enable: Enable DPHY
a64_mipi_dphy_enable: Enable LDOR, LDOC, LDOD
pinephone_lcd_panel_reset: Configure PD23 for Output
pinephone_lcd_panel_reset: Set PD23 to 1
pinephone_lcd_panel_init: Init ST7703 LCD Controller
write_dcs: len=4
buf (0x400b1039):
0000 b9 f1 12 83 ....
a64_mipi_dsi_write: channel=0, cmd=0x39, txlen=4
mipi_dsi_long_packet: channel=0, cmd=0x39, txlen=4
a64_mipi_dsi_write: pktlen=10
pkt (0x40a1aad0):
0000 39 04 00 2c b9 f1 12 83 84 5d 9..,.....]
write_dcs: len=28
buf (0x400b101d):
0000 ba 33 81 05 f9 0e 0e 20 00 00 00 00 00 00 00 44 .3..... .......D
0010 25 00 91 0a 00 00 02 4f 11 00 00 37 %......O...7
a64_mipi_dsi_write: channel=0, cmd=0x39, txlen=28
mipi_dsi_long_packet: channel=0, cmd=0x39, txlen=28
a64_mipi_dsi_write: pktlen=34
pkt (0x40a1aad0):
0000 39 1c 00 2f ba 33 81 05 f9 0e 0e 20 00 00 00 00 9../.3..... ....
0010 00 00 00 44 25 00 91 0a 00 00 02 4f 11 00 00 37 ...D%......O...7
0020 2c e2 ,.
write_dcs: len=5
buf (0x400b1018):
0000 b8 25 22 20 03 .%" .
a64_mipi_dsi_write: channel=0, cmd=0x39, txlen=5
mipi_dsi_long_packet: channel=0, cmd=0x39, txlen=5
a64_mipi_dsi_write: pktlen=11
pkt (0x40a1aad0):
0000 39 05 00 36 b8 25 22 20 03 03 72 9..6.%" ..r
write_dcs: len=11
buf (0x400b100d):
0000 b3 10 10 05 05 03 ff 00 00 00 00 ...........
a64_mipi_dsi_write: channel=0, cmd=0x39, txlen=11
mipi_dsi_long_packet: channel=0, cmd=0x39, txlen=11
a64_mipi_dsi_write: pktlen=17
pkt (0x40a1aad0):
0000 39 0b 00 2c b3 10 10 05 05 03 ff 00 00 00 00 6f 9..,...........o
0010 bc .
write_dcs: len=10
buf (0x400b1003):
0000 c0 73 73 50 50 00 c0 08 70 00 .ssPP...p.
a64_mipi_dsi_write: channel=0, cmd=0x39, txlen=10
mipi_dsi_long_packet: channel=0, cmd=0x39, txlen=10
a64_mipi_dsi_write: pktlen=16
pkt (0x40a1aad0):
0000 39 0a 00 36 c0 73 73 50 50 00 c0 08 70 00 1b 6a 9..6.ssPP...p..j
write_dcs: len=2
buf (0x400b1001):
0000 bc 4e .N
a64_mipi_dsi_write: channel=0, cmd=0x15, txlen=2
mipi_dsi_short_packet: channel=0, cmd=0x15, txlen=2
a64_mipi_dsi_write: pktlen=4
pkt (0x40a1aad0):
0000 15 bc 4e 35 ..N5
write_dcs: len=2
buf (0x400b0fff):
0000 cc 0b ..
a64_mipi_dsi_write: channel=0, cmd=0x15, txlen=2
mipi_dsi_short_packet: channel=0, cmd=0x15, txlen=2
a64_mipi_dsi_write: pktlen=4
pkt (0x40a1aad0):
0000 15 cc 0b 22 ..."
write_dcs: len=2
buf (0x400b0ffd):
0000 b4 80 ..
a64_mipi_dsi_write: channel=0, cmd=0x15, txlen=2
mipi_dsi_short_packet: channel=0, cmd=0x15, txlen=2
a64_mipi_dsi_write: pktlen=4
pkt (0x40a1aad0):
0000 15 b4 80 22 ..."
write_dcs: len=4
buf (0x400b0ff9):
0000 b2 f0 12 f0 ....
a64_mipi_dsi_write: channel=0, cmd=0x39, txlen=4
mipi_dsi_long_packet: channel=0, cmd=0x39, txlen=4
a64_mipi_dsi_write: pktlen=10
pkt (0x40a1aad0):
0000 39 04 00 2c b2 f0 12 f0 51 86 9..,....Q.
write_dcs: len=15
buf (0x400b0fea):
0000 e3 00 00 0b 0b 10 10 00 00 00 00 ff 00 c0 10 ...............
a64_mipi_dsi_write: channel=0, cmd=0x39, txlen=15
mipi_dsi_long_packet: channel=0, cmd=0x39, txlen=15
a64_mipi_dsi_write: pktlen=21
pkt (0x40a1aad0):
0000 39 0f 00 0f e3 00 00 0b 0b 10 10 00 00 00 00 ff 9...............
0010 00 c0 10 36 0f ...6.
write_dcs: len=6
buf (0x400b0fe4):
0000 c6 01 00 ff ff 00 ......
a64_mipi_dsi_write: channel=0, cmd=0x39, txlen=6
mipi_dsi_long_packet: channel=0, cmd=0x39, txlen=6
a64_mipi_dsi_write: pktlen=12
pkt (0x40a1aad0):
0000 39 06 00 30 c6 01 00 ff ff 00 8e 25 9..0.......%
write_dcs: len=13
buf (0x400b0fd7):
0000 c1 74 00 32 32 77 f1 ff ff cc cc 77 77 .t.22w.....ww
a64_mipi_dsi_write: channel=0, cmd=0x39, txlen=13
mipi_dsi_long_packet: channel=0, cmd=0x39, txlen=13
a64_mipi_dsi_write: pktlen=19
pkt (0x40a1aad0):
0000 39 0d 00 13 c1 74 00 32 32 77 f1 ff ff cc cc 77 9....t.22w.....w
0010 77 69 e4 wi.
write_dcs: len=3
buf (0x400b0fd4):
0000 b5 07 07 ...
a64_mipi_dsi_write: channel=0, cmd=0x39, txlen=3
mipi_dsi_long_packet: channel=0, cmd=0x39, txlen=3
a64_mipi_dsi_write: pktlen=9
pkt (0x40a1aad0):
0000 39 03 00 09 b5 07 07 7b b3 9......{.
write_dcs: len=3
buf (0x400b0fd1):
0000 b6 2c 2c .,,
a64_mipi_dsi_write: channel=0, cmd=0x39, txlen=3
mipi_dsi_long_packet: channel=0, cmd=0x39, txlen=3
a64_mipi_dsi_write: pktlen=9
pkt (0x40a1aad0):
0000 39 03 00 09 b6 2c 2c 55 04 9....,,U.
write_dcs: len=4
buf (0x400b0fcd):
0000 bf 02 11 00 ....
a64_mipi_dsi_write: channel=0, cmd=0x39, txlen=4
mipi_dsi_long_packet: channel=0, cmd=0x39, txlen=4
a64_mipi_dsi_write: pktlen=10
pkt (0x40a1aad0):
0000 39 04 00 2c bf 02 11 00 b5 e9 9..,......
write_dcs: len=64
buf (0x400b0f8d):
0000 e9 82 10 06 05 a2 0a a5 12 31 23 37 83 04 bc 27 .........1#7...'
0010 38 0c 00 03 00 00 00 0c 00 03 00 00 00 75 75 31 8............uu1
0020 88 88 88 88 88 88 13 88 64 64 20 88 88 88 88 88 ........dd .....
0030 88 02 88 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
a64_mipi_dsi_write: channel=0, cmd=0x39, txlen=64
mipi_dsi_long_packet: channel=0, cmd=0x39, txlen=64
a64_mipi_dsi_write: pktlen=70
pkt (0x40a1aad0):
0000 39 40 00 25 e9 82 10 06 05 a2 0a a5 12 31 23 37 9@.%.........1#7
0010 83 04 bc 27 38 0c 00 03 00 00 00 0c 00 03 00 00 ...'8...........
0020 00 75 75 31 88 88 88 88 88 88 13 88 64 64 20 88 .uu1........dd .
0030 88 88 88 88 88 02 88 00 00 00 00 00 00 00 00 00 ................
0040 00 00 00 00 65 03 ....e.
write_dcs: len=62
buf (0x400b0f4f):
0000 ea 02 21 00 00 00 00 00 00 00 00 00 00 02 46 02 ..!...........F.
0010 88 88 88 88 88 88 64 88 13 57 13 88 88 88 88 88 ......d..W......
0020 88 75 88 23 14 00 00 02 00 00 00 00 00 00 00 00 .u.#............
0030 00 00 00 00 00 00 00 03 0a a5 00 00 00 00 ..............
a64_mipi_dsi_write: channel=0, cmd=0x39, txlen=62
mipi_dsi_long_packet: channel=0, cmd=0x39, txlen=62
a64_mipi_dsi_write: pktlen=68
pkt (0x40a1aad0):
0000 39 3e 00 1a ea 02 21 00 00 00 00 00 00 00 00 00 9>....!.........
0010 00 02 46 02 88 88 88 88 88 88 64 88 13 57 13 88 ..F.......d..W..
0020 88 88 88 88 88 75 88 23 14 00 00 02 00 00 00 00 .....u.#........
0030 00 00 00 00 00 00 00 00 00 00 00 03 0a a5 00 00 ................
0040 00 00 24 1b ..$.
write_dcs: len=35
buf (0x400b0f2c):
0000 e0 00 09 0d 23 27 3c 41 35 07 0d 0e 12 13 10 12 ....#'<A5.......
0010 12 18 00 09 0d 23 27 3c 41 35 07 0d 0e 12 13 10 .....#'<A5......
0020 12 12 18 ...
a64_mipi_dsi_write: channel=0, cmd=0x39, txlen=35
mipi_dsi_long_packet: channel=0, cmd=0x39, txlen=35
a64_mipi_dsi_write: pktlen=41
pkt (0x40a1aad0):
0000 39 23 00 20 e0 00 09 0d 23 27 3c 41 35 07 0d 0e 9#. ....#'<A5...
0010 12 13 10 12 12 18 00 09 0d 23 27 3c 41 35 07 0d .........#'<A5..
0020 0e 12 13 10 12 12 18 93 bf .........
write_dcs: len=1
buf (0x400b0f2b):
0000 11 .
a64_mipi_dsi_write: channel=0, cmd=0x5, txlen=1
mipi_dsi_short_packet: channel=0, cmd=0x5, txlen=1
a64_mipi_dsi_write: pktlen=4
pkt (0x40a1aad0):
0000 05 11 00 36 ...6
write_dcs: len=1
buf (0x400b0f2a):
0000 29 )
a64_mipi_dsi_write: channel=0, cmd=0x5, txlen=1
mipi_dsi_short_packet: channel=0, cmd=0x5, txlen=1
a64_mipi_dsi_write: pktlen=4
pkt (0x40a1aad0):
0000 05 29 00 1c .)..
a64_mipi_dsi_start: Start HSC
a64_mipi_dsi_start: Commit
a64_mipi_dsi_start: Instruction Function Lane
a64_mipi_dsi_start: Start HSD
a64_mipi_dsi_start: Commit
a64_de_init: Set High Speed SRAM to DMA Mode
a64_de_init: Set Display Engine PLL to 297 MHz
a64_de_init: Wait for Display Engine PLL to be stable
a64_de_init: Set Special Clock to Display Engine PLL
a64_de_init: Enable AHB for Display Engine: De-Assert Display Engine
a64_de_init: Enable AHB for Display Engine: Pass Display Engine
a64_de_init: Enable Clock for MIXER0: SCLK Clock Pass
a64_de_init: Enable Clock for MIXER0: HCLK Clock Reset Off
a64_de_init: Enable Clock for MIXER0: HCLK Clock Pass
a64_de_init: Route MIXER0 to TCON0
a64_de_init: Clear MIXER0 Registers: GLB, BLD, OVL_V, OVL_UI
a64_de_init: Disable MIXER0 VSU
a64_de_init: Disable MIXER0 Undocumented
a64_de_init: Disable MIXER0 UI_SCALER1
a64_de_init: Disable MIXER0 UI_SCALER2
a64_de_init: Disable MIXER0 FCE
a64_de_init: Disable MIXER0 BWS
a64_de_init: Disable MIXER0 LTI
a64_de_init: Disable MIXER0 PEAKING
a64_de_init: Disable MIXER0 ASE
a64_de_init: Disable MIXER0 FCC
a64_de_init: Disable MIXER0 DRC
a64_de_init: Enable MIXER0
a64_de_blender_init: Set Blender Background
a64_de_blender_init: Set Blender Pre-Multiply
a64_de_ui_channel_init: Channel 1: Set Overlay (720 x 1440)
a64_de_ui_channel_init: Channel 1: Set Blender Output
a64_de_ui_channel_init: Channel 1: Set Blender Input Pipe 0 (720 x 1440)
a64_de_ui_channel_init: Channel 1: Disable Scaler
a64_de_ui_channel_init: Channel 2: Set Overlay (600 x 600)
a64_de_ui_channel_init: Channel 2: Set Blender Input Pipe 1 (600 x 600)
a64_de_ui_channel_init: Channel 2: Disable Scaler
a64_de_ui_channel_init: Channel 3: Set Overlay (720 x 1440)
a64_de_ui_channel_init: Channel 3: Set Blender Input Pipe 2 (720 x 1440)
a64_de_ui_channel_init: Channel 3: Disable Scaler
a64_de_enable: Set Blender Route
a64_de_enable: Enable Blender Pipes
a64_de_enable: Apply Settings
up_fbgetvplane: up_fbgetvplane not implemented
fb_register: ERROR: up_fbgetvplane() failed, vplane=0
nsh: sysinit: fopen failed: 2
nsh: mkfatfs: command not found
NuttShell (NSH) NuttX-11.0.0-pinephone
nsh>
nsh>
nsh> uname -a
NuttX 11.0.0-pinephone 6f0c745 Dec 24 2022 16:19:25 arm64 pinephone
nsh>
nsh>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment