summaryrefslogtreecommitdiff
path: root/chip/it83xx/registers.h
diff options
context:
space:
mode:
Diffstat (limited to 'chip/it83xx/registers.h')
-rw-r--r--chip/it83xx/registers.h178
1 files changed, 147 insertions, 31 deletions
diff --git a/chip/it83xx/registers.h b/chip/it83xx/registers.h
index 473f696a6c..9e5d115f81 100644
--- a/chip/it83xx/registers.h
+++ b/chip/it83xx/registers.h
@@ -292,6 +292,9 @@
#define CPU_INT_2_ALL_GPIOS 255
#define IT83XX_CPU_INT_IRQ_255 2
+#define CPU_INT_GROUP_5 254
+#define IT83XX_CPU_INT_IRQ_254 5
+
#define CPU_INT(irq) CONCAT2(IT83XX_CPU_INT_IRQ_, irq)
/* --- INTC --- */
@@ -408,6 +411,10 @@
#define IT83XX_WUC_WUESR10 REG8(IT83XX_WUC_BASE+0x21)
#define IT83XX_WUC_WUESR11 REG8(IT83XX_WUC_BASE+0x25)
+#define IT83XX_WUC_WUEMR3 REG8(IT83XX_WUC_BASE+0x02)
+#define IT83XX_WUC_WUESR3 REG8(IT83XX_WUC_BASE+0x06)
+#define IT83XX_WUC_WUENR3 REG8(IT83XX_WUC_BASE+0x0A)
+
/* --- UART --- */
#define IT83XX_UART0_BASE 0x00F02700
#define IT83XX_UART1_BASE 0x00F02800
@@ -434,34 +441,36 @@
#define IT83XX_GPIO_BASE 0x00F01600
-#define IT83XX_GPIO_GPCRA0 REG8(IT83XX_GPIO_BASE+0x10)
-#define IT83XX_GPIO_GPCRA1 REG8(IT83XX_GPIO_BASE+0x11)
-#define IT83XX_GPIO_GPCRA2 REG8(IT83XX_GPIO_BASE+0x12)
-#define IT83XX_GPIO_GPCRA3 REG8(IT83XX_GPIO_BASE+0x13)
-#define IT83XX_GPIO_GPCRA4 REG8(IT83XX_GPIO_BASE+0x14)
-#define IT83XX_GPIO_GPCRA5 REG8(IT83XX_GPIO_BASE+0x15)
-#define IT83XX_GPIO_GPCRA6 REG8(IT83XX_GPIO_BASE+0x16)
-#define IT83XX_GPIO_GPCRA7 REG8(IT83XX_GPIO_BASE+0x17)
-
-#define IT83XX_GPIO_GPCRF0 REG8(IT83XX_GPIO_BASE+0x38)
-
-#define IT83XX_GPIO_GPCRI0 REG8(IT83XX_GPIO_BASE+0x50)
-#define IT83XX_GPIO_GPCRI1 REG8(IT83XX_GPIO_BASE+0x51)
-#define IT83XX_GPIO_GPCRI2 REG8(IT83XX_GPIO_BASE+0x52)
-#define IT83XX_GPIO_GPCRI3 REG8(IT83XX_GPIO_BASE+0x53)
-#define IT83XX_GPIO_GPCRI4 REG8(IT83XX_GPIO_BASE+0x54)
-#define IT83XX_GPIO_GPCRI5 REG8(IT83XX_GPIO_BASE+0x55)
-#define IT83XX_GPIO_GPCRI6 REG8(IT83XX_GPIO_BASE+0x56)
-#define IT83XX_GPIO_GPCRI7 REG8(IT83XX_GPIO_BASE+0x57)
-
-#define IT83XX_GPIO_GRC1 REG8(IT83XX_GPIO_BASE+0xF0)
-#define IT83XX_GPIO_GRC2 REG8(IT83XX_GPIO_BASE+0xF1)
-#define IT83XX_GPIO_GRC3 REG8(IT83XX_GPIO_BASE+0xF2)
-#define IT83XX_GPIO_GRC4 REG8(IT83XX_GPIO_BASE+0xF3)
-#define IT83XX_GPIO_GRC5 REG8(IT83XX_GPIO_BASE+0xF4)
-#define IT83XX_GPIO_GRC6 REG8(IT83XX_GPIO_BASE+0xF5)
-#define IT83XX_GPIO_GRC7 REG8(IT83XX_GPIO_BASE+0xF6)
-#define IT83XX_GPIO_GRC8 REG8(IT83XX_GPIO_BASE+0xF7)
+#define IT83XX_GPIO_GCR REG8(IT83XX_GPIO_BASE+0x00)
+
+#define IT83XX_GPIO_GPCRA0 REG8(IT83XX_GPIO_BASE+0x10)
+#define IT83XX_GPIO_GPCRA1 REG8(IT83XX_GPIO_BASE+0x11)
+#define IT83XX_GPIO_GPCRA2 REG8(IT83XX_GPIO_BASE+0x12)
+#define IT83XX_GPIO_GPCRA3 REG8(IT83XX_GPIO_BASE+0x13)
+#define IT83XX_GPIO_GPCRA4 REG8(IT83XX_GPIO_BASE+0x14)
+#define IT83XX_GPIO_GPCRA5 REG8(IT83XX_GPIO_BASE+0x15)
+#define IT83XX_GPIO_GPCRA6 REG8(IT83XX_GPIO_BASE+0x16)
+#define IT83XX_GPIO_GPCRA7 REG8(IT83XX_GPIO_BASE+0x17)
+
+#define IT83XX_GPIO_GPCRF0 REG8(IT83XX_GPIO_BASE+0x38)
+
+#define IT83XX_GPIO_GPCRI0 REG8(IT83XX_GPIO_BASE+0x50)
+#define IT83XX_GPIO_GPCRI1 REG8(IT83XX_GPIO_BASE+0x51)
+#define IT83XX_GPIO_GPCRI2 REG8(IT83XX_GPIO_BASE+0x52)
+#define IT83XX_GPIO_GPCRI3 REG8(IT83XX_GPIO_BASE+0x53)
+#define IT83XX_GPIO_GPCRI4 REG8(IT83XX_GPIO_BASE+0x54)
+#define IT83XX_GPIO_GPCRI5 REG8(IT83XX_GPIO_BASE+0x55)
+#define IT83XX_GPIO_GPCRI6 REG8(IT83XX_GPIO_BASE+0x56)
+#define IT83XX_GPIO_GPCRI7 REG8(IT83XX_GPIO_BASE+0x57)
+
+#define IT83XX_GPIO_GRC1 REG8(IT83XX_GPIO_BASE+0xF0)
+#define IT83XX_GPIO_GRC2 REG8(IT83XX_GPIO_BASE+0xF1)
+#define IT83XX_GPIO_GRC3 REG8(IT83XX_GPIO_BASE+0xF2)
+#define IT83XX_GPIO_GRC4 REG8(IT83XX_GPIO_BASE+0xF3)
+#define IT83XX_GPIO_GRC5 REG8(IT83XX_GPIO_BASE+0xF4)
+#define IT83XX_GPIO_GRC6 REG8(IT83XX_GPIO_BASE+0xF5)
+#define IT83XX_GPIO_GRC7 REG8(IT83XX_GPIO_BASE+0xF6)
+#define IT83XX_GPIO_GRC8 REG8(IT83XX_GPIO_BASE+0xF7)
#define IT83XX_GPIO_DATA_BASE (IT83XX_GPIO_BASE + 0x00)
#define IT83XX_GPIO_OUTPUT_TYPE_BASE (IT83XX_GPIO_BASE + 0x70)
@@ -561,6 +570,7 @@ enum clock_gate_offsets {
#define IT83XX_GCTRL_WNCKR REG8(IT83XX_GCTRL_BASE+0x0B)
#define IT83XX_GCTRL_RSTS REG8(IT83XX_GCTRL_BASE+0x06)
+#define IT83XX_GCTRL_BADRSEL REG8(IT83XX_GCTRL_BASE+0x0A)
/* --- Pulse Width Modulation (PWM) --- */
#define IT83XX_PWM_BASE 0x00F01800
@@ -655,16 +665,122 @@ enum clock_gate_offsets {
#define IT83XX_ADC_CMP2THRDATM REG8(IT83XX_ADC_BASE+0x4D)
#define IT83XX_ADC_CMP2THRDATL REG8(IT83XX_ADC_BASE+0x4E)
+/* Keyboard Controller (KBC) */
+#define IT83XX_KBC_BASE 0x00F01300
+
+#define IT83XX_KBC_KBHICR REG8(IT83XX_KBC_BASE+0x00)
+#define IT83XX_KBC_KBIRQR REG8(IT83XX_KBC_BASE+0x02)
+#define IT83XX_KBC_KBHISR REG8(IT83XX_KBC_BASE+0x04)
+#define IT83XX_KBC_KBHIKDOR REG8(IT83XX_KBC_BASE+0x06)
+#define IT83XX_KBC_KBHIMDOR REG8(IT83XX_KBC_BASE+0x08)
+#define IT83XX_KBC_KBHIDIR REG8(IT83XX_KBC_BASE+0x0A)
+
+/* Power Management Channel (PMC) */
+#define IT83XX_PMC_BASE 0x00F01500
+
+#define IT83XX_PMC_PM1STS REG8(IT83XX_PMC_BASE+0x00)
+#define IT83XX_PMC_PM1DO REG8(IT83XX_PMC_BASE+0x01)
+#define IT83XX_PMC_PM1DOSCI REG8(IT83XX_PMC_BASE+0x02)
+#define IT83XX_PMC_PM1DOSMI REG8(IT83XX_PMC_BASE+0x03)
+#define IT83XX_PMC_PM1DI REG8(IT83XX_PMC_BASE+0x04)
+#define IT83XX_PMC_PM1DISCI REG8(IT83XX_PMC_BASE+0x05)
+#define IT83XX_PMC_PM1CTL REG8(IT83XX_PMC_BASE+0x06)
+#define IT83XX_PMC_PM1IC REG8(IT83XX_PMC_BASE+0x07)
+#define IT83XX_PMC_PM1IE REG8(IT83XX_PMC_BASE+0x08)
+#define IT83XX_PMC_PM2STS REG8(IT83XX_PMC_BASE+0x10)
+#define IT83XX_PMC_PM2DO REG8(IT83XX_PMC_BASE+0x11)
+#define IT83XX_PMC_PM2DOSCI REG8(IT83XX_PMC_BASE+0x12)
+#define IT83XX_PMC_PM2DOSMI REG8(IT83XX_PMC_BASE+0x13)
+#define IT83XX_PMC_PM2DI REG8(IT83XX_PMC_BASE+0x14)
+#define IT83XX_PMC_PM2DISCI REG8(IT83XX_PMC_BASE+0x15)
+#define IT83XX_PMC_PM2CTL REG8(IT83XX_PMC_BASE+0x16)
+#define IT83XX_PMC_PM2IC REG8(IT83XX_PMC_BASE+0x17)
+#define IT83XX_PMC_PM2IE REG8(IT83XX_PMC_BASE+0x18)
+#define IT83XX_PMC_PM3STS REG8(IT83XX_PMC_BASE+0x20)
+#define IT83XX_PMC_PM3DO REG8(IT83XX_PMC_BASE+0x21)
+#define IT83XX_PMC_PM3DI REG8(IT83XX_PMC_BASE+0x22)
+#define IT83XX_PMC_PM3CTL REG8(IT83XX_PMC_BASE+0x23)
+#define IT83XX_PMC_PM3IC REG8(IT83XX_PMC_BASE+0x24)
+#define IT83XX_PMC_PM3IE REG8(IT83XX_PMC_BASE+0x25)
+#define IT83XX_PMC_PM4STS REG8(IT83XX_PMC_BASE+0x30)
+#define IT83XX_PMC_PM4DO REG8(IT83XX_PMC_BASE+0x31)
+#define IT83XX_PMC_PM4DI REG8(IT83XX_PMC_BASE+0x32)
+#define IT83XX_PMC_PM4CTL REG8(IT83XX_PMC_BASE+0x33)
+#define IT83XX_PMC_PM4IC REG8(IT83XX_PMC_BASE+0x34)
+#define IT83XX_PMC_PM4IE REG8(IT83XX_PMC_BASE+0x35)
+#define IT83XX_PMC_PM5STS REG8(IT83XX_PMC_BASE+0x40)
+#define IT83XX_PMC_PM5DO REG8(IT83XX_PMC_BASE+0x41)
+#define IT83XX_PMC_PM5DI REG8(IT83XX_PMC_BASE+0x42)
+#define IT83XX_PMC_PM5CTL REG8(IT83XX_PMC_BASE+0x43)
+#define IT83XX_PMC_PM5IC REG8(IT83XX_PMC_BASE+0x44)
+#define IT83XX_PMC_PM5IE REG8(IT83XX_PMC_BASE+0x45)
+#define IT83XX_PMC_MBXCTRL REG8(IT83XX_PMC_BASE+0x19)
+#define IT83XX_PMC_MBXEC_00 REG8(IT83XX_PMC_BASE+0xF0)
+#define IT83XX_PMC_MBXEC_01 REG8(IT83XX_PMC_BASE+0xF1)
+#define IT83XX_PMC_MBXEC_02 REG8(IT83XX_PMC_BASE+0xF2)
+#define IT83XX_PMC_MBXEC_03 REG8(IT83XX_PMC_BASE+0xF3)
+#define IT83XX_PMC_MBXEC_04 REG8(IT83XX_PMC_BASE+0xF4)
+#define IT83XX_PMC_MBXEC_05 REG8(IT83XX_PMC_BASE+0xF5)
+#define IT83XX_PMC_MBXEC_06 REG8(IT83XX_PMC_BASE+0xF6)
+#define IT83XX_PMC_MBXEC_07 REG8(IT83XX_PMC_BASE+0xF7)
+#define IT83XX_PMC_MBXEC_08 REG8(IT83XX_PMC_BASE+0xF8)
+#define IT83XX_PMC_MBXEC_09 REG8(IT83XX_PMC_BASE+0xF9)
+#define IT83XX_PMC_MBXEC_10 REG8(IT83XX_PMC_BASE+0xFA)
+#define IT83XX_PMC_MBXEC_11 REG8(IT83XX_PMC_BASE+0xFB)
+#define IT83XX_PMC_MBXEC_12 REG8(IT83XX_PMC_BASE+0xFC)
+#define IT83XX_PMC_MBXEC_13 REG8(IT83XX_PMC_BASE+0xFD)
+#define IT83XX_PMC_MBXEC_14 REG8(IT83XX_PMC_BASE+0xFE)
+#define IT83XX_PMC_MBXEC_15 REG8(IT83XX_PMC_BASE+0xFF)
+
+/* Keyboard Matrix Scan control (KBS) */
+#define IT83XX_KBS_BASE 0x00F01D00
+
+#define IT83XX_KBS_KSOL REG8(IT83XX_KBS_BASE+0x00)
+#define IT83XX_KBS_KSOH1 REG8(IT83XX_KBS_BASE+0x01)
+#define IT83XX_KBS_KSOCTRL REG8(IT83XX_KBS_BASE+0x02)
+#define IT83XX_KBS_KSOH2 REG8(IT83XX_KBS_BASE+0x03)
+#define IT83XX_KBS_KSI REG8(IT83XX_KBS_BASE+0x04)
+#define IT83XX_KBS_KSICTRL REG8(IT83XX_KBS_BASE+0x05)
+#define IT83XX_KBS_KSIGCTRL REG8(IT83XX_KBS_BASE+0x06)
+#define IT83XX_KBS_KSIGOEN REG8(IT83XX_KBS_BASE+0x07)
+#define IT83XX_KBS_KSIGDAT REG8(IT83XX_KBS_BASE+0x08)
+#define IT83XX_KBS_KSIGDMRR REG8(IT83XX_KBS_BASE+0x09)
+#define IT83XX_KBS_KSOHGCTRL REG8(IT83XX_KBS_BASE+0x0A)
+#define IT83XX_KBS_KSOHGOEN REG8(IT83XX_KBS_BASE+0x0B)
+#define IT83XX_KBS_KSOHGDMRR REG8(IT83XX_KBS_BASE+0x0C)
+#define IT83XX_KBS_KSOLGCTRL REG8(IT83XX_KBS_BASE+0x0D)
+#define IT83XX_KBS_KSOLGOEN REG8(IT83XX_KBS_BASE+0x0E)
+#define IT83XX_KBS_KSOLGDMRR REG8(IT83XX_KBS_BASE+0x0F)
+#define IT83XX_KBS_KSO0LSDR REG8(IT83XX_KBS_BASE+0x10)
+#define IT83XX_KBS_KSO1LSDR REG8(IT83XX_KBS_BASE+0x11)
+#define IT83XX_KBS_KSO2LSDR REG8(IT83XX_KBS_BASE+0x12)
+#define IT83XX_KBS_KSO3LSDR REG8(IT83XX_KBS_BASE+0x13)
+#define IT83XX_KBS_KSO4LSDR REG8(IT83XX_KBS_BASE+0x14)
+#define IT83XX_KBS_KSO5LSDR REG8(IT83XX_KBS_BASE+0x15)
+#define IT83XX_KBS_KSO6LSDR REG8(IT83XX_KBS_BASE+0x16)
+#define IT83XX_KBS_KSO7LSDR REG8(IT83XX_KBS_BASE+0x17)
+#define IT83XX_KBS_KSO8LSDR REG8(IT83XX_KBS_BASE+0x18)
+#define IT83XX_KBS_KSO9LSDR REG8(IT83XX_KBS_BASE+0x19)
+#define IT83XX_KBS_KSO10LSDR REG8(IT83XX_KBS_BASE+0x1A)
+#define IT83XX_KBS_KSO11LSDR REG8(IT83XX_KBS_BASE+0x1B)
+#define IT83XX_KBS_KSO12LSDR REG8(IT83XX_KBS_BASE+0x1C)
+#define IT83XX_KBS_KSO13LSDR REG8(IT83XX_KBS_BASE+0x1D)
+#define IT83XX_KBS_KSO14LSDR REG8(IT83XX_KBS_BASE+0x1E)
+#define IT83XX_KBS_KSO15LSDR REG8(IT83XX_KBS_BASE+0x1F)
+#define IT83XX_KBS_KSO16LSDR REG8(IT83XX_KBS_BASE+0x20)
+#define IT83XX_KBS_KSO17LSDR REG8(IT83XX_KBS_BASE+0x21)
+#define IT83XX_KBS_SDC1R REG8(IT83XX_KBS_BASE+0x22)
+#define IT83XX_KBS_SDC2R REG8(IT83XX_KBS_BASE+0x23)
+#define IT83XX_KBS_SDC3R REG8(IT83XX_KBS_BASE+0x24)
+#define IT83XX_KBS_SDSR REG8(IT83XX_KBS_BASE+0x25)
+
/* --- MISC (not implemented yet) --- */
#define IT83XX_SMFI_BASE 0x00F01000
-#define IT83XX_KBC_BASE 0x00F01300
-#define IT83XX_PMC_BASE 0x00F01500
#define IT83XX_PS2_BASE 0x00F01700
#define IT83XX_DAC_BASE 0x00F01A00
#define IT83XX_WUC_BASE 0x00F01B00
#define IT83XX_SMB_BASE 0x00F01C00
-#define IT83XX_KBS_BASE 0x00F01D00
#define IT83XX_EGPIO_BASE 0x00F02100
#define IT83XX_BRAM_BASE 0x00F02200
#define IT83XX_CIR_BASE 0x00F02300