0% found this document useful (0 votes)
33 views3 pages

LK Boot Sequence

Uploaded by

theumer2008
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
33 views3 pages

LK Boot Sequence

Uploaded by

theumer2008
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

```mermaid

graph LR

_Start((S-LK)) --> lk_main(LK Main)

style _Start fill:#f9f,stroke:#333,stroke-width:4px

lk_main --> platform_early_init(Platform Early 초기화)

subgraph platform early 초기화

mmu_init(mmu enable) --> read_chip_id(Read chip id)

read_chip_id --> display_panel_init(LCD init)

display_panel_init --> init_fbs(FB 초기화)

init_fbs --> set_first_boot_device_info(Boot device Read)

set_first_boot_device_info --> uart_test(UART init)

uart_test --> dram_info(RAM info)

dram_info --> board_info(Board info)

board_info --> print_banner(Banner 로그)

print_banner --> dbg_snapshot_boot(Boot cnt)

dbg_snapshot_boot --> serial_register(SEC UART)

style mmu_init fill:#f4f,stroke:#333,stroke-width:4px,stroke-dasharray:5,5

end

platform_early_init -.- mmu_init

platform_early_init --> pdev_device_init[Platform Device 등록]

pdev_device_init --> target_early_init[Target Early 초기화]

target_early_init -.- read_hw_rev((HW Rev))

style platform_early_init fill:#4ff,stroke:#33,stroke-width:4px

style target_early_init fill:#49f,stroke:#33,stroke-width:4px

subgraph Target early 초기화

flexpmu_dbg(pmu dbg) --> pmic_init(PMIC 초기화)

pmic_init --> dp_pmic_init(DP PMIC 초기화)

dp_pmic_init --> pdic(PDIC 초기화)

pdic --> muic(MUIC 초기화)

muic --> ifconn(IFCON 초기화)


ifconn --> charget(CHARGER 초기화)

charget --> fuelgauge(FUELGAUGE 초기화)

end

target_early_init -.- flexpmu_dbg

target_early_init --> heap_init

heap_init -->call_constructors

call_constructors --> kernel_init

kernel_init --> bootstrap2((Bootstrap2))

```

```mermaid

graph LR

Bootstrap2((BootStrap2)) --> platform_init

subgraph platform init

blk_init(UFS 초기화) --> check_gpt(GPT 생성)

check_gpt --> pit_update(PIT 업데이트)

pit_update --> load_secureOS(Secure OS load)

load_secureOS --> check_edl(EDL,T32 Boot check)

check_edl --> param_part(Param 초기화)

param_part --> ddi_data(ddi 초기화)

ddi_data --> efuse_data(efuse 초기화)

efuse_data --> bl_init(EMC)

bl_init --> init_mrstb(WARM/COLD Reset)

init_mrstb --> check_keypad(Key 입력 체크)

check_keypad --> reboot_mode(Reboot mode 체크)

reboot_mode --> debug_work(Debug 관련)

debug_work --> logbuf(log buffer 초기화)

logbuf --> display_drv_init(LCD 드라이버 초기화)


display_drv_init --> check_download((다운로드 모드 진입))

display_drv_init --> check_upload((업로드모드 진입))

display_drv_init --> check_dn_err(다운로드 에러 체크)

display_drv_init --> check_boot(LPM/RECVOERY 모드 체크)

check_boot --> draw_logo(로고 출력)

draw_logo --> display_device_log(Device 정보 출력)

style blk_init fill:#f4f,stroke:#333,stroke-width:4px

style load_secureOS fill:#f4f,stroke:#333,stroke-width:4px,stroke-dasharray:5,5

end

platform_init -.- blk_init

platform_init --> target_init

target_init --> apps_init((SBOOT APP Call))

```

```mermaid

graph LR

sbl_boot_task((Normal Boot mode)) --> printf_prompt(prompt mode)

printf_prompt --> prepare_for_booting(DBG Uint Clear)

prepare_for_booting --> cmd_boot(boot)

cmd_boot --> load_boot_images(kernel Load)

load_boot_images --> pre_check_kernel_integrity(Security Check)

pre_check_kernel_integrity --> cmd_scatter_load_boot(kernel Image copy)

cmd_scatter_load_boot --> load_dtb(DTB Overlay)

load_dtb --> avb_main(AVB Check)

avb_main --> configure_dtb(DTB 편집)

configure_dtb --> Kernel_Jump((Kernel JUMP))

```

You might also like