當然,要sb gpio0~15才可以當成sci用。
1. 設定GPE0_EN register, PMBASE+28, BIT[31:16]. 看是那一個GPIO就設那一個Bit.
2. Disable ALT_GP_SMI_EN, PMBASE+38, BIT[15:0],這是SMI用的,如果要當成SMI,這個應該要設。(SMI沒試過><)
3. 設定GPIO_ROUT, Bus0, Dev31, Fun0, offset B8h,看設成No effect/SMI#/SCI/NMI。
4. 當然,那根GPIO要設成GPIO, input, GPI_INV也要記得設,看是high active or low active。
5. 在ACPI下,在_GPE的Scope下的(_Lxx),代表GPIO event active時,會進去做的事,範例如下:
Ex: 假設用GPIO00當成SCI input。
Scope(\_GPE){
Method(_L10){
.....................................要做的事.................
.....................................要做的事.................
Notify(\_TZ.TZ00, 0x80) //例如去notify thermal zone.
}