gpio

1. Preloader 默認GPIO不做配置

makefile文件中選擇編譯gpio_init即可打開,mt_gpio_set_default按照dws設定,mt_gpio_set_default_dump讀取gpio狀態。

 78 #ifeq ("$(PL_MODE)","DUMMY_AP")
 79         MOD_SRC  += gpio_init.c
 80 #endif

 

2. LK打印GPIO信息

增加gpio dump易導致LK啓動失敗,初步懷疑是dprintf打印導致。將dump信息增加至platform_init可以正常打印。

normal:

[ATF][     0.000000][BL31] Jump to FIQD for initialization!

INFO:    BL3-1: Preparing for EL3 exit to normal world, LK
INFO:    BL3-1: Next image address = 0x41e00000
INFO:    BL3-1: Next image spsr = 0x1d3
[ATF][     0.000000][BL31] Final dump!

[0] WDT NONRST=0x20000000

[0] [PROFILE] ------- WDT Init  takes 0 ms --------
[0] [pmic_init] LK Start..................
[0] [pmic_init] MT6325 CHIP Code = 0x2820
[0] [pmic_init] Done
[10]  ==LK info ==

fail:

[ATF][     0.000000][BL31] Jump to FIQD for initialization!

INFO:    BL3-1: Preparing for EL3 exit to normal world, LK
INFO:    BL3-1: Next image address = 0x41e00000
INFO:    BL3-1: Next image spsr = 0x1d3
[ATF][     0.000000][BL31] Final dump!

[ATF][     0.000000]=> wdt_kernel_cb_addr=0, error before WDT successfully initialized. cpu 0
[ATF][     0.000000]=> regs->pc : 0x41e028fe
[ATF][     0.000000]=> regs->lr : 0x0
[ATF][     0.000000]=> regs->sp : 0x0

...

[ATF][     0.000000]=> sp is NULL, skip stack dump
[ATF][     0.000000]=> wait until reboot...

 

3. GPIO ies

某一些GPIO屬於一組,修改同一組中的某一個GPIO,同時影響改組的所有GPIO。IES 隔離CPU外部信號?

GPIO 0~4屬於GOIO_IES_G1,若更改GPIO2的IES,GOIO_IES_G1的其他GPIO IES亦會同步改變。

  19 #define IOCFG_1_BASE (0x10211900)

  27 PIN_addr IES_addr[] = {
  28 /* 0 */ {IOCFG_1_BASE+0x000},
  29 /* 1 */ {IOCFG_1_BASE+0x000},
  30 /* 2 */ {IOCFG_1_BASE+0x000},
  31 /* 3 */ {IOCFG_1_BASE+0x000},
  32 /* 4 */ {IOCFG_1_BASE+0x000},
  33 /* 5 */ {IOCFG_2_BASE+0x000},

 228 PIN_offset IES_offset[] = {
 229 /* 0 */ {10},
 230 /* 1 */ {10},
 231 /* 2 */ {10},
 232 /* 3 */ {10},
 233 /* 4 */ {10},
 234 /* 5 */ {3},

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章